@alfadocs/ui-kit-debug 1.45.0 → 1.46.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 (284) hide show
  1. package/dist/_chunks/{actions-cell-renderer-BXBy9c0f.js → actions-cell-renderer-B5m9lwgC.js} +2 -2
  2. package/dist/_chunks/{actions-cell-renderer-BXBy9c0f.js.map → actions-cell-renderer-B5m9lwgC.js.map} +1 -1
  3. package/dist/_chunks/ai-credits-notice-xszqOZTC.js +90 -0
  4. package/dist/_chunks/ai-credits-notice-xszqOZTC.js.map +1 -0
  5. package/dist/_chunks/ai-credits-notice.agent-C9L7orrP.js +17 -0
  6. package/dist/_chunks/ai-credits-notice.agent-C9L7orrP.js.map +1 -0
  7. package/dist/_chunks/{ai-consent-banner-D7I2U-cz.js → ai-permission-notice-D7I2U-cz.js} +1 -1
  8. package/dist/_chunks/ai-permission-notice-D7I2U-cz.js.map +1 -0
  9. package/dist/_chunks/ai-sparkle-D23NT8Z_.js +45 -0
  10. package/dist/_chunks/ai-sparkle-D23NT8Z_.js.map +1 -0
  11. package/dist/_chunks/{anamnesis-summary-rows-DQUqwWc1.js → anamnesis-summary-rows-DI-UX5r6.js} +2 -2
  12. package/dist/_chunks/{anamnesis-summary-rows-DQUqwWc1.js.map → anamnesis-summary-rows-DI-UX5r6.js.map} +1 -1
  13. package/dist/_chunks/{appointment-card-TgR_2GKS.js → appointment-card-DluZy8Iv.js} +2 -2
  14. package/dist/_chunks/{appointment-card-TgR_2GKS.js.map → appointment-card-DluZy8Iv.js.map} +1 -1
  15. package/dist/_chunks/{appointment-peek-abiR0T9e.js → appointment-peek-BsfCpiJs.js} +3 -3
  16. package/dist/_chunks/{appointment-peek-abiR0T9e.js.map → appointment-peek-BsfCpiJs.js.map} +1 -1
  17. package/dist/_chunks/{appointment-timeline-CCnyUYKz.js → appointment-timeline-Cs5f9viN.js} +3 -3
  18. package/dist/_chunks/{appointment-timeline-CCnyUYKz.js.map → appointment-timeline-Cs5f9viN.js.map} +1 -1
  19. package/dist/_chunks/{appointment-tray-N0yEI8UF.js → appointment-tray-CLrGGnKR.js} +2 -2
  20. package/dist/_chunks/{appointment-tray-N0yEI8UF.js.map → appointment-tray-CLrGGnKR.js.map} +1 -1
  21. package/dist/_chunks/baby-Dku-Xvg9.js +23 -0
  22. package/dist/_chunks/baby-Dku-Xvg9.js.map +1 -0
  23. package/dist/_chunks/{balance-badge-cell-o6LldMUA.js → balance-badge-cell-YGrYdrvR.js} +3 -3
  24. package/dist/_chunks/{balance-badge-cell-o6LldMUA.js.map → balance-badge-cell-YGrYdrvR.js.map} +1 -1
  25. package/dist/_chunks/{booking-D43ASl8y.js → booking-B7gA9gFB.js} +279 -296
  26. package/dist/_chunks/booking-B7gA9gFB.js.map +1 -0
  27. package/dist/_chunks/button-group-CA1tmu39.js +325 -0
  28. package/dist/_chunks/button-group-CA1tmu39.js.map +1 -0
  29. package/dist/_chunks/{calendar-U6N0F99w.js → calendar-OzSeTb4V.js} +2 -2
  30. package/dist/_chunks/{calendar-U6N0F99w.js.map → calendar-OzSeTb4V.js.map} +1 -1
  31. package/dist/_chunks/{calendar-event-card-DKUnT9Be.js → calendar-event-card-B6N5h1dO.js} +57 -48
  32. package/dist/_chunks/{calendar-event-card-DKUnT9Be.js.map → calendar-event-card-B6N5h1dO.js.map} +1 -1
  33. package/dist/_chunks/{calendar-workspace-B7KvZ1_D.js → calendar-workspace-BB-BZT7W.js} +3002 -2912
  34. package/dist/_chunks/calendar-workspace-BB-BZT7W.js.map +1 -0
  35. package/dist/_chunks/{chart-PF2krCZC.js → chart-D8ucl8hH.js} +2 -2
  36. package/dist/_chunks/{chart-PF2krCZC.js.map → chart-D8ucl8hH.js.map} +1 -1
  37. package/dist/_chunks/{data-table-CcAx_I1w.js → data-table-DnKOmEVw.js} +2 -2
  38. package/dist/_chunks/{data-table-CcAx_I1w.js.map → data-table-DnKOmEVw.js.map} +1 -1
  39. package/dist/_chunks/{editable-currency-cell-renderer-Psb6XKHR.js → editable-currency-cell-renderer-OUkUv7U4.js} +2 -2
  40. package/dist/_chunks/{editable-currency-cell-renderer-Psb6XKHR.js.map → editable-currency-cell-renderer-OUkUv7U4.js.map} +1 -1
  41. package/dist/_chunks/{face-scheme-Bm6pe7R8.js → face-scheme-mIhwrQXt.js} +3 -3
  42. package/dist/_chunks/{face-scheme-Bm6pe7R8.js.map → face-scheme-mIhwrQXt.js.map} +1 -1
  43. package/dist/_chunks/{file-manager-BfLQxF5t.js → file-manager-DOcJGIx2.js} +4 -4
  44. package/dist/_chunks/{file-manager-BfLQxF5t.js.map → file-manager-DOcJGIx2.js.map} +1 -1
  45. package/dist/_chunks/{header-settings-CTe45iDy.js → header-settings-BEfx_-TF.js} +2 -2
  46. package/dist/_chunks/{header-settings-CTe45iDy.js.map → header-settings-BEfx_-TF.js.map} +1 -1
  47. package/dist/_chunks/{help-me-write-templates-GUeEn3Ff.js → help-me-write-templates-DHIwa4xR.js} +205 -199
  48. package/dist/_chunks/help-me-write-templates-DHIwa4xR.js.map +1 -0
  49. package/dist/_chunks/{hover-card-BMJBVqIf.js → hover-card-nUae8NPJ.js} +67 -62
  50. package/dist/_chunks/{hover-card-BMJBVqIf.js.map → hover-card-nUae8NPJ.js.map} +1 -1
  51. package/dist/_chunks/{icon-button-group-DkkdIygu.js → icon-button-group-DZKC6KGf.js} +181 -168
  52. package/dist/_chunks/icon-button-group-DZKC6KGf.js.map +1 -0
  53. package/dist/_chunks/kit-extensions-DuoFF1R3.js +94 -0
  54. package/dist/_chunks/kit-extensions-DuoFF1R3.js.map +1 -0
  55. package/dist/_chunks/{marketplace-app-shell-DdwPj03y.js → marketplace-app-shell-PB89Dkk_.js} +2 -2
  56. package/dist/_chunks/{marketplace-app-shell-DdwPj03y.js.map → marketplace-app-shell-PB89Dkk_.js.map} +1 -1
  57. package/dist/_chunks/{notes-panel-Dkk9QPPX.js → notes-panel-CHbDDMx8.js} +83 -73
  58. package/dist/_chunks/notes-panel-CHbDDMx8.js.map +1 -0
  59. package/dist/_chunks/{patient-details-C8ImUrVg.js → patient-details-DUj1htsH.js} +2 -2
  60. package/dist/_chunks/{patient-details-C8ImUrVg.js.map → patient-details-DUj1htsH.js.map} +1 -1
  61. package/dist/_chunks/{patient-field-row-BRSOKvme.js → patient-field-row-CO0WR7yA.js} +2 -2
  62. package/dist/_chunks/patient-field-row-CO0WR7yA.js.map +1 -0
  63. package/dist/_chunks/{patient-summary-card-BhmKB2KR.js → patient-summary-card-DNzdYjxE.js} +59 -45
  64. package/dist/_chunks/patient-summary-card-DNzdYjxE.js.map +1 -0
  65. package/dist/_chunks/rich-text-editor-BwDV2XkZ.js +4153 -0
  66. package/dist/_chunks/rich-text-editor-BwDV2XkZ.js.map +1 -0
  67. package/dist/_chunks/{tasks-panel-CpcikOeY.js → tasks-panel-DncuBPIZ.js} +2 -2
  68. package/dist/_chunks/{tasks-panel-CpcikOeY.js.map → tasks-panel-DncuBPIZ.js.map} +1 -1
  69. package/dist/_chunks/{theme-toggle-bI0pgDDv.js → theme-toggle-BP0XRGMM.js} +2 -2
  70. package/dist/_chunks/{theme-toggle-bI0pgDDv.js.map → theme-toggle-BP0XRGMM.js.map} +1 -1
  71. package/dist/_chunks/use-ai-sparkle-Cf4yVTLB.js +76 -0
  72. package/dist/_chunks/use-ai-sparkle-Cf4yVTLB.js.map +1 -0
  73. package/dist/_chunks/{workflow-status-xeaJTzD3.js → workflow-status-CuJAOuKL.js} +43 -42
  74. package/dist/_chunks/{workflow-status-xeaJTzD3.js.map → workflow-status-CuJAOuKL.js.map} +1 -1
  75. package/dist/agent-catalog.json +32 -4
  76. package/dist/agent-i18n/en.json +1 -1
  77. package/dist/components/_shared/field-value.d.ts.map +1 -1
  78. package/dist/components/ai-credits-notice/ai-credits-notice.agent.d.ts +3 -0
  79. package/dist/components/ai-credits-notice/ai-credits-notice.agent.d.ts.map +1 -0
  80. package/dist/components/ai-credits-notice/ai-credits-notice.d.ts +48 -0
  81. package/dist/components/ai-credits-notice/ai-credits-notice.d.ts.map +1 -0
  82. package/dist/components/ai-credits-notice/index.d.ts +4 -0
  83. package/dist/components/ai-credits-notice/index.d.ts.map +1 -0
  84. package/dist/components/ai-credits-notice/index.js +7 -0
  85. package/dist/components/ai-credits-notice/index.js.map +1 -0
  86. package/dist/components/{ai-consent-banner/ai-consent-banner.agent.d.ts → ai-permission-notice/ai-permission-notice.agent.d.ts} +2 -2
  87. package/dist/components/ai-permission-notice/ai-permission-notice.agent.d.ts.map +1 -0
  88. package/dist/components/{ai-consent-banner/ai-consent-banner.d.ts → ai-permission-notice/ai-permission-notice.d.ts} +1 -1
  89. package/dist/components/ai-permission-notice/ai-permission-notice.d.ts.map +1 -0
  90. package/dist/components/ai-permission-notice/index.d.ts +4 -0
  91. package/dist/components/ai-permission-notice/index.d.ts.map +1 -0
  92. package/dist/components/{ai-consent-banner → ai-permission-notice}/index.js +1 -1
  93. package/dist/components/ai-sparkle/ai-sparkle.d.ts +3 -3
  94. package/dist/components/ai-sparkle/ai-sparkle.d.ts.map +1 -1
  95. package/dist/components/ai-sparkle/index.js +1 -1
  96. package/dist/components/appointment-card/index.js +2 -2
  97. package/dist/components/appointment-peek/index.js +1 -1
  98. package/dist/components/appointment-timeline/index.js +1 -1
  99. package/dist/components/booking/index.js +1 -1
  100. package/dist/components/button-group/button-group.d.ts.map +1 -1
  101. package/dist/components/button-group/index.js +1 -1
  102. package/dist/components/calendar/index.js +1 -1
  103. package/dist/components/calendar-event-card/calendar-event-card.d.ts.map +1 -1
  104. package/dist/components/calendar-event-card/index.js +1 -1
  105. package/dist/components/chart/index.js +1 -1
  106. package/dist/components/data-table/index.js +3 -3
  107. package/dist/components/face-scheme/index.js +1 -1
  108. package/dist/components/file-manager/index.js +1 -1
  109. package/dist/components/header-settings/index.js +1 -1
  110. package/dist/components/hover-card/hover-card.d.ts +4 -0
  111. package/dist/components/hover-card/hover-card.d.ts.map +1 -1
  112. package/dist/components/hover-card/index.d.ts +1 -1
  113. package/dist/components/hover-card/index.d.ts.map +1 -1
  114. package/dist/components/hover-card/index.js +3 -2
  115. package/dist/components/icon-button-group/icon-button-group.d.ts.map +1 -1
  116. package/dist/components/icon-button-group/index.js +1 -1
  117. package/dist/components/index.d.ts +2 -1
  118. package/dist/components/index.d.ts.map +1 -1
  119. package/dist/components/notes-panel/index.js +1 -1
  120. package/dist/components/notes-panel/notes-panel.d.ts +10 -0
  121. package/dist/components/notes-panel/notes-panel.d.ts.map +1 -1
  122. package/dist/components/patient-details/index.js +1 -1
  123. package/dist/components/patient-summary-card/index.js +1 -1
  124. package/dist/components/patient-summary-card/patient-summary-card.d.ts.map +1 -1
  125. package/dist/components/patient-table/index.js +1 -1
  126. package/dist/components/rich-text-editor/editor-extensions.d.ts +54 -0
  127. package/dist/components/rich-text-editor/editor-extensions.d.ts.map +1 -0
  128. package/dist/components/rich-text-editor/editor-toolbar.d.ts +2 -1
  129. package/dist/components/rich-text-editor/editor-toolbar.d.ts.map +1 -1
  130. package/dist/components/rich-text-editor/help-me-write-overlay.d.ts +4 -0
  131. package/dist/components/rich-text-editor/help-me-write-overlay.d.ts.map +1 -1
  132. package/dist/components/rich-text-editor/index.d.ts +2 -0
  133. package/dist/components/rich-text-editor/index.d.ts.map +1 -1
  134. package/dist/components/rich-text-editor/index.js +6 -4
  135. package/dist/components/rich-text-editor/index.js.map +1 -1
  136. package/dist/components/rich-text-editor/kit-extensions.d.ts +4 -0
  137. package/dist/components/rich-text-editor/kit-extensions.d.ts.map +1 -0
  138. package/dist/components/rich-text-editor/rich-text-editor.d.ts +18 -2
  139. package/dist/components/rich-text-editor/rich-text-editor.d.ts.map +1 -1
  140. package/dist/components/tasks-panel/index.js +1 -1
  141. package/dist/components/theme-toggle/index.js +1 -1
  142. package/dist/components/workflow-status/index.js +1 -1
  143. package/dist/components/workflow-status/workflow-status.d.ts.map +1 -1
  144. package/dist/hooks/index.d.ts +1 -1
  145. package/dist/hooks/index.d.ts.map +1 -1
  146. package/dist/hooks/index.js +51 -53
  147. package/dist/hooks/use-ai-sparkle.d.ts +7 -25
  148. package/dist/hooks/use-ai-sparkle.d.ts.map +1 -1
  149. package/dist/host-compat.css +2 -2
  150. package/dist/i18n/locales/ar.d.ts +31 -0
  151. package/dist/i18n/locales/ar.d.ts.map +1 -1
  152. package/dist/i18n/locales/ar.js +33 -2
  153. package/dist/i18n/locales/ar.js.map +1 -1
  154. package/dist/i18n/locales/de.d.ts +31 -0
  155. package/dist/i18n/locales/de.d.ts.map +1 -1
  156. package/dist/i18n/locales/de.js +33 -2
  157. package/dist/i18n/locales/de.js.map +1 -1
  158. package/dist/i18n/locales/el.d.ts +31 -0
  159. package/dist/i18n/locales/el.d.ts.map +1 -1
  160. package/dist/i18n/locales/el.js +33 -2
  161. package/dist/i18n/locales/el.js.map +1 -1
  162. package/dist/i18n/locales/en.d.ts +31 -0
  163. package/dist/i18n/locales/en.d.ts.map +1 -1
  164. package/dist/i18n/locales/en.js +33 -2
  165. package/dist/i18n/locales/en.js.map +1 -1
  166. package/dist/i18n/locales/es.d.ts +31 -0
  167. package/dist/i18n/locales/es.d.ts.map +1 -1
  168. package/dist/i18n/locales/es.js +33 -2
  169. package/dist/i18n/locales/es.js.map +1 -1
  170. package/dist/i18n/locales/fr.d.ts +31 -0
  171. package/dist/i18n/locales/fr.d.ts.map +1 -1
  172. package/dist/i18n/locales/fr.js +33 -2
  173. package/dist/i18n/locales/fr.js.map +1 -1
  174. package/dist/i18n/locales/hi.d.ts +31 -0
  175. package/dist/i18n/locales/hi.d.ts.map +1 -1
  176. package/dist/i18n/locales/hi.js +33 -2
  177. package/dist/i18n/locales/hi.js.map +1 -1
  178. package/dist/i18n/locales/it.d.ts +31 -0
  179. package/dist/i18n/locales/it.d.ts.map +1 -1
  180. package/dist/i18n/locales/it.js +33 -2
  181. package/dist/i18n/locales/it.js.map +1 -1
  182. package/dist/i18n/locales/ja.d.ts +31 -0
  183. package/dist/i18n/locales/ja.d.ts.map +1 -1
  184. package/dist/i18n/locales/ja.js +33 -2
  185. package/dist/i18n/locales/ja.js.map +1 -1
  186. package/dist/i18n/locales/nl.d.ts +31 -0
  187. package/dist/i18n/locales/nl.d.ts.map +1 -1
  188. package/dist/i18n/locales/nl.js +33 -2
  189. package/dist/i18n/locales/nl.js.map +1 -1
  190. package/dist/i18n/locales/pl.d.ts +31 -0
  191. package/dist/i18n/locales/pl.d.ts.map +1 -1
  192. package/dist/i18n/locales/pl.js +33 -2
  193. package/dist/i18n/locales/pl.js.map +1 -1
  194. package/dist/i18n/locales/pt.d.ts +31 -0
  195. package/dist/i18n/locales/pt.d.ts.map +1 -1
  196. package/dist/i18n/locales/pt.js +33 -2
  197. package/dist/i18n/locales/pt.js.map +1 -1
  198. package/dist/i18n/locales/ro.d.ts +31 -0
  199. package/dist/i18n/locales/ro.d.ts.map +1 -1
  200. package/dist/i18n/locales/ro.js +33 -2
  201. package/dist/i18n/locales/ro.js.map +1 -1
  202. package/dist/i18n/locales/ru.d.ts +31 -0
  203. package/dist/i18n/locales/ru.d.ts.map +1 -1
  204. package/dist/i18n/locales/ru.js +33 -2
  205. package/dist/i18n/locales/ru.js.map +1 -1
  206. package/dist/i18n/locales/sq.d.ts +31 -0
  207. package/dist/i18n/locales/sq.d.ts.map +1 -1
  208. package/dist/i18n/locales/sq.js +33 -2
  209. package/dist/i18n/locales/sq.js.map +1 -1
  210. package/dist/i18n/locales/sv.d.ts +31 -0
  211. package/dist/i18n/locales/sv.d.ts.map +1 -1
  212. package/dist/i18n/locales/sv.js +33 -2
  213. package/dist/i18n/locales/sv.js.map +1 -1
  214. package/dist/i18n/locales/tr.d.ts +31 -0
  215. package/dist/i18n/locales/tr.d.ts.map +1 -1
  216. package/dist/i18n/locales/tr.js +33 -2
  217. package/dist/i18n/locales/tr.js.map +1 -1
  218. package/dist/i18n/locales/zh.d.ts +31 -0
  219. package/dist/i18n/locales/zh.d.ts.map +1 -1
  220. package/dist/i18n/locales/zh.js +33 -2
  221. package/dist/i18n/locales/zh.js.map +1 -1
  222. package/dist/index.js +646 -639
  223. package/dist/index.js.map +1 -1
  224. package/dist/locales/ar.json +33 -2
  225. package/dist/locales/de.json +33 -2
  226. package/dist/locales/el.json +33 -2
  227. package/dist/locales/en.json +33 -2
  228. package/dist/locales/es.json +33 -2
  229. package/dist/locales/fr.json +33 -2
  230. package/dist/locales/hi.json +33 -2
  231. package/dist/locales/it.json +33 -2
  232. package/dist/locales/ja.json +33 -2
  233. package/dist/locales/nl.json +33 -2
  234. package/dist/locales/pl.json +33 -2
  235. package/dist/locales/pt.json +33 -2
  236. package/dist/locales/ro.json +33 -2
  237. package/dist/locales/ru.json +33 -2
  238. package/dist/locales/sq.json +33 -2
  239. package/dist/locales/sv.json +33 -2
  240. package/dist/locales/tr.json +33 -2
  241. package/dist/locales/zh.json +33 -2
  242. package/dist/patterns/anamnesis/index.js +1 -1
  243. package/dist/patterns/calendar/calendar-appointment-details.d.ts.map +1 -1
  244. package/dist/patterns/calendar/calendar-appointment-details.sections.d.ts.map +1 -1
  245. package/dist/patterns/calendar/calendar-bookings-panel.d.ts.map +1 -1
  246. package/dist/patterns/calendar/calendar-workspace.d.ts +6 -4
  247. package/dist/patterns/calendar/calendar-workspace.d.ts.map +1 -1
  248. package/dist/patterns/calendar/calendar.data.d.ts +9 -0
  249. package/dist/patterns/calendar/calendar.data.d.ts.map +1 -1
  250. package/dist/patterns/calendar/calendar.journey.d.ts +1 -1
  251. package/dist/patterns/calendar/calendar.journey.d.ts.map +1 -1
  252. package/dist/patterns/calendar/calendar.sheets.d.ts +16 -5
  253. package/dist/patterns/calendar/calendar.sheets.d.ts.map +1 -1
  254. package/dist/patterns/calendar/calendar.surface.d.ts.map +1 -1
  255. package/dist/patterns/calendar/calendar.types.d.ts +3 -1
  256. package/dist/patterns/calendar/calendar.types.d.ts.map +1 -1
  257. package/dist/patterns/calendar/index.js +1 -1
  258. package/dist/patterns/help-me-write-templates/help-me-write-templates.d.ts +11 -2
  259. package/dist/patterns/help-me-write-templates/help-me-write-templates.d.ts.map +1 -1
  260. package/dist/patterns/help-me-write-templates/index.js +1 -1
  261. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  262. package/dist/tokens.css +1 -1
  263. package/package.json +14 -4
  264. package/dist/_chunks/ai-consent-banner-D7I2U-cz.js.map +0 -1
  265. package/dist/_chunks/ai-sparkle-DXeP_6a0.js +0 -52
  266. package/dist/_chunks/ai-sparkle-DXeP_6a0.js.map +0 -1
  267. package/dist/_chunks/booking-D43ASl8y.js.map +0 -1
  268. package/dist/_chunks/button-group-R32U7SyV.js +0 -307
  269. package/dist/_chunks/button-group-R32U7SyV.js.map +0 -1
  270. package/dist/_chunks/calendar-workspace-B7KvZ1_D.js.map +0 -1
  271. package/dist/_chunks/help-me-write-templates-GUeEn3Ff.js.map +0 -1
  272. package/dist/_chunks/icon-button-group-DkkdIygu.js.map +0 -1
  273. package/dist/_chunks/notes-panel-Dkk9QPPX.js.map +0 -1
  274. package/dist/_chunks/patient-field-row-BRSOKvme.js.map +0 -1
  275. package/dist/_chunks/patient-summary-card-BhmKB2KR.js.map +0 -1
  276. package/dist/_chunks/rich-text-editor-BrAvNajV.js +0 -3779
  277. package/dist/_chunks/rich-text-editor-BrAvNajV.js.map +0 -1
  278. package/dist/_chunks/use-ai-sparkle-CyQSRTCe.js +0 -103
  279. package/dist/_chunks/use-ai-sparkle-CyQSRTCe.js.map +0 -1
  280. package/dist/components/ai-consent-banner/ai-consent-banner.agent.d.ts.map +0 -1
  281. package/dist/components/ai-consent-banner/ai-consent-banner.d.ts.map +0 -1
  282. package/dist/components/ai-consent-banner/index.d.ts +0 -4
  283. package/dist/components/ai-consent-banner/index.d.ts.map +0 -1
  284. /package/dist/components/{ai-consent-banner → ai-permission-notice}/index.js.map +0 -0
@@ -1,103 +0,0 @@
1
- import { useState as v, useEffect as _, useCallback as e } from "react";
2
- import { u as k } from "./use-prefers-reduced-motion-BMwIQRjB.js";
3
- const y = {
4
- intro: 3200,
5
- landed: 2800
6
- }, g = {
7
- intro: "ds:animate-[ai-pill-shimmer_calc(var(--animation-duration)*6)_var(--ease-in-out)_1]",
8
- working: "ds:animate-[ai-pill-shimmer_calc(var(--animation-duration)*6)_var(--ease-in-out)_infinite]",
9
- landed: "ds:animate-[ai-pill-shimmer_calc(var(--animation-duration)*4)_var(--ease-out)_1]"
10
- }, S = {
11
- intro: "ds:animate-[ai-comet-orbit_calc(var(--animation-duration)*7)_var(--ease-in-out)_1_both]",
12
- working: "ds:animate-[ai-comet-orbit_calc(var(--animation-duration)*8)_linear_infinite]",
13
- landed: "ds:animate-[ai-comet-orbit_calc(var(--animation-duration)*5)_var(--ease-out)_1_both]"
14
- }, w = {
15
- intro: "ds:[--sparkle-base:8] ds:animate-[ai-sparkle-burst_calc(var(--animation-duration)*5)_var(--ease-in-out)_1_both]",
16
- working: "ds:[--sparkle-base:0] ds:animate-[ai-sparkle-twinkle_calc(var(--animation-duration)*8)_var(--ease-in-out)_infinite]",
17
- landed: "ds:[--sparkle-base:6] ds:animate-[ai-sparkle-burst_calc(var(--animation-duration)*5)_var(--ease-in-out)_1_both]"
18
- }, s = "ds:absolute ds:opacity-0 ds:text-[color:var(--ai-sparkle)] ds:fill-current ds:drop-shadow-[0_0_var(--spacing-2xs)_var(--ai-sparkle)] ds:[animation-delay:calc(var(--animation-duration)*(var(--sparkle-base)+var(--sparkle-stagger)))]", z = [
19
- {
20
- key: "start",
21
- className: `${s} ds:[--sparkle-stagger:0] ds:size-3 ds:[inset-block-start:calc(var(--spacing-xs)*-1)] ds:[inset-inline-start:calc(var(--spacing-2xs)*-1)]`
22
- },
23
- {
24
- key: "top",
25
- className: `${s} ds:[--sparkle-stagger:0.5] ds:size-4 ds:[inset-block-start:calc(var(--spacing-sm)*-1)] ds:[inset-inline-start:40%]`
26
- },
27
- {
28
- key: "end",
29
- className: `${s} ds:[--sparkle-stagger:1] ds:size-3 ds:[inset-block-start:calc(var(--spacing-xs)*-1)] ds:[inset-inline-end:var(--spacing-md)]`
30
- },
31
- {
32
- key: "side",
33
- className: `${s} ds:[--sparkle-stagger:1.5] ds:size-2 ds:[inset-block-start:40%] ds:[inset-inline-end:calc(var(--spacing-sm)*-1)]`
34
- },
35
- {
36
- key: "below",
37
- className: `${s} ds:[--sparkle-stagger:2] ds:size-3 ds:[inset-block-end:calc(var(--spacing-xs)*-1)] ds:[inset-inline-start:25%]`
38
- }
39
- ], h = "ds:pointer-events-none ds:absolute ds:[inset-block-start:0] ds:[inset-inline-start:0] ds:opacity-0 ds:[offset-path:inset(0_round_var(--radius-full))] ds:[offset-rotate:0deg]", C = [
40
- {
41
- key: 1,
42
- lag: "ds:[animation-delay:calc(var(--animation-duration)*0.2)]",
43
- dot: "ds:size-2.5 ds:opacity-[var(--opacity-90)]"
44
- },
45
- {
46
- key: 2,
47
- lag: "ds:[animation-delay:calc(var(--animation-duration)*0.4)]",
48
- dot: "ds:size-2 ds:opacity-[var(--opacity-70)]"
49
- },
50
- {
51
- key: 3,
52
- lag: "ds:[animation-delay:calc(var(--animation-duration)*0.6)]",
53
- dot: "ds:size-2 ds:opacity-[var(--opacity-50)]"
54
- },
55
- {
56
- key: 4,
57
- lag: "ds:[animation-delay:calc(var(--animation-duration)*0.8)]",
58
- dot: "ds:size-1.5 ds:opacity-[var(--opacity-30)]"
59
- },
60
- {
61
- key: 5,
62
- lag: "ds:[animation-delay:calc(var(--animation-duration)*1)]",
63
- dot: "ds:size-1.5 ds:opacity-[var(--opacity-20)]"
64
- },
65
- {
66
- key: 6,
67
- lag: "ds:[animation-delay:calc(var(--animation-duration)*1.2)]",
68
- dot: "ds:size-1 ds:opacity-[var(--opacity-10)]"
69
- }
70
- ];
71
- function A(o = {}) {
72
- const { enabled: r = !0, reducedMotion: d = "auto" } = o, c = k(), n = d === "off" ? !1 : c, [a, i] = v(
73
- r ? "intro" : null
74
- );
75
- _(() => {
76
- if (a !== "intro" && a !== "landed") return;
77
- const t = n ? 0 : y[a], p = window.setTimeout(() => i(null), t);
78
- return () => window.clearTimeout(p);
79
- }, [a, n]);
80
- const l = e(() => i("working"), []), m = e(() => i("landed"), []), u = e(() => {
81
- i((t) => t === "working" ? null : t);
82
- }, []);
83
- return {
84
- state: a,
85
- props: {
86
- "data-ai-sparkle": a ?? void 0,
87
- className: a ? g[a] : ""
88
- },
89
- start: l,
90
- land: m,
91
- reset: u
92
- };
93
- }
94
- export {
95
- w as B,
96
- C,
97
- z as S,
98
- h as a,
99
- S as b,
100
- g as c,
101
- A as u
102
- };
103
- //# sourceMappingURL=use-ai-sparkle-CyQSRTCe.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-ai-sparkle-CyQSRTCe.js","sources":["../../src/hooks/use-ai-sparkle.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\nimport { usePrefersReducedMotion } from './use-prefers-reduced-motion';\n\n/* -------------------------------------------------------------------- */\n/* Shared class tables — read by the hook (shimmer) and by the */\n/* `AiSparkle` presentational component (comet + burst layers), so both */\n/* sides key off the same three states. */\n/* -------------------------------------------------------------------- */\n\n/** Where the sparkle is: on first show, while an action runs, as it lands. */\nexport type AiSparkleState = 'intro' | 'working' | 'landed';\n\n// How long the one-off sparkles stay lit at the default 200ms\n// `--animation-duration` — the comet's lap, then the burst and its stagger.\n// Scaled to 0 under reduced motion (see `useAiSparkle` below).\nconst SPARKLE_ONCE_MS: Record<'intro' | 'landed', number> = {\n intro: 3200,\n landed: 2800,\n};\n\n// Pill sparkle: a light sweep across the surface. Durations derive from\n// `--animation-duration`, so they drop to 0 (no motion) under\n// prefers-reduced-motion and in the accessible themes.\nexport const SHIMMER_CLASS: Record<AiSparkleState, string> = {\n intro:\n 'ds:animate-[ai-pill-shimmer_calc(var(--animation-duration)*6)_var(--ease-in-out)_1]',\n working:\n 'ds:animate-[ai-pill-shimmer_calc(var(--animation-duration)*6)_var(--ease-in-out)_infinite]',\n landed:\n 'ds:animate-[ai-pill-shimmer_calc(var(--animation-duration)*4)_var(--ease-out)_1]',\n};\n\n// The comet laps the pill: once on intro, faster on landing, looping while\n// an action runs. `offset-path` traces the pill's rounded outline; where it\n// is unsupported the comet simply never shows (it rests at opacity 0).\nexport const COMET_CLASS: Record<AiSparkleState, string> = {\n intro:\n 'ds:animate-[ai-comet-orbit_calc(var(--animation-duration)*7)_var(--ease-in-out)_1_both]',\n working:\n 'ds:animate-[ai-comet-orbit_calc(var(--animation-duration)*8)_linear_infinite]',\n landed:\n 'ds:animate-[ai-comet-orbit_calc(var(--animation-duration)*5)_var(--ease-out)_1_both]',\n};\n\n// After the comet's lap the stars burst (intro, landed); while an action\n// runs they swell in and out. `--sparkle-base` is when the burst starts,\n// in units of --animation-duration.\nexport const BURST_CLASS: Record<AiSparkleState, string> = {\n intro:\n 'ds:[--sparkle-base:8] ds:animate-[ai-sparkle-burst_calc(var(--animation-duration)*5)_var(--ease-in-out)_1_both]',\n working:\n 'ds:[--sparkle-base:0] ds:animate-[ai-sparkle-twinkle_calc(var(--animation-duration)*8)_var(--ease-in-out)_infinite]',\n landed:\n 'ds:[--sparkle-base:6] ds:animate-[ai-sparkle-burst_calc(var(--animation-duration)*5)_var(--ease-in-out)_1_both]',\n};\n\n// Five stars around the host, staggered. Hidden at rest (opacity 0), so they\n// only show while a keyframe runs.\nconst glyphBase =\n 'ds:absolute ds:opacity-0 ds:text-[color:var(--ai-sparkle)] ds:fill-current ds:drop-shadow-[0_0_var(--spacing-2xs)_var(--ai-sparkle)] ds:[animation-delay:calc(var(--animation-duration)*(var(--sparkle-base)+var(--sparkle-stagger)))]';\nexport const SPARKLE_GLYPHS = [\n {\n key: 'start',\n className: `${glyphBase} ds:[--sparkle-stagger:0] ds:size-3 ds:[inset-block-start:calc(var(--spacing-xs)*-1)] ds:[inset-inline-start:calc(var(--spacing-2xs)*-1)]`,\n },\n {\n key: 'top',\n className: `${glyphBase} ds:[--sparkle-stagger:0.5] ds:size-4 ds:[inset-block-start:calc(var(--spacing-sm)*-1)] ds:[inset-inline-start:40%]`,\n },\n {\n key: 'end',\n className: `${glyphBase} ds:[--sparkle-stagger:1] ds:size-3 ds:[inset-block-start:calc(var(--spacing-xs)*-1)] ds:[inset-inline-end:var(--spacing-md)]`,\n },\n {\n key: 'side',\n className: `${glyphBase} ds:[--sparkle-stagger:1.5] ds:size-2 ds:[inset-block-start:40%] ds:[inset-inline-end:calc(var(--spacing-sm)*-1)]`,\n },\n {\n key: 'below',\n className: `${glyphBase} ds:[--sparkle-stagger:2] ds:size-3 ds:[inset-block-end:calc(var(--spacing-xs)*-1)] ds:[inset-inline-start:25%]`,\n },\n] as const;\n\n// The comet rides the host's rounded outline. Its tail is a row of dots on\n// the same path, each a step behind the head, so the tail bends with the\n// curve. Every piece rests at opacity 0 and shows only while it runs.\nexport const COMET_WRAPPER_CLASS =\n 'ds:pointer-events-none ds:absolute ds:[inset-block-start:0] ds:[inset-inline-start:0] ds:opacity-0 ds:[offset-path:inset(0_round_var(--radius-full))] ds:[offset-rotate:0deg]';\nexport const COMET_TAIL = [\n {\n key: 1,\n lag: 'ds:[animation-delay:calc(var(--animation-duration)*0.2)]',\n dot: 'ds:size-2.5 ds:opacity-[var(--opacity-90)]',\n },\n {\n key: 2,\n lag: 'ds:[animation-delay:calc(var(--animation-duration)*0.4)]',\n dot: 'ds:size-2 ds:opacity-[var(--opacity-70)]',\n },\n {\n key: 3,\n lag: 'ds:[animation-delay:calc(var(--animation-duration)*0.6)]',\n dot: 'ds:size-2 ds:opacity-[var(--opacity-50)]',\n },\n {\n key: 4,\n lag: 'ds:[animation-delay:calc(var(--animation-duration)*0.8)]',\n dot: 'ds:size-1.5 ds:opacity-[var(--opacity-30)]',\n },\n {\n key: 5,\n lag: 'ds:[animation-delay:calc(var(--animation-duration)*1)]',\n dot: 'ds:size-1.5 ds:opacity-[var(--opacity-20)]',\n },\n {\n key: 6,\n lag: 'ds:[animation-delay:calc(var(--animation-duration)*1.2)]',\n dot: 'ds:size-1 ds:opacity-[var(--opacity-10)]',\n },\n] as const;\n\n/* -------------------------------------------------------------------- */\n/* Types */\n/* -------------------------------------------------------------------- */\n\nexport interface UseAiSparkleOptions {\n /**\n * Whether the sparkle is available at all. Read once, at mount, to seed\n * the initial `'intro'` phase — matches how the RichTextEditor's\n * `aiSparkle` prop only ever gated the very first render. Default `true`.\n */\n enabled?: boolean;\n /**\n * `'auto'` (default) reads `prefers-reduced-motion` via\n * `usePrefersReducedMotion`. `'off'` forces full motion regardless of the\n * OS preference — useful for a story that wants to show the animated\n * states side by side with a reduced one.\n */\n reducedMotion?: 'auto' | 'off';\n}\n\nexport interface UseAiSparkleProps {\n /** Spread (or picked) onto the host element as a pure styling hook. */\n 'data-ai-sparkle': AiSparkleState | undefined;\n /**\n * The shimmer animation class for the current state — empty when at rest.\n * Layer it over the host's own base positioning classes; the comet and\n * burst layers need real DOM and live in the `AiSparkle` component instead.\n */\n className: string;\n}\n\nexport interface UseAiSparkleReturn {\n /** `null` at rest — nothing to render for the comet/burst layers either. */\n state: AiSparkleState | null;\n props: UseAiSparkleProps;\n /** An AI action started: swap to the looping `'working'` phase. */\n start: () => void;\n /** An action's result landed: swap to the one-off `'landed'` phase. */\n land: () => void;\n /**\n * Settle after an action ends. Clears back to rest only when still\n * `'working'` (the action errored or was cancelled before `land()`);\n * leaves `'landed'` alone so the one-off animation gets to play out.\n */\n reset: () => void;\n}\n\n/* -------------------------------------------------------------------- */\n/* Hook */\n/* -------------------------------------------------------------------- */\n\n/**\n * Drives the AI-pill sparkle: lit on first show, looping while an action\n * runs, and a one-off flourish as the result lands.\n *\n * The hook owns the state machine and the timing only — it paints nothing.\n * `props['data-ai-sparkle']` is a plain styling hook for the host element;\n * `props.className` carries the shimmer layer's animation class from the\n * same lookup table the RichTextEditor's pill originally inlined. The\n * comet and burst layers need actual DOM (a tail of dots, five staggered\n * glyphs), so they live in the sibling `AiSparkle` component, keyed off the\n * same `state`.\n *\n * Both `intro` and `landed` are one-off: this hook clears them back to\n * `null` on a timer sized to the comet's lap plus the burst and its\n * stagger, at the default 200ms `--animation-duration`. Under reduced\n * motion (`prefers-reduced-motion` or `reducedMotion: 'auto'`'s system\n * read) the CSS animations already collapse to 0ms, so the clear fires at\n * the next tick instead of waiting out the full lap — the pill still gets\n * its `data-ai-sparkle` attribute for a moment, but nothing visibly moves.\n */\nexport function useAiSparkle(\n options: UseAiSparkleOptions = {},\n): UseAiSparkleReturn {\n const { enabled = true, reducedMotion = 'auto' } = options;\n const systemReduced = usePrefersReducedMotion();\n const reduced = reducedMotion === 'off' ? false : systemReduced;\n\n const [state, setState] = useState<AiSparkleState | null>(\n enabled ? 'intro' : null,\n );\n\n useEffect(() => {\n if (state !== 'intro' && state !== 'landed') return undefined;\n const ms = reduced ? 0 : SPARKLE_ONCE_MS[state];\n const timer = window.setTimeout(() => setState(null), ms);\n return () => window.clearTimeout(timer);\n }, [state, reduced]);\n\n const start = useCallback(() => setState('working'), []);\n const land = useCallback(() => setState('landed'), []);\n const reset = useCallback(() => {\n setState((s) => (s === 'working' ? null : s));\n }, []);\n\n return {\n state,\n props: {\n 'data-ai-sparkle': state ?? undefined,\n className: state ? SHIMMER_CLASS[state] : '',\n },\n start,\n land,\n reset,\n };\n}\n"],"names":["SPARKLE_ONCE_MS","SHIMMER_CLASS","COMET_CLASS","BURST_CLASS","glyphBase","SPARKLE_GLYPHS","COMET_WRAPPER_CLASS","COMET_TAIL","useAiSparkle","options","enabled","reducedMotion","systemReduced","usePrefersReducedMotion","reduced","state","setState","useState","useEffect","ms","timer","start","useCallback","land","reset","s"],"mappings":";;AAeA,MAAMA,IAAsD;AAAA,EAC1D,OAAO;AAAA,EACP,QAAQ;AACV,GAKaC,IAAgD;AAAA,EAC3D,OACE;AAAA,EACF,SACE;AAAA,EACF,QACE;AACJ,GAKaC,IAA8C;AAAA,EACzD,OACE;AAAA,EACF,SACE;AAAA,EACF,QACE;AACJ,GAKaC,IAA8C;AAAA,EACzD,OACE;AAAA,EACF,SACE;AAAA,EACF,QACE;AACJ,GAIMC,IACJ,0OACWC,IAAiB;AAAA,EAC5B;AAAA,IACE,KAAK;AAAA,IACL,WAAW,GAAGD,CAAS;AAAA,EAAA;AAAA,EAEzB;AAAA,IACE,KAAK;AAAA,IACL,WAAW,GAAGA,CAAS;AAAA,EAAA;AAAA,EAEzB;AAAA,IACE,KAAK;AAAA,IACL,WAAW,GAAGA,CAAS;AAAA,EAAA;AAAA,EAEzB;AAAA,IACE,KAAK;AAAA,IACL,WAAW,GAAGA,CAAS;AAAA,EAAA;AAAA,EAEzB;AAAA,IACE,KAAK;AAAA,IACL,WAAW,GAAGA,CAAS;AAAA,EAAA;AAE3B,GAKaE,IACX,iLACWC,IAAa;AAAA,EACxB;AAAA,IACE,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,EAAA;AAAA,EAEP;AAAA,IACE,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,EAAA;AAAA,EAEP;AAAA,IACE,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,EAAA;AAAA,EAEP;AAAA,IACE,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,EAAA;AAAA,EAEP;AAAA,IACE,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,EAAA;AAAA,EAEP;AAAA,IACE,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,EAAA;AAET;AAyEO,SAASC,EACdC,IAA+B,IACX;AACpB,QAAM,EAAE,SAAAC,IAAU,IAAM,eAAAC,IAAgB,WAAWF,GAC7CG,IAAgBC,EAAA,GAChBC,IAAUH,MAAkB,QAAQ,KAAQC,GAE5C,CAACG,GAAOC,CAAQ,IAAIC;AAAA,IACxBP,IAAU,UAAU;AAAA,EAAA;AAGtB,EAAAQ,EAAU,MAAM;AACd,QAAIH,MAAU,WAAWA,MAAU,SAAU;AAC7C,UAAMI,IAAKL,IAAU,IAAId,EAAgBe,CAAK,GACxCK,IAAQ,OAAO,WAAW,MAAMJ,EAAS,IAAI,GAAGG,CAAE;AACxD,WAAO,MAAM,OAAO,aAAaC,CAAK;AAAA,EACxC,GAAG,CAACL,GAAOD,CAAO,CAAC;AAEnB,QAAMO,IAAQC,EAAY,MAAMN,EAAS,SAAS,GAAG,CAAA,CAAE,GACjDO,IAAOD,EAAY,MAAMN,EAAS,QAAQ,GAAG,CAAA,CAAE,GAC/CQ,IAAQF,EAAY,MAAM;AAC9B,IAAAN,EAAS,CAACS,MAAOA,MAAM,YAAY,OAAOA,CAAE;AAAA,EAC9C,GAAG,CAAA,CAAE;AAEL,SAAO;AAAA,IACL,OAAAV;AAAA,IACA,OAAO;AAAA,MACL,mBAAmBA,KAAS;AAAA,MAC5B,WAAWA,IAAQd,EAAcc,CAAK,IAAI;AAAA,IAAA;AAAA,IAE5C,OAAAM;AAAA,IACA,MAAAE;AAAA,IACA,OAAAC;AAAA,EAAA;AAEJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ai-consent-banner.agent.d.ts","sourceRoot":"","sources":["../../../src/components/ai-consent-banner/ai-consent-banner.agent.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAAC,qBAAqB,CAiCpE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ai-consent-banner.d.ts","sourceRoot":"","sources":["../../../src/components/ai-consent-banner/ai-consent-banner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,wBAAwB,EAC9B,MAAM,OAAO,CAAC;AACf,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAiClE,QAAA,MAAM,YAAY;;8EAWhB,CAAC;AAMH,MAAM,MAAM,cAAc,GAAG,WAAW,CACtC,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC,OAAO,CAAC,CAC3C,CAAC;AAEF,6DAA6D;AAC7D,MAAM,MAAM,2BAA2B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAYhE,iFAAiF;AACjF,MAAM,WAAW,qBAAqB;IACpC,iEAAiE;IACjE,QAAQ,EAAE,MAAM,cAAc,CAAC;IAC/B,yEAAyE;IACzE,OAAO,EAAE,MAAM,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAChD,wBAAwB,CAAC,KAAK,CAAC,EAC/B,YAAY,GAAG,UAAU,GAAG,MAAM,CACnC;IACC;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACnC,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,2BAA2B,CAAC;IAC3C,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD,eAAO,MAAM,eAAe,iHAqJ3B,CAAC"}
@@ -1,4 +0,0 @@
1
- export { AiConsentBanner } from './ai-consent-banner';
2
- export type { AiConsentBannerProps, AiConsentBannerHandle, AiConsentState, AiConsentBannerHeadingLevel, } from './ai-consent-banner';
3
- export { aiConsentBannerAgent } from './ai-consent-banner.agent';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ai-consent-banner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}