@alfadocs/ui-kit-debug 1.55.0 → 1.56.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 (290) hide show
  1. package/dist/_chunks/{alia-sidebar-DS0b54Mv.js → alia-sidebar-DOei4Iyu.js} +2 -2
  2. package/dist/_chunks/{alia-sidebar-DS0b54Mv.js.map → alia-sidebar-DOei4Iyu.js.map} +1 -1
  3. package/dist/_chunks/{anamnesis-summary-rows-Dtw5Hpg4.js → anamnesis-summary-rows-CQ-XGr0T.js} +3 -3
  4. package/dist/_chunks/{anamnesis-summary-rows-Dtw5Hpg4.js.map → anamnesis-summary-rows-CQ-XGr0T.js.map} +1 -1
  5. package/dist/_chunks/{balance-badge-cell-zP-iN-Pd.js → balance-badge-cell-DmDcXw0c.js} +3 -3
  6. package/dist/_chunks/{balance-badge-cell-zP-iN-Pd.js.map → balance-badge-cell-DmDcXw0c.js.map} +1 -1
  7. package/dist/_chunks/{bmi-calculator-DTZhRhXe.js → bmi-calculator-C0UTxB7R.js} +2 -2
  8. package/dist/_chunks/{bmi-calculator-DTZhRhXe.js.map → bmi-calculator-C0UTxB7R.js.map} +1 -1
  9. package/dist/_chunks/{booking-uZO10TLK.js → booking-WyNGKPE2.js} +2 -2
  10. package/dist/_chunks/{booking-uZO10TLK.js.map → booking-WyNGKPE2.js.map} +1 -1
  11. package/dist/_chunks/{breadcrumb-xgVpPH2H.js → breadcrumb-Boan-5n8.js} +39 -39
  12. package/dist/_chunks/breadcrumb-Boan-5n8.js.map +1 -0
  13. package/dist/_chunks/{calculator-dialog-BRjZMWuE.js → calculator-dialog-pCPWta7h.js} +2 -2
  14. package/dist/_chunks/{calculator-dialog-BRjZMWuE.js.map → calculator-dialog-pCPWta7h.js.map} +1 -1
  15. package/dist/_chunks/{calendar-workspace-DVajSkKA.js → calendar-workspace-Du2ryaI-.js} +8 -8
  16. package/dist/_chunks/{calendar-workspace-DVajSkKA.js.map → calendar-workspace-Du2ryaI-.js.map} +1 -1
  17. package/dist/_chunks/{care-plan-header-BeMYMiI7.js → care-plan-header-DUX_SVvF.js} +2 -2
  18. package/dist/_chunks/{care-plan-header-BeMYMiI7.js.map → care-plan-header-DUX_SVvF.js.map} +1 -1
  19. package/dist/_chunks/chart-HsF1KHbx.js +909 -0
  20. package/dist/_chunks/chart-HsF1KHbx.js.map +1 -0
  21. package/dist/_chunks/{contact-profile-card-C5DbP_X3.js → contact-profile-card-Ci8lBQ6a.js} +2 -2
  22. package/dist/_chunks/{contact-profile-card-C5DbP_X3.js.map → contact-profile-card-Ci8lBQ6a.js.map} +1 -1
  23. package/dist/_chunks/dashboard-grid-DfEY2qci.js +844 -0
  24. package/dist/_chunks/dashboard-grid-DfEY2qci.js.map +1 -0
  25. package/dist/_chunks/{data-table-C6T31E33.js → data-table-D8fuhqO1.js} +1 -1
  26. package/dist/_chunks/{data-table-C6T31E33.js.map → data-table-D8fuhqO1.js.map} +1 -1
  27. package/dist/_chunks/{date-range-picker-BOvHwWO5.js → date-range-picker-CtUOI38x.js} +188 -182
  28. package/dist/_chunks/date-range-picker-CtUOI38x.js.map +1 -0
  29. package/dist/_chunks/{dependent-selector-Bet3XAFj.js → dependent-selector-DgaAQc-c.js} +91 -86
  30. package/dist/_chunks/dependent-selector-DgaAQc-c.js.map +1 -0
  31. package/dist/_chunks/{dialog-D52AI4nF.js → dialog-CUzbnKLw.js} +86 -69
  32. package/dist/_chunks/dialog-CUzbnKLw.js.map +1 -0
  33. package/dist/_chunks/{due-date-calculator-DXDJbUzo.js → due-date-calculator-CSjklbyw.js} +2 -2
  34. package/dist/_chunks/{due-date-calculator-DXDJbUzo.js.map → due-date-calculator-CSjklbyw.js.map} +1 -1
  35. package/dist/_chunks/{file-manager-dIJQUZvq.js → file-manager-Cc_uO8r2.js} +4 -4
  36. package/dist/_chunks/{file-manager-dIJQUZvq.js.map → file-manager-Cc_uO8r2.js.map} +1 -1
  37. package/dist/_chunks/{freemium-paywall-B6ojVXq7.js → freemium-paywall-DIKuhX8b.js} +90 -86
  38. package/dist/_chunks/freemium-paywall-DIKuhX8b.js.map +1 -0
  39. package/dist/_chunks/{gestational-age-calculator-BfGpt3du.js → gestational-age-calculator-DqVeJke2.js} +2 -2
  40. package/dist/_chunks/{gestational-age-calculator-BfGpt3du.js.map → gestational-age-calculator-DqVeJke2.js.map} +1 -1
  41. package/dist/_chunks/{heatmap-BARGZZt2.js → heatmap-Gf9r7Tn1.js} +2 -2
  42. package/dist/_chunks/{heatmap-BARGZZt2.js.map → heatmap-Gf9r7Tn1.js.map} +1 -1
  43. package/dist/_chunks/{help-me-write-templates-B7L3zGsE.js → help-me-write-templates-fV-Apf72.js} +2 -2
  44. package/dist/_chunks/help-me-write-templates-fV-Apf72.js.map +1 -0
  45. package/dist/_chunks/{key-value-pair-Ax8IJr1M.js → key-value-pair-BNNITp6S.js} +25 -19
  46. package/dist/_chunks/key-value-pair-BNNITp6S.js.map +1 -0
  47. package/dist/_chunks/{kit-extensions-C9-v8Dih.js → kit-extensions-Byfxy6sy.js} +4 -4
  48. package/dist/_chunks/{kit-extensions-C9-v8Dih.js.map → kit-extensions-Byfxy6sy.js.map} +1 -1
  49. package/dist/_chunks/{link-cell-renderer-DlBVPMTi.js → link-cell-renderer-TeJNvymP.js} +2 -2
  50. package/dist/_chunks/{link-cell-renderer-DlBVPMTi.js.map → link-cell-renderer-TeJNvymP.js.map} +1 -1
  51. package/dist/_chunks/non-modal-tab-exit-D2Bd93Bq.js +65 -0
  52. package/dist/_chunks/non-modal-tab-exit-D2Bd93Bq.js.map +1 -0
  53. package/dist/_chunks/{notes-panel-I8ntrrUW.js → notes-panel-DceRhthG.js} +3 -3
  54. package/dist/_chunks/{notes-panel-I8ntrrUW.js.map → notes-panel-DceRhthG.js.map} +1 -1
  55. package/dist/_chunks/{patient-summary-card-3dspc2tR.js → patient-summary-card-9nQWTQf6.js} +7 -3
  56. package/dist/_chunks/{patient-summary-card-3dspc2tR.js.map → patient-summary-card-9nQWTQf6.js.map} +1 -1
  57. package/dist/_chunks/{payment-automation-upsell-DEUfM7EU.js → payment-automation-upsell-DiHovmUL.js} +2 -2
  58. package/dist/_chunks/{payment-automation-upsell-DEUfM7EU.js.map → payment-automation-upsell-DiHovmUL.js.map} +1 -1
  59. package/dist/_chunks/{payment-request-card-DAGqh9Yx.js → payment-request-card-CwDpwXUC.js} +2 -2
  60. package/dist/_chunks/{payment-request-card-DAGqh9Yx.js.map → payment-request-card-CwDpwXUC.js.map} +1 -1
  61. package/dist/_chunks/{periodontal-chart-BqwLxy2m.js → periodontal-chart-DD5C0M3l.js} +2 -2
  62. package/dist/_chunks/{periodontal-chart-BqwLxy2m.js.map → periodontal-chart-DD5C0M3l.js.map} +1 -1
  63. package/dist/_chunks/{periodontal-chart-card-CWZ1YM1h.js → periodontal-chart-card-CxdXvsPU.js} +2 -2
  64. package/dist/_chunks/{periodontal-chart-card-CWZ1YM1h.js.map → periodontal-chart-card-CxdXvsPU.js.map} +1 -1
  65. package/dist/_chunks/{periodontal-diagnosis-C9IuvLId.js → periodontal-diagnosis-D-PJv7KS.js} +2 -2
  66. package/dist/_chunks/{periodontal-diagnosis-C9IuvLId.js.map → periodontal-diagnosis-D-PJv7KS.js.map} +1 -1
  67. package/dist/_chunks/{position-grid-D2D5_Tze.js → position-grid-CBB88EaH.js} +38 -36
  68. package/dist/_chunks/position-grid-CBB88EaH.js.map +1 -0
  69. package/dist/_chunks/{practice-results-DxOgbPDy.js → practice-results-Dhbo-fc_.js} +2 -2
  70. package/dist/_chunks/{practice-results-DxOgbPDy.js.map → practice-results-Dhbo-fc_.js.map} +1 -1
  71. package/dist/_chunks/{pregnancy-dating-R3q5n1Wh.js → pregnancy-dating-Bfu0Cq4H.js} +2 -2
  72. package/dist/_chunks/{pregnancy-dating-R3q5n1Wh.js.map → pregnancy-dating-Bfu0Cq4H.js.map} +1 -1
  73. package/dist/_chunks/{pregnancy-weight-gain-DwmNklDU.js → pregnancy-weight-gain-CUUrBTBo.js} +2 -2
  74. package/dist/_chunks/{pregnancy-weight-gain-DwmNklDU.js.map → pregnancy-weight-gain-CUUrBTBo.js.map} +1 -1
  75. package/dist/_chunks/{public-header.agent-BWusjxY8.js → public-header.agent-pr2hyiND.js} +2 -2
  76. package/dist/_chunks/{public-header.agent-BWusjxY8.js.map → public-header.agent-pr2hyiND.js.map} +1 -1
  77. package/dist/_chunks/{radio-group-BT97ty7o.js → radio-group-DicxWJXP.js} +111 -106
  78. package/dist/_chunks/radio-group-DicxWJXP.js.map +1 -0
  79. package/dist/_chunks/{radiograph-panel.agent-BA90I3Mu.js → radiograph-panel.agent-DkUokbEa.js} +3 -3
  80. package/dist/_chunks/{radiograph-panel.agent-BA90I3Mu.js.map → radiograph-panel.agent-DkUokbEa.js.map} +1 -1
  81. package/dist/_chunks/{rich-text-editor-Blp4smUr.js → rich-text-editor-CkFfmA3v.js} +2 -2
  82. package/dist/_chunks/{rich-text-editor-Blp4smUr.js.map → rich-text-editor-CkFfmA3v.js.map} +1 -1
  83. package/dist/_chunks/{sheet-CNFW8mYZ.js → sheet-C7SwIxwB.js} +95 -79
  84. package/dist/_chunks/sheet-C7SwIxwB.js.map +1 -0
  85. package/dist/_chunks/{signature-request-rgMsgo-C.js → signature-request-DhbpB9N9.js} +2 -2
  86. package/dist/_chunks/{signature-request-rgMsgo-C.js.map → signature-request-DhbpB9N9.js.map} +1 -1
  87. package/dist/_chunks/{stat-51CDL4au.js → stat-DmjGfXND.js} +117 -108
  88. package/dist/_chunks/stat-DmjGfXND.js.map +1 -0
  89. package/dist/_chunks/{stepper-accordion-D7lnBGh2.js → stepper-accordion-DDTSOUHc.js} +17 -6
  90. package/dist/_chunks/stepper-accordion-DDTSOUHc.js.map +1 -0
  91. package/dist/_chunks/{task-editor-Ctxsa1BY.js → task-editor-ByyRu29Y.js} +3 -3
  92. package/dist/_chunks/{task-editor-Ctxsa1BY.js.map → task-editor-ByyRu29Y.js.map} +1 -1
  93. package/dist/_chunks/{use-appointment-details-read-DinTrRIW.js → use-appointment-details-read-JsDM48tf.js} +2 -2
  94. package/dist/_chunks/{use-appointment-details-read-DinTrRIW.js.map → use-appointment-details-read-JsDM48tf.js.map} +1 -1
  95. package/dist/_chunks/use-select-on-arrow-Cr4iBuW5.js +26 -0
  96. package/dist/_chunks/use-select-on-arrow-Cr4iBuW5.js.map +1 -0
  97. package/dist/_chunks/{widget-picker-D8RiWrJd.js → widget-picker-DXYBMTfe.js} +2 -2
  98. package/dist/_chunks/{widget-picker-D8RiWrJd.js.map → widget-picker-DXYBMTfe.js.map} +1 -1
  99. package/dist/_chunks/{workflow-map-D3mezmGB.js → workflow-map-Demlpy39.js} +2 -2
  100. package/dist/_chunks/{workflow-map-D3mezmGB.js.map → workflow-map-Demlpy39.js.map} +1 -1
  101. package/dist/agent-catalog.json +27 -10
  102. package/dist/agent-i18n/en.json +8 -7
  103. package/dist/components/_shared/non-modal-tab-exit.d.ts +8 -0
  104. package/dist/components/_shared/non-modal-tab-exit.d.ts.map +1 -0
  105. package/dist/components/_shared/use-apex-chart-semantics.d.ts +6 -0
  106. package/dist/components/_shared/use-apex-chart-semantics.d.ts.map +1 -0
  107. package/dist/components/_shared/use-select-on-arrow.d.ts +20 -0
  108. package/dist/components/_shared/use-select-on-arrow.d.ts.map +1 -0
  109. package/dist/components/appointment-details-panel/index.js +1 -1
  110. package/dist/components/bmi-calculator/index.js +1 -1
  111. package/dist/components/booking/index.js +1 -1
  112. package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -1
  113. package/dist/components/breadcrumb/index.js +1 -1
  114. package/dist/components/calculator-dialog/index.js +1 -1
  115. package/dist/components/care-plan-header/index.js +1 -1
  116. package/dist/components/chart/chart.d.ts +10 -5
  117. package/dist/components/chart/chart.d.ts.map +1 -1
  118. package/dist/components/chart/index.js +1 -1
  119. package/dist/components/contact-profile-card/index.js +1 -1
  120. package/dist/components/dashboard-grid/dashboard-grid-engine.d.ts +22 -0
  121. package/dist/components/dashboard-grid/dashboard-grid-engine.d.ts.map +1 -1
  122. package/dist/components/dashboard-grid/dashboard-grid.agent.d.ts.map +1 -1
  123. package/dist/components/dashboard-grid/dashboard-grid.d.ts +48 -4
  124. package/dist/components/dashboard-grid/dashboard-grid.d.ts.map +1 -1
  125. package/dist/components/dashboard-grid/index.js +1 -1
  126. package/dist/components/data-table/index.js +2 -2
  127. package/dist/components/date-range-picker/date-range-picker.d.ts.map +1 -1
  128. package/dist/components/date-range-picker/index.js +1 -1
  129. package/dist/components/dependent-selector/dependent-selector.d.ts.map +1 -1
  130. package/dist/components/dependent-selector/index.js +1 -1
  131. package/dist/components/dialog/dialog.d.ts +2 -2
  132. package/dist/components/dialog/dialog.d.ts.map +1 -1
  133. package/dist/components/dialog/index.js +1 -1
  134. package/dist/components/due-date-calculator/index.js +1 -1
  135. package/dist/components/file-manager/index.js +1 -1
  136. package/dist/components/freemium-paywall/freemium-paywall.d.ts.map +1 -1
  137. package/dist/components/freemium-paywall/index.js +1 -1
  138. package/dist/components/gestational-age-calculator/index.js +1 -1
  139. package/dist/components/heatmap/index.js +1 -1
  140. package/dist/components/key-value-pair/index.js +1 -1
  141. package/dist/components/key-value-pair/key-value-pair.d.ts.map +1 -1
  142. package/dist/components/notes-panel/index.js +1 -1
  143. package/dist/components/patient-summary-card/index.js +1 -1
  144. package/dist/components/patient-summary-card/patient-summary-card.d.ts.map +1 -1
  145. package/dist/components/patient-table/index.js +1 -1
  146. package/dist/components/payment-card/index.js +1 -1
  147. package/dist/components/periodontal-chart/index.js +1 -1
  148. package/dist/components/periodontal-chart-card/index.js +1 -1
  149. package/dist/components/periodontal-diagnosis/index.js +1 -1
  150. package/dist/components/position-grid/index.js +1 -1
  151. package/dist/components/position-grid/position-grid.d.ts.map +1 -1
  152. package/dist/components/practice-results/index.js +1 -1
  153. package/dist/components/pregnancy-dating/index.js +1 -1
  154. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  155. package/dist/components/public-header/index.js +1 -1
  156. package/dist/components/radio-group/index.js +1 -1
  157. package/dist/components/radio-group/radio-group.d.ts.map +1 -1
  158. package/dist/components/radiograph-panel/index.js +1 -1
  159. package/dist/components/rich-text-editor/index.js +2 -2
  160. package/dist/components/sheet/index.js +1 -1
  161. package/dist/components/sheet/sheet.d.ts +2 -2
  162. package/dist/components/sheet/sheet.d.ts.map +1 -1
  163. package/dist/components/stat/index.d.ts +1 -1
  164. package/dist/components/stat/index.d.ts.map +1 -1
  165. package/dist/components/stat/index.js +1 -1
  166. package/dist/components/stat/stat.d.ts +9 -0
  167. package/dist/components/stat/stat.d.ts.map +1 -1
  168. package/dist/components/stepper-accordion/index.js +1 -1
  169. package/dist/components/stepper-accordion/stepper-accordion.d.ts.map +1 -1
  170. package/dist/components/task-editor/index.js +1 -1
  171. package/dist/components/widget-picker/index.js +1 -1
  172. package/dist/components/workflow/index.js +1 -1
  173. package/dist/host-legacy.css +13 -2
  174. package/dist/i18n/locales/ar.d.ts +3 -2
  175. package/dist/i18n/locales/ar.d.ts.map +1 -1
  176. package/dist/i18n/locales/ar.js +5 -4
  177. package/dist/i18n/locales/ar.js.map +1 -1
  178. package/dist/i18n/locales/de.d.ts +3 -2
  179. package/dist/i18n/locales/de.d.ts.map +1 -1
  180. package/dist/i18n/locales/de.js +5 -4
  181. package/dist/i18n/locales/de.js.map +1 -1
  182. package/dist/i18n/locales/el.d.ts +3 -2
  183. package/dist/i18n/locales/el.d.ts.map +1 -1
  184. package/dist/i18n/locales/el.js +5 -4
  185. package/dist/i18n/locales/el.js.map +1 -1
  186. package/dist/i18n/locales/en.d.ts +3 -2
  187. package/dist/i18n/locales/en.d.ts.map +1 -1
  188. package/dist/i18n/locales/en.js +5 -4
  189. package/dist/i18n/locales/en.js.map +1 -1
  190. package/dist/i18n/locales/es.d.ts +3 -2
  191. package/dist/i18n/locales/es.d.ts.map +1 -1
  192. package/dist/i18n/locales/es.js +5 -4
  193. package/dist/i18n/locales/es.js.map +1 -1
  194. package/dist/i18n/locales/fr.d.ts +3 -2
  195. package/dist/i18n/locales/fr.d.ts.map +1 -1
  196. package/dist/i18n/locales/fr.js +5 -4
  197. package/dist/i18n/locales/fr.js.map +1 -1
  198. package/dist/i18n/locales/hi.d.ts +3 -2
  199. package/dist/i18n/locales/hi.d.ts.map +1 -1
  200. package/dist/i18n/locales/hi.js +5 -4
  201. package/dist/i18n/locales/hi.js.map +1 -1
  202. package/dist/i18n/locales/it.d.ts +3 -2
  203. package/dist/i18n/locales/it.d.ts.map +1 -1
  204. package/dist/i18n/locales/it.js +5 -4
  205. package/dist/i18n/locales/it.js.map +1 -1
  206. package/dist/i18n/locales/ja.d.ts +3 -2
  207. package/dist/i18n/locales/ja.d.ts.map +1 -1
  208. package/dist/i18n/locales/ja.js +5 -4
  209. package/dist/i18n/locales/ja.js.map +1 -1
  210. package/dist/i18n/locales/nl.d.ts +3 -2
  211. package/dist/i18n/locales/nl.d.ts.map +1 -1
  212. package/dist/i18n/locales/nl.js +5 -4
  213. package/dist/i18n/locales/nl.js.map +1 -1
  214. package/dist/i18n/locales/pl.d.ts +3 -2
  215. package/dist/i18n/locales/pl.d.ts.map +1 -1
  216. package/dist/i18n/locales/pl.js +5 -4
  217. package/dist/i18n/locales/pl.js.map +1 -1
  218. package/dist/i18n/locales/pt.d.ts +3 -2
  219. package/dist/i18n/locales/pt.d.ts.map +1 -1
  220. package/dist/i18n/locales/pt.js +5 -4
  221. package/dist/i18n/locales/pt.js.map +1 -1
  222. package/dist/i18n/locales/ro.d.ts +3 -2
  223. package/dist/i18n/locales/ro.d.ts.map +1 -1
  224. package/dist/i18n/locales/ro.js +5 -4
  225. package/dist/i18n/locales/ro.js.map +1 -1
  226. package/dist/i18n/locales/ru.d.ts +3 -2
  227. package/dist/i18n/locales/ru.d.ts.map +1 -1
  228. package/dist/i18n/locales/ru.js +5 -4
  229. package/dist/i18n/locales/ru.js.map +1 -1
  230. package/dist/i18n/locales/sq.d.ts +3 -2
  231. package/dist/i18n/locales/sq.d.ts.map +1 -1
  232. package/dist/i18n/locales/sq.js +5 -4
  233. package/dist/i18n/locales/sq.js.map +1 -1
  234. package/dist/i18n/locales/sv.d.ts +3 -2
  235. package/dist/i18n/locales/sv.d.ts.map +1 -1
  236. package/dist/i18n/locales/sv.js +5 -4
  237. package/dist/i18n/locales/sv.js.map +1 -1
  238. package/dist/i18n/locales/tr.d.ts +3 -2
  239. package/dist/i18n/locales/tr.d.ts.map +1 -1
  240. package/dist/i18n/locales/tr.js +5 -4
  241. package/dist/i18n/locales/tr.js.map +1 -1
  242. package/dist/i18n/locales/zh.d.ts +3 -2
  243. package/dist/i18n/locales/zh.d.ts.map +1 -1
  244. package/dist/i18n/locales/zh.js +5 -4
  245. package/dist/i18n/locales/zh.js.map +1 -1
  246. package/dist/index.js +48 -48
  247. package/dist/locales/ar.json +5 -4
  248. package/dist/locales/de.json +5 -4
  249. package/dist/locales/el.json +5 -4
  250. package/dist/locales/en.json +5 -4
  251. package/dist/locales/es.json +5 -4
  252. package/dist/locales/fr.json +5 -4
  253. package/dist/locales/hi.json +5 -4
  254. package/dist/locales/it.json +5 -4
  255. package/dist/locales/ja.json +5 -4
  256. package/dist/locales/nl.json +5 -4
  257. package/dist/locales/pl.json +5 -4
  258. package/dist/locales/pt.json +5 -4
  259. package/dist/locales/ro.json +5 -4
  260. package/dist/locales/ru.json +5 -4
  261. package/dist/locales/sq.json +5 -4
  262. package/dist/locales/sv.json +5 -4
  263. package/dist/locales/tr.json +5 -4
  264. package/dist/locales/zh.json +5 -4
  265. package/dist/patterns/alia-assistant/index.js +1 -1
  266. package/dist/patterns/anamnesis/index.js +1 -1
  267. package/dist/patterns/calendar/index.js +1 -1
  268. package/dist/patterns/help-me-write-templates/help-me-write-templates.d.ts +2 -2
  269. package/dist/patterns/help-me-write-templates/help-me-write-templates.d.ts.map +1 -1
  270. package/dist/patterns/help-me-write-templates/index.js +1 -1
  271. package/dist/patterns/payment-automation-upsell/index.js +1 -1
  272. package/dist/patterns/signature-request/index.js +1 -1
  273. package/dist/tokens.css +13 -2
  274. package/package.json +1 -1
  275. package/dist/_chunks/breadcrumb-xgVpPH2H.js.map +0 -1
  276. package/dist/_chunks/chart-C2RBJERE.js +0 -705
  277. package/dist/_chunks/chart-C2RBJERE.js.map +0 -1
  278. package/dist/_chunks/dashboard-grid-SAGoyCtL.js +0 -691
  279. package/dist/_chunks/dashboard-grid-SAGoyCtL.js.map +0 -1
  280. package/dist/_chunks/date-range-picker-BOvHwWO5.js.map +0 -1
  281. package/dist/_chunks/dependent-selector-Bet3XAFj.js.map +0 -1
  282. package/dist/_chunks/dialog-D52AI4nF.js.map +0 -1
  283. package/dist/_chunks/freemium-paywall-B6ojVXq7.js.map +0 -1
  284. package/dist/_chunks/help-me-write-templates-B7L3zGsE.js.map +0 -1
  285. package/dist/_chunks/key-value-pair-Ax8IJr1M.js.map +0 -1
  286. package/dist/_chunks/position-grid-D2D5_Tze.js.map +0 -1
  287. package/dist/_chunks/radio-group-BT97ty7o.js.map +0 -1
  288. package/dist/_chunks/sheet-CNFW8mYZ.js.map +0 -1
  289. package/dist/_chunks/stat-51CDL4au.js.map +0 -1
  290. package/dist/_chunks/stepper-accordion-D7lnBGh2.js.map +0 -1
@@ -0,0 +1,26 @@
1
+ import { useRef as u, useMemo as i } from "react";
2
+ const s = /* @__PURE__ */ new Set(["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"]);
3
+ function f() {
4
+ const t = u(null);
5
+ return i(
6
+ () => ({
7
+ onKeyDown: (r) => {
8
+ if (!s.has(r.key) || !r.defaultPrevented) return;
9
+ const n = r.currentTarget, c = r.target, o = { selected: !1 };
10
+ t.current = o, window.setTimeout(() => {
11
+ t.current === o && (t.current = null);
12
+ const e = document.activeElement;
13
+ o.selected || e === c || !(e instanceof HTMLElement) || !n.isConnected || e.getAttribute("role") !== "radio" || e.closest('[role="radiogroup"]') !== n || e.getAttribute("aria-checked") === "true" || e.click();
14
+ }, 0);
15
+ },
16
+ noteSelection: () => {
17
+ t.current && (t.current.selected = !0);
18
+ }
19
+ }),
20
+ []
21
+ );
22
+ }
23
+ export {
24
+ f as u
25
+ };
26
+ //# sourceMappingURL=use-select-on-arrow-Cr4iBuW5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-select-on-arrow-Cr4iBuW5.js","sources":["../../src/components/_shared/use-select-on-arrow.ts"],"sourcesContent":["import { useMemo, useRef, type KeyboardEvent } from 'react';\n\nconst ARROW_KEYS = new Set(['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight']);\n\nexport interface SelectOnArrow {\n /** Put on the Radix `RadioGroup.Root`, after any consumer `onKeyDown`. */\n onKeyDown: (event: KeyboardEvent<HTMLElement>) => void;\n /** Call first thing in the Root's `onValueChange`. */\n noteSelection: () => void;\n}\n\n/**\n * Arrow keys move focus AND selection in a Radix radio group (WAI-ARIA radio\n * pattern). Radix selects only if the next radio takes focus while the arrow\n * key is still down: it moves focus in a timeout and forgets the key on\n * `keyup`. A quick tap, a script or an assistive technology can release the\n * key before that timeout runs, and focus then moves without selecting.\n *\n * This finishes the move: its own timeout runs after Radix's and clicks the\n * newly focused radio, as Radix would have. `noteSelection` tells it Radix\n * already selected, so each move fires `onValueChange` once.\n */\nexport function useSelectOnArrow(): SelectOnArrow {\n const moveRef = useRef<{ selected: boolean } | null>(null);\n\n return useMemo<SelectOnArrow>(\n () => ({\n onKeyDown: (event) => {\n // Radix prevents the default of every arrow key it turns into a move.\n if (!ARROW_KEYS.has(event.key) || !event.defaultPrevented) return;\n const root = event.currentTarget;\n const from = event.target;\n const move = { selected: false };\n moveRef.current = move;\n window.setTimeout(() => {\n if (moveRef.current === move) moveRef.current = null;\n const to = document.activeElement;\n if (move.selected || to === from || !(to instanceof HTMLElement)) {\n return;\n }\n if (\n !root.isConnected ||\n to.getAttribute('role') !== 'radio' ||\n to.closest('[role=\"radiogroup\"]') !== root ||\n to.getAttribute('aria-checked') === 'true'\n ) {\n return;\n }\n to.click();\n }, 0);\n },\n noteSelection: () => {\n if (moveRef.current) moveRef.current.selected = true;\n },\n }),\n [],\n );\n}\n"],"names":["ARROW_KEYS","useSelectOnArrow","moveRef","useRef","useMemo","event","root","from","move","to"],"mappings":";AAEA,MAAMA,wBAAiB,IAAI,CAAC,WAAW,aAAa,aAAa,YAAY,CAAC;AAoBvE,SAASC,IAAkC;AAChD,QAAMC,IAAUC,EAAqC,IAAI;AAEzD,SAAOC;AAAA,IACL,OAAO;AAAA,MACL,WAAW,CAACC,MAAU;AAEpB,YAAI,CAACL,EAAW,IAAIK,EAAM,GAAG,KAAK,CAACA,EAAM,iBAAkB;AAC3D,cAAMC,IAAOD,EAAM,eACbE,IAAOF,EAAM,QACbG,IAAO,EAAE,UAAU,GAAA;AACzB,QAAAN,EAAQ,UAAUM,GAClB,OAAO,WAAW,MAAM;AACtB,UAAIN,EAAQ,YAAYM,MAAMN,EAAQ,UAAU;AAChD,gBAAMO,IAAK,SAAS;AACpB,UAAID,EAAK,YAAYC,MAAOF,KAAQ,EAAEE,aAAc,gBAIlD,CAACH,EAAK,eACNG,EAAG,aAAa,MAAM,MAAM,WAC5BA,EAAG,QAAQ,qBAAqB,MAAMH,KACtCG,EAAG,aAAa,cAAc,MAAM,UAItCA,EAAG,MAAA;AAAA,QACL,GAAG,CAAC;AAAA,MACN;AAAA,MACA,eAAe,MAAM;AACnB,QAAIP,EAAQ,YAASA,EAAQ,QAAQ,WAAW;AAAA,MAClD;AAAA,IAAA;AAAA,IAEF,CAAA;AAAA,EAAC;AAEL;"}
@@ -2,7 +2,7 @@ import { jsx as t, jsxs as c } from "react/jsx-runtime";
2
2
  import { forwardRef as P, useState as N, useEffect as S, useMemo as f, useCallback as W, useImperativeHandle as T } from "react";
3
3
  import { c as _ } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as j } from "react-i18next";
5
- import { D as l } from "./dialog-D52AI4nF.js";
5
+ import { D as l } from "./dialog-CUzbnKLw.js";
6
6
  import { S as z } from "./state-backed-text-input-DECQy5aA.js";
7
7
  import { B as C } from "./badge-hnBt8o7n.js";
8
8
  import { u as B } from "./registry-DvAUVLHh.js";
@@ -190,4 +190,4 @@ export {
190
190
  A as W,
191
191
  L as w
192
192
  };
193
- //# sourceMappingURL=widget-picker-D8RiWrJd.js.map
193
+ //# sourceMappingURL=widget-picker-DXYBMTfe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"widget-picker-D8RiWrJd.js","sources":["../../src/components/widget-picker/widget-picker.agent.ts","../../src/components/widget-picker/widget-picker.tsx"],"sourcesContent":["import type { AgentAdapter } from '../../agent/types';\nimport type { WidgetPickerHandle } from './widget-picker';\n\nexport const widgetPickerAgent: AgentAdapter<WidgetPickerHandle> = {\n id: 'widget-picker',\n capabilities: ['pick'],\n state: {\n open: {\n type: 'boolean',\n descriptionKey: 'ui.agent.widgetPicker.state.open',\n description: 'Whether the picker dialog is currently open.',\n read: (handle) => handle.getPickerState().open,\n },\n items: {\n type: '{ id: string, disabled: boolean }[]',\n descriptionKey: 'ui.agent.widgetPicker.state.items',\n description:\n 'Widget-type ids on offer and whether each is pickable. Ids only — titles are host-app strings.',\n read: (handle) => handle.getPickerState().items,\n },\n },\n actions: {\n pick_widget: {\n // Picking adds a widget to the host dashboard — a write, reversible\n // by removing the widget again.\n safety: 'write',\n argsType: 'id',\n argsSchema: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'Widget-type id (see items state).',\n },\n },\n required: ['id'],\n },\n returns: 'boolean (accepted)',\n returnsSchema: {\n type: 'boolean',\n description:\n 'True when the pick was applied; false when the picker is closed, the id is unknown, or the item is disabled.',\n },\n idempotent: false,\n descriptionKey: 'ui.agent.widgetPicker.actions.pickWidget',\n description:\n 'Pick a widget type from the open catalogue. The picker closes and the host adds the widget. Refused while the dialog is closed and for disabled items.',\n invoke: (handle, args: { id: string }) => handle.pick(args.id),\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'widget-picker' },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n item: {\n attr: 'data-widget-type-id',\n description: 'Each option tile carries its widget-type id.',\n },\n },\n};\n","/* ------------------------------------------------------------------ */\n/* WidgetPicker — \"add a widget\" modal for configurable dashboards. */\n/* */\n/* A Dialog-composed catalogue picker: the consumer supplies the */\n/* available widget types (title/description/icon/category, all */\n/* pre-translated app strings), the kit renders a searchable, grouped */\n/* grid of option tiles and reports the pick. Designed as the add flow */\n/* for `DashboardGrid` (`onRequestAdd` opens it) but generic to any */\n/* pick-one-catalogue surface. Disabled items stay visible with an */\n/* optional badge (e.g. \"Requires reconnect\") so users can discover */\n/* locked capabilities. */\n/* ------------------------------------------------------------------ */\n\nimport {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useState,\n type ReactNode,\n} from 'react';\nimport { cva } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Search } from 'lucide-react';\nimport { Dialog } from '../dialog';\nimport { StateBackedTextInput } from '../_shared/state-backed-text-input';\nimport { Badge } from '../badge';\nimport { useAgentRegistration } from '../../agent/registry';\nimport { widgetPickerAgent } from './widget-picker.agent';\n\n/* ------------------------------------------------------------------ */\n/* Public types */\n/* ------------------------------------------------------------------ */\n\nexport interface WidgetPickerItem {\n /** Stable widget-type id reported via `onPick`. */\n id: string;\n /** Visible name (consumer-translated). */\n title: string;\n /** One-line explanation (consumer-translated). */\n description?: string;\n /** Small illustrative icon. */\n icon?: ReactNode;\n /** Group heading (consumer-translated). Ungrouped items render first. */\n category?: string;\n /** Visible but not pickable. */\n disabled?: boolean;\n /** Short annotation rendered as a badge (e.g. \"Requires reconnect\"). */\n badge?: string;\n}\n\nexport interface WidgetPickerProps {\n /** Controlled visibility. */\n open: boolean;\n onOpenChange: (open: boolean) => void;\n /** The catalogue. */\n items: WidgetPickerItem[];\n /**\n * Called with the picked item id; the picker then closes itself via\n * `onOpenChange(false)`.\n */\n onPick: (id: string) => void;\n /** Dialog title. Defaults to the kit's translated \"Add a widget\". */\n title?: string;\n /** Opaque instance id — emitted as `data-component-id` for the agent registry. */\n id?: string;\n}\n\nexport interface WidgetPickerHandle {\n /**\n * Pick an item programmatically. False when the picker is closed, the id\n * is unknown, or the item is disabled.\n */\n pick: (id: string) => boolean;\n getPickerState: () => {\n open: boolean;\n items: Array<{ id: string; disabled: boolean }>;\n };\n}\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst tileVariants = cva(\n [\n 'ds:flex ds:w-full ds:min-h-[var(--min-target-size)] ds:items-start ds:gap-[var(--spacing-sm)]',\n 'ds:rounded-[var(--radius-md)] ds:border ds:border-border ds:bg-[var(--card)]',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)] ds:py-[var(--spacing-md)]',\n 'ds:text-start ds:transition-colors',\n 'ds:hover:bg-muted/10',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:disabled:opacity-50 ds:disabled:cursor-not-allowed ds:disabled:hover:bg-transparent',\n ].join(' '),\n { variants: {}, defaultVariants: {} },\n);\n\n/* ------------------------------------------------------------------ */\n/* WidgetPicker */\n/* ------------------------------------------------------------------ */\n\nexport const WidgetPicker = forwardRef<WidgetPickerHandle, WidgetPickerProps>(\n ({ open, onOpenChange, items, onPick, title, id }, ref) => {\n const { t } = useTranslation('ui');\n const [query, setQuery] = useState('');\n\n // Clear the search when the picker closes, so the next open starts fresh\n // without a post-open reflow flash.\n useEffect(() => {\n if (!open) setQuery('');\n }, [open]);\n\n const filtered = useMemo(() => {\n const needle = query.trim().toLowerCase();\n if (!needle) return items;\n return items.filter(\n (item) =>\n item.title.toLowerCase().includes(needle) ||\n (item.description ?? '').toLowerCase().includes(needle),\n );\n }, [items, query]);\n\n /* Group by category, preserving first-seen order; ungrouped first. */\n const groups = useMemo(() => {\n const order: Array<{\n category: string | null;\n entries: WidgetPickerItem[];\n }> = [];\n for (const item of filtered) {\n // Treat an empty-string category the same as no category.\n const key = item.category || null;\n let group = order.find((g) => g.category === key);\n if (!group) {\n group = { category: key, entries: [] };\n if (key === null) order.unshift(group);\n else order.push(group);\n }\n group.entries.push(item);\n }\n return order;\n }, [filtered]);\n\n const handlePick = useCallback(\n (itemId: string) => {\n onPick(itemId);\n onOpenChange(false);\n },\n [onPick, onOpenChange],\n );\n\n const agentHandle = useMemo<WidgetPickerHandle>(\n () => ({\n pick(itemId) {\n if (!open) return false;\n const item = items.find((entry) => entry.id === itemId);\n if (!item || item.disabled) return false;\n handlePick(itemId);\n return true;\n },\n getPickerState() {\n return {\n open,\n items: items.map((item) => ({\n id: item.id,\n disabled: Boolean(item.disabled),\n })),\n };\n },\n }),\n [open, items, handlePick],\n );\n useImperativeHandle(ref, () => agentHandle, [agentHandle]);\n useAgentRegistration(widgetPickerAgent, agentHandle, id);\n\n return (\n <Dialog.Root open={open} onOpenChange={onOpenChange}>\n <Dialog.Content size=\"lg\">\n <div data-component=\"widget-picker\" data-component-id={id}>\n <Dialog.Title>{title ?? t('widgetPicker.title')}</Dialog.Title>\n <Dialog.Description className=\"ds:sr-only\">\n {t('widgetPicker.description')}\n </Dialog.Description>\n <div className=\"ds:mt-[var(--spacing-sm)]\">\n <StateBackedTextInput\n aria-label={t('widgetPicker.searchLabel')}\n placeholder={t('widgetPicker.searchPlaceholder')}\n startAdornment={<Search aria-hidden=\"true\" />}\n value={query}\n onChange={(event) => setQuery(event.target.value)}\n />\n </div>\n <div\n // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex -- scrollable catalogue needs a keyboard tab stop so an all-disabled, overflowing list stays scrollable (axe scrollable-region-focusable)\n tabIndex={0}\n className=\"ds:mt-[var(--spacing-md)] ds:flex ds:max-h-[60vh] ds:flex-col ds:gap-[var(--spacing-md)] ds:overflow-y-auto ds:pe-[var(--spacing-xs)] ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]\"\n >\n {groups.length === 0 ? (\n <p\n role=\"status\"\n className=\"ds:py-[var(--spacing-lg)] ds:text-center ds:text-sm ds:text-muted-foreground\"\n >\n {items.length === 0\n ? t('widgetPicker.none')\n : t('widgetPicker.empty')}\n </p>\n ) : (\n groups.map((group) => (\n <section\n key={group.category ?? '__ungrouped__'}\n className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]\"\n >\n {group.category ? (\n <h3 className=\"ds:text-xs ds:font-semibold ds:uppercase ds:tracking-wide ds:text-muted-foreground\">\n {group.category}\n </h3>\n ) : null}\n <div className=\"ds:grid ds:gap-[var(--spacing-sm)] ds:sm:grid-cols-2\">\n {group.entries.map((item) => (\n <button\n key={item.id}\n type=\"button\"\n disabled={item.disabled}\n onClick={() => handlePick(item.id)}\n className={tileVariants()}\n data-widget-type-id={item.id}\n >\n {item.icon ? (\n <span\n aria-hidden=\"true\"\n className=\"ds:mt-[var(--spacing-2xs)] ds:inline-flex ds:size-5 ds:shrink-0 ds:items-center ds:justify-center ds:text-muted-foreground ds:[&_svg]:size-5\"\n >\n {item.icon}\n </span>\n ) : null}\n <span className=\"ds:flex ds:min-w-0 ds:flex-col ds:gap-[var(--spacing-2xs)]\">\n <span className=\"ds:flex ds:items-center ds:gap-[var(--spacing-xs)]\">\n <span className=\"ds:truncate ds:text-sm ds:font-medium\">\n {item.title}\n </span>\n {item.badge ? (\n <Badge variant=\"info\" size=\"sm\">\n {item.badge}\n </Badge>\n ) : null}\n </span>\n {item.description ? (\n <span className=\"ds:text-xs ds:text-muted-foreground\">\n {item.description}\n </span>\n ) : null}\n </span>\n </button>\n ))}\n </div>\n </section>\n ))\n )}\n </div>\n </div>\n </Dialog.Content>\n </Dialog.Root>\n );\n },\n);\n\nWidgetPicker.displayName = 'WidgetPicker';\n"],"names":["widgetPickerAgent","handle","args","tileVariants","cva","WidgetPicker","forwardRef","open","onOpenChange","items","onPick","title","id","ref","t","useTranslation","query","setQuery","useState","useEffect","filtered","useMemo","needle","item","groups","order","key","group","g","handlePick","useCallback","itemId","agentHandle","entry","useImperativeHandle","useAgentRegistration","Dialog","jsx","jsxs","StateBackedTextInput","Search","event","Badge"],"mappings":"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"}
1
+ {"version":3,"file":"widget-picker-DXYBMTfe.js","sources":["../../src/components/widget-picker/widget-picker.agent.ts","../../src/components/widget-picker/widget-picker.tsx"],"sourcesContent":["import type { AgentAdapter } from '../../agent/types';\nimport type { WidgetPickerHandle } from './widget-picker';\n\nexport const widgetPickerAgent: AgentAdapter<WidgetPickerHandle> = {\n id: 'widget-picker',\n capabilities: ['pick'],\n state: {\n open: {\n type: 'boolean',\n descriptionKey: 'ui.agent.widgetPicker.state.open',\n description: 'Whether the picker dialog is currently open.',\n read: (handle) => handle.getPickerState().open,\n },\n items: {\n type: '{ id: string, disabled: boolean }[]',\n descriptionKey: 'ui.agent.widgetPicker.state.items',\n description:\n 'Widget-type ids on offer and whether each is pickable. Ids only — titles are host-app strings.',\n read: (handle) => handle.getPickerState().items,\n },\n },\n actions: {\n pick_widget: {\n // Picking adds a widget to the host dashboard — a write, reversible\n // by removing the widget again.\n safety: 'write',\n argsType: 'id',\n argsSchema: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'Widget-type id (see items state).',\n },\n },\n required: ['id'],\n },\n returns: 'boolean (accepted)',\n returnsSchema: {\n type: 'boolean',\n description:\n 'True when the pick was applied; false when the picker is closed, the id is unknown, or the item is disabled.',\n },\n idempotent: false,\n descriptionKey: 'ui.agent.widgetPicker.actions.pickWidget',\n description:\n 'Pick a widget type from the open catalogue. The picker closes and the host adds the widget. Refused while the dialog is closed and for disabled items.',\n invoke: (handle, args: { id: string }) => handle.pick(args.id),\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'widget-picker' },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n item: {\n attr: 'data-widget-type-id',\n description: 'Each option tile carries its widget-type id.',\n },\n },\n};\n","/* ------------------------------------------------------------------ */\n/* WidgetPicker — \"add a widget\" modal for configurable dashboards. */\n/* */\n/* A Dialog-composed catalogue picker: the consumer supplies the */\n/* available widget types (title/description/icon/category, all */\n/* pre-translated app strings), the kit renders a searchable, grouped */\n/* grid of option tiles and reports the pick. Designed as the add flow */\n/* for `DashboardGrid` (`onRequestAdd` opens it) but generic to any */\n/* pick-one-catalogue surface. Disabled items stay visible with an */\n/* optional badge (e.g. \"Requires reconnect\") so users can discover */\n/* locked capabilities. */\n/* ------------------------------------------------------------------ */\n\nimport {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useState,\n type ReactNode,\n} from 'react';\nimport { cva } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Search } from 'lucide-react';\nimport { Dialog } from '../dialog';\nimport { StateBackedTextInput } from '../_shared/state-backed-text-input';\nimport { Badge } from '../badge';\nimport { useAgentRegistration } from '../../agent/registry';\nimport { widgetPickerAgent } from './widget-picker.agent';\n\n/* ------------------------------------------------------------------ */\n/* Public types */\n/* ------------------------------------------------------------------ */\n\nexport interface WidgetPickerItem {\n /** Stable widget-type id reported via `onPick`. */\n id: string;\n /** Visible name (consumer-translated). */\n title: string;\n /** One-line explanation (consumer-translated). */\n description?: string;\n /** Small illustrative icon. */\n icon?: ReactNode;\n /** Group heading (consumer-translated). Ungrouped items render first. */\n category?: string;\n /** Visible but not pickable. */\n disabled?: boolean;\n /** Short annotation rendered as a badge (e.g. \"Requires reconnect\"). */\n badge?: string;\n}\n\nexport interface WidgetPickerProps {\n /** Controlled visibility. */\n open: boolean;\n onOpenChange: (open: boolean) => void;\n /** The catalogue. */\n items: WidgetPickerItem[];\n /**\n * Called with the picked item id; the picker then closes itself via\n * `onOpenChange(false)`.\n */\n onPick: (id: string) => void;\n /** Dialog title. Defaults to the kit's translated \"Add a widget\". */\n title?: string;\n /** Opaque instance id — emitted as `data-component-id` for the agent registry. */\n id?: string;\n}\n\nexport interface WidgetPickerHandle {\n /**\n * Pick an item programmatically. False when the picker is closed, the id\n * is unknown, or the item is disabled.\n */\n pick: (id: string) => boolean;\n getPickerState: () => {\n open: boolean;\n items: Array<{ id: string; disabled: boolean }>;\n };\n}\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst tileVariants = cva(\n [\n 'ds:flex ds:w-full ds:min-h-[var(--min-target-size)] ds:items-start ds:gap-[var(--spacing-sm)]',\n 'ds:rounded-[var(--radius-md)] ds:border ds:border-border ds:bg-[var(--card)]',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)] ds:py-[var(--spacing-md)]',\n 'ds:text-start ds:transition-colors',\n 'ds:hover:bg-muted/10',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:disabled:opacity-50 ds:disabled:cursor-not-allowed ds:disabled:hover:bg-transparent',\n ].join(' '),\n { variants: {}, defaultVariants: {} },\n);\n\n/* ------------------------------------------------------------------ */\n/* WidgetPicker */\n/* ------------------------------------------------------------------ */\n\nexport const WidgetPicker = forwardRef<WidgetPickerHandle, WidgetPickerProps>(\n ({ open, onOpenChange, items, onPick, title, id }, ref) => {\n const { t } = useTranslation('ui');\n const [query, setQuery] = useState('');\n\n // Clear the search when the picker closes, so the next open starts fresh\n // without a post-open reflow flash.\n useEffect(() => {\n if (!open) setQuery('');\n }, [open]);\n\n const filtered = useMemo(() => {\n const needle = query.trim().toLowerCase();\n if (!needle) return items;\n return items.filter(\n (item) =>\n item.title.toLowerCase().includes(needle) ||\n (item.description ?? '').toLowerCase().includes(needle),\n );\n }, [items, query]);\n\n /* Group by category, preserving first-seen order; ungrouped first. */\n const groups = useMemo(() => {\n const order: Array<{\n category: string | null;\n entries: WidgetPickerItem[];\n }> = [];\n for (const item of filtered) {\n // Treat an empty-string category the same as no category.\n const key = item.category || null;\n let group = order.find((g) => g.category === key);\n if (!group) {\n group = { category: key, entries: [] };\n if (key === null) order.unshift(group);\n else order.push(group);\n }\n group.entries.push(item);\n }\n return order;\n }, [filtered]);\n\n const handlePick = useCallback(\n (itemId: string) => {\n onPick(itemId);\n onOpenChange(false);\n },\n [onPick, onOpenChange],\n );\n\n const agentHandle = useMemo<WidgetPickerHandle>(\n () => ({\n pick(itemId) {\n if (!open) return false;\n const item = items.find((entry) => entry.id === itemId);\n if (!item || item.disabled) return false;\n handlePick(itemId);\n return true;\n },\n getPickerState() {\n return {\n open,\n items: items.map((item) => ({\n id: item.id,\n disabled: Boolean(item.disabled),\n })),\n };\n },\n }),\n [open, items, handlePick],\n );\n useImperativeHandle(ref, () => agentHandle, [agentHandle]);\n useAgentRegistration(widgetPickerAgent, agentHandle, id);\n\n return (\n <Dialog.Root open={open} onOpenChange={onOpenChange}>\n <Dialog.Content size=\"lg\">\n <div data-component=\"widget-picker\" data-component-id={id}>\n <Dialog.Title>{title ?? t('widgetPicker.title')}</Dialog.Title>\n <Dialog.Description className=\"ds:sr-only\">\n {t('widgetPicker.description')}\n </Dialog.Description>\n <div className=\"ds:mt-[var(--spacing-sm)]\">\n <StateBackedTextInput\n aria-label={t('widgetPicker.searchLabel')}\n placeholder={t('widgetPicker.searchPlaceholder')}\n startAdornment={<Search aria-hidden=\"true\" />}\n value={query}\n onChange={(event) => setQuery(event.target.value)}\n />\n </div>\n <div\n // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex -- scrollable catalogue needs a keyboard tab stop so an all-disabled, overflowing list stays scrollable (axe scrollable-region-focusable)\n tabIndex={0}\n className=\"ds:mt-[var(--spacing-md)] ds:flex ds:max-h-[60vh] ds:flex-col ds:gap-[var(--spacing-md)] ds:overflow-y-auto ds:pe-[var(--spacing-xs)] ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]\"\n >\n {groups.length === 0 ? (\n <p\n role=\"status\"\n className=\"ds:py-[var(--spacing-lg)] ds:text-center ds:text-sm ds:text-muted-foreground\"\n >\n {items.length === 0\n ? t('widgetPicker.none')\n : t('widgetPicker.empty')}\n </p>\n ) : (\n groups.map((group) => (\n <section\n key={group.category ?? '__ungrouped__'}\n className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]\"\n >\n {group.category ? (\n <h3 className=\"ds:text-xs ds:font-semibold ds:uppercase ds:tracking-wide ds:text-muted-foreground\">\n {group.category}\n </h3>\n ) : null}\n <div className=\"ds:grid ds:gap-[var(--spacing-sm)] ds:sm:grid-cols-2\">\n {group.entries.map((item) => (\n <button\n key={item.id}\n type=\"button\"\n disabled={item.disabled}\n onClick={() => handlePick(item.id)}\n className={tileVariants()}\n data-widget-type-id={item.id}\n >\n {item.icon ? (\n <span\n aria-hidden=\"true\"\n className=\"ds:mt-[var(--spacing-2xs)] ds:inline-flex ds:size-5 ds:shrink-0 ds:items-center ds:justify-center ds:text-muted-foreground ds:[&_svg]:size-5\"\n >\n {item.icon}\n </span>\n ) : null}\n <span className=\"ds:flex ds:min-w-0 ds:flex-col ds:gap-[var(--spacing-2xs)]\">\n <span className=\"ds:flex ds:items-center ds:gap-[var(--spacing-xs)]\">\n <span className=\"ds:truncate ds:text-sm ds:font-medium\">\n {item.title}\n </span>\n {item.badge ? (\n <Badge variant=\"info\" size=\"sm\">\n {item.badge}\n </Badge>\n ) : null}\n </span>\n {item.description ? (\n <span className=\"ds:text-xs ds:text-muted-foreground\">\n {item.description}\n </span>\n ) : null}\n </span>\n </button>\n ))}\n </div>\n </section>\n ))\n )}\n </div>\n </div>\n </Dialog.Content>\n </Dialog.Root>\n );\n },\n);\n\nWidgetPicker.displayName = 'WidgetPicker';\n"],"names":["widgetPickerAgent","handle","args","tileVariants","cva","WidgetPicker","forwardRef","open","onOpenChange","items","onPick","title","id","ref","t","useTranslation","query","setQuery","useState","useEffect","filtered","useMemo","needle","item","groups","order","key","group","g","handlePick","useCallback","itemId","agentHandle","entry","useImperativeHandle","useAgentRegistration","Dialog","jsx","jsxs","StateBackedTextInput","Search","event","Badge"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { c as j } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as z } from "react-i18next";
5
5
  import { C } from "./card-DMO2nkt4.js";
6
6
  import { B as ye } from "./badge-hnBt8o7n.js";
7
- import { a as Z } from "./key-value-pair-Ax8IJr1M.js";
7
+ import { a as Z } from "./key-value-pair-BNNITp6S.js";
8
8
  import { T as xe } from "./timestamp-DPLDWdxA.js";
9
9
  import { I as S } from "./icon-button-COX76Jdj.js";
10
10
  import { P as $ } from "./pencil-B1sKKyuT.js";
@@ -1321,4 +1321,4 @@ export {
1321
1321
  ee as r,
1322
1322
  D as w
1323
1323
  };
1324
- //# sourceMappingURL=workflow-map-D3mezmGB.js.map
1324
+ //# sourceMappingURL=workflow-map-Demlpy39.js.map