@flamingo-stack/openframe-frontend-core 0.0.765 → 0.0.767

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 (1288) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/chat-protocol/decode.d.ts +0 -1
  3. package/dist/chat-protocol/decode.d.ts.map +1 -1
  4. package/dist/chat-protocol/decode.js +1 -3
  5. package/dist/chat-protocol/index.d.ts +1 -0
  6. package/dist/chat-protocol/index.d.ts.map +1 -1
  7. package/dist/chat-protocol/index.js +2 -0
  8. package/dist/{chunk-FQSXZC2K.cjs → chunk-2JRSYWFP.cjs} +3 -3
  9. package/dist/{chunk-I5MSCD57.cjs → chunk-3LW5TD54.cjs} +7 -3
  10. package/dist/{chunk-7AM3AFM4.cjs → chunk-4YIDZCTL.cjs} +1 -3
  11. package/dist/{chunk-SVP6DJFL.cjs → chunk-57B5RUYD.cjs} +2 -2
  12. package/dist/{chunk-R3TWQ3ZJ.cjs → chunk-5P4TDV7V.cjs} +16 -7
  13. package/dist/chunk-65VVJSQZ.cjs +109 -0
  14. package/dist/{chunk-BVA7YX4P.cjs → chunk-7TJVYRHR.cjs} +44 -44
  15. package/dist/{chunk-L2V7K7RR.cjs → chunk-7ZU3AVEX.cjs} +43 -41
  16. package/dist/{chunk-M7YZGRAV.cjs → chunk-AAECWUNV.cjs} +35 -8
  17. package/dist/{chunk-PERN37KO.cjs → chunk-BXMDLQUA.cjs} +5 -25
  18. package/dist/{chunk-YUMFVQIN.cjs → chunk-C42WIUH6.cjs} +11 -5
  19. package/dist/{chunk-22XAPV6N.cjs → chunk-DGNBXZXT.cjs} +1069 -1020
  20. package/dist/{chunk-HOTM4UM6.cjs → chunk-E76ONBKF.cjs} +28 -0
  21. package/dist/{chunk-K6VWTUCH.cjs → chunk-FL2RMEDX.cjs} +2 -2
  22. package/dist/{chunk-FMH2DYBC.cjs → chunk-FVH53QZJ.cjs} +4238 -3915
  23. package/dist/chunk-FZB4RMRK.cjs +695 -0
  24. package/dist/{chunk-PYK4ZSEZ.cjs → chunk-GJ5DHDFQ.cjs} +14 -14
  25. package/dist/{chunk-2OPYWMAV.cjs → chunk-GQ7RGD4Y.cjs} +258 -179
  26. package/dist/{chunk-BIA77I6B.cjs → chunk-GTONIRJU.cjs} +56 -54
  27. package/dist/chunk-I7A5MPXA.cjs +40 -0
  28. package/dist/{chunk-NJS7FQRW.cjs → chunk-IKXUJUXC.cjs} +207 -74
  29. package/dist/{chunk-T5FRANE6.cjs → chunk-JBJVUQVH.cjs} +546 -352
  30. package/dist/{chunk-EQZXJUYV.cjs → chunk-JTSUAHDL.cjs} +73 -51
  31. package/dist/{chunk-2Y36SQSZ.cjs → chunk-KHISVNNH.cjs} +11 -7
  32. package/dist/{chunk-EFTUFJS2.cjs → chunk-LELS4XMX.cjs} +20 -22
  33. package/dist/{chunk-QQ7LKNNP.cjs → chunk-M2UU3CWX.cjs} +13 -13
  34. package/dist/chunk-MNIMYGFR.cjs +495 -0
  35. package/dist/{chunk-ZCU2PYCW.cjs → chunk-MPTMT773.cjs} +62 -62
  36. package/dist/{chunk-LVKUMVUJ.cjs → chunk-NBVZIHGS.cjs} +12 -8
  37. package/dist/{chunk-RQQVN7LC.cjs → chunk-NO2DEFAP.cjs} +521 -413
  38. package/dist/{chunk-OJJ4RL2T.cjs → chunk-R3JX4MXD.cjs} +4 -4
  39. package/dist/{chunk-GY2JESOC.cjs → chunk-RB7VLVMD.cjs} +15 -15
  40. package/dist/{chunk-47GZ33ND.cjs → chunk-REJMFXGD.cjs} +198 -73
  41. package/dist/chunk-RMUSPTJN.cjs +102 -0
  42. package/dist/{chunk-3RFQPQ7Z.cjs → chunk-RNLRS4ID.cjs} +3 -3
  43. package/dist/{chunk-63N4FN5V.cjs → chunk-SETFUCZA.cjs} +7 -7
  44. package/dist/{chunk-2QMBXGMQ.cjs → chunk-TF5D5MNO.cjs} +222 -120
  45. package/dist/{chunk-B3W7RCQF.cjs → chunk-TPOLNGOW.cjs} +105 -117
  46. package/dist/{chunk-NET74KSQ.cjs → chunk-TZ4GKUO2.cjs} +5 -5
  47. package/dist/{chunk-3FC6AKEJ.cjs → chunk-UHDBMKJB.cjs} +200 -87
  48. package/dist/{chunk-MWLD6NXV.cjs → chunk-VFZFCRAL.cjs} +4 -6
  49. package/dist/{chunk-NO5UJLLQ.cjs → chunk-WEANWBJH.cjs} +6 -1
  50. package/dist/{chunk-VLJFAGMR.cjs → chunk-WEPIWJGR.cjs} +103 -61
  51. package/dist/chunk-XFRBEXQN.cjs +304 -0
  52. package/dist/{chunk-AKK3EO37.cjs → chunk-XIFEZ2JT.cjs} +35 -23
  53. package/dist/{chunk-MDB65HQC.cjs → chunk-XIXR6BHI.cjs} +286 -201
  54. package/dist/{chunk-XCH7SPGI.cjs → chunk-XVFM6SJA.cjs} +61 -52
  55. package/dist/{chunk-3RYIF4OW.cjs → chunk-XXJL5GY3.cjs} +3 -3
  56. package/dist/{chunk-GZKWF6NH.cjs → chunk-XZ6DKGT4.cjs} +34 -34
  57. package/dist/{chunk-74ALTXXC.cjs → chunk-YL6ZB2SR.cjs} +1624 -1440
  58. package/dist/{chunk-TSJUL6IH.cjs → chunk-YRFWOJF4.cjs} +16 -8
  59. package/dist/{chunk-HTRILBJD.cjs → chunk-YXDHVHB2.cjs} +30 -13
  60. package/dist/{chunk-RO72PRQI.cjs → chunk-ZRDMGMY7.cjs} +75 -50
  61. package/dist/{chunk-WA4X55XY.cjs → chunk-ZV45VS6K.cjs} +359 -432
  62. package/dist/{cloud-tenants-6PSTDE3F.cjs → cloud-tenants-WXK5RDSY.cjs} +35 -39
  63. package/dist/components/agent-identity.d.ts +1 -2
  64. package/dist/components/agent-identity.d.ts.map +1 -1
  65. package/dist/components/agent-identity.js +0 -1
  66. package/dist/components/agent-mark.d.ts +4 -6
  67. package/dist/components/agent-mark.d.ts.map +1 -1
  68. package/dist/components/agent-mark.js +7 -8
  69. package/dist/components/authors/author-detail-view.d.ts.map +1 -1
  70. package/dist/components/authors/author-detail-view.js +51 -18
  71. package/dist/components/calendar.cjs +10 -10
  72. package/dist/components/case-studies/entity-quotes-panel.d.ts +6 -4
  73. package/dist/components/case-studies/entity-quotes-panel.d.ts.map +1 -1
  74. package/dist/components/case-studies/entity-quotes-panel.js +44 -11
  75. package/dist/components/case-studies/index.cjs +140 -70
  76. package/dist/components/case-studies/index.d.ts +2 -2
  77. package/dist/components/case-studies/index.d.ts.map +1 -1
  78. package/dist/components/case-studies/index.js +5 -2
  79. package/dist/components/case-studies/quote-cards-strip.d.ts +23 -2
  80. package/dist/components/case-studies/quote-cards-strip.d.ts.map +1 -1
  81. package/dist/components/case-studies/quote-cards-strip.js +48 -10
  82. package/dist/components/categories-cart.d.ts +7 -0
  83. package/dist/components/categories-cart.d.ts.map +1 -1
  84. package/dist/components/categories-cart.js +58 -36
  85. package/dist/components/category-card.js +1 -1
  86. package/dist/components/chat/chat-attachment-bar.js +1 -1
  87. package/dist/components/chat/chat-container.d.ts.map +1 -1
  88. package/dist/components/chat/chat-container.js +2 -1
  89. package/dist/components/chat/chat-ticket-list.d.ts +0 -1
  90. package/dist/components/chat/chat-ticket-list.d.ts.map +1 -1
  91. package/dist/components/chat/chat-turn.d.ts +31 -1
  92. package/dist/components/chat/chat-turn.d.ts.map +1 -1
  93. package/dist/components/chat/chat-turn.js +85 -19
  94. package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
  95. package/dist/components/chat/embeddable-chat.js +1 -1
  96. package/dist/components/chat/entity-cards/admin-content-card-grid.d.ts +0 -15
  97. package/dist/components/chat/entity-cards/admin-content-card-grid.d.ts.map +1 -1
  98. package/dist/components/chat/entity-cards/admin-content-card-grid.js +2 -38
  99. package/dist/components/chat/entity-cards/admin-content-card.d.ts +15 -0
  100. package/dist/components/chat/entity-cards/admin-content-card.d.ts.map +1 -1
  101. package/dist/components/chat/entity-cards/admin-content-card.js +52 -10
  102. package/dist/components/chat/entity-cards/blog-card.d.ts +9 -2
  103. package/dist/components/chat/entity-cards/blog-card.d.ts.map +1 -1
  104. package/dist/components/chat/entity-cards/blog-card.js +49 -33
  105. package/dist/components/chat/entity-cards/campaign-card-admin.d.ts.map +1 -1
  106. package/dist/components/chat/entity-cards/campaign-card-admin.js +4 -11
  107. package/dist/components/chat/entity-cards/case-study-card.d.ts +27 -9
  108. package/dist/components/chat/entity-cards/case-study-card.d.ts.map +1 -1
  109. package/dist/components/chat/entity-cards/case-study-card.js +80 -54
  110. package/dist/components/chat/entity-cards/chat-ticket-item.d.ts +7 -0
  111. package/dist/components/chat/entity-cards/chat-ticket-item.d.ts.map +1 -1
  112. package/dist/components/chat/entity-cards/chat-ticket-item.js +24 -28
  113. package/dist/components/chat/entity-cards/customer-interview-card.d.ts +9 -2
  114. package/dist/components/chat/entity-cards/customer-interview-card.d.ts.map +1 -1
  115. package/dist/components/chat/entity-cards/customer-interview-card.js +39 -36
  116. package/dist/components/chat/entity-cards/data-room-doc-card.d.ts.map +1 -1
  117. package/dist/components/chat/entity-cards/data-room-doc-card.js +14 -16
  118. package/dist/components/chat/entity-cards/design-doc-card.d.ts +8 -2
  119. package/dist/components/chat/entity-cards/design-doc-card.d.ts.map +1 -1
  120. package/dist/components/chat/entity-cards/design-doc-card.js +37 -43
  121. package/dist/components/chat/entity-cards/dispatch.d.ts +2 -5
  122. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  123. package/dist/components/chat/entity-cards/dispatch.js +6 -6
  124. package/dist/components/chat/entity-cards/employee-entry-card.d.ts.map +1 -1
  125. package/dist/components/chat/entity-cards/employee-entry-card.js +5 -5
  126. package/dist/components/chat/entity-cards/entity-author-card.d.ts +33 -6
  127. package/dist/components/chat/entity-cards/entity-author-card.d.ts.map +1 -1
  128. package/dist/components/chat/entity-cards/entity-author-card.js +98 -32
  129. package/dist/components/chat/entity-cards/entity-portrait-card.d.ts +9 -0
  130. package/dist/components/chat/entity-cards/entity-portrait-card.d.ts.map +1 -1
  131. package/dist/components/chat/entity-cards/entity-portrait-card.js +46 -18
  132. package/dist/components/chat/entity-cards/generic-entity-card.d.ts.map +1 -1
  133. package/dist/components/chat/entity-cards/generic-entity-card.js +14 -17
  134. package/dist/components/chat/entity-cards/github-activity-card.d.ts.map +1 -1
  135. package/dist/components/chat/entity-cards/github-activity-card.js +15 -20
  136. package/dist/components/chat/entity-cards/hubspot-ticket-card.d.ts.map +1 -1
  137. package/dist/components/chat/entity-cards/hubspot-ticket-card.js +14 -19
  138. package/dist/components/chat/entity-cards/index.d.ts +8 -7
  139. package/dist/components/chat/entity-cards/index.d.ts.map +1 -1
  140. package/dist/components/chat/entity-cards/index.js +21 -8
  141. package/dist/components/chat/entity-cards/investor-update-card.d.ts +9 -3
  142. package/dist/components/chat/entity-cards/investor-update-card.d.ts.map +1 -1
  143. package/dist/components/chat/entity-cards/investor-update-card.js +28 -28
  144. package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts +11 -2
  145. package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts.map +1 -1
  146. package/dist/components/chat/entity-cards/onboarding-guide-card.js +66 -63
  147. package/dist/components/chat/entity-cards/program-card.d.ts +9 -2
  148. package/dist/components/chat/entity-cards/program-card.d.ts.map +1 -1
  149. package/dist/components/chat/entity-cards/program-card.js +69 -58
  150. package/dist/components/chat/entity-cards/roadmap-card.d.ts +10 -1
  151. package/dist/components/chat/entity-cards/roadmap-card.d.ts.map +1 -1
  152. package/dist/components/chat/entity-cards/roadmap-card.js +148 -156
  153. package/dist/components/chat/entity-cards/roadmap-vote-button.d.ts.map +1 -1
  154. package/dist/components/chat/entity-cards/roadmap-vote-button.js +5 -1
  155. package/dist/components/chat/entity-cards/slack-message-card.d.ts.map +1 -1
  156. package/dist/components/chat/entity-cards/slack-message-card.js +23 -18
  157. package/dist/components/chat/hooks/index.d.ts +7 -1
  158. package/dist/components/chat/hooks/index.d.ts.map +1 -1
  159. package/dist/components/chat/hooks/index.js +8 -1
  160. package/dist/components/chat/hooks/use-ask-prompts.d.ts.map +1 -1
  161. package/dist/components/chat/hooks/use-ask-prompts.js +3 -1
  162. package/dist/components/chat/hooks/use-chat-dialog-manager.d.ts +1 -1
  163. package/dist/components/chat/hooks/use-chat-dialog-manager.d.ts.map +1 -1
  164. package/dist/components/chat/hooks/use-chat-history-hydration.d.ts +1 -1
  165. package/dist/components/chat/hooks/use-chat-history-hydration.d.ts.map +1 -1
  166. package/dist/components/chat/hooks/use-chat.d.ts +1 -2
  167. package/dist/components/chat/hooks/use-chat.d.ts.map +1 -1
  168. package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts +0 -2
  169. package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts.map +1 -1
  170. package/dist/components/chat/hooks/use-nats-chat-adapter.js +0 -8
  171. package/dist/components/chat/hooks/use-proxied-image-url.d.ts +17 -13
  172. package/dist/components/chat/hooks/use-proxied-image-url.d.ts.map +1 -1
  173. package/dist/components/chat/hooks/use-proxied-image-url.js +10 -8
  174. package/dist/components/chat/hooks/use-slash-commands.d.ts +1 -2
  175. package/dist/components/chat/hooks/use-slash-commands.d.ts.map +1 -1
  176. package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts +1 -8
  177. package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts.map +1 -1
  178. package/dist/components/chat/hooks/use-sse-chat-adapter.js +1 -1
  179. package/dist/components/chat/index.cjs +44 -29
  180. package/dist/components/chat/index.d.ts.map +1 -1
  181. package/dist/components/chat/index.js +18 -4
  182. package/dist/components/chat/stream/chat-stream-reducer.d.ts +1 -1
  183. package/dist/components/chat/stream/chat-stream-reducer.d.ts.map +1 -1
  184. package/dist/components/chat/stream/chat-stream-reducer.js +1 -1
  185. package/dist/components/chat/types/entities/index.d.ts +6 -4
  186. package/dist/components/chat/types/entities/index.d.ts.map +1 -1
  187. package/dist/components/chat/types/entities/index.js +4 -4
  188. package/dist/components/chat/types/entities/investor-update.d.ts +1 -1
  189. package/dist/components/chat/types/entities/investor-update.d.ts.map +1 -1
  190. package/dist/components/chat/types/entities/program-types.d.ts +2 -1
  191. package/dist/components/chat/types/entities/program-types.d.ts.map +1 -1
  192. package/dist/components/chat/types/entities/program-types.js +1 -4
  193. package/dist/components/chat/utils/compact-card-classes.d.ts +9 -1
  194. package/dist/components/chat/utils/compact-card-classes.d.ts.map +1 -1
  195. package/dist/components/chat/utils/compact-card-classes.js +11 -2
  196. package/dist/components/chat/utils/compact-card-skeleton.d.ts +40 -0
  197. package/dist/components/chat/utils/compact-card-skeleton.d.ts.map +1 -0
  198. package/dist/components/chat/utils/compact-card-skeleton.js +61 -0
  199. package/dist/components/chat/utils/icon-library.d.ts +0 -1
  200. package/dist/components/chat/utils/icon-library.d.ts.map +1 -1
  201. package/dist/components/chat/utils/index.d.ts +5 -3
  202. package/dist/components/chat/utils/index.d.ts.map +1 -1
  203. package/dist/components/chat/utils/index.js +3 -2
  204. package/dist/components/chat/utils/scroll-anchor.d.ts +1 -2
  205. package/dist/components/chat/utils/scroll-anchor.d.ts.map +1 -1
  206. package/dist/components/chat/utils/scroll-anchor.js +0 -1
  207. package/dist/components/chat/utils/source-row-cta.d.ts +0 -2
  208. package/dist/components/chat/utils/source-row-cta.d.ts.map +1 -1
  209. package/dist/components/chat/utils/source-row-cta.js +1 -2
  210. package/dist/components/comment-card.d.ts +15 -0
  211. package/dist/components/comment-card.d.ts.map +1 -1
  212. package/dist/components/comment-card.js +178 -119
  213. package/dist/components/comment-thread.d.ts +29 -0
  214. package/dist/components/comment-thread.d.ts.map +1 -1
  215. package/dist/components/comment-thread.js +76 -18
  216. package/dist/components/contact/index.cjs +36 -40
  217. package/dist/components/content-loading-container.d.ts +1 -1
  218. package/dist/components/docs/doc-viewer.d.ts.map +1 -1
  219. package/dist/components/docs/doc-viewer.js +10 -9
  220. package/dist/components/docs/index.cjs +39 -43
  221. package/dist/components/docs/skeletons.d.ts +0 -5
  222. package/dist/components/docs/skeletons.d.ts.map +1 -1
  223. package/dist/components/docs/skeletons.js +30 -50
  224. package/dist/components/docs/use-document-tree.d.ts +0 -1
  225. package/dist/components/docs/use-document-tree.d.ts.map +1 -1
  226. package/dist/components/docs/use-document-tree.js +6 -1
  227. package/dist/components/embeds/embed-iframe.d.ts.map +1 -1
  228. package/dist/components/embeds/embed-iframe.js +3 -0
  229. package/dist/components/embeds/index.cjs +38 -40
  230. package/dist/components/embeds/index.d.ts +1 -1
  231. package/dist/components/embeds/index.d.ts.map +1 -1
  232. package/dist/components/embeds/index.js +2 -1
  233. package/dist/components/embeds/markdown-image.d.ts.map +1 -1
  234. package/dist/components/embeds/markdown-image.js +5 -2
  235. package/dist/components/embeds/og-link-preview.d.ts +7 -3
  236. package/dist/components/embeds/og-link-preview.d.ts.map +1 -1
  237. package/dist/components/embeds/og-link-preview.js +106 -62
  238. package/dist/components/embeds/rich-markdown-runtime.d.ts +4 -1
  239. package/dist/components/embeds/rich-markdown-runtime.d.ts.map +1 -1
  240. package/dist/components/embeds/rich-markdown-runtime.js +6 -5
  241. package/dist/components/faq/faq-document-page.d.ts +5 -1
  242. package/dist/components/faq/faq-document-page.d.ts.map +1 -1
  243. package/dist/components/faq/faq-document-page.js +5 -1
  244. package/dist/components/faq/faq-section.d.ts +34 -1
  245. package/dist/components/faq/faq-section.d.ts.map +1 -1
  246. package/dist/components/faq/faq-section.js +146 -59
  247. package/dist/components/faq/index.cjs +41 -41
  248. package/dist/components/faq/index.d.ts +1 -1
  249. package/dist/components/faq/index.d.ts.map +1 -1
  250. package/dist/components/faq/index.js +9 -1
  251. package/dist/components/faq-accordion.d.ts +15 -0
  252. package/dist/components/faq-accordion.d.ts.map +1 -1
  253. package/dist/components/faq-accordion.js +37 -9
  254. package/dist/components/features/ai-enrich/AIStatusIndicator.d.ts.map +1 -1
  255. package/dist/components/features/ai-enrich/AIStatusIndicator.js +2 -1
  256. package/dist/components/features/approval-level.d.ts +15 -1
  257. package/dist/components/features/approval-level.d.ts.map +1 -1
  258. package/dist/components/features/approval-level.js +42 -6
  259. package/dist/components/features/capability-explorer.d.ts +5 -1
  260. package/dist/components/features/capability-explorer.d.ts.map +1 -1
  261. package/dist/components/features/capability-explorer.js +42 -37
  262. package/dist/components/features/cards-strip.d.ts +9 -0
  263. package/dist/components/features/cards-strip.d.ts.map +1 -1
  264. package/dist/components/features/cards-strip.js +35 -11
  265. package/dist/components/features/command-box.d.ts +19 -0
  266. package/dist/components/features/command-box.d.ts.map +1 -1
  267. package/dist/components/features/command-box.js +103 -11
  268. package/dist/components/features/conversation-card.d.ts +70 -5
  269. package/dist/components/features/conversation-card.d.ts.map +1 -1
  270. package/dist/components/features/conversation-card.js +146 -13
  271. package/dist/components/features/devices/device-selector/device-selector.d.ts.map +1 -1
  272. package/dist/components/features/devices/device-selector/device-selector.js +1 -0
  273. package/dist/components/features/devices/devices-panel-view.d.ts +1 -1
  274. package/dist/components/features/devices/devices-panel-view.js +1 -1
  275. package/dist/components/features/entity-tag-badges.d.ts +32 -7
  276. package/dist/components/features/entity-tag-badges.d.ts.map +1 -1
  277. package/dist/components/features/entity-tag-badges.js +73 -9
  278. package/dist/components/features/entity-video-section.d.ts +14 -14
  279. package/dist/components/features/entity-video-section.d.ts.map +1 -1
  280. package/dist/components/features/entity-video-section.js +29 -22
  281. package/dist/components/features/figma-prototype-viewer.d.ts.map +1 -1
  282. package/dist/components/features/figma-prototype-viewer.js +3 -10
  283. package/dist/components/features/index.cjs +77 -39
  284. package/dist/components/features/index.d.ts +3 -0
  285. package/dist/components/features/index.d.ts.map +1 -1
  286. package/dist/components/features/index.js +5 -0
  287. package/dist/components/features/knowledge-base/index.d.ts +2 -1
  288. package/dist/components/features/knowledge-base/index.d.ts.map +1 -1
  289. package/dist/components/features/knowledge-base/knowledge-base-article-view.d.ts +0 -1
  290. package/dist/components/features/knowledge-base/knowledge-base-article-view.d.ts.map +1 -1
  291. package/dist/components/features/model-token-rates.d.ts.map +1 -1
  292. package/dist/components/features/model-token-rates.js +50 -78
  293. package/dist/components/features/notifications/approval-request-notification-tile.d.ts.map +1 -1
  294. package/dist/components/features/notifications/approval-request-notification-tile.js +9 -5
  295. package/dist/components/features/notifications/notification-tile.d.ts +22 -7
  296. package/dist/components/features/notifications/notification-tile.d.ts.map +1 -1
  297. package/dist/components/features/notifications/notification-tile.js +42 -15
  298. package/dist/components/features/paths-display.d.ts +9 -0
  299. package/dist/components/features/paths-display.d.ts.map +1 -1
  300. package/dist/components/features/paths-display.js +50 -5
  301. package/dist/components/features/platform-badge.d.ts +2 -0
  302. package/dist/components/features/platform-badge.d.ts.map +1 -1
  303. package/dist/components/features/platform-badge.js +33 -2
  304. package/dist/components/features/push-button-selector.d.ts +23 -1
  305. package/dist/components/features/push-button-selector.d.ts.map +1 -1
  306. package/dist/components/features/push-button-selector.js +114 -41
  307. package/dist/components/features/remote-session/index.d.ts +2 -2
  308. package/dist/components/features/remote-session/index.d.ts.map +1 -1
  309. package/dist/components/features/remote-session/index.js +3 -3
  310. package/dist/components/features/remote-session/remote-desktop-chat-message-row.d.ts +2 -0
  311. package/dist/components/features/remote-session/remote-desktop-chat-message-row.d.ts.map +1 -1
  312. package/dist/components/features/remote-session/remote-desktop-chat-message-row.js +18 -4
  313. package/dist/components/features/remote-session/remote-desktop-chat-panel.d.ts.map +1 -1
  314. package/dist/components/features/remote-session/remote-desktop-chat-panel.js +11 -2
  315. package/dist/components/features/remote-session/remote-desktop-view.d.ts +6 -6
  316. package/dist/components/features/remote-session/remote-desktop-view.d.ts.map +1 -1
  317. package/dist/components/features/remote-session/remote-desktop-view.js +27 -27
  318. package/dist/components/features/remote-session/remote-session-chat-panel.js +1 -1
  319. package/dist/components/features/status-filter-component.d.ts +19 -1
  320. package/dist/components/features/status-filter-component.d.ts.map +1 -1
  321. package/dist/components/features/status-filter-component.js +106 -43
  322. package/dist/components/features/use-video-warmup.d.ts +1 -1
  323. package/dist/components/features/use-video-warmup.d.ts.map +1 -1
  324. package/dist/components/features/use-video-warmup.js +2 -5
  325. package/dist/components/features/use-walkthrough-video.d.ts.map +1 -1
  326. package/dist/components/features/use-walkthrough-video.js +4 -1
  327. package/dist/components/features/video-bites-strip.d.ts +42 -1
  328. package/dist/components/features/video-bites-strip.d.ts.map +1 -1
  329. package/dist/components/features/video-bites-strip.js +100 -21
  330. package/dist/components/features/video-hover-preview.d.ts +1 -1
  331. package/dist/components/features/video-hover-preview.d.ts.map +1 -1
  332. package/dist/components/features/video.d.ts +9 -2
  333. package/dist/components/features/video.d.ts.map +1 -1
  334. package/dist/components/features/video.js +10 -5
  335. package/dist/components/features/walkthrough-video.d.ts.map +1 -1
  336. package/dist/components/features/walkthrough-video.js +8 -2
  337. package/dist/components/help-center-pages/download-apps-page.d.ts.map +1 -1
  338. package/dist/components/help-center-pages/download-apps-page.js +65 -33
  339. package/dist/components/help-center-pages/index.cjs +410 -316
  340. package/dist/components/help-center-pages/trust-center-page.d.ts +21 -9
  341. package/dist/components/help-center-pages/trust-center-page.d.ts.map +1 -1
  342. package/dist/components/help-center-pages/trust-center-page.js +100 -67
  343. package/dist/components/help-center-pages/trust-center-sections.d.ts +19 -14
  344. package/dist/components/help-center-pages/trust-center-sections.d.ts.map +1 -1
  345. package/dist/components/help-center-pages/trust-center-sections.js +124 -97
  346. package/dist/components/icon-display.d.ts.map +1 -1
  347. package/dist/components/icon-display.js +6 -0
  348. package/dist/components/index.cjs +1505 -380
  349. package/dist/components/index.d.ts +5 -2
  350. package/dist/components/index.d.ts.map +1 -1
  351. package/dist/components/index.js +12 -2
  352. package/dist/components/interactive-wrapper.d.ts.map +1 -1
  353. package/dist/components/interactive-wrapper.js +2 -1
  354. package/dist/components/layout/list-page-layout.d.ts +3 -3
  355. package/dist/components/layout/list-page-layout.d.ts.map +1 -1
  356. package/dist/components/layout/page-container.d.ts +8 -1
  357. package/dist/components/layout/page-container.d.ts.map +1 -1
  358. package/dist/components/layout/page-container.js +25 -10
  359. package/dist/components/layout/page-data-sync.d.ts +7 -1
  360. package/dist/components/layout/page-data-sync.d.ts.map +1 -1
  361. package/dist/components/layout/page-data-sync.js +13 -4
  362. package/dist/components/layout/page-heading.d.ts +31 -0
  363. package/dist/components/layout/page-heading.d.ts.map +1 -1
  364. package/dist/components/layout/page-heading.js +44 -1
  365. package/dist/components/layout/page-layout.d.ts +4 -4
  366. package/dist/components/layout/page-layout.d.ts.map +1 -1
  367. package/dist/components/layout/page-layout.js +4 -5
  368. package/dist/components/layout/title-block.d.ts +12 -1
  369. package/dist/components/layout/title-block.d.ts.map +1 -1
  370. package/dist/components/layout/title-block.js +50 -12
  371. package/dist/components/loading/category-vendor-selector-skeleton.d.ts +3 -0
  372. package/dist/components/loading/category-vendor-selector-skeleton.d.ts.map +1 -1
  373. package/dist/components/loading/deprecated-layout-skeletons.d.ts +25 -0
  374. package/dist/components/loading/deprecated-layout-skeletons.d.ts.map +1 -0
  375. package/dist/components/loading/deprecated-layout-skeletons.js +78 -0
  376. package/dist/components/loading/device-card-skeleton.js +4 -4
  377. package/dist/components/loading/index.d.ts +4 -3
  378. package/dist/components/loading/index.d.ts.map +1 -1
  379. package/dist/components/loading/index.js +10 -16
  380. package/dist/components/loading/loading-region.d.ts +10 -9
  381. package/dist/components/loading/loading-region.d.ts.map +1 -1
  382. package/dist/components/loading/loading-region.js +4 -1
  383. package/dist/components/loading/msp-profile-form-skeleton.d.ts +2 -0
  384. package/dist/components/loading/msp-profile-form-skeleton.d.ts.map +1 -1
  385. package/dist/components/loading/organization-card-skeleton.d.ts +14 -10
  386. package/dist/components/loading/organization-card-skeleton.d.ts.map +1 -1
  387. package/dist/components/loading/organization-card-skeleton.js +38 -40
  388. package/dist/components/loading/page-layout-skeleton.d.ts +7 -51
  389. package/dist/components/loading/page-layout-skeleton.d.ts.map +1 -1
  390. package/dist/components/loading/page-layout-skeleton.js +2 -411
  391. package/dist/components/loading/settings-form-skeleton.d.ts +2 -0
  392. package/dist/components/loading/settings-form-skeleton.d.ts.map +1 -1
  393. package/dist/components/loading/unified-skeleton.d.ts +57 -9
  394. package/dist/components/loading/unified-skeleton.d.ts.map +1 -1
  395. package/dist/components/loading/unified-skeleton.js +57 -8
  396. package/dist/components/log-severity-dot.d.ts +2 -0
  397. package/dist/components/log-severity-dot.d.ts.map +1 -1
  398. package/dist/components/log-severity-dot.js +11 -13
  399. package/dist/components/logs-list.d.ts.map +1 -1
  400. package/dist/components/logs-list.js +34 -43
  401. package/dist/components/media-carousel.d.ts +0 -1
  402. package/dist/components/media-carousel.d.ts.map +1 -1
  403. package/dist/components/meeting-scheduler/booking-form.d.ts +52 -8
  404. package/dist/components/meeting-scheduler/booking-form.d.ts.map +1 -1
  405. package/dist/components/meeting-scheduler/booking-form.js +150 -30
  406. package/dist/components/meeting-scheduler/context-panel.d.ts +18 -2
  407. package/dist/components/meeting-scheduler/context-panel.d.ts.map +1 -1
  408. package/dist/components/meeting-scheduler/context-panel.js +61 -23
  409. package/dist/components/meeting-scheduler/directory.d.ts +11 -1
  410. package/dist/components/meeting-scheduler/directory.d.ts.map +1 -1
  411. package/dist/components/meeting-scheduler/directory.js +47 -27
  412. package/dist/components/meeting-scheduler/index.cjs +556 -344
  413. package/dist/components/meeting-scheduler/index.d.ts +5 -4
  414. package/dist/components/meeting-scheduler/index.d.ts.map +1 -1
  415. package/dist/components/meeting-scheduler/index.js +127 -102
  416. package/dist/components/meeting-scheduler/modal-header.d.ts +7 -3
  417. package/dist/components/meeting-scheduler/modal-header.d.ts.map +1 -1
  418. package/dist/components/meeting-scheduler/modal-header.js +29 -18
  419. package/dist/components/meeting-scheduler/slot-picker.d.ts +11 -4
  420. package/dist/components/meeting-scheduler/slot-picker.d.ts.map +1 -1
  421. package/dist/components/meeting-scheduler/slot-picker.js +12 -7
  422. package/dist/components/metric-value.d.ts +5 -0
  423. package/dist/components/metric-value.d.ts.map +1 -1
  424. package/dist/components/metric-value.js +15 -3
  425. package/dist/components/msp-display.d.ts +5 -0
  426. package/dist/components/msp-display.d.ts.map +1 -1
  427. package/dist/components/msp-display.js +19 -14
  428. package/dist/components/navigation/app-layout.d.ts +0 -2
  429. package/dist/components/navigation/app-layout.d.ts.map +1 -1
  430. package/dist/components/navigation/app-layout.js +1 -4
  431. package/dist/components/navigation/index.cjs +48 -42
  432. package/dist/components/navigation/index.d.ts +8 -3
  433. package/dist/components/navigation/index.d.ts.map +1 -1
  434. package/dist/components/navigation/index.js +18 -3
  435. package/dist/components/navigation/mingo-ai-button.d.ts +0 -2
  436. package/dist/components/navigation/mingo-ai-button.d.ts.map +1 -1
  437. package/dist/components/navigation/mingo-ai-button.js +2 -4
  438. package/dist/components/navigation/mobile-nav-sheet.d.ts +0 -1
  439. package/dist/components/navigation/mobile-nav-sheet.d.ts.map +1 -1
  440. package/dist/components/navigation/mobile-nav-sheet.js +0 -2
  441. package/dist/components/navigation/multi-level-navigation.d.ts +21 -0
  442. package/dist/components/navigation/multi-level-navigation.d.ts.map +1 -1
  443. package/dist/components/navigation/multi-level-navigation.js +98 -24
  444. package/dist/components/navigation/page-section-bar.d.ts +50 -0
  445. package/dist/components/navigation/page-section-bar.d.ts.map +1 -0
  446. package/dist/components/navigation/page-section-bar.js +85 -0
  447. package/dist/components/navigation/sticky-section-nav.d.ts +12 -0
  448. package/dist/components/navigation/sticky-section-nav.d.ts.map +1 -1
  449. package/dist/components/navigation/sticky-section-nav.js +87 -20
  450. package/dist/components/navigation/ticket-alerts-button.js +1 -1
  451. package/dist/components/onboarding-guides/hooks/use-onboarding-guides.d.ts.map +1 -1
  452. package/dist/components/onboarding-guides/hooks/use-onboarding-guides.js +7 -1
  453. package/dist/components/onboarding-guides/index.cjs +38 -42
  454. package/dist/components/onboarding-guides/index.d.ts +1 -2
  455. package/dist/components/onboarding-guides/index.d.ts.map +1 -1
  456. package/dist/components/onboarding-guides/index.js +5 -3
  457. package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts +8 -0
  458. package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts.map +1 -1
  459. package/dist/components/onboarding-guides/onboarding-guide-detail-view.js +142 -84
  460. package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.d.ts +18 -17
  461. package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.d.ts.map +1 -1
  462. package/dist/components/onboarding-guides/onboarding-guides-catalog-skeleton.js +28 -21
  463. package/dist/components/onboarding-guides/onboarding-guides-catalog-view.d.ts.map +1 -1
  464. package/dist/components/onboarding-guides/onboarding-guides-catalog-view.js +57 -18
  465. package/dist/components/pagination.d.ts +26 -2
  466. package/dist/components/pagination.d.ts.map +1 -1
  467. package/dist/components/pagination.js +61 -38
  468. package/dist/components/persistent-filter-controls.d.ts.map +1 -1
  469. package/dist/components/persistent-filter-controls.js +1 -2
  470. package/dist/components/persistent-pagination.d.ts.map +1 -1
  471. package/dist/components/persistent-pagination.js +3 -1
  472. package/dist/components/platform/ToolBadge.d.ts +13 -1
  473. package/dist/components/platform/ToolBadge.d.ts.map +1 -1
  474. package/dist/components/platform/ToolBadge.js +38 -9
  475. package/dist/components/platform/index.d.ts +2 -2
  476. package/dist/components/platform/index.d.ts.map +1 -1
  477. package/dist/components/platform/index.js +4 -2
  478. package/dist/components/platform/tool-badge-mark.d.ts +6 -0
  479. package/dist/components/platform/tool-badge-mark.d.ts.map +1 -0
  480. package/dist/components/platform/tool-badge-mark.js +6 -0
  481. package/dist/components/product-demo/fixtures/devices.d.ts +0 -2
  482. package/dist/components/product-demo/fixtures/devices.d.ts.map +1 -1
  483. package/dist/components/product-demo/fixtures/devices.js +0 -2
  484. package/dist/components/product-demo/index.cjs +1889 -32
  485. package/dist/components/product-demo/product-screen.d.ts +5 -5
  486. package/dist/components/product-demo/product-screen.d.ts.map +1 -1
  487. package/dist/components/product-demo/product-screen.js +19 -15
  488. package/dist/components/product-demo/screen-loading.d.ts +10 -0
  489. package/dist/components/product-demo/screen-loading.d.ts.map +1 -0
  490. package/dist/components/product-demo/screen-loading.js +12 -0
  491. package/dist/components/product-demo/screens/devices-view.d.ts +22 -0
  492. package/dist/components/product-demo/screens/devices-view.d.ts.map +1 -0
  493. package/dist/components/product-demo/screens/devices-view.js +35 -0
  494. package/dist/components/product-demo/screens/devices.d.ts +1 -7
  495. package/dist/components/product-demo/screens/devices.d.ts.map +1 -1
  496. package/dist/components/product-demo/screens/devices.js +8 -15
  497. package/dist/components/related-content/card-registry.d.ts +3 -2
  498. package/dist/components/related-content/card-registry.d.ts.map +1 -1
  499. package/dist/components/related-content/card-registry.js +15 -3
  500. package/dist/components/related-content/index.cjs +19 -18
  501. package/dist/components/related-content/index.d.ts +2 -1
  502. package/dist/components/related-content/index.d.ts.map +1 -1
  503. package/dist/components/related-content/index.js +3 -1
  504. package/dist/components/related-content/related-content-section.d.ts +14 -1
  505. package/dist/components/related-content/related-content-section.d.ts.map +1 -1
  506. package/dist/components/related-content/related-content-section.js +144 -32
  507. package/dist/components/results-count.d.ts +5 -0
  508. package/dist/components/results-count.d.ts.map +1 -1
  509. package/dist/components/results-count.js +30 -6
  510. package/dist/components/shared/article-author-byline.d.ts +8 -0
  511. package/dist/components/shared/article-author-byline.d.ts.map +1 -1
  512. package/dist/components/shared/article-author-byline.js +54 -52
  513. package/dist/components/shared/delivery/delivery-lists.d.ts.map +1 -1
  514. package/dist/components/shared/delivery/delivery-lists.js +14 -2
  515. package/dist/components/shared/delivery/delivery-row.d.ts +5 -0
  516. package/dist/components/shared/delivery/delivery-row.d.ts.map +1 -1
  517. package/dist/components/shared/delivery/delivery-row.js +37 -10
  518. package/dist/components/shared/delivery/delivery-table.d.ts +4 -0
  519. package/dist/components/shared/delivery/delivery-table.d.ts.map +1 -1
  520. package/dist/components/shared/delivery/delivery-table.js +14 -26
  521. package/dist/components/shared/detail-page-skeleton.d.ts +3 -0
  522. package/dist/components/shared/detail-page-skeleton.d.ts.map +1 -1
  523. package/dist/components/shared/detail-page-skeleton.js +9 -1
  524. package/dist/components/shared/dev-section/dev-card-row.d.ts +2 -0
  525. package/dist/components/shared/dev-section/dev-card-row.d.ts.map +1 -1
  526. package/dist/components/shared/dev-section/dev-card-row.js +31 -21
  527. package/dist/components/shared/dev-section/dev-section-view.js +1 -1
  528. package/dist/components/shared/legal-document/index.d.ts +1 -1
  529. package/dist/components/shared/legal-document/index.d.ts.map +1 -1
  530. package/dist/components/shared/legal-document/index.js +5 -1
  531. package/dist/components/shared/legal-document/legal-document-page.d.ts +14 -0
  532. package/dist/components/shared/legal-document/legal-document-page.d.ts.map +1 -1
  533. package/dist/components/shared/legal-document/legal-document-page.js +47 -42
  534. package/dist/components/shared/legal-document/use-legal-docs.d.ts.map +1 -1
  535. package/dist/components/shared/legal-document/use-legal-docs.js +4 -1
  536. package/dist/components/shared/legal-document/use-legal-documents.d.ts.map +1 -1
  537. package/dist/components/shared/legal-document/use-legal-documents.js +3 -1
  538. package/dist/components/shared/media-gallery-strip.d.ts +7 -0
  539. package/dist/components/shared/media-gallery-strip.d.ts.map +1 -1
  540. package/dist/components/shared/media-gallery-strip.js +22 -3
  541. package/dist/components/shared/onboarding/index.d.ts +2 -1
  542. package/dist/components/shared/onboarding/index.d.ts.map +1 -1
  543. package/dist/components/shared/onboarding/index.js +1 -3
  544. package/dist/components/shared/product-release/index.d.ts +2 -1
  545. package/dist/components/shared/product-release/index.d.ts.map +1 -1
  546. package/dist/components/shared/product-release/product-release-card-classes.d.ts +26 -0
  547. package/dist/components/shared/product-release/product-release-card-classes.d.ts.map +1 -0
  548. package/dist/components/shared/product-release/product-release-card-classes.js +40 -0
  549. package/dist/components/shared/product-release/product-release-card-skeleton.d.ts.map +1 -1
  550. package/dist/components/shared/product-release/product-release-card-skeleton.js +37 -35
  551. package/dist/components/shared/product-release/product-release-card.d.ts +3 -1
  552. package/dist/components/shared/product-release/product-release-card.d.ts.map +1 -1
  553. package/dist/components/shared/product-release/product-release-card.js +86 -73
  554. package/dist/components/shared/product-release/product-releases-view.d.ts.map +1 -1
  555. package/dist/components/shared/product-release/product-releases-view.js +26 -13
  556. package/dist/components/shared/product-release/release-detail-page.d.ts +0 -1
  557. package/dist/components/shared/product-release/release-detail-page.d.ts.map +1 -1
  558. package/dist/components/shared/product-release/release-detail-page.js +281 -215
  559. package/dist/components/shared/roadmap/roadmap-grid-skeleton.d.ts +9 -1
  560. package/dist/components/shared/roadmap/roadmap-grid-skeleton.d.ts.map +1 -1
  561. package/dist/components/shared/roadmap/roadmap-grid-skeleton.js +12 -11
  562. package/dist/components/shared/roadmap/roadmap-grid.d.ts +13 -1
  563. package/dist/components/shared/roadmap/roadmap-grid.d.ts.map +1 -1
  564. package/dist/components/shared/roadmap/roadmap-grid.js +45 -29
  565. package/dist/components/shared/roadmap/roadmap-view.d.ts.map +1 -1
  566. package/dist/components/shared/roadmap/roadmap-view.js +2 -3
  567. package/dist/components/social-icon-row.d.ts +9 -2
  568. package/dist/components/social-icon-row.d.ts.map +1 -1
  569. package/dist/components/social-icon-row.js +12 -6
  570. package/dist/components/tickets/help-center-list.d.ts.map +1 -1
  571. package/dist/components/tickets/help-center-list.js +6 -2
  572. package/dist/components/tickets/hooks/use-ticket-actions.d.ts +2 -2
  573. package/dist/components/tickets/hooks/use-ticket-actions.d.ts.map +1 -1
  574. package/dist/components/tickets/index.cjs +42 -46
  575. package/dist/components/tickets/index.d.ts +2 -1
  576. package/dist/components/tickets/index.d.ts.map +1 -1
  577. package/dist/components/tickets/index.js +2 -3
  578. package/dist/components/tickets/ticket-center.d.ts.map +1 -1
  579. package/dist/components/tickets/ticket-center.js +117 -58
  580. package/dist/components/tickets/types.d.ts +0 -8
  581. package/dist/components/tickets/types.d.ts.map +1 -1
  582. package/dist/components/tickets/types.js +0 -3
  583. package/dist/components/toggle-group.d.ts +4 -2
  584. package/dist/components/toggle-group.d.ts.map +1 -1
  585. package/dist/components/toggle-group.js +3 -1
  586. package/dist/components/tool-icon.d.ts.map +1 -1
  587. package/dist/components/ui/analyzing-state.d.ts +3 -2
  588. package/dist/components/ui/analyzing-state.d.ts.map +1 -1
  589. package/dist/components/ui/analyzing-state.js +7 -4
  590. package/dist/components/ui/announcement-bar-view.d.ts +5 -0
  591. package/dist/components/ui/announcement-bar-view.d.ts.map +1 -1
  592. package/dist/components/ui/announcement-bar-view.js +3 -1
  593. package/dist/components/ui/autocomplete.d.ts +13 -0
  594. package/dist/components/ui/autocomplete.d.ts.map +1 -1
  595. package/dist/components/ui/autocomplete.js +30 -6
  596. package/dist/components/ui/avatar-stack.d.ts +7 -0
  597. package/dist/components/ui/avatar-stack.d.ts.map +1 -1
  598. package/dist/components/ui/avatar-stack.js +29 -4
  599. package/dist/components/ui/badge.d.ts +9 -1
  600. package/dist/components/ui/badge.d.ts.map +1 -1
  601. package/dist/components/ui/badge.js +11 -0
  602. package/dist/components/ui/benefit-list.d.ts +8 -0
  603. package/dist/components/ui/benefit-list.d.ts.map +1 -1
  604. package/dist/components/ui/benefit-list.js +20 -11
  605. package/dist/components/ui/button/button-styles.d.ts +16 -0
  606. package/dist/components/ui/button/button-styles.d.ts.map +1 -1
  607. package/dist/components/ui/button/button-styles.js +42 -0
  608. package/dist/components/ui/button/button.d.ts +3 -1
  609. package/dist/components/ui/button/button.d.ts.map +1 -1
  610. package/dist/components/ui/button/button.js +4 -40
  611. package/dist/components/ui/button/index.d.ts +1 -0
  612. package/dist/components/ui/button/index.d.ts.map +1 -1
  613. package/dist/components/ui/button/index.js +4 -0
  614. package/dist/components/ui/card.d.ts +13 -1
  615. package/dist/components/ui/card.d.ts.map +1 -1
  616. package/dist/components/ui/card.js +21 -14
  617. package/dist/components/ui/checkbox.d.ts +2 -0
  618. package/dist/components/ui/checkbox.d.ts.map +1 -1
  619. package/dist/components/ui/checkbox.js +5 -1
  620. package/dist/components/ui/compliance-badge.d.ts +2 -0
  621. package/dist/components/ui/compliance-badge.d.ts.map +1 -1
  622. package/dist/components/ui/compliance-badge.js +5 -2
  623. package/dist/components/ui/cursor-pagination.d.ts +8 -1
  624. package/dist/components/ui/cursor-pagination.d.ts.map +1 -1
  625. package/dist/components/ui/cursor-pagination.js +10 -4
  626. package/dist/components/ui/dashboard-info-card.d.ts +6 -1
  627. package/dist/components/ui/dashboard-info-card.d.ts.map +1 -1
  628. package/dist/components/ui/dashboard-info-card.js +19 -10
  629. package/dist/components/ui/data-attribution.d.ts +10 -5
  630. package/dist/components/ui/data-attribution.d.ts.map +1 -1
  631. package/dist/components/ui/data-attribution.js +27 -9
  632. package/dist/components/ui/data-table/data-table-body.d.ts +1 -1
  633. package/dist/components/ui/data-table/data-table-body.d.ts.map +1 -1
  634. package/dist/components/ui/data-table/data-table-body.js +18 -7
  635. package/dist/components/ui/data-table/data-table-row-count.d.ts +5 -0
  636. package/dist/components/ui/data-table/data-table-row-count.d.ts.map +1 -1
  637. package/dist/components/ui/data-table/data-table-row-count.js +18 -3
  638. package/dist/components/ui/data-table/data-table-row.d.ts.map +1 -1
  639. package/dist/components/ui/data-table/data-table-row.js +2 -6
  640. package/dist/components/ui/data-table/data-table-skeleton.js +5 -5
  641. package/dist/components/ui/data-table/index.d.ts +2 -2
  642. package/dist/components/ui/data-table/index.d.ts.map +1 -1
  643. package/dist/components/ui/data-table/index.js +2 -1
  644. package/dist/components/ui/date-picker.d.ts +0 -1
  645. package/dist/components/ui/date-picker.d.ts.map +1 -1
  646. package/dist/components/ui/entity-image.d.ts +4 -0
  647. package/dist/components/ui/entity-image.d.ts.map +1 -1
  648. package/dist/components/ui/entity-image.js +27 -5
  649. package/dist/components/ui/error-state.d.ts.map +1 -1
  650. package/dist/components/ui/error-state.js +4 -1
  651. package/dist/components/ui/feature-card.d.ts +31 -1
  652. package/dist/components/ui/feature-card.d.ts.map +1 -1
  653. package/dist/components/ui/feature-card.js +40 -11
  654. package/dist/components/ui/feature-list.d.ts +15 -1
  655. package/dist/components/ui/feature-list.d.ts.map +1 -1
  656. package/dist/components/ui/feature-list.js +43 -8
  657. package/dist/components/ui/field-wrapper.d.ts +6 -0
  658. package/dist/components/ui/field-wrapper.d.ts.map +1 -1
  659. package/dist/components/ui/field-wrapper.js +16 -5
  660. package/dist/components/ui/file-manager/index.cjs +63 -64
  661. package/dist/components/ui/filter-checkbox-item.d.ts +9 -0
  662. package/dist/components/ui/filter-checkbox-item.d.ts.map +1 -1
  663. package/dist/components/ui/filter-checkbox-item.js +36 -6
  664. package/dist/components/ui/filter-modal.d.ts +2 -3
  665. package/dist/components/ui/filter-modal.d.ts.map +1 -1
  666. package/dist/components/ui/filter-pill-row.d.ts +10 -5
  667. package/dist/components/ui/filter-pill-row.d.ts.map +1 -1
  668. package/dist/components/ui/filter-pill-row.js +56 -19
  669. package/dist/components/ui/incident-feed.d.ts +1 -1
  670. package/dist/components/ui/incident-feed.d.ts.map +1 -1
  671. package/dist/components/ui/incident-feed.js +57 -56
  672. package/dist/components/ui/index.cjs +219 -39
  673. package/dist/components/ui/index.d.ts +10 -1
  674. package/dist/components/ui/index.d.ts.map +1 -1
  675. package/dist/components/ui/index.js +29 -1
  676. package/dist/components/ui/info-card-row.d.ts +12 -0
  677. package/dist/components/ui/info-card-row.d.ts.map +1 -1
  678. package/dist/components/ui/info-card-row.js +56 -30
  679. package/dist/components/ui/info-card.d.ts +24 -1
  680. package/dist/components/ui/info-card.d.ts.map +1 -1
  681. package/dist/components/ui/info-card.js +87 -52
  682. package/dist/components/ui/input-styles.d.ts +7 -0
  683. package/dist/components/ui/input-styles.d.ts.map +1 -0
  684. package/dist/components/ui/input-styles.js +7 -0
  685. package/dist/components/ui/input.d.ts.map +1 -1
  686. package/dist/components/ui/input.js +4 -1
  687. package/dist/components/ui/layout-hold.d.ts +9 -7
  688. package/dist/components/ui/layout-hold.d.ts.map +1 -1
  689. package/dist/components/ui/leader-row.d.ts +11 -4
  690. package/dist/components/ui/leader-row.d.ts.map +1 -1
  691. package/dist/components/ui/leader-row.js +29 -5
  692. package/dist/components/ui/loading-scope.d.ts +26 -0
  693. package/dist/components/ui/loading-scope.d.ts.map +1 -0
  694. package/dist/components/ui/loading-scope.js +31 -0
  695. package/dist/components/ui/markdown/base-components.d.ts +25 -0
  696. package/dist/components/ui/markdown/base-components.d.ts.map +1 -1
  697. package/dist/components/ui/markdown/base-components.js +13 -7
  698. package/dist/components/ui/markdown/engine.d.ts +26 -1
  699. package/dist/components/ui/markdown/engine.d.ts.map +1 -1
  700. package/dist/components/ui/markdown/engine.js +63 -4
  701. package/dist/components/ui/markdown/index.d.ts +5 -3
  702. package/dist/components/ui/markdown/index.d.ts.map +1 -1
  703. package/dist/components/ui/markdown/index.js +12 -4
  704. package/dist/components/ui/markdown/mermaid-diagram.d.ts.map +1 -1
  705. package/dist/components/ui/markdown/mermaid-diagram.js +8 -2
  706. package/dist/components/ui/markdown/rich/embed-overrides.d.ts.map +1 -1
  707. package/dist/components/ui/markdown/rich/embed-overrides.js +10 -1
  708. package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts +10 -0
  709. package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts.map +1 -1
  710. package/dist/components/ui/markdown/rich/rich-markdown-renderer.js +21 -5
  711. package/dist/components/ui/markdown/simple-markdown-renderer.d.ts +0 -2
  712. package/dist/components/ui/markdown/simple-markdown-renderer.d.ts.map +1 -1
  713. package/dist/components/ui/markdown-editor.d.ts +10 -0
  714. package/dist/components/ui/markdown-editor.d.ts.map +1 -1
  715. package/dist/components/ui/markdown-editor.js +23 -7
  716. package/dist/components/ui/numbered-step.d.ts +10 -0
  717. package/dist/components/ui/numbered-step.d.ts.map +1 -1
  718. package/dist/components/ui/numbered-step.js +19 -2
  719. package/dist/components/ui/organization-card.d.ts.map +1 -1
  720. package/dist/components/ui/organization-card.js +30 -5
  721. package/dist/components/ui/page-actions.d.ts.map +1 -1
  722. package/dist/components/ui/page-actions.js +16 -20
  723. package/dist/components/ui/page-loader.d.ts.map +1 -1
  724. package/dist/components/ui/page-loader.js +2 -1
  725. package/dist/components/ui/people-cell.d.ts +4 -0
  726. package/dist/components/ui/people-cell.d.ts.map +1 -1
  727. package/dist/components/ui/people-cell.js +19 -3
  728. package/dist/components/ui/photo-wall.d.ts +1 -1
  729. package/dist/components/ui/photo-wall.d.ts.map +1 -1
  730. package/dist/components/ui/photo-wall.js +13 -3
  731. package/dist/components/ui/product-screen-frame.d.ts.map +1 -1
  732. package/dist/components/ui/product-screen-frame.js +3 -2
  733. package/dist/components/ui/progress-bar.d.ts +9 -0
  734. package/dist/components/ui/progress-bar.d.ts.map +1 -1
  735. package/dist/components/ui/progress-bar.js +34 -14
  736. package/dist/components/ui/progress.d.ts +15 -0
  737. package/dist/components/ui/progress.d.ts.map +1 -1
  738. package/dist/components/ui/progress.js +8 -3
  739. package/dist/components/ui/release-changelog-section.d.ts +22 -1
  740. package/dist/components/ui/release-changelog-section.d.ts.map +1 -1
  741. package/dist/components/ui/release-changelog-section.js +96 -28
  742. package/dist/components/ui/search-input.d.ts.map +1 -1
  743. package/dist/components/ui/search-input.js +11 -3
  744. package/dist/components/ui/searchable-select.d.ts.map +1 -1
  745. package/dist/components/ui/searchable-select.js +17 -4
  746. package/dist/components/ui/skeleton-surface.d.ts +12 -4
  747. package/dist/components/ui/skeleton-surface.d.ts.map +1 -1
  748. package/dist/components/ui/skeleton-surface.js +6 -2
  749. package/dist/components/ui/slack-channel-chip.d.ts +5 -1
  750. package/dist/components/ui/slack-channel-chip.d.ts.map +1 -1
  751. package/dist/components/ui/slack-channel-chip.js +16 -3
  752. package/dist/components/ui/snap-carousel.d.ts +4 -1
  753. package/dist/components/ui/snap-carousel.d.ts.map +1 -1
  754. package/dist/components/ui/snap-carousel.js +2 -0
  755. package/dist/components/ui/square-avatar.d.ts +3 -0
  756. package/dist/components/ui/square-avatar.d.ts.map +1 -1
  757. package/dist/components/ui/square-avatar.js +38 -23
  758. package/dist/components/ui/stacked-rows-panel.d.ts +24 -1
  759. package/dist/components/ui/stacked-rows-panel.d.ts.map +1 -1
  760. package/dist/components/ui/stacked-rows-panel.js +50 -13
  761. package/dist/components/ui/status-badge.d.ts +10 -2
  762. package/dist/components/ui/status-badge.d.ts.map +1 -1
  763. package/dist/components/ui/status-badge.js +14 -0
  764. package/dist/components/ui/status-indicator.d.ts +4 -0
  765. package/dist/components/ui/status-indicator.d.ts.map +1 -1
  766. package/dist/components/ui/status-indicator.js +16 -3
  767. package/dist/components/ui/status-line.d.ts.map +1 -1
  768. package/dist/components/ui/status-line.js +2 -1
  769. package/dist/components/ui/strip-card.d.ts +9 -0
  770. package/dist/components/ui/strip-card.d.ts.map +1 -1
  771. package/dist/components/ui/strip-card.js +57 -39
  772. package/dist/components/ui/tab-navigation.d.ts +26 -2
  773. package/dist/components/ui/tab-navigation.d.ts.map +1 -1
  774. package/dist/components/ui/tab-navigation.js +182 -115
  775. package/dist/components/ui/table/table-header.js +2 -2
  776. package/dist/components/ui/table/table-row.d.ts.map +1 -1
  777. package/dist/components/ui/table/table-row.js +2 -4
  778. package/dist/components/ui/table/table-skeleton.d.ts +6 -1
  779. package/dist/components/ui/table/table-skeleton.d.ts.map +1 -1
  780. package/dist/components/ui/table/table-skeleton.js +38 -50
  781. package/dist/components/ui/table/table.d.ts +1 -1
  782. package/dist/components/ui/table/table.d.ts.map +1 -1
  783. package/dist/components/ui/table/table.js +30 -25
  784. package/dist/components/ui/table/types.d.ts +14 -4
  785. package/dist/components/ui/table/types.d.ts.map +1 -1
  786. package/dist/components/ui/table/utils.d.ts +4 -0
  787. package/dist/components/ui/table/utils.d.ts.map +1 -1
  788. package/dist/components/ui/table/utils.js +4 -0
  789. package/dist/components/ui/tabs.d.ts +22 -1
  790. package/dist/components/ui/tabs.d.ts.map +1 -1
  791. package/dist/components/ui/tabs.js +33 -2
  792. package/dist/components/ui/tag.d.ts +21 -1
  793. package/dist/components/ui/tag.d.ts.map +1 -1
  794. package/dist/components/ui/tag.js +17 -12
  795. package/dist/components/ui/tags-input.d.ts +9 -0
  796. package/dist/components/ui/tags-input.d.ts.map +1 -1
  797. package/dist/components/ui/tags-input.js +41 -10
  798. package/dist/components/ui/textarea.d.ts +17 -1
  799. package/dist/components/ui/textarea.d.ts.map +1 -1
  800. package/dist/components/ui/textarea.js +22 -3
  801. package/dist/components/ui/ticket-info-section.d.ts +0 -1
  802. package/dist/components/ui/ticket-info-section.d.ts.map +1 -1
  803. package/dist/components/ui/timezone-select.d.ts +3 -1
  804. package/dist/components/ui/timezone-select.d.ts.map +1 -1
  805. package/dist/components/ui/timezone-select.js +3 -1
  806. package/dist/components/ui/toggle.d.ts +8 -2
  807. package/dist/components/ui/toggle.d.ts.map +1 -1
  808. package/dist/components/ui/toggle.js +10 -6
  809. package/dist/components/unified-pagination.d.ts +3 -1
  810. package/dist/components/unified-pagination.d.ts.map +1 -1
  811. package/dist/components/unified-pagination.js +7 -1
  812. package/dist/components/user-display.d.ts +11 -0
  813. package/dist/components/user-display.d.ts.map +1 -1
  814. package/dist/components/user-display.js +38 -14
  815. package/dist/components/user-summary-stub.d.ts.map +1 -1
  816. package/dist/components/user-summary-stub.js +7 -14
  817. package/dist/components/vendor-display-button.d.ts +4 -0
  818. package/dist/components/vendor-display-button.d.ts.map +1 -1
  819. package/dist/components/vendor-display-button.js +11 -13
  820. package/dist/components/vendor-icon.d.ts +5 -0
  821. package/dist/components/vendor-icon.d.ts.map +1 -1
  822. package/dist/components/vendor-icon.js +12 -3
  823. package/dist/components/vendor-tag.d.ts +5 -0
  824. package/dist/components/vendor-tag.d.ts.map +1 -1
  825. package/dist/components/vendor-tag.js +13 -5
  826. package/dist/{devices-O5PZ4IR6.cjs → devices-UHHHTCJF.cjs} +43 -55
  827. package/dist/embed-shims/index.cjs +4 -2
  828. package/dist/embed-shims/next-image.cjs +4 -2
  829. package/dist/embed-shims/next-image.d.ts.map +1 -1
  830. package/dist/embed-shims/next-image.js +24 -0
  831. package/dist/{embeddable-chat-YFUCVDMV.cjs → embeddable-chat-YL6ZSTDJ.cjs} +117 -119
  832. package/dist/hooks/index.cjs +12 -12
  833. package/dist/hooks/state/flatten-schema.d.ts +0 -1
  834. package/dist/hooks/state/flatten-schema.d.ts.map +1 -1
  835. package/dist/hooks/state/flatten-schema.js +0 -2
  836. package/dist/hooks/state/index.d.ts +6 -3
  837. package/dist/hooks/state/index.d.ts.map +1 -1
  838. package/dist/hooks/state/index.js +4 -3
  839. package/dist/hooks/state/url-converter.d.ts +1 -1
  840. package/dist/hooks/state/url-converter.d.ts.map +1 -1
  841. package/dist/hooks/state/url-converter.js +1 -2
  842. package/dist/hooks/state/use-api-params.d.ts +1 -3
  843. package/dist/hooks/state/use-api-params.d.ts.map +1 -1
  844. package/dist/hooks/state/use-api-params.js +1 -5
  845. package/dist/hooks/ui/index.d.ts +1 -0
  846. package/dist/hooks/ui/index.d.ts.map +1 -1
  847. package/dist/hooks/ui/use-image-edge-color.d.ts +1 -1
  848. package/dist/hooks/ui/use-image-edge-color.d.ts.map +1 -1
  849. package/dist/hooks/ui/use-image-edge-color.js +3 -1
  850. package/dist/hooks/ui/use-onboarding-state.d.ts +0 -1
  851. package/dist/hooks/ui/use-onboarding-state.d.ts.map +1 -1
  852. package/dist/hooks/use-downloads.d.ts +1 -1
  853. package/dist/hooks/use-downloads.d.ts.map +1 -1
  854. package/dist/hooks/use-downloads.js +8 -1
  855. package/dist/hooks/use-meeting-booking.d.ts.map +1 -1
  856. package/dist/hooks/use-meeting-booking.js +3 -0
  857. package/dist/hooks/use-self-fetch.d.ts +1 -1
  858. package/dist/hooks/use-self-fetch.d.ts.map +1 -1
  859. package/dist/hooks/use-self-fetch.js +7 -4
  860. package/dist/hooks/use-toast.d.ts +1 -1
  861. package/dist/index.cjs +331 -103
  862. package/dist/{knowledge-4OU73KTO.cjs → knowledge-TJKHM7W4.cjs} +36 -40
  863. package/dist/{logs-R6ZH32UU.cjs → logs-B3KCCMPE.cjs} +44 -48
  864. package/dist/nats/index.d.ts +1 -0
  865. package/dist/nats/index.d.ts.map +1 -1
  866. package/dist/nats/nats-provider.d.ts +0 -1
  867. package/dist/nats/nats-provider.d.ts.map +1 -1
  868. package/dist/nats/nats.d.ts +0 -1
  869. package/dist/nats/nats.d.ts.map +1 -1
  870. package/dist/nats/use-nats-subscription.d.ts +2 -1
  871. package/dist/nats/use-nats-subscription.d.ts.map +1 -1
  872. package/dist/{policies-XN4TDX3G.cjs → policies-ZTUIXSYZ.cjs} +39 -43
  873. package/dist/{remote-session-7NSC7DI5.cjs → remote-session-PPA5SXX7.cjs} +18 -21
  874. package/dist/schemas/meeting-booking-schema.cjs +4 -0
  875. package/dist/schemas/meeting-booking-schema.d.ts +8 -0
  876. package/dist/schemas/meeting-booking-schema.d.ts.map +1 -1
  877. package/dist/schemas/meeting-booking-schema.js +4 -0
  878. package/dist/{scripts-53VHKMY3.cjs → scripts-FIFAHBS6.cjs} +42 -46
  879. package/dist/{software-update-KLJSMAUM.cjs → software-update-62PLASQU.cjs} +41 -45
  880. package/dist/styles/component-sizes.d.ts +96 -0
  881. package/dist/styles/component-sizes.d.ts.map +1 -0
  882. package/dist/styles/component-sizes.js +77 -0
  883. package/dist/{tickets-board-DXMF7IKL.cjs → tickets-board-G3WBH4SV.cjs} +18 -20
  884. package/dist/types/announcement.d.ts +0 -1
  885. package/dist/types/announcement.d.ts.map +1 -1
  886. package/dist/types/blog.d.ts +0 -1
  887. package/dist/types/blog.d.ts.map +1 -1
  888. package/dist/types/case-study.d.ts +2 -2
  889. package/dist/types/case-study.d.ts.map +1 -1
  890. package/dist/types/customer-interview-ai.types.d.ts +1 -2
  891. package/dist/types/customer-interview-ai.types.d.ts.map +1 -1
  892. package/dist/types/customer-interview.d.ts +0 -1
  893. package/dist/types/customer-interview.d.ts.map +1 -1
  894. package/dist/types/index.d.ts +2 -0
  895. package/dist/types/index.d.ts.map +1 -1
  896. package/dist/types/product-release.d.ts +3 -0
  897. package/dist/types/product-release.d.ts.map +1 -1
  898. package/dist/types/stack.d.ts +0 -2
  899. package/dist/types/stack.d.ts.map +1 -1
  900. package/dist/utils/after-page-load.d.ts +8 -0
  901. package/dist/utils/after-page-load.d.ts.map +1 -0
  902. package/dist/utils/after-page-load.js +24 -0
  903. package/dist/utils/announcement-storage.d.ts +0 -3
  904. package/dist/utils/announcement-storage.d.ts.map +1 -1
  905. package/dist/utils/announcement-storage.js +1 -3
  906. package/dist/utils/dev-sections/openframe-dev-sections.d.ts +11 -0
  907. package/dist/utils/dev-sections/openframe-dev-sections.d.ts.map +1 -1
  908. package/dist/utils/dev-sections/openframe-dev-sections.js +5 -0
  909. package/dist/utils/index.cjs +43 -0
  910. package/dist/utils/index.d.ts +8 -2
  911. package/dist/utils/index.d.ts.map +1 -1
  912. package/dist/utils/index.js +9 -6
  913. package/dist/utils/markdown-heading-id.d.ts +0 -19
  914. package/dist/utils/markdown-heading-id.d.ts.map +1 -1
  915. package/dist/utils/markdown-heading-id.js +2 -5
  916. package/dist/utils/ods-color-utils.d.ts +0 -1
  917. package/dist/utils/ods-color-utils.d.ts.map +1 -1
  918. package/dist/utils/ods-color-utils.js +0 -2
  919. package/dist/utils/own-click.d.ts +4 -0
  920. package/dist/utils/own-click.d.ts.map +1 -0
  921. package/dist/utils/own-click.js +14 -0
  922. package/dist/utils/platform-config.d.ts +0 -1
  923. package/dist/utils/platform-config.d.ts.map +1 -1
  924. package/dist/utils/platform-config.js +0 -26
  925. package/dist/utils/source-icons.d.ts +2 -2
  926. package/dist/{video-file-player-QZ3YOLHO.cjs → video-file-player-COXRF4M5.cjs} +13 -13
  927. package/eslint-config/base.js +2 -0
  928. package/eslint-config/re-exports.js +56 -0
  929. package/package.json +1 -1
  930. package/src/ODS_TOKEN_RULES.md +2 -2
  931. package/src/chat-protocol/decode.ts +0 -5
  932. package/src/chat-protocol/index.ts +1 -0
  933. package/src/components/agent-identity.tsx +0 -2
  934. package/src/components/agent-mark.tsx +13 -4
  935. package/src/components/authors/author-detail-view.tsx +90 -44
  936. package/src/components/case-studies/entity-quotes-panel.tsx +50 -3
  937. package/src/components/case-studies/index.ts +2 -2
  938. package/src/components/case-studies/quote-cards-strip.tsx +75 -10
  939. package/src/components/categories-cart.tsx +82 -38
  940. package/src/components/category-card.tsx +1 -1
  941. package/src/components/chat/chat-attachment-bar.tsx +1 -1
  942. package/src/components/chat/chat-container.tsx +2 -1
  943. package/src/components/chat/chat-ticket-list.tsx +0 -1
  944. package/src/components/chat/chat-turn.tsx +124 -18
  945. package/src/components/chat/embeddable-chat.tsx +5 -5
  946. package/src/components/chat/entity-cards/admin-content-card-grid.tsx +1 -51
  947. package/src/components/chat/entity-cards/admin-content-card.tsx +80 -15
  948. package/src/components/chat/entity-cards/blog-card.tsx +71 -41
  949. package/src/components/chat/entity-cards/campaign-card-admin.tsx +4 -17
  950. package/src/components/chat/entity-cards/case-study-card.tsx +129 -68
  951. package/src/components/chat/entity-cards/chat-ticket-item.tsx +34 -29
  952. package/src/components/chat/entity-cards/customer-interview-card.tsx +61 -45
  953. package/src/components/chat/entity-cards/data-room-doc-card.tsx +11 -18
  954. package/src/components/chat/entity-cards/design-doc-card.tsx +48 -34
  955. package/src/components/chat/entity-cards/dispatch.tsx +9 -13
  956. package/src/components/chat/entity-cards/employee-entry-card.tsx +5 -5
  957. package/src/components/chat/entity-cards/entity-author-card.tsx +138 -32
  958. package/src/components/chat/entity-cards/entity-portrait-card.tsx +61 -16
  959. package/src/components/chat/entity-cards/generic-entity-card.tsx +11 -19
  960. package/src/components/chat/entity-cards/github-activity-card.tsx +14 -30
  961. package/src/components/chat/entity-cards/hubspot-ticket-card.tsx +11 -23
  962. package/src/components/chat/entity-cards/index.ts +20 -7
  963. package/src/components/chat/entity-cards/investor-update-card.tsx +42 -35
  964. package/src/components/chat/entity-cards/onboarding-guide-card.tsx +78 -64
  965. package/src/components/chat/entity-cards/program-card.tsx +96 -66
  966. package/src/components/chat/entity-cards/roadmap-card.tsx +85 -65
  967. package/src/components/chat/entity-cards/roadmap-vote-button.tsx +12 -1
  968. package/src/components/chat/entity-cards/slack-message-card.tsx +19 -26
  969. package/src/components/chat/hooks/index.ts +12 -2
  970. package/src/components/chat/hooks/use-ask-prompts.ts +5 -1
  971. package/src/components/chat/hooks/use-chat-dialog-manager.ts +1 -1
  972. package/src/components/chat/hooks/use-chat-history-hydration.ts +1 -1
  973. package/src/components/chat/hooks/use-chat.ts +0 -3
  974. package/src/components/chat/hooks/use-nats-chat-adapter.ts +0 -20
  975. package/src/components/chat/hooks/use-proxied-image-url.ts +27 -20
  976. package/src/components/chat/hooks/use-slash-commands.ts +1 -7
  977. package/src/components/chat/hooks/use-sse-chat-adapter.ts +4 -18
  978. package/src/components/chat/index.ts +22 -5
  979. package/src/components/chat/stream/chat-stream-reducer.ts +3 -2
  980. package/src/components/chat/types/entities/index.ts +24 -4
  981. package/src/components/chat/types/entities/investor-update.ts +1 -1
  982. package/src/components/chat/types/entities/program-types.ts +2 -5
  983. package/src/components/chat/utils/compact-card-classes.ts +15 -2
  984. package/src/components/chat/utils/compact-card-skeleton.tsx +111 -0
  985. package/src/components/chat/utils/icon-library.tsx +0 -2
  986. package/src/components/chat/utils/index.ts +5 -3
  987. package/src/components/chat/utils/scroll-anchor.ts +0 -2
  988. package/src/components/chat/utils/source-row-cta.ts +1 -5
  989. package/src/components/comment-card.tsx +118 -19
  990. package/src/components/comment-thread.tsx +130 -17
  991. package/src/components/docs/doc-viewer.tsx +33 -31
  992. package/src/components/docs/skeletons.tsx +37 -49
  993. package/src/components/docs/use-document-tree.ts +11 -7
  994. package/src/components/embeds/embed-iframe.tsx +5 -0
  995. package/src/components/embeds/index.ts +1 -1
  996. package/src/components/embeds/markdown-image.tsx +6 -2
  997. package/src/components/embeds/og-link-preview.tsx +155 -81
  998. package/src/components/embeds/rich-markdown-runtime.tsx +10 -6
  999. package/src/components/faq/faq-document-page.tsx +8 -0
  1000. package/src/components/faq/faq-section.tsx +249 -70
  1001. package/src/components/faq/index.ts +12 -1
  1002. package/src/components/faq-accordion.tsx +67 -7
  1003. package/src/components/features/ai-enrich/AIStatusIndicator.tsx +2 -1
  1004. package/src/components/features/approval-level.tsx +71 -8
  1005. package/src/components/features/capability-explorer.tsx +59 -61
  1006. package/src/components/features/cards-strip.tsx +54 -12
  1007. package/src/components/features/command-box.tsx +139 -10
  1008. package/src/components/features/conversation-card.tsx +242 -16
  1009. package/src/components/features/devices/device-selector/device-selector.tsx +1 -0
  1010. package/src/components/features/devices/devices-panel-view.tsx +2 -2
  1011. package/src/components/features/entity-tag-badges.tsx +143 -10
  1012. package/src/components/features/entity-video-section.tsx +52 -14
  1013. package/src/components/features/figma-prototype-viewer.tsx +4 -8
  1014. package/src/components/features/index.ts +11 -0
  1015. package/src/components/features/knowledge-base/index.ts +2 -5
  1016. package/src/components/features/knowledge-base/knowledge-base-article-view.tsx +0 -2
  1017. package/src/components/features/model-token-rates.tsx +64 -84
  1018. package/src/components/features/notifications/approval-request-notification-tile.tsx +9 -11
  1019. package/src/components/features/notifications/notification-tile.tsx +58 -23
  1020. package/src/components/features/paths-display.tsx +73 -6
  1021. package/src/components/features/platform-badge.tsx +41 -1
  1022. package/src/components/features/push-button-selector.tsx +167 -64
  1023. package/src/components/features/remote-session/index.ts +2 -2
  1024. package/src/components/features/remote-session/remote-desktop-chat-message-row.tsx +24 -3
  1025. package/src/components/features/remote-session/remote-desktop-chat-panel.tsx +19 -5
  1026. package/src/components/features/remote-session/remote-desktop-view.tsx +47 -38
  1027. package/src/components/features/remote-session/remote-session-chat-panel.tsx +1 -1
  1028. package/src/components/features/status-filter-component.tsx +105 -11
  1029. package/src/components/features/use-video-warmup.ts +0 -7
  1030. package/src/components/features/use-walkthrough-video.ts +5 -1
  1031. package/src/components/features/video-bites-strip.tsx +137 -22
  1032. package/src/components/features/video-hover-preview.tsx +2 -1
  1033. package/src/components/features/video.tsx +16 -12
  1034. package/src/components/features/walkthrough-video.tsx +17 -3
  1035. package/src/components/help-center-pages/download-apps-page.tsx +86 -32
  1036. package/src/components/help-center-pages/trust-center-page.tsx +132 -66
  1037. package/src/components/help-center-pages/trust-center-sections.tsx +205 -148
  1038. package/src/components/icon-display.tsx +9 -0
  1039. package/src/components/index.ts +11 -2
  1040. package/src/components/interactive-wrapper.tsx +2 -1
  1041. package/src/components/layout/list-page-layout.tsx +4 -5
  1042. package/src/components/layout/page-container.tsx +59 -29
  1043. package/src/components/layout/page-data-sync.tsx +40 -5
  1044. package/src/components/layout/page-heading.tsx +84 -1
  1045. package/src/components/layout/page-layout.tsx +5 -5
  1046. package/src/components/layout/title-block.tsx +72 -17
  1047. package/src/components/loading/category-vendor-selector-skeleton.tsx +4 -0
  1048. package/src/components/loading/deprecated-layout-skeletons.tsx +133 -0
  1049. package/src/components/loading/device-card-skeleton.tsx +4 -4
  1050. package/src/components/loading/index.ts +11 -13
  1051. package/src/components/loading/loading-region.tsx +16 -9
  1052. package/src/components/loading/msp-profile-form-skeleton.tsx +3 -0
  1053. package/src/components/loading/organization-card-skeleton.tsx +45 -71
  1054. package/src/components/loading/page-layout-skeleton.tsx +1 -641
  1055. package/src/components/loading/settings-form-skeleton.tsx +3 -0
  1056. package/src/components/loading/unified-skeleton.tsx +101 -11
  1057. package/src/components/log-severity-dot.tsx +17 -14
  1058. package/src/components/logs-list.tsx +43 -29
  1059. package/src/components/media-carousel.tsx +0 -4
  1060. package/src/components/meeting-scheduler/booking-form.tsx +245 -35
  1061. package/src/components/meeting-scheduler/context-panel.tsx +96 -30
  1062. package/src/components/meeting-scheduler/directory.tsx +70 -37
  1063. package/src/components/meeting-scheduler/index.tsx +136 -132
  1064. package/src/components/meeting-scheduler/modal-header.tsx +45 -31
  1065. package/src/components/meeting-scheduler/slot-picker.tsx +20 -8
  1066. package/src/components/metric-value.tsx +19 -2
  1067. package/src/components/msp-display.tsx +25 -10
  1068. package/src/components/navigation/app-layout.tsx +0 -3
  1069. package/src/components/navigation/index.ts +15 -3
  1070. package/src/components/navigation/mingo-ai-button.tsx +3 -4
  1071. package/src/components/navigation/mobile-nav-sheet.tsx +0 -2
  1072. package/src/components/navigation/multi-level-navigation.tsx +152 -35
  1073. package/src/components/navigation/page-section-bar.tsx +132 -0
  1074. package/src/components/navigation/sticky-section-nav.tsx +109 -18
  1075. package/src/components/navigation/ticket-alerts-button.tsx +1 -1
  1076. package/src/components/onboarding-guides/hooks/use-onboarding-guides.ts +8 -1
  1077. package/src/components/onboarding-guides/index.ts +5 -2
  1078. package/src/components/onboarding-guides/onboarding-guide-detail-view.tsx +166 -67
  1079. package/src/components/onboarding-guides/onboarding-guides-catalog-skeleton.tsx +38 -51
  1080. package/src/components/onboarding-guides/onboarding-guides-catalog-view.tsx +91 -45
  1081. package/src/components/pagination.tsx +103 -48
  1082. package/src/components/persistent-filter-controls.tsx +0 -7
  1083. package/src/components/persistent-pagination.tsx +6 -1
  1084. package/src/components/platform/ToolBadge.tsx +57 -10
  1085. package/src/components/platform/index.ts +2 -2
  1086. package/src/components/platform/tool-badge-mark.ts +6 -0
  1087. package/src/components/product-demo/fixtures/devices.ts +0 -3
  1088. package/src/components/product-demo/product-screen.tsx +42 -23
  1089. package/src/components/product-demo/screen-loading.tsx +20 -0
  1090. package/src/components/product-demo/screens/devices-view.tsx +58 -0
  1091. package/src/components/product-demo/screens/devices.tsx +9 -29
  1092. package/src/components/related-content/card-registry.tsx +20 -6
  1093. package/src/components/related-content/index.ts +3 -1
  1094. package/src/components/related-content/related-content-section.tsx +222 -46
  1095. package/src/components/results-count.tsx +37 -6
  1096. package/src/components/shared/article-author-byline.tsx +65 -41
  1097. package/src/components/shared/delivery/delivery-lists.tsx +15 -2
  1098. package/src/components/shared/delivery/delivery-row.tsx +55 -9
  1099. package/src/components/shared/delivery/delivery-table.tsx +19 -46
  1100. package/src/components/shared/detail-page-skeleton.tsx +15 -1
  1101. package/src/components/shared/dev-section/dev-card-row.tsx +45 -28
  1102. package/src/components/shared/dev-section/dev-section-view.tsx +1 -1
  1103. package/src/components/shared/doc-search/use-doc-search.ts +1 -1
  1104. package/src/components/shared/legal-document/index.ts +2 -0
  1105. package/src/components/shared/legal-document/legal-document-page.tsx +41 -21
  1106. package/src/components/shared/legal-document/use-legal-docs.ts +5 -1
  1107. package/src/components/shared/legal-document/use-legal-documents.ts +4 -1
  1108. package/src/components/shared/media-gallery-strip.tsx +35 -3
  1109. package/src/components/shared/onboarding/index.ts +2 -5
  1110. package/src/components/shared/product-release/index.ts +1 -1
  1111. package/src/components/shared/product-release/product-release-card-classes.ts +28 -0
  1112. package/src/components/shared/product-release/product-release-card-skeleton.tsx +62 -56
  1113. package/src/components/shared/product-release/product-release-card.tsx +62 -44
  1114. package/src/components/shared/product-release/product-releases-view.tsx +32 -24
  1115. package/src/components/shared/product-release/release-detail-page.tsx +229 -134
  1116. package/src/components/shared/roadmap/roadmap-grid-skeleton.tsx +20 -6
  1117. package/src/components/shared/roadmap/roadmap-grid.tsx +59 -9
  1118. package/src/components/shared/roadmap/roadmap-view.tsx +3 -3
  1119. package/src/components/social-icon-row.tsx +14 -8
  1120. package/src/components/tickets/help-center-list.tsx +6 -2
  1121. package/src/components/tickets/hooks/use-ticket-actions.ts +0 -4
  1122. package/src/components/tickets/index.ts +1 -2
  1123. package/src/components/tickets/ticket-center.tsx +189 -75
  1124. package/src/components/tickets/types.ts +0 -9
  1125. package/src/components/toggle-group.tsx +4 -1
  1126. package/src/components/tool-icon.tsx +2 -1
  1127. package/src/components/ui/analyzing-state.tsx +11 -6
  1128. package/src/components/ui/announcement-bar-view.tsx +7 -1
  1129. package/src/components/ui/autocomplete.tsx +58 -6
  1130. package/src/components/ui/avatar-stack.tsx +42 -3
  1131. package/src/components/ui/badge.tsx +16 -1
  1132. package/src/components/ui/benefit-list.tsx +41 -6
  1133. package/src/components/ui/button/button-styles.ts +48 -0
  1134. package/src/components/ui/button/button.tsx +5 -39
  1135. package/src/components/ui/button/index.ts +1 -0
  1136. package/src/components/ui/card.tsx +28 -13
  1137. package/src/components/ui/checkbox.tsx +6 -1
  1138. package/src/components/ui/compliance-badge.tsx +6 -2
  1139. package/src/components/ui/cursor-pagination.tsx +28 -3
  1140. package/src/components/ui/dashboard-info-card.tsx +29 -11
  1141. package/src/components/ui/data-attribution.tsx +42 -12
  1142. package/src/components/ui/data-table/data-table-body.tsx +11 -2
  1143. package/src/components/ui/data-table/data-table-row-count.tsx +19 -1
  1144. package/src/components/ui/data-table/data-table-row.tsx +4 -9
  1145. package/src/components/ui/data-table/data-table-skeleton.tsx +7 -7
  1146. package/src/components/ui/data-table/index.ts +2 -1
  1147. package/src/components/ui/date-picker.tsx +0 -6
  1148. package/src/components/ui/entity-image.tsx +27 -4
  1149. package/src/components/ui/error-state.tsx +8 -1
  1150. package/src/components/ui/feature-card.tsx +77 -12
  1151. package/src/components/ui/feature-list.tsx +72 -8
  1152. package/src/components/ui/field-wrapper.tsx +13 -1
  1153. package/src/components/ui/filter-checkbox-item.tsx +57 -6
  1154. package/src/components/ui/filter-modal.tsx +2 -6
  1155. package/src/components/ui/filter-pill-row.tsx +81 -27
  1156. package/src/components/ui/incident-feed.tsx +20 -11
  1157. package/src/components/ui/index.ts +21 -1
  1158. package/src/components/ui/info-card-row.tsx +74 -19
  1159. package/src/components/ui/info-card.tsx +87 -13
  1160. package/src/components/ui/input-styles.ts +6 -0
  1161. package/src/components/ui/input.tsx +4 -1
  1162. package/src/components/ui/layout-hold.tsx +9 -7
  1163. package/src/components/ui/leader-row.tsx +58 -4
  1164. package/src/components/ui/loading-scope.tsx +54 -0
  1165. package/src/components/ui/markdown/base-components.tsx +18 -9
  1166. package/src/components/ui/markdown/engine.tsx +131 -7
  1167. package/src/components/ui/markdown/index.ts +8 -6
  1168. package/src/components/ui/markdown/mermaid-diagram.tsx +7 -4
  1169. package/src/components/ui/markdown/rich/embed-overrides.tsx +11 -1
  1170. package/src/components/ui/markdown/rich/rich-markdown-renderer.tsx +26 -1
  1171. package/src/components/ui/markdown/simple-markdown-renderer.tsx +0 -3
  1172. package/src/components/ui/markdown-editor.tsx +83 -50
  1173. package/src/components/ui/numbered-step.tsx +32 -2
  1174. package/src/components/ui/organization-card.tsx +32 -7
  1175. package/src/components/ui/page-actions.tsx +25 -29
  1176. package/src/components/ui/page-loader.tsx +2 -1
  1177. package/src/components/ui/people-cell.tsx +25 -2
  1178. package/src/components/ui/photo-wall.tsx +14 -3
  1179. package/src/components/ui/product-screen-frame.tsx +14 -3
  1180. package/src/components/ui/progress-bar.tsx +26 -3
  1181. package/src/components/ui/progress.tsx +14 -3
  1182. package/src/components/ui/release-changelog-section.tsx +153 -20
  1183. package/src/components/ui/search-input.tsx +23 -3
  1184. package/src/components/ui/searchable-select.tsx +26 -6
  1185. package/src/components/ui/skeleton-surface.ts +16 -4
  1186. package/src/components/ui/slack-channel-chip.tsx +23 -3
  1187. package/src/components/ui/snap-carousel.tsx +5 -0
  1188. package/src/components/ui/square-avatar.tsx +41 -23
  1189. package/src/components/ui/stacked-rows-panel.tsx +88 -15
  1190. package/src/components/ui/status-badge.tsx +18 -1
  1191. package/src/components/ui/status-indicator.tsx +21 -2
  1192. package/src/components/ui/status-line.tsx +2 -1
  1193. package/src/components/ui/strip-card.tsx +73 -23
  1194. package/src/components/ui/tab-navigation.tsx +141 -28
  1195. package/src/components/ui/table/table-header.tsx +2 -2
  1196. package/src/components/ui/table/table-row.tsx +2 -4
  1197. package/src/components/ui/table/table-skeleton.tsx +48 -54
  1198. package/src/components/ui/table/table.tsx +36 -19
  1199. package/src/components/ui/table/types.ts +12 -4
  1200. package/src/components/ui/table/utils.ts +5 -0
  1201. package/src/components/ui/tabs.tsx +64 -4
  1202. package/src/components/ui/tag.tsx +33 -13
  1203. package/src/components/ui/tags-input.tsx +48 -10
  1204. package/src/components/ui/textarea.tsx +33 -3
  1205. package/src/components/ui/ticket-info-section.tsx +0 -2
  1206. package/src/components/ui/timezone-select.tsx +4 -0
  1207. package/src/components/ui/toggle.tsx +11 -5
  1208. package/src/components/unified-pagination.tsx +15 -0
  1209. package/src/components/user-display.tsx +53 -12
  1210. package/src/components/user-summary-stub.tsx +7 -11
  1211. package/src/components/vendor-display-button.tsx +15 -12
  1212. package/src/components/vendor-icon.tsx +13 -2
  1213. package/src/components/vendor-tag.tsx +18 -4
  1214. package/src/embed-shims/next-image.tsx +36 -1
  1215. package/src/hooks/state/flatten-schema.ts +0 -4
  1216. package/src/hooks/state/index.ts +5 -3
  1217. package/src/hooks/state/url-converter.ts +2 -2
  1218. package/src/hooks/state/use-api-params.ts +2 -10
  1219. package/src/hooks/ui/index.ts +1 -0
  1220. package/src/hooks/ui/use-image-edge-color.ts +4 -1
  1221. package/src/hooks/ui/use-onboarding-state.ts +0 -2
  1222. package/src/hooks/use-downloads.ts +9 -1
  1223. package/src/hooks/use-meeting-booking.ts +4 -0
  1224. package/src/hooks/use-self-fetch.ts +12 -4
  1225. package/src/nats/index.ts +1 -0
  1226. package/src/nats/nats-provider.tsx +0 -2
  1227. package/src/nats/nats.ts +0 -2
  1228. package/src/nats/use-nats-subscription.ts +2 -1
  1229. package/src/schemas/meeting-booking-schema.ts +11 -0
  1230. package/src/styles/component-sizes.ts +105 -0
  1231. package/src/types/announcement.ts +0 -3
  1232. package/src/types/blog.ts +0 -4
  1233. package/src/types/case-study.ts +2 -2
  1234. package/src/types/customer-interview-ai.types.ts +1 -4
  1235. package/src/types/customer-interview.ts +0 -11
  1236. package/src/types/index.ts +2 -0
  1237. package/src/types/product-release.ts +4 -2
  1238. package/src/types/stack.ts +0 -4
  1239. package/src/utils/after-page-load.ts +30 -0
  1240. package/src/utils/announcement-storage.ts +0 -7
  1241. package/src/utils/dev-sections/openframe-dev-sections.ts +11 -0
  1242. package/src/utils/index.ts +7 -9
  1243. package/src/utils/markdown-heading-id.ts +0 -28
  1244. package/src/utils/ods-color-utils.ts +0 -4
  1245. package/src/utils/own-click.ts +25 -0
  1246. package/src/utils/platform-config.tsx +0 -17
  1247. package/src/utils/source-icons.ts +2 -2
  1248. package/dist/chunk-3ATAYP36.cjs +0 -19
  1249. package/dist/chunk-3LU4UFPS.cjs +0 -14
  1250. package/dist/chunk-H3RYUTND.cjs +0 -142
  1251. package/dist/chunk-JB424IQK.cjs +0 -404
  1252. package/dist/chunk-L4UI63K6.cjs +0 -103
  1253. package/dist/chunk-NS64LMVE.cjs +0 -470
  1254. package/dist/chunk-OF336YWG.cjs +0 -20
  1255. package/dist/chunk-RB6BSE3O.cjs +0 -21
  1256. package/dist/chunk-UI2TLQWA.cjs +0 -163
  1257. package/dist/components/chat/entity-cards/product-release-card.d.ts +0 -12
  1258. package/dist/components/chat/entity-cards/product-release-card.d.ts.map +0 -1
  1259. package/dist/components/chat/entity-cards/product-release-card.js +0 -8
  1260. package/dist/components/chat/hooks/use-embedded-chat.d.ts +0 -15
  1261. package/dist/components/chat/hooks/use-embedded-chat.d.ts.map +0 -1
  1262. package/dist/components/chat/hooks/use-embedded-chat.js +0 -6
  1263. package/dist/components/chat/types/entities/blog.d.ts +0 -14
  1264. package/dist/components/chat/types/entities/blog.d.ts.map +0 -1
  1265. package/dist/components/chat/types/entities/blog.js +0 -1
  1266. package/dist/components/chat/types/entities/case-study.d.ts +0 -10
  1267. package/dist/components/chat/types/entities/case-study.d.ts.map +0 -1
  1268. package/dist/components/chat/types/entities/case-study.js +0 -1
  1269. package/dist/components/chat/types/entities/content-ref.d.ts +0 -8
  1270. package/dist/components/chat/types/entities/content-ref.d.ts.map +0 -1
  1271. package/dist/components/chat/types/entities/content-ref.js +0 -1
  1272. package/dist/components/chat/types/entities/customer-interview.d.ts +0 -10
  1273. package/dist/components/chat/types/entities/customer-interview.d.ts.map +0 -1
  1274. package/dist/components/chat/types/entities/customer-interview.js +0 -1
  1275. package/dist/components/chat/utils/source-icons.d.ts +0 -8
  1276. package/dist/components/chat/utils/source-icons.d.ts.map +0 -1
  1277. package/dist/components/chat/utils/source-icons.js +0 -16
  1278. package/dist/utils/image-proxy-stub.d.ts +0 -14
  1279. package/dist/utils/image-proxy-stub.d.ts.map +0 -1
  1280. package/dist/utils/image-proxy-stub.js +0 -22
  1281. package/src/components/chat/entity-cards/product-release-card.tsx +0 -19
  1282. package/src/components/chat/hooks/use-embedded-chat.ts +0 -25
  1283. package/src/components/chat/types/entities/blog.ts +0 -27
  1284. package/src/components/chat/types/entities/case-study.ts +0 -10
  1285. package/src/components/chat/types/entities/content-ref.ts +0 -7
  1286. package/src/components/chat/types/entities/customer-interview.ts +0 -15
  1287. package/src/components/chat/utils/source-icons.ts +0 -14
  1288. package/src/utils/image-proxy-stub.ts +0 -40
@@ -12,13 +12,14 @@
12
12
 
13
13
 
14
14
 
15
- var _chunk74ALTXXCcjs = require('./chunk-74ALTXXC.cjs');
16
15
 
16
+ var _chunkYL6ZB2SRcjs = require('./chunk-YL6ZB2SR.cjs');
17
17
 
18
18
 
19
19
 
20
20
 
21
- var _chunkBIA77I6Bcjs = require('./chunk-BIA77I6B.cjs');
21
+
22
+ var _chunkGTONIRJUcjs = require('./chunk-GTONIRJU.cjs');
22
23
 
23
24
 
24
25
  var _chunkSXGDKNVEcjs = require('./chunk-SXGDKNVE.cjs');
@@ -84,13 +85,13 @@ var _chunkBFMRU3R6cjs = require('./chunk-BFMRU3R6.cjs');
84
85
 
85
86
 
86
87
 
87
- var _chunkNET74KSQcjs = require('./chunk-NET74KSQ.cjs');
88
+ var _chunkTZ4GKUO2cjs = require('./chunk-TZ4GKUO2.cjs');
88
89
 
89
90
 
90
91
 
91
92
 
92
93
 
93
- var _chunk3RYIF4OWcjs = require('./chunk-3RYIF4OW.cjs');
94
+ var _chunkXXJL5GY3cjs = require('./chunk-XXJL5GY3.cjs');
94
95
 
95
96
 
96
97
  var _chunkJKX2C3I2cjs = require('./chunk-JKX2C3I2.cjs');
@@ -100,7 +101,11 @@ var _chunkJKX2C3I2cjs = require('./chunk-JKX2C3I2.cjs');
100
101
  var _chunkEWPR7662cjs = require('./chunk-EWPR7662.cjs');
101
102
 
102
103
 
103
- var _chunkNS64LMVEcjs = require('./chunk-NS64LMVE.cjs');
104
+ var _chunkFZB4RMRKcjs = require('./chunk-FZB4RMRK.cjs');
105
+
106
+
107
+
108
+
104
109
 
105
110
 
106
111
 
@@ -119,8 +124,8 @@ var _chunkNS64LMVEcjs = require('./chunk-NS64LMVE.cjs');
119
124
 
120
125
 
121
126
 
127
+ var _chunkDGNBXZXTcjs = require('./chunk-DGNBXZXT.cjs');
122
128
 
123
- var _chunk22XAPV6Ncjs = require('./chunk-22XAPV6N.cjs');
124
129
 
125
130
 
126
131
 
@@ -129,7 +134,8 @@ var _chunk22XAPV6Ncjs = require('./chunk-22XAPV6N.cjs');
129
134
 
130
135
 
131
136
 
132
- var _chunkEQZXJUYVcjs = require('./chunk-EQZXJUYV.cjs');
137
+
138
+ var _chunkJTSUAHDLcjs = require('./chunk-JTSUAHDL.cjs');
133
139
 
134
140
 
135
141
 
@@ -141,62 +147,76 @@ var _chunkEQZXJUYVcjs = require('./chunk-EQZXJUYV.cjs');
141
147
  var _chunkDGFDBPO7cjs = require('./chunk-DGFDBPO7.cjs');
142
148
 
143
149
 
144
- var _chunkHOTM4UM6cjs = require('./chunk-HOTM4UM6.cjs');
150
+ var _chunkE76ONBKFcjs = require('./chunk-E76ONBKF.cjs');
145
151
 
146
152
 
147
- var _chunkUJ7AXHRZcjs = require('./chunk-UJ7AXHRZ.cjs');
148
153
 
154
+ var _chunkYXDHVHB2cjs = require('./chunk-YXDHVHB2.cjs');
149
155
 
150
156
 
151
- var _chunkHTRILBJDcjs = require('./chunk-HTRILBJD.cjs');
157
+ var _chunkFL2RMEDXcjs = require('./chunk-FL2RMEDX.cjs');
152
158
 
153
159
 
154
- var _chunkK6VWTUCHcjs = require('./chunk-K6VWTUCH.cjs');
160
+ var _chunkWEANWBJHcjs = require('./chunk-WEANWBJH.cjs');
155
161
 
156
162
 
157
- var _chunk2QMBXGMQcjs = require('./chunk-2QMBXGMQ.cjs');
158
163
 
159
164
 
160
- var _chunkV45KLJQPcjs = require('./chunk-V45KLJQP.cjs');
161
165
 
166
+ var _chunkXFRBEXQNcjs = require('./chunk-XFRBEXQN.cjs');
162
167
 
163
168
 
169
+ var _chunkTF5D5MNOcjs = require('./chunk-TF5D5MNO.cjs');
164
170
 
165
- var _chunkKHKPLOU4cjs = require('./chunk-KHKPLOU4.cjs');
171
+
172
+ var _chunkV45KLJQPcjs = require('./chunk-V45KLJQP.cjs');
166
173
 
167
174
 
168
- var _chunkH3RYUTNDcjs = require('./chunk-H3RYUTND.cjs');
175
+ var _chunk65VVJSQZcjs = require('./chunk-65VVJSQZ.cjs');
169
176
 
170
177
 
171
- var _chunk3ATAYP36cjs = require('./chunk-3ATAYP36.cjs');
172
178
 
173
- // src/components/chat/index.ts
174
- var _react = require('react'); var _react2 = _interopRequireDefault(_react);
175
179
 
176
- // src/components/chat/chat-message-row.tsx
180
+ var _chunkKHKPLOU4cjs = require('./chunk-KHKPLOU4.cjs');
177
181
 
182
+ // src/components/chat/index.ts
183
+ var _react = require('react'); var _react2 = _interopRequireDefault(_react);
178
184
 
179
- // src/components/chat/hooks/use-proxied-image-url.ts
180
- function useProxiedImageUrl(url) {
181
- const r = _chunkUJ7AXHRZcjs.useRequiredChatRuntime.call(void 0, );
182
- return _nullishCoalesce(_chunk22XAPV6Ncjs.getProxiedImageUrl.call(void 0, _nullishCoalesce(url, () => ( "")), {
183
- proxyPrefix: r.endpoints.imageProxyUrlPrefix,
184
- skipDomains: r.endpoints.imageProxySkipDomains,
185
- directHttps: true
186
- }), () => ( ""));
185
+ // src/utils/after-page-load.ts
186
+ function afterPageLoad(run, maxWaitMs = 2e3) {
187
+ if (typeof window === "undefined") return () => {
188
+ };
189
+ const w = window;
190
+ let idleHandle = null;
191
+ let timer = null;
192
+ let cancelled = false;
193
+ const whenIdle = () => {
194
+ if (cancelled) return;
195
+ if (typeof w.requestIdleCallback === "function") idleHandle = w.requestIdleCallback(run, { timeout: maxWaitMs });
196
+ else timer = setTimeout(run, 0);
197
+ };
198
+ if (document.readyState === "complete") whenIdle();
199
+ else window.addEventListener("load", whenIdle, { once: true });
200
+ return () => {
201
+ cancelled = true;
202
+ window.removeEventListener("load", whenIdle);
203
+ if (idleHandle !== null) _optionalChain([w, 'access', _2 => _2.cancelIdleCallback, 'optionalCall', _3 => _3(idleHandle)]);
204
+ if (timer !== null) clearTimeout(timer);
205
+ };
187
206
  }
188
207
 
189
208
  // src/components/chat/chat-message-row.tsx
209
+
190
210
  var _jsxruntime = require('react/jsx-runtime');
191
211
  function ChatMessageRow({ displayName, avatarUrl, timeLabel, body, footer }) {
192
- const proxiedAvatar = useProxiedImageUrl(_nullishCoalesce(avatarUrl, () => ( "")));
212
+ const proxiedAvatar = _chunkDGNBXZXTcjs.useProxiedImageUrl.call(void 0, _nullishCoalesce(avatarUrl, () => ( "")));
193
213
  const resolvedAvatar = proxiedAvatar || avatarUrl || void 0;
194
214
  const [failedSrc, setFailedSrc] = _react.useState.call(void 0, null);
195
215
  const src = resolvedAvatar && resolvedAvatar !== failedSrc ? resolvedAvatar : void 0;
196
216
  const hasBody = typeof body === "string" ? body.trim().length > 0 : body != null && body !== false;
197
217
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 gap-2 md:gap-3", children: [
198
218
  src ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
199
- _chunkHOTM4UM6cjs.next_image_default,
219
+ _chunkE76ONBKFcjs.next_image_default,
200
220
  {
201
221
  src,
202
222
  alt: displayName,
@@ -205,7 +225,7 @@ function ChatMessageRow({ displayName, avatarUrl, timeLabel, body, footer }) {
205
225
  height: 40,
206
226
  onError: () => setFailedSrc(_nullishCoalesce(resolvedAvatar, () => ( null)))
207
227
  }
208
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-bg text-ods-text-primary text-h6 md:h-10 md:w-10", children: _chunkEQZXJUYVcjs.personInitials.call(void 0, displayName) || "?" }),
228
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg border border-ods-border bg-ods-bg text-ods-text-primary text-h6 md:h-10 md:w-10", children: _chunkJTSUAHDLcjs.personInitials.call(void 0, displayName) || "?" }),
209
229
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 max-w-full flex-1", children: [
210
230
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-1 flex min-w-0 max-w-full items-center gap-2", children: [
211
231
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate font-body text-[14px] font-bold leading-[1.33] tracking-[-0.02em] text-ods-text-primary md:text-[15px]", children: displayName }),
@@ -218,41 +238,100 @@ function ChatMessageRow({ displayName, avatarUrl, timeLabel, body, footer }) {
218
238
  }
219
239
  function ChatMessageRowSkeleton() {
220
240
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full min-w-0 gap-2 md:gap-3", children: [
221
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-8 w-8 flex-shrink-0 rounded-lg md:h-10 md:w-10" }),
241
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "h-8 w-8 flex-shrink-0 rounded-lg md:h-10 md:w-10" }),
222
242
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
223
243
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-1 flex items-center gap-2", children: [
224
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-[15px] w-24 rounded md:h-[20px] md:w-32" }),
225
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-[12px] w-12 rounded md:h-[16px] md:w-16" })
244
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "h-[15px] w-24 rounded md:h-[20px] md:w-32" }),
245
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "h-[12px] w-12 rounded md:h-[16px] md:w-16" })
226
246
  ] }),
227
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-[14px] w-full rounded md:h-[18px]" }),
228
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "mt-1 h-[14px] w-3/4 rounded md:h-[18px]" })
247
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "h-[14px] w-full rounded md:h-[18px]" }),
248
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "mt-1 h-[14px] w-3/4 rounded md:h-[18px]" })
229
249
  ] })
230
250
  ] });
231
251
  }
232
252
 
233
253
  // src/components/chat/chat-turn.tsx
234
254
 
235
- function ChatTurn({ avatar, name, meta, nameSize = "default", time, children, className }) {
236
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex min-w-0 items-start gap-[var(--spacing-system-sf)]", className), children: [
255
+ var TURN_ROW_CLASS = "flex min-w-0 items-start gap-[var(--spacing-system-sf)]";
256
+ var TURN_BODY_CLASS = "flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-xxs)]";
257
+ var NAME_ROW_CLASS = "flex min-w-0 items-baseline gap-[var(--spacing-system-xsf)]";
258
+ var NAME_GROUP_CLASS = "flex min-w-0 flex-1 flex-col content-md:flex-row content-md:items-baseline content-md:gap-[var(--spacing-system-xsf)]";
259
+ var META_CLASS = "min-w-0 text-ods-text-secondary text-h6 content-md:truncate";
260
+ var NAME_TYPE = { default: "h4", quiet: "h6" };
261
+ var NAME_CLASS = { default: "text-ods-text-primary text-h4", quiet: "text-ods-text-secondary text-h6" };
262
+ var TIME_CLASS = "shrink-0 text-ods-text-secondary text-h6";
263
+ var MESSAGE_CLASS = "m-0 whitespace-pre-wrap text-ods-text-primary text-h4";
264
+ function ChatTurn({
265
+ avatar,
266
+ name,
267
+ meta,
268
+ nameSize = "default",
269
+ time,
270
+ children,
271
+ className,
272
+ skeleton
273
+ }) {
274
+ if (_chunkXFRBEXQNcjs.useLoadingScope.call(void 0, )) {
275
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
276
+ ChatTurnSkeleton,
277
+ {
278
+ nameSize,
279
+ time: _nullishCoalesce(_optionalChain([skeleton, 'optionalAccess', _4 => _4.time]), () => ( time != null)),
280
+ meta: _nullishCoalesce(_optionalChain([skeleton, 'optionalAccess', _5 => _5.meta]), () => ( !!meta)),
281
+ lines: _optionalChain([skeleton, 'optionalAccess', _6 => _6.lines]),
282
+ avatarPx: _optionalChain([skeleton, 'optionalAccess', _7 => _7.avatarPx]),
283
+ className
284
+ }
285
+ );
286
+ }
287
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, TURN_ROW_CLASS, className), children: [
237
288
  avatar && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0", children: avatar }),
238
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-xxs)]", children: [
239
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-baseline gap-[var(--spacing-system-xsf)]", children: [
240
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-1 items-baseline gap-[var(--spacing-system-xsf)]", children: [
241
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
242
- "span",
243
- {
244
- className: _chunk3ATAYP36cjs.cn.call(void 0,
245
- "min-w-0 truncate",
246
- nameSize === "quiet" ? "text-ods-text-secondary text-h6" : "text-ods-text-primary text-h4"
247
- ),
248
- children: name
249
- }
250
- ),
251
- meta && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate text-ods-text-secondary text-h6", children: meta })
289
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: TURN_BODY_CLASS, children: [
290
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: NAME_ROW_CLASS, children: [
291
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: NAME_GROUP_CLASS, children: [
292
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, "min-w-0 truncate", NAME_CLASS[nameSize]), children: name }),
293
+ meta && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: META_CLASS, children: meta })
252
294
  ] }),
253
- time && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary text-h6", children: time })
295
+ time && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TIME_CLASS, children: time })
254
296
  ] }),
255
- typeof children === "string" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "m-0 whitespace-pre-wrap text-ods-text-primary text-h4", children }) : children
297
+ typeof children === "string" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: MESSAGE_CLASS, children }) : children
298
+ ] })
299
+ ] });
300
+ }
301
+ function ChatTurnNameSkeleton({
302
+ nameSize = "default",
303
+ meta = false,
304
+ time = false
305
+ }) {
306
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: NAME_ROW_CLASS, children: [
307
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: NAME_GROUP_CLASS, children: [
308
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: NAME_TYPE[nameSize], className: "w-24" }),
309
+ typeof meta === "string" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: META_CLASS, children: meta }) : meta && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", className: "w-20" })
310
+ ] }),
311
+ time && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", className: "w-12 shrink-0" })
312
+ ] });
313
+ }
314
+ function ChatTurnSkeleton({
315
+ avatarPx,
316
+ avatarShape = "round",
317
+ nameSize = "default",
318
+ lines = 1,
319
+ time = false,
320
+ meta = false,
321
+ className
322
+ }) {
323
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, TURN_ROW_CLASS, className), "aria-hidden": true, children: [
324
+ avatarPx ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJTSUAHDLcjs.SquareAvatarSkeleton, { sizePx: avatarPx, variant: avatarShape }) : null,
325
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: TURN_BODY_CLASS, children: [
326
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatTurnNameSkeleton, { nameSize, meta, time }),
327
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: Array.from({ length: lines }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
328
+ _chunkXFRBEXQNcjs.TextLineSkeleton,
329
+ {
330
+ type: "h4",
331
+ className: i === lines - 1 && lines > 1 ? "w-2/3" : "w-full"
332
+ },
333
+ i
334
+ )) })
256
335
  ] })
257
336
  ] });
258
337
  }
@@ -271,8 +350,8 @@ function aiProvider(key, stated) {
271
350
  const known = AI_PROVIDERS[key];
272
351
  const parts = words(key);
273
352
  return {
274
- label: _optionalChain([stated, 'optionalAccess', _2 => _2.label]) || _optionalChain([known, 'optionalAccess', _3 => _3.label]) || parts.map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ") || key,
275
- icon: _optionalChain([stated, 'optionalAccess', _4 => _4.icon]) || _optionalChain([known, 'optionalAccess', _5 => _5.icon]) || `${parts.join("-")}-logo-grey`
353
+ label: _optionalChain([stated, 'optionalAccess', _8 => _8.label]) || _optionalChain([known, 'optionalAccess', _9 => _9.label]) || parts.map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ") || key,
354
+ icon: _optionalChain([stated, 'optionalAccess', _10 => _10.icon]) || _optionalChain([known, 'optionalAccess', _11 => _11.icon]) || `${parts.join("-")}-logo-grey`
276
355
  };
277
356
  }
278
357
 
@@ -332,6 +411,19 @@ function trialLabels(days) {
332
411
  return { ...TRIAL_TERMS, length: days === null || days === void 0 || days === "" ? null : trialLengthLabel(days) };
333
412
  }
334
413
 
414
+ // src/utils/own-click.ts
415
+ var NO_ROW_CLICK_SELECTOR = "[data-no-row-click]";
416
+ var CONTROL_SELECTOR = 'a, button, input, select, textarea, label, [role="button"], [role="link"]';
417
+ function isOwnClick(target, container, { controls = false } = {}) {
418
+ if (!(target instanceof Element) || !_optionalChain([container, 'optionalAccess', _12 => _12.contains, 'call', _13 => _13(target)])) return false;
419
+ if (target.closest(NO_ROW_CLICK_SELECTOR)) return false;
420
+ if (controls) {
421
+ const control = target.closest(CONTROL_SELECTOR);
422
+ if (control && control !== container && container.contains(control)) return false;
423
+ }
424
+ return true;
425
+ }
426
+
335
427
  // src/utils/seo-title.ts
336
428
  var SEO_TITLE_MAX_LENGTH = 60;
337
429
 
@@ -704,7 +796,7 @@ function getShellIcon(shellType) {
704
796
  if (!shellType) return void 0;
705
797
  const normalized = shellType.toUpperCase();
706
798
  const shellDef = SHELL_TYPES.find((s) => s.id === normalized);
707
- return _optionalChain([shellDef, 'optionalAccess', _6 => _6.icon]);
799
+ return _optionalChain([shellDef, 'optionalAccess', _14 => _14.icon]);
708
800
  }
709
801
 
710
802
  // src/utils/video-bite-id.ts
@@ -806,7 +898,7 @@ function getOSIcon(osType) {
806
898
  const normalized = normalizeOSType(osType);
807
899
  if (!normalized) return void 0;
808
900
  const osTypeDef = OS_TYPES.find((t) => t.id === normalized);
809
- return _optionalChain([osTypeDef, 'optionalAccess', _7 => _7.icon]);
901
+ return _optionalChain([osTypeDef, 'optionalAccess', _15 => _15.icon]);
810
902
  }
811
903
  function getOSTypeDefinition(osType) {
812
904
  if (!osType) return void 0;
@@ -816,7 +908,7 @@ function getOSTypeDefinition(osType) {
816
908
  }
817
909
  function getOSPlatformId(osType) {
818
910
  const osTypeDef = getOSTypeDefinition(osType);
819
- return _optionalChain([osTypeDef, 'optionalAccess', _8 => _8.platformId]);
911
+ return _optionalChain([osTypeDef, 'optionalAccess', _16 => _16.platformId]);
820
912
  }
821
913
  function isOSPlatform(deviceOS, targetPlatform) {
822
914
  if (!deviceOS || !targetPlatform) return false;
@@ -827,7 +919,7 @@ function isOSPlatform(deviceOS, targetPlatform) {
827
919
  // src/utils/mobile-app.ts
828
920
  var DOWNLOAD_PAGE_PATH = "/download";
829
921
  function resolveMobileStoreUrl(links, userAgent, maxTouchPoints) {
830
- const os = _chunkNET74KSQcjs.detectVisitorOs.call(void 0, userAgent, { maxTouchPoints });
922
+ const os = _chunkTZ4GKUO2cjs.detectVisitorOs.call(void 0, userAgent, { maxTouchPoints });
831
923
  if (os === "ios") return links.appStoreUrl;
832
924
  if (os === "android") return links.googlePlayUrl;
833
925
  return null;
@@ -979,7 +1071,7 @@ function getCountryByName(name) {
979
1071
  }
980
1072
  function getFlagFromCountryName(countryName) {
981
1073
  const country = getCountryByName(countryName);
982
- return _optionalChain([country, 'optionalAccess', _9 => _9.flag]);
1074
+ return _optionalChain([country, 'optionalAccess', _17 => _17.flag]);
983
1075
  }
984
1076
  function validatePhoneNumber(phoneNumber, countryCode) {
985
1077
  if (!phoneNumber.trim()) return true;
@@ -1088,10 +1180,10 @@ var GENERIC_EMAIL_DOMAINS = [
1088
1180
  ];
1089
1181
  function extractDomainFromEmail(email) {
1090
1182
  if (!email || !email.includes("@")) return null;
1091
- return _optionalChain([email, 'access', _10 => _10.split, 'call', _11 => _11("@"), 'access', _12 => _12[1], 'optionalAccess', _13 => _13.toLowerCase, 'call', _14 => _14()]) || null;
1183
+ return _optionalChain([email, 'access', _18 => _18.split, 'call', _19 => _19("@"), 'access', _20 => _20[1], 'optionalAccess', _21 => _21.toLowerCase, 'call', _22 => _22()]) || null;
1092
1184
  }
1093
1185
  function normalizeDomain(domain) {
1094
- return _optionalChain([domain, 'optionalAccess', _15 => _15.toLowerCase, 'call', _16 => _16(), 'access', _17 => _17.replace, 'call', _18 => _18(/^https?:\/\//, ""), 'access', _19 => _19.replace, 'call', _20 => _20(/^www\./, ""), 'access', _21 => _21.split, 'call', _22 => _22("/"), 'access', _23 => _23[0], 'access', _24 => _24.trim, 'call', _25 => _25()]) || "";
1186
+ return _optionalChain([domain, 'optionalAccess', _23 => _23.toLowerCase, 'call', _24 => _24(), 'access', _25 => _25.replace, 'call', _26 => _26(/^https?:\/\//, ""), 'access', _27 => _27.replace, 'call', _28 => _28(/^www\./, ""), 'access', _29 => _29.split, 'call', _30 => _30("/"), 'access', _31 => _31[0], 'access', _32 => _32.trim, 'call', _33 => _33()]) || "";
1095
1187
  }
1096
1188
  function isGenericDomain(domain) {
1097
1189
  const normalized = normalizeDomain(domain);
@@ -1189,7 +1281,7 @@ function clearLegacyAnnouncementCache(platform) {
1189
1281
  // src/utils/announcement-surface.ts
1190
1282
  function isAnnouncementOnSurface(announcement, surface) {
1191
1283
  const surfaces = announcement.surfaces;
1192
- return !_optionalChain([surfaces, 'optionalAccess', _26 => _26.length]) || surfaces.includes(surface);
1284
+ return !_optionalChain([surfaces, 'optionalAccess', _34 => _34.length]) || surfaces.includes(surface);
1193
1285
  }
1194
1286
 
1195
1287
  // src/utils/dismissal-storage.ts
@@ -1256,7 +1348,7 @@ function createSseSubscription(options) {
1256
1348
  if (connected === next) return;
1257
1349
  connected = next;
1258
1350
  try {
1259
- _optionalChain([onConnectedChange, 'optionalCall', _27 => _27(next)]);
1351
+ _optionalChain([onConnectedChange, 'optionalCall', _35 => _35(next)]);
1260
1352
  } catch (err) {
1261
1353
  console.error("[sse-subscription] onConnectedChange threw:", err);
1262
1354
  }
@@ -1272,7 +1364,7 @@ function createSseSubscription(options) {
1272
1364
  if (status !== "open") {
1273
1365
  confirmTimerId = clearLifecycleTimer(confirmTimerId);
1274
1366
  }
1275
- _optionalChain([onStatusChange, 'optionalCall', _28 => _28(status)]);
1367
+ _optionalChain([onStatusChange, 'optionalCall', _36 => _36(status)]);
1276
1368
  };
1277
1369
  const internalReconnect = (delayMs) => {
1278
1370
  failedDelayTimerId = clearLifecycleTimer(failedDelayTimerId);
@@ -1286,7 +1378,7 @@ function createSseSubscription(options) {
1286
1378
  }, delayMs);
1287
1379
  };
1288
1380
  const handleServerStatus = (data) => {
1289
- const status = _optionalChain([data, 'optionalAccess', _29 => _29.status]);
1381
+ const status = _optionalChain([data, 'optionalAccess', _37 => _37.status]);
1290
1382
  if (status === "subscribed") {
1291
1383
  confirmTimerId = clearLifecycleTimer(confirmTimerId);
1292
1384
  serverGraceTimerId = clearLifecycleTimer(serverGraceTimerId);
@@ -1327,7 +1419,7 @@ function createSseSubscription(options) {
1327
1419
  const armSilenceTimer = () => {
1328
1420
  if (silenceTimerId) clearTimeout(silenceTimerId);
1329
1421
  silenceTimerId = setTimeout(() => {
1330
- _optionalChain([abortController, 'optionalAccess', _30 => _30.abort, 'call', _31 => _31()]);
1422
+ _optionalChain([abortController, 'optionalAccess', _38 => _38.abort, 'call', _39 => _39()]);
1331
1423
  }, silenceTimeoutMs);
1332
1424
  };
1333
1425
  const scheduleReconnect = (delayMs) => {
@@ -1480,7 +1572,7 @@ function createSseSubscription(options) {
1480
1572
  generation += 1;
1481
1573
  clearTimers();
1482
1574
  attempt = 0;
1483
- _optionalChain([abortController, 'optionalAccess', _32 => _32.abort, 'call', _33 => _33()]);
1575
+ _optionalChain([abortController, 'optionalAccess', _40 => _40.abort, 'call', _41 => _41()]);
1484
1576
  void connect();
1485
1577
  }
1486
1578
  const suspend = () => {
@@ -1488,7 +1580,7 @@ function createSseSubscription(options) {
1488
1580
  suspended = true;
1489
1581
  generation += 1;
1490
1582
  clearTimers();
1491
- _optionalChain([abortController, 'optionalAccess', _34 => _34.abort, 'call', _35 => _35()]);
1583
+ _optionalChain([abortController, 'optionalAccess', _42 => _42.abort, 'call', _43 => _43()]);
1492
1584
  setStatus("suspended");
1493
1585
  };
1494
1586
  const retryIfStalled = () => {
@@ -1533,15 +1625,15 @@ function createSseSubscription(options) {
1533
1625
  generation += 1;
1534
1626
  clearTimers();
1535
1627
  hiddenGraceTimerId = clearLifecycleTimer(hiddenGraceTimerId);
1536
- _optionalChain([abortController, 'optionalAccess', _36 => _36.abort, 'call', _37 => _37()]);
1628
+ _optionalChain([abortController, 'optionalAccess', _44 => _44.abort, 'call', _45 => _45()]);
1537
1629
  if (listenersActive) {
1538
1630
  document.removeEventListener("visibilitychange", onVisibilityChange);
1539
1631
  window.removeEventListener("online", onOnline);
1540
1632
  window.removeEventListener("focus", retryIfStalled);
1541
1633
  }
1542
- _optionalChain([unsubscribeCredentials, 'optionalCall', _38 => _38()]);
1634
+ _optionalChain([unsubscribeCredentials, 'optionalCall', _46 => _46()]);
1543
1635
  setConnected(false);
1544
- _optionalChain([onStatusChange, 'optionalCall', _39 => _39("closed")]);
1636
+ _optionalChain([onStatusChange, 'optionalCall', _47 => _47("closed")]);
1545
1637
  },
1546
1638
  reconnectNow: () => {
1547
1639
  if (closed) return;
@@ -1553,7 +1645,7 @@ function createSseSubscription(options) {
1553
1645
 
1554
1646
  // src/utils/sse-decision-frame.ts
1555
1647
  async function readLeadingDecisionFrame(response) {
1556
- const reader = _optionalChain([response, 'access', _40 => _40.body, 'optionalAccess', _41 => _41.getReader, 'call', _42 => _42()]);
1648
+ const reader = _optionalChain([response, 'access', _48 => _48.body, 'optionalAccess', _49 => _49.getReader, 'call', _50 => _50()]);
1557
1649
  if (!reader) throw new Error("readLeadingDecisionFrame: response has no body");
1558
1650
  const decoder = new TextDecoder();
1559
1651
  let buffer = "";
@@ -1578,8 +1670,8 @@ async function readLeadingDecisionFrame(response) {
1578
1670
  throw new Error(`readLeadingDecisionFrame: leading JSON parse failed: ${err.message}`);
1579
1671
  }
1580
1672
  const obj = parsed;
1581
- if (_optionalChain([obj, 'optionalAccess', _43 => _43.kind]) !== "decision_resolved") {
1582
- throw new Error(`readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _44 => _44.kind]))}`);
1673
+ if (_optionalChain([obj, 'optionalAccess', _51 => _51.kind]) !== "decision_resolved") {
1674
+ throw new Error(`readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _52 => _52.kind]))}`);
1583
1675
  }
1584
1676
  frame = normalizeDecisionFrame(obj);
1585
1677
  buffer = buffer.slice(nullIdx + 1);
@@ -1655,6 +1747,7 @@ var TICKET_STATUS_OPTIONS = [
1655
1747
  ];
1656
1748
  var OPENFRAME_DEV_SECTIONS = {
1657
1749
  roadmap: {
1750
+ mirrored: true,
1658
1751
  href: "/roadmap",
1659
1752
  icon: _lucidereact.Map,
1660
1753
  navigator: {
@@ -1674,6 +1767,7 @@ var OPENFRAME_DEV_SECTIONS = {
1674
1767
  }
1675
1768
  },
1676
1769
  delivery: {
1770
+ mirrored: true,
1677
1771
  href: "/bug-fixes-and-enhancements",
1678
1772
  icon: _lucidereact.Wrench,
1679
1773
  navigator: {
@@ -1693,6 +1787,7 @@ var OPENFRAME_DEV_SECTIONS = {
1693
1787
  }
1694
1788
  },
1695
1789
  releases: {
1790
+ mirrored: false,
1696
1791
  href: "/releases",
1697
1792
  icon: _lucidereact.Rocket,
1698
1793
  navigator: {
@@ -1712,6 +1807,7 @@ var OPENFRAME_DEV_SECTIONS = {
1712
1807
  }
1713
1808
  },
1714
1809
  onboarding: {
1810
+ mirrored: false,
1715
1811
  href: "/onboarding-guides",
1716
1812
  icon: _lucidereact.GraduationCap,
1717
1813
  navigator: {
@@ -1733,6 +1829,7 @@ var OPENFRAME_DEV_SECTIONS = {
1733
1829
  filter: null
1734
1830
  },
1735
1831
  tickets: {
1832
+ mirrored: true,
1736
1833
  href: "/tickets",
1737
1834
  icon: _lucidereact.LifeBuoy,
1738
1835
  navigator: {
@@ -1785,12 +1882,12 @@ var FullscreenSwitchController = class {
1785
1882
  if (fullscreenElementOf(doc)) {
1786
1883
  if (doc.exitFullscreen) doc.exitFullscreen().catch(() => {
1787
1884
  });
1788
- else _optionalChain([doc, 'access', _45 => _45.webkitExitFullscreen, 'optionalCall', _46 => _46()]);
1885
+ else _optionalChain([doc, 'access', _53 => _53.webkitExitFullscreen, 'optionalCall', _54 => _54()]);
1789
1886
  } else {
1790
- const el = _nullishCoalesce(_optionalChain([this, 'access', _47 => _47.opts, 'access', _48 => _48.target, 'optionalCall', _49 => _49()]), () => ( document.documentElement));
1887
+ const el = _nullishCoalesce(_optionalChain([this, 'access', _55 => _55.opts, 'access', _56 => _56.target, 'optionalCall', _57 => _57()]), () => ( document.documentElement));
1791
1888
  if (el.requestFullscreen) el.requestFullscreen({ navigationUI: "hide" }).catch(() => {
1792
1889
  });
1793
- else _optionalChain([el, 'access', _50 => _50.webkitRequestFullscreen, 'optionalCall', _51 => _51()]);
1890
+ else _optionalChain([el, 'access', _58 => _58.webkitRequestFullscreen, 'optionalCall', _59 => _59()]);
1794
1891
  }
1795
1892
  };
1796
1893
  /** Raise the mask + start tracking. Idempotent — safe from the pre-emptive
@@ -1805,7 +1902,7 @@ var FullscreenSwitchController = class {
1805
1902
  window.clearTimeout(this.quietTimer);
1806
1903
  window.clearTimeout(this.capTimer);
1807
1904
  window.removeEventListener("resize", this.onResize);
1808
- _optionalChain([this, 'access', _52 => _52.opts, 'access', _53 => _53.onGeometryPulse, 'optionalCall', _54 => _54()]);
1905
+ _optionalChain([this, 'access', _60 => _60.opts, 'access', _61 => _61.onGeometryPulse, 'optionalCall', _62 => _62()]);
1809
1906
  if (this.opts.switchingClass) document.documentElement.classList.remove(this.opts.switchingClass);
1810
1907
  };
1811
1908
  this.armQuiet = () => {
@@ -1813,7 +1910,7 @@ var FullscreenSwitchController = class {
1813
1910
  this.quietTimer = window.setTimeout(this.endSwitch, _nullishCoalesce(this.opts.quietMs, () => ( DEFAULT_QUIET_MS)));
1814
1911
  };
1815
1912
  this.onResize = () => {
1816
- _optionalChain([this, 'access', _55 => _55.opts, 'access', _56 => _56.onGeometryPulse, 'optionalCall', _57 => _57()]);
1913
+ _optionalChain([this, 'access', _63 => _63.opts, 'access', _64 => _64.onGeometryPulse, 'optionalCall', _65 => _65()]);
1817
1914
  this.armQuiet();
1818
1915
  };
1819
1916
  /** Escape is the one exit path that skips toggle() — pre-mask on the
@@ -1825,7 +1922,7 @@ var FullscreenSwitchController = class {
1825
1922
  const fs = this.isFullscreen;
1826
1923
  if (this.opts.activeClass) document.documentElement.classList.toggle(this.opts.activeClass, fs);
1827
1924
  this.beginSwitch();
1828
- requestAnimationFrame(() => _optionalChain([this, 'access', _58 => _58.opts, 'access', _59 => _59.onGeometryPulse, 'optionalCall', _60 => _60()]));
1925
+ requestAnimationFrame(() => _optionalChain([this, 'access', _66 => _66.opts, 'access', _67 => _67.onGeometryPulse, 'optionalCall', _68 => _68()]));
1829
1926
  this.armQuiet();
1830
1927
  this.opts.onFullscreenChange(fs);
1831
1928
  };
@@ -1839,7 +1936,7 @@ var FullscreenSwitchController = class {
1839
1936
  }
1840
1937
  get isFullscreen() {
1841
1938
  const fs = fullscreenElementOf(document);
1842
- const target = _optionalChain([this, 'access', _61 => _61.opts, 'access', _62 => _62.target, 'optionalCall', _63 => _63()]);
1939
+ const target = _optionalChain([this, 'access', _69 => _69.opts, 'access', _70 => _70.target, 'optionalCall', _71 => _71()]);
1843
1940
  return target ? fs === target : Boolean(fs);
1844
1941
  }
1845
1942
  attach() {
@@ -1886,7 +1983,7 @@ function primaryPlatformOf(platforms) {
1886
1983
  if (!Array.isArray(platforms)) return null;
1887
1984
  for (const entry of platforms) {
1888
1985
  const row = entry;
1889
- const name = _nullishCoalesce(_nullishCoalesce(_optionalChain([row, 'optionalAccess', _64 => _64.platforms, 'optionalAccess', _65 => _65.name]), () => ( _optionalChain([row, 'optionalAccess', _66 => _66.platform_name]))), () => ( _optionalChain([row, 'optionalAccess', _67 => _67.name])));
1986
+ const name = _nullishCoalesce(_nullishCoalesce(_optionalChain([row, 'optionalAccess', _72 => _72.platforms, 'optionalAccess', _73 => _73.name]), () => ( _optionalChain([row, 'optionalAccess', _74 => _74.platform_name]))), () => ( _optionalChain([row, 'optionalAccess', _75 => _75.name])));
1890
1987
  if (typeof name === "string" && name.trim()) return name.trim();
1891
1988
  }
1892
1989
  return null;
@@ -1903,21 +2000,21 @@ function lastPathSegment(url) {
1903
2000
  function makeComposeContentUrl(opts) {
1904
2001
  const suffixes = _nullishCoalesce(opts.suffixes, () => ( DEFAULT_CONTENT_SUFFIXES));
1905
2002
  return ({ type: rawType, identifier, slug: slugHint, externalUrl, targetPlatform, platforms }) => {
1906
- const type = _chunk22XAPV6Ncjs.canonicalContentRefType.call(void 0, rawType);
2003
+ const type = _chunkDGNBXZXTcjs.canonicalContentRefType.call(void 0, rawType);
1907
2004
  const override = opts.overrides && Object.prototype.hasOwnProperty.call(opts.overrides, type) ? opts.overrides[type] : void 0;
1908
2005
  if (override) return { ...override(identifier), hostOverride: true };
1909
2006
  const seg = _nullishCoalesce((Object.prototype.hasOwnProperty.call(suffixes, type) ? suffixes[type] : void 0), () => ( type));
1910
2007
  if (opts.hostedTypes.has(type)) {
1911
2008
  const recovered = externalUrl ? lastPathSegment(externalUrl) : null;
1912
- const slug = recovered && recovered !== seg ? recovered : _optionalChain([slugHint, 'optionalAccess', _68 => _68.trim, 'call', _69 => _69()]) || identifier;
2009
+ const slug = recovered && recovered !== seg ? recovered : _optionalChain([slugHint, 'optionalAccess', _76 => _76.trim, 'call', _77 => _77()]) || identifier;
1913
2010
  return { href: `/${seg}/${slug}`, targetPlatform: null };
1914
2011
  }
1915
2012
  if (externalUrl) return { href: externalUrl, targetPlatform: _nullishCoalesce(targetPlatform, () => ( null)) };
1916
2013
  const claimedOwner = _nullishCoalesce(targetPlatform, () => ( primaryPlatformOf(platforms)));
1917
- const owner = claimedOwner && _chunk74ALTXXCcjs.byKey.call(void 0, claimedOwner) ? claimedOwner : null;
1918
- const origin = owner ? _chunk74ALTXXCcjs.getPlatformProductionUrl.call(void 0, owner) : opts.contentOrigin;
2014
+ const owner = claimedOwner && _chunkYL6ZB2SRcjs.byKey.call(void 0, claimedOwner) ? claimedOwner : null;
2015
+ const origin = owner ? _chunkYL6ZB2SRcjs.getPlatformProductionUrl.call(void 0, owner) : opts.contentOrigin;
1919
2016
  return {
1920
- href: `${origin.replace(/\/+$/, "")}/${seg}/${_optionalChain([slugHint, 'optionalAccess', _70 => _70.trim, 'call', _71 => _71()]) || identifier}`,
2017
+ href: `${origin.replace(/\/+$/, "")}/${seg}/${_optionalChain([slugHint, 'optionalAccess', _78 => _78.trim, 'call', _79 => _79()]) || identifier}`,
1921
2018
  // Report the owner so `decideNewTab` can compare it against the current
1922
2019
  // app instead of falling back to an origin guess (which is unreliable in
1923
2020
  // dev, where every platform shares localhost). `null` whenever the href
@@ -1993,7 +2090,7 @@ function getDocSourceDefaultPath(structure, folderIndexFile = DEFAULT_FOLDER_IND
1993
2090
  const hasRootIndex = structure.some((node) => node.type === "file" && node.path === folderIndexFile);
1994
2091
  if (hasRootIndex) return null;
1995
2092
  const firstFolderWithReadme = structure.find((node) => node.type === "folder" && node.hasReadme && !!node.path);
1996
- return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess', _72 => _72.path]), () => ( null));
2093
+ return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess', _80 => _80.path]), () => ( null));
1997
2094
  }
1998
2095
 
1999
2096
  // src/utils/doc-path-utils.ts
@@ -2004,7 +2101,7 @@ function pathToNodeId(path) {
2004
2101
  return path.replace(/[/\s]/g, "-").toLowerCase();
2005
2102
  }
2006
2103
  function normalizeDocPath(segments, folderIndexFile = DEFAULT_FOLDER_INDEX_FILE) {
2007
- const lowerPath = (_optionalChain([segments, 'optionalAccess', _73 => _73.join, 'call', _74 => _74("/")]) || "").toLowerCase();
2104
+ const lowerPath = (_optionalChain([segments, 'optionalAccess', _81 => _81.join, 'call', _82 => _82("/")]) || "").toLowerCase();
2008
2105
  const lowerIndex = folderIndexFile.toLowerCase();
2009
2106
  const suffix = `/${lowerIndex}`;
2010
2107
  if (lowerPath.endsWith(suffix)) return lowerPath.slice(0, -suffix.length);
@@ -2087,8 +2184,8 @@ var DEFAULT_OPTIONS = {
2087
2184
  function extractSections(markdown, options = {}) {
2088
2185
  const opts = { ...DEFAULT_OPTIONS, ...options };
2089
2186
  const sections = [];
2090
- const dedupe = _chunk3RYIF4OWcjs.createHeadingIdDeduper.call(void 0, );
2091
- const scanned = _chunk3RYIF4OWcjs.scanHeadings.call(void 0, markdown, {
2187
+ const dedupe = _chunkXXJL5GY3cjs.createHeadingIdDeduper.call(void 0, );
2188
+ const scanned = _chunkXXJL5GY3cjs.scanHeadings.call(void 0, markdown, {
2092
2189
  skipFrontmatter: opts.skipCodeAndYamlBlocks,
2093
2190
  skipFences: opts.skipCodeAndYamlBlocks
2094
2191
  });
@@ -2096,9 +2193,9 @@ function extractSections(markdown, options = {}) {
2096
2193
  if (heading.level > opts.maxLevel) continue;
2097
2194
  let title = heading.text;
2098
2195
  if (opts.stripFormattingMarkers) {
2099
- title = _chunk74ALTXXCcjs.stripInlineMarkdown.call(void 0, title).trim();
2196
+ title = _chunkYL6ZB2SRcjs.stripInlineMarkdown.call(void 0, title).trim();
2100
2197
  }
2101
- const baseId = _chunk3RYIF4OWcjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunk3RYIF4OWcjs.stripHeadingEmojis.call(void 0, title) : title);
2198
+ const baseId = _chunkXXJL5GY3cjs.slugifyHeadingBase.call(void 0, opts.removeEmojis ? _chunkXXJL5GY3cjs.stripHeadingEmojis.call(void 0, title) : title);
2102
2199
  const cleanId = baseId || `section-${sections.length + 1}`;
2103
2200
  sections.push({
2104
2201
  id: opts.handleDuplicateIds ? dedupe(cleanId) : cleanId,
@@ -2362,7 +2459,7 @@ function isValidPathPattern(pattern) {
2362
2459
  return pattern.trim().length > 0 && compile(pattern.trim()) !== null;
2363
2460
  }
2364
2461
  function matchesPathPattern(pathname, pattern) {
2365
- return _nullishCoalesce(_optionalChain([compile, 'call', _75 => _75(pattern.trim()), 'optionalAccess', _76 => _76.test, 'call', _77 => _77(pathname)]), () => ( false));
2462
+ return _nullishCoalesce(_optionalChain([compile, 'call', _83 => _83(pattern.trim()), 'optionalAccess', _84 => _84.test, 'call', _85 => _85(pathname)]), () => ( false));
2366
2463
  }
2367
2464
  function pathMatchesAny(pathname, patterns) {
2368
2465
  return (_nullishCoalesce(patterns, () => ( []))).some((pattern) => matchesPathPattern(pathname, pattern));
@@ -2409,9 +2506,9 @@ function demoClockTimes(seed, options = {}) {
2409
2506
  // src/components/navigation/mingo-ai-button.tsx
2410
2507
 
2411
2508
  function openAskAi(source, options) {
2412
- const prompt = _optionalChain([options, 'optionalAccess', _78 => _78.prompt, 'optionalAccess', _79 => _79.trim, 'call', _80 => _80()]);
2509
+ const prompt = _optionalChain([options, 'optionalAccess', _86 => _86.prompt, 'optionalAccess', _87 => _87.trim, 'call', _88 => _88()]);
2413
2510
  const detail = prompt ? { source: _nullishCoalesce(source, () => ( "")), prompt } : { source: _nullishCoalesce(source, () => ( "")) };
2414
- window.dispatchEvent(new CustomEvent(_chunk74ALTXXCcjs.ASK_AI_OPEN_EVENT, { detail }));
2511
+ window.dispatchEvent(new CustomEvent(_chunkYL6ZB2SRcjs.ASK_AI_OPEN_EVENT, { detail }));
2415
2512
  }
2416
2513
  function MingoAiButton({
2417
2514
  source,
@@ -2423,15 +2520,15 @@ function MingoAiButton({
2423
2520
  onClick,
2424
2521
  ...props
2425
2522
  }) {
2426
- const visitor = _chunkNET74KSQcjs.useVisitorOs.call(void 0, );
2523
+ const visitor = _chunkTZ4GKUO2cjs.useVisitorOs.call(void 0, );
2427
2524
  const field = variant === "field";
2428
2525
  const inPage = variant === "button";
2429
- const commandKey = visitor.known && _chunkNET74KSQcjs.usesCommandKey.call(void 0, visitor.os);
2526
+ const commandKey = visitor.known && _chunkTZ4GKUO2cjs.usesCommandKey.call(void 0, visitor.os);
2430
2527
  const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
2431
- const label = _nullishCoalesce(labelProp, () => ( _optionalChain([assistant, 'optionalAccess', _81 => _81.name])));
2432
- const icon = _nullishCoalesce(iconProp, () => ( _optionalChain([assistant, 'optionalAccess', _82 => _82.icon])));
2433
- const runtimeOpen = _optionalChain([assistant, 'optionalAccess', _83 => _83.open]);
2434
- const eventSource = _nullishCoalesce(source, () => ( _optionalChain([assistant, 'optionalAccess', _84 => _84.source])));
2528
+ const label = _nullishCoalesce(labelProp, () => ( _optionalChain([assistant, 'optionalAccess', _89 => _89.name])));
2529
+ const icon = _nullishCoalesce(iconProp, () => ( _optionalChain([assistant, 'optionalAccess', _90 => _90.icon])));
2530
+ const runtimeOpen = _optionalChain([assistant, 'optionalAccess', _91 => _91.open]);
2531
+ const eventSource = _nullishCoalesce(source, () => ( _optionalChain([assistant, 'optionalAccess', _92 => _92.source])));
2435
2532
  const openRef = _react.useRef.call(void 0, () => void 0);
2436
2533
  _react.useEffect.call(void 0, () => {
2437
2534
  openRef.current = () => runtimeOpen ? runtimeOpen({}) : openAskAi(eventSource);
@@ -2441,7 +2538,7 @@ function MingoAiButton({
2441
2538
  const onKeyDown = (event) => {
2442
2539
  if (event.defaultPrevented || event.altKey || event.shiftKey) return;
2443
2540
  const modifier = commandKey ? event.metaKey && !event.ctrlKey : event.ctrlKey && !event.metaKey;
2444
- if (event.key.toLowerCase() !== "k" || !modifier) return;
2541
+ if (typeof event.key !== "string" || event.key.toLowerCase() !== "k" || !modifier) return;
2445
2542
  event.preventDefault();
2446
2543
  openRef.current();
2447
2544
  };
@@ -2450,7 +2547,7 @@ function MingoAiButton({
2450
2547
  }, [shortcutHint, commandKey]);
2451
2548
  if (!label) return null;
2452
2549
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2453
- _chunk2QMBXGMQcjs.Button,
2550
+ _chunkTF5D5MNOcjs.Button,
2454
2551
  {
2455
2552
  ...props,
2456
2553
  type: "button",
@@ -2461,9 +2558,9 @@ function MingoAiButton({
2461
2558
  onClick: (e) => {
2462
2559
  if (runtimeOpen) runtimeOpen({});
2463
2560
  else openAskAi(eventSource);
2464
- _optionalChain([onClick, 'optionalCall', _85 => _85(e)]);
2561
+ _optionalChain([onClick, 'optionalCall', _93 => _93(e)]);
2465
2562
  },
2466
- className: _chunk3ATAYP36cjs.cn.call(void 0,
2563
+ className: _chunk65VVJSQZcjs.cn.call(void 0,
2467
2564
  "group/mingo flex shrink-0 justify-start focus-visible:ring-ods-accent",
2468
2565
  field ? (
2469
2566
  // A row of the mobile menu like the groups under it: same height,
@@ -2492,23 +2589,23 @@ function MingoAiButton({
2492
2589
  icon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2493
2590
  "span",
2494
2591
  {
2495
- className: _chunk3ATAYP36cjs.cn.call(void 0,
2592
+ className: _chunk65VVJSQZcjs.cn.call(void 0,
2496
2593
  "relative inline-flex shrink-0 items-center justify-center overflow-hidden rounded-full",
2497
2594
  field ? "size-6" : "size-5"
2498
2595
  ),
2499
2596
  children: icon
2500
2597
  }
2501
2598
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2502
- _chunkBIA77I6Bcjs.AgentMark,
2599
+ _chunkGTONIRJUcjs.AgentMark,
2503
2600
  {
2504
2601
  agent: "mingo",
2505
- className: _chunk3ATAYP36cjs.cn.call(void 0, "relative shrink-0 text-ods-text-primary", field ? "size-6" : "size-5")
2602
+ className: _chunk65VVJSQZcjs.cn.call(void 0, "relative shrink-0 text-ods-text-primary", field ? "size-6" : "size-5")
2506
2603
  }
2507
2604
  ),
2508
2605
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2509
2606
  "span",
2510
2607
  {
2511
- className: _chunk3ATAYP36cjs.cn.call(void 0,
2608
+ className: _chunk65VVJSQZcjs.cn.call(void 0,
2512
2609
  "relative whitespace-nowrap",
2513
2610
  field ? "min-w-0 flex-1 truncate" : inPage ? "text-h6" : "sr-only text-h6 lg:not-sr-only"
2514
2611
  ),
@@ -2522,11 +2619,11 @@ function MingoAiButton({
2522
2619
  "kbd",
2523
2620
  {
2524
2621
  "aria-hidden": "true",
2525
- className: _chunk3ATAYP36cjs.cn.call(void 0,
2622
+ className: _chunk65VVJSQZcjs.cn.call(void 0,
2526
2623
  "relative h-6 min-w-9 items-center justify-center rounded border border-ods-border px-[var(--spacing-system-xxs)] text-h6",
2527
2624
  inPage ? "inline-flex" : "hidden lg:inline-flex"
2528
2625
  ),
2529
- children: visitor.known ? _chunkNET74KSQcjs.shortcutLabel.call(void 0, visitor.os, "K") : ""
2626
+ children: visitor.known ? _chunkTZ4GKUO2cjs.shortcutLabel.call(void 0, visitor.os, "K") : ""
2530
2627
  }
2531
2628
  )
2532
2629
  ]
@@ -2537,7 +2634,7 @@ function MingoAiButton({
2537
2634
  // src/components/chat/ask-prompts.tsx
2538
2635
 
2539
2636
  function AssistantGlyph({ icon, className }) {
2540
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk3ATAYP36cjs.cn.call(void 0, "inline-flex shrink-0 items-center justify-center overflow-hidden rounded-full", className), children: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIA77I6Bcjs.AgentMark, { agent: "mingo", className: "size-full" }))) });
2637
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, "inline-flex shrink-0 items-center justify-center overflow-hidden rounded-full", className), children: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGTONIRJUcjs.AgentMark, { agent: "mingo", className: "size-full" }))) });
2541
2638
  }
2542
2639
  var DEFAULT_LOADING_SLOTS = 2;
2543
2640
  var slotCount = (count, loading, prompts) => _nullishCoalesce(count, () => ( (loading ? DEFAULT_LOADING_SLOTS : prompts.length)));
@@ -2557,13 +2654,13 @@ function QuestionChips({
2557
2654
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: count }, (_, slot) => {
2558
2655
  const prompt = loading ? void 0 : prompts[slot];
2559
2656
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _nullishCoalesce(slotClassName, () => ( CHIP_SLOT_CLASS)), children: loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2560
- _chunk74ALTXXCcjs.QuickActionChipSkeleton,
2657
+ _chunkYL6ZB2SRcjs.QuickActionChipSkeleton,
2561
2658
  {
2562
2659
  variant: "question",
2563
2660
  labelCh: SKELETON_LABEL_CH[slot % SKELETON_LABEL_CH.length]
2564
2661
  }
2565
2662
  ) : prompt ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2566
- _chunk74ALTXXCcjs.QuickActionChipButton,
2663
+ _chunkYL6ZB2SRcjs.QuickActionChipButton,
2567
2664
  {
2568
2665
  variant: "question",
2569
2666
  label: prompt.label,
@@ -2572,10 +2669,10 @@ function QuestionChips({
2572
2669
  const request = { prompt: _nullishCoalesce(prompt.prompt, () => ( prompt.label)) };
2573
2670
  if (onOpen) onOpen(request);
2574
2671
  else openAskAi(source, request);
2575
- _optionalChain([onAsk, 'optionalCall', _86 => _86(prompt)]);
2672
+ _optionalChain([onAsk, 'optionalCall', _94 => _94(prompt)]);
2576
2673
  }
2577
2674
  }
2578
- ) : null }, _nullishCoalesce(_optionalChain([prompt, 'optionalAccess', _87 => _87.id]), () => ( `slot-${slot}`)));
2675
+ ) : null }, _nullishCoalesce(_optionalChain([prompt, 'optionalAccess', _95 => _95.id]), () => ( `slot-${slot}`)));
2579
2676
  }) });
2580
2677
  }
2581
2678
  function AskPrompts({
@@ -2595,12 +2692,12 @@ function AskPrompts({
2595
2692
  if (!loading && prompts.length === 0) return null;
2596
2693
  const end = align === "end";
2597
2694
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2598
- _chunk74ALTXXCcjs.ScrollShadow,
2695
+ _chunkYL6ZB2SRcjs.ScrollShadow,
2599
2696
  {
2600
2697
  axis: "horizontal",
2601
2698
  color: fadeColor,
2602
2699
  className: "w-full min-w-0 content-md:w-auto",
2603
- scrollClassName: _chunk3ATAYP36cjs.cn.call(void 0, ASK_PROMPTS_ROW_CLASS, end ? "content-md:items-end" : "content-md:items-start", className),
2700
+ scrollClassName: _chunk65VVJSQZcjs.cn.call(void 0, ASK_PROMPTS_ROW_CLASS, end ? "content-md:items-end" : "content-md:items-start", className),
2604
2701
  children: [
2605
2702
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MingoAiButton, { variant: "button", source, label, icon, className: "shrink-0" }),
2606
2703
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -2612,7 +2709,7 @@ function AskPrompts({
2612
2709
  source,
2613
2710
  onOpen,
2614
2711
  onAsk,
2615
- slotClassName: _chunk3ATAYP36cjs.cn.call(void 0, ROW_CHIP_SLOT_CLASS, end && "content-md:justify-end")
2712
+ slotClassName: _chunk65VVJSQZcjs.cn.call(void 0, ROW_CHIP_SLOT_CLASS, end && "content-md:justify-end")
2616
2713
  }
2617
2714
  )
2618
2715
  ]
@@ -2637,7 +2734,7 @@ function AskCard({
2637
2734
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2638
2735
  "div",
2639
2736
  {
2640
- className: _chunk3ATAYP36cjs.cn.call(void 0,
2737
+ className: _chunk65VVJSQZcjs.cn.call(void 0,
2641
2738
  "flex flex-col gap-[var(--spacing-system-m)] rounded-md border border-ods-border bg-ods-card p-[var(--spacing-system-l)]",
2642
2739
  className
2643
2740
  ),
@@ -2686,7 +2783,7 @@ function buildAskPromptsUrl(base, { count, topic, exclude = [] }) {
2686
2783
  return `${base}${base.includes("?") ? "&" : "?"}${params.toString()}`;
2687
2784
  }
2688
2785
  function assistantAvailable(assistant) {
2689
- return !!_optionalChain([assistant, 'optionalAccess', _88 => _88.available]);
2786
+ return !!_optionalChain([assistant, 'optionalAccess', _96 => _96.available]);
2690
2787
  }
2691
2788
  function useAskPrompts({
2692
2789
  topic,
@@ -2697,14 +2794,14 @@ function useAskPrompts({
2697
2794
  const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
2698
2795
  const base = assistantAvailable(assistant) ? assistant.askPromptsUrl : void 0;
2699
2796
  const url = base && enabled ? buildAskPromptsUrl(base, { count, topic, exclude }) : null;
2700
- const { data, dataUrl, error } = _chunkNS64LMVEcjs.useSelfFetch.call(void 0, url);
2797
+ const { data, dataUrl, error } = _chunkFZB4RMRKcjs.useSelfFetch.call(void 0, url);
2701
2798
  const landed = url !== null && (dataUrl === url || error);
2702
- return { prompts: landed ? _nullishCoalesce(_optionalChain([data, 'optionalAccess', _89 => _89.prompts]), () => ( [])) : [], isLoading: !!base && !landed, supported: !!base };
2799
+ return { prompts: landed ? _nullishCoalesce(_optionalChain([data, 'optionalAccess', _97 => _97.prompts]), () => ( [])) : [], isLoading: !!base && !landed, supported: !!base };
2703
2800
  }
2704
2801
  function useAssistantOpen(topic, onOpen) {
2705
2802
  const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
2706
- const runtimeOpen = _optionalChain([assistant, 'optionalAccess', _90 => _90.open]);
2707
- const source = _optionalChain([assistant, 'optionalAccess', _91 => _91.source]);
2803
+ const runtimeOpen = _optionalChain([assistant, 'optionalAccess', _98 => _98.open]);
2804
+ const source = _optionalChain([assistant, 'optionalAccess', _99 => _99.source]);
2708
2805
  return _react.useCallback.call(void 0,
2709
2806
  (request) => {
2710
2807
  const full = { ...request, topic };
@@ -2730,7 +2827,7 @@ function createAskQueue() {
2730
2827
  },
2731
2828
  settle(surface, ids) {
2732
2829
  const entry = entries.get(surface);
2733
- if (!entry || (_nullishCoalesce(_optionalChain([entry, 'access', _92 => _92.ids, 'optionalAccess', _93 => _93.join, 'call', _94 => _94(",")]), () => ( null))) === (_nullishCoalesce(_optionalChain([ids, 'optionalAccess', _95 => _95.join, 'call', _96 => _96(",")]), () => ( null)))) return;
2830
+ if (!entry || (_nullishCoalesce(_optionalChain([entry, 'access', _100 => _100.ids, 'optionalAccess', _101 => _101.join, 'call', _102 => _102(",")]), () => ( null))) === (_nullishCoalesce(_optionalChain([ids, 'optionalAccess', _103 => _103.join, 'call', _104 => _104(",")]), () => ( null)))) return;
2734
2831
  entry.ids = ids;
2735
2832
  publish();
2736
2833
  },
@@ -2759,7 +2856,7 @@ function createAskQueue() {
2759
2856
  }
2760
2857
  var askQueues = /* @__PURE__ */ new Map();
2761
2858
  function useAskQueue() {
2762
- const scope = _nullishCoalesce(_optionalChain([_chunkEWPR7662cjs.useAssistantRuntime.call(void 0, ), 'optionalAccess', _97 => _97.askPromptsUrl]), () => ( ""));
2859
+ const scope = _nullishCoalesce(_optionalChain([_chunkEWPR7662cjs.useAssistantRuntime.call(void 0, ), 'optionalAccess', _105 => _105.askPromptsUrl]), () => ( ""));
2763
2860
  let queue = askQueues.get(scope);
2764
2861
  if (!queue) {
2765
2862
  queue = createAskQueue();
@@ -2777,7 +2874,8 @@ function useAskSurface({
2777
2874
  const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
2778
2875
  const surface = _react.useId.call(void 0, );
2779
2876
  const queue = useAskQueue();
2780
- const picks = assistantAvailable(assistant) && !!assistant.askPromptsUrl && enabled && exclude !== null;
2877
+ const held = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
2878
+ const picks = !held && assistantAvailable(assistant) && !!assistant.askPromptsUrl && enabled && exclude !== null;
2781
2879
  _react.useLayoutEffect.call(void 0, () => {
2782
2880
  if (!picks) return void 0;
2783
2881
  queue.enter(surface);
@@ -2804,8 +2902,8 @@ function useAskSurface({
2804
2902
  }, [queue, surface, settled]);
2805
2903
  const open = useAssistantOpen(topic, onOpen);
2806
2904
  const scoped = _react.useMemo.call(void 0, () => assistant ? { ...assistant, open } : null, [assistant, open]);
2807
- const onAsk = _optionalChain([assistant, 'optionalAccess', _98 => _98.onAsk]);
2808
- const reportAsk = _react.useCallback.call(void 0, (prompt) => _optionalChain([onAsk, 'optionalCall', _99 => _99({ promptId: prompt.id, topic })]), [onAsk, topic]);
2905
+ const onAsk = _optionalChain([assistant, 'optionalAccess', _106 => _106.onAsk]);
2906
+ const reportAsk = _react.useCallback.call(void 0, (prompt) => _optionalChain([onAsk, 'optionalCall', _107 => _107({ promptId: prompt.id, topic })]), [onAsk, topic]);
2809
2907
  return { assistant, scoped, prompts, isLoading: supported && (!picks || isLoading), supported, open, reportAsk };
2810
2908
  }
2811
2909
 
@@ -2833,7 +2931,7 @@ function AssistantAskPrompts({
2833
2931
  }) {
2834
2932
  const card = variant === "card";
2835
2933
  const assistant = _chunkEWPR7662cjs.useAssistantRuntime.call(void 0, );
2836
- const slots = _nullishCoalesce(_nullishCoalesce(count, () => ( (card ? _optionalChain([assistant, 'optionalAccess', _100 => _100.askCard, 'optionalAccess', _101 => _101.count]) : void 0))), () => ( ASK_PROMPTS_DEFAULT_COUNT));
2934
+ const slots = _nullishCoalesce(_nullishCoalesce(count, () => ( (card ? _optionalChain([assistant, 'optionalAccess', _108 => _108.askCard, 'optionalAccess', _109 => _109.count]) : void 0))), () => ( ASK_PROMPTS_DEFAULT_COUNT));
2837
2935
  const ask = useAskSurface({ topic, count: slots, exclude, enabled, onOpen });
2838
2936
  if (!assistantAvailable(assistant)) return null;
2839
2937
  const shared = {
@@ -2847,12 +2945,12 @@ function AssistantAskPrompts({
2847
2945
  if (card) {
2848
2946
  const name = _nullishCoalesce(label, () => ( assistant.name));
2849
2947
  if (!name) return null;
2850
- const words2 = _nullishCoalesce(_nullishCoalesce(description, () => ( _optionalChain([assistant, 'access', _102 => _102.askCard, 'optionalAccess', _103 => _103.description]))), () => ( DEFAULT_ASK_CARD.description));
2948
+ const words2 = _nullishCoalesce(_nullishCoalesce(description, () => ( _optionalChain([assistant, 'access', _110 => _110.askCard, 'optionalAccess', _111 => _111.description]))), () => ( DEFAULT_ASK_CARD.description));
2851
2949
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEWPR7662cjs.AssistantRuntimeContext.Provider, { value: ask.scoped, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2852
2950
  AskCard,
2853
2951
  {
2854
2952
  ...shared,
2855
- title: fillAssistant(_nullishCoalesce(_nullishCoalesce(title, () => ( _optionalChain([assistant, 'access', _104 => _104.askCard, 'optionalAccess', _105 => _105.title]))), () => ( DEFAULT_ASK_CARD.title)), name),
2953
+ title: fillAssistant(_nullishCoalesce(_nullishCoalesce(title, () => ( _optionalChain([assistant, 'access', _112 => _112.askCard, 'optionalAccess', _113 => _113.title]))), () => ( DEFAULT_ASK_CARD.title)), name),
2856
2954
  description: words2 ? fillAssistant(words2, name) : void 0,
2857
2955
  count: ask.supported ? slots : 0,
2858
2956
  label: name,
@@ -2899,7 +2997,7 @@ function QuickActionMarquee({
2899
2997
  );
2900
2998
  if (items.length === 0) return null;
2901
2999
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2902
- _chunk74ALTXXCcjs.QuickActionWall,
3000
+ _chunkYL6ZB2SRcjs.QuickActionWall,
2903
3001
  {
2904
3002
  chips,
2905
3003
  mode,
@@ -2924,37 +3022,31 @@ function QuickActionMarquee({
2924
3022
 
2925
3023
 
2926
3024
  var UNREAD_NOTICE = "You have a new unread message";
3025
+ var TICKET_ROW = _chunk65VVJSQZcjs.cn.call(void 0, "flex h-20 w-full items-center gap-4 px-4", "border-b border-ods-border bg-ods-card");
3026
+ var TICKET_ROW_TEXT = "flex min-w-0 flex-1 flex-col justify-center";
3027
+ var TICKET_ROW_CHEVRON = `flex ${_chunkXFRBEXQNcjs.TILE_SIZE.xl} shrink-0 items-center justify-center rounded-md border`;
3028
+ function ChatTicketItemSkeleton({ className }) {
3029
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "aria-hidden": true, className: _chunk65VVJSQZcjs.cn.call(void 0, TICKET_ROW, className), children: [
3030
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: TICKET_ROW_TEXT, children: [
3031
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h3", className: "w-1/2" }),
3032
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "h6", className: "w-1/3" })
3033
+ ] }),
3034
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJTSUAHDLcjs.TagSkeleton, { className: "w-20" }),
3035
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, TICKET_ROW_CHEVRON, "border-ods-border bg-ods-card"), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "size-6 text-ods-text-secondary" }) })
3036
+ ] });
3037
+ }
2927
3038
  var ChatTicketItem = _react.forwardRef.call(void 0,
2928
3039
  ({ className, ticket, onClick, isLoading = false, ...props }, ref) => {
2929
- if (isLoading) {
2930
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2931
- "div",
2932
- {
2933
- "aria-hidden": true,
2934
- className: _chunk3ATAYP36cjs.cn.call(void 0,
2935
- "flex h-20 w-full items-center gap-4 px-4",
2936
- "border-b border-ods-border bg-ods-card",
2937
- className
2938
- ),
2939
- children: [
2940
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center gap-1", children: [
2941
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-5 w-1/2" }),
2942
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-4 w-1/3" })
2943
- ] }),
2944
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-8 w-20 shrink-0 rounded-r-md" }),
2945
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "size-12 shrink-0 rounded-md" })
2946
- ]
2947
- }
2948
- );
2949
- }
3040
+ const scoped = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
3041
+ if (isLoading || scoped) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatTicketItemSkeleton, { className });
2950
3042
  if (!ticket) return null;
2951
- const statusTagProps = _chunkBIA77I6Bcjs.resolveStatusTagProps.call(void 0, {
3043
+ const statusTagProps = _chunkGTONIRJUcjs.resolveStatusTagProps.call(void 0, {
2952
3044
  status: ticket.status,
2953
3045
  statusKind: ticket.statusKind,
2954
3046
  statusName: ticket.statusLabel,
2955
3047
  statusColor: ticket.statusColor
2956
3048
  });
2957
- const isResolved = ticket.statusKind === "RESOLVED" || _chunkBIA77I6Bcjs.resolveTicketStatus.call(void 0, ticket.status) === "RESOLVED";
3049
+ const isResolved = ticket.statusKind === "RESOLVED" || _chunkGTONIRJUcjs.resolveTicketStatus.call(void 0, ticket.status) === "RESOLVED";
2958
3050
  const composedSubtitle = [ticket.ticketNumber, ticket.category, ticket.timeAgo].filter(Boolean).join(" \u2022 ");
2959
3051
  const subtitle = _nullishCoalesce(ticket.subtitle, () => ( (ticket.unread ? UNREAD_NOTICE : composedSubtitle)));
2960
3052
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -2962,10 +3054,9 @@ var ChatTicketItem = _react.forwardRef.call(void 0,
2962
3054
  {
2963
3055
  ref,
2964
3056
  type: "button",
2965
- onClick: () => _optionalChain([onClick, 'optionalCall', _106 => _106(ticket.id)]),
2966
- className: _chunk3ATAYP36cjs.cn.call(void 0,
2967
- "flex h-20 w-full items-center gap-4 px-4",
2968
- "border-b border-ods-border bg-ods-card",
3057
+ onClick: () => _optionalChain([onClick, 'optionalCall', _114 => _114(ticket.id)]),
3058
+ className: _chunk65VVJSQZcjs.cn.call(void 0,
3059
+ TICKET_ROW,
2969
3060
  "cursor-pointer transition-colors duration-150",
2970
3061
  "hover:bg-ods-bg-hover",
2971
3062
  // `focus-visible:` covers keyboard nav AND the post-click state
@@ -2978,11 +3069,11 @@ var ChatTicketItem = _react.forwardRef.call(void 0,
2978
3069
  ),
2979
3070
  ...props,
2980
3071
  children: [
2981
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col justify-center text-left", children: [
3072
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, TICKET_ROW_TEXT, "text-left"), children: [
2982
3073
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2983
3074
  "p",
2984
3075
  {
2985
- className: _chunk3ATAYP36cjs.cn.call(void 0, "truncate text-h3", isResolved ? "text-ods-text-secondary" : "text-ods-text-primary"),
3076
+ className: _chunk65VVJSQZcjs.cn.call(void 0, "truncate text-h3", isResolved ? "text-ods-text-secondary" : "text-ods-text-primary"),
2986
3077
  title: ticket.title,
2987
3078
  children: ticket.title
2988
3079
  }
@@ -2990,14 +3081,14 @@ var ChatTicketItem = _react.forwardRef.call(void 0,
2990
3081
  subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2991
3082
  "p",
2992
3083
  {
2993
- className: _chunk3ATAYP36cjs.cn.call(void 0, "truncate text-h6", ticket.unread ? "text-ods-open-yellow" : "text-ods-text-secondary"),
3084
+ className: _chunk65VVJSQZcjs.cn.call(void 0, "truncate text-h6", ticket.unread ? "text-ods-open-yellow" : "text-ods-text-secondary"),
2994
3085
  title: subtitle,
2995
3086
  children: subtitle
2996
3087
  }
2997
3088
  )
2998
3089
  ] }),
2999
3090
  ticket.linkedTaskLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3000
- _chunkEQZXJUYVcjs.Tag,
3091
+ _chunkJTSUAHDLcjs.Tag,
3001
3092
  {
3002
3093
  label: ticket.linkedTaskLabel,
3003
3094
  variant: "outline",
@@ -3005,19 +3096,19 @@ var ChatTicketItem = _react.forwardRef.call(void 0,
3005
3096
  className: "hidden shrink-0 sm:inline-flex"
3006
3097
  }
3007
3098
  ),
3008
- (statusTagProps.status || statusTagProps.label) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIA77I6Bcjs.TicketStatusTag, { ...statusTagProps }),
3099
+ (statusTagProps.status || statusTagProps.label) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGTONIRJUcjs.TicketStatusTag, { ...statusTagProps }),
3009
3100
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3010
3101
  "div",
3011
3102
  {
3012
3103
  "data-testid": "chat-ticket-item-chevron",
3013
- className: _chunk3ATAYP36cjs.cn.call(void 0,
3014
- "flex size-12 shrink-0 items-center justify-center rounded-md border",
3104
+ className: _chunk65VVJSQZcjs.cn.call(void 0,
3105
+ TICKET_ROW_CHEVRON,
3015
3106
  ticket.unread ? "border-ods-open-yellow bg-ods-open-yellow" : "border-ods-border bg-ods-card"
3016
3107
  ),
3017
3108
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3018
3109
  _lucidereact.ChevronRight,
3019
3110
  {
3020
- className: _chunk3ATAYP36cjs.cn.call(void 0, "size-6", ticket.unread ? "text-ods-text-on-accent" : "text-ods-text-secondary")
3111
+ className: _chunk65VVJSQZcjs.cn.call(void 0, "size-6", ticket.unread ? "text-ods-text-on-accent" : "text-ods-text-secondary")
3021
3112
  }
3022
3113
  )
3023
3114
  }
@@ -3033,28 +3124,28 @@ ChatTicketItem.displayName = "ChatTicketItem";
3033
3124
 
3034
3125
  var ChatTicketList = _react.forwardRef.call(void 0,
3035
3126
  ({ className, tickets, onTicketClick, isLoading = false, skeletonCount = 5, ...props }, ref) => {
3036
- const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunk74ALTXXCcjs.useScrollFade.call(void 0, );
3127
+ const { scrollRef, fadeTop, fadeBottom, update: updateFade } = _chunkYL6ZB2SRcjs.useScrollFade.call(void 0, );
3037
3128
  if (isLoading) {
3038
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, className: _chunk3ATAYP36cjs.cn.call(void 0, "flex min-h-0 flex-col gap-2", className), ...props, children: [
3129
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, className: _chunk65VVJSQZcjs.cn.call(void 0, "flex min-h-0 flex-col gap-2", className), ...props, children: [
3039
3130
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "shrink-0 text-ods-text-secondary text-h5", children: "Your Chats:" }),
3040
3131
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-h-0 flex-1 overflow-hidden rounded-md border border-ods-border", children: Array.from({ length: skeletonCount }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatTicketItem, { isLoading: true }, i)) })
3041
3132
  ] });
3042
3133
  }
3043
3134
  if (tickets.length === 0) return null;
3044
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, className: _chunk3ATAYP36cjs.cn.call(void 0, "flex min-h-0 flex-col gap-2", className), ...props, children: [
3135
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, className: _chunk65VVJSQZcjs.cn.call(void 0, "flex min-h-0 flex-col gap-2", className), ...props, children: [
3045
3136
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "shrink-0 text-ods-text-secondary text-h5", children: "Your Chats:" }),
3046
3137
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
3047
3138
  "div",
3048
3139
  {
3049
- className: _chunk3ATAYP36cjs.cn.call(void 0,
3140
+ className: _chunk65VVJSQZcjs.cn.call(void 0,
3050
3141
  "relative min-h-0 flex-1 overflow-hidden border-x border-ods-border",
3051
3142
  !fadeTop && "rounded-t-md border-t",
3052
3143
  !fadeBottom && "rounded-b-md border-b"
3053
3144
  ),
3054
3145
  children: [
3055
3146
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: scrollRef, className: "h-full overflow-y-auto overscroll-contain", onScroll: updateFade, children: tickets.map((ticket) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatTicketItem, { ticket, onClick: onTicketClick }, ticket.id)) }),
3056
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk74ALTXXCcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
3057
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk74ALTXXCcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
3147
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYL6ZB2SRcjs.ScrollFadeOverlay, { edge: "top", visible: fadeTop }),
3148
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYL6ZB2SRcjs.ScrollFadeOverlay, { edge: "bottom", visible: fadeBottom })
3058
3149
  ]
3059
3150
  }
3060
3151
  )
@@ -3075,7 +3166,7 @@ var DialogListItemSkeleton = _react.forwardRef.call(void 0,
3075
3166
  "div",
3076
3167
  {
3077
3168
  ref,
3078
- className: _chunk3ATAYP36cjs.cn.call(void 0,
3169
+ className: _chunk65VVJSQZcjs.cn.call(void 0,
3079
3170
  "flex items-center gap-4 overflow-clip",
3080
3171
  "px-4 py-3",
3081
3172
  "border-b border-ods-border",
@@ -3085,10 +3176,10 @@ var DialogListItemSkeleton = _react.forwardRef.call(void 0,
3085
3176
  ...props,
3086
3177
  children: [
3087
3178
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-1 flex-col items-start justify-center gap-1", children: [
3088
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-6 w-full max-w-[200px] rounded" }) }),
3089
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-4 w-32 rounded" })
3179
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "h-6 w-full max-w-[200px] rounded" }) }),
3180
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "h-4 w-32 rounded" })
3090
3181
  ] }),
3091
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "size-6 shrink-0 rounded" })
3182
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "size-6 shrink-0 rounded" })
3092
3183
  ]
3093
3184
  }
3094
3185
  );
@@ -3101,11 +3192,11 @@ var ChatSidebarSkeleton = _react.forwardRef.call(void 0,
3101
3192
  "div",
3102
3193
  {
3103
3194
  ref,
3104
- className: _chunk3ATAYP36cjs.cn.call(void 0, "flex h-full w-80 flex-col", "bg-ods-bg", "border-r border-ods-border", className),
3195
+ className: _chunk65VVJSQZcjs.cn.call(void 0, "flex h-full w-80 flex-col", "bg-ods-bg", "border-r border-ods-border", className),
3105
3196
  ...props,
3106
3197
  children: [
3107
3198
  showNewChatButton && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center justify-center border-b border-ods-border bg-ods-card px-4 py-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3108
- _chunk2QMBXGMQcjs.Button,
3199
+ _chunkTF5D5MNOcjs.Button,
3109
3200
  {
3110
3201
  variant: "transparent",
3111
3202
  disabled: true,
@@ -3127,17 +3218,17 @@ ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
3127
3218
  var DialogListItem = _react.forwardRef.call(void 0,
3128
3219
  ({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
3129
3220
  const handleClick = (e) => {
3130
- _optionalChain([onDialogSelect, 'optionalCall', _107 => _107(dialog.id)]);
3131
- _optionalChain([onClick, 'optionalCall', _108 => _108(e)]);
3221
+ _optionalChain([onDialogSelect, 'optionalCall', _115 => _115(dialog.id)]);
3222
+ _optionalChain([onClick, 'optionalCall', _116 => _116(e)]);
3132
3223
  };
3133
3224
  const formatTimestamp = (timestamp) => {
3134
- return _chunkEQZXJUYVcjs.formatDateWithTimezone.call(void 0, timestamp, _chunkEQZXJUYVcjs.VIEWER_TIMEZONE, "numericDateTime24h");
3225
+ return _chunkJTSUAHDLcjs.formatDateWithTimezone.call(void 0, timestamp, _chunkJTSUAHDLcjs.VIEWER_TIMEZONE, "numericDateTime24h");
3135
3226
  };
3136
3227
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
3137
3228
  "div",
3138
3229
  {
3139
3230
  ref,
3140
- className: _chunk3ATAYP36cjs.cn.call(void 0,
3231
+ className: _chunk65VVJSQZcjs.cn.call(void 0,
3141
3232
  "flex items-center gap-4 overflow-clip",
3142
3233
  "px-4 py-3",
3143
3234
  "cursor-pointer border-b border-ods-border",
@@ -3153,7 +3244,7 @@ var DialogListItem = _react.forwardRef.call(void 0,
3153
3244
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex w-full min-w-0 items-center", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3154
3245
  "h3",
3155
3246
  {
3156
- className: _chunk3ATAYP36cjs.cn.call(void 0,
3247
+ className: _chunk65VVJSQZcjs.cn.call(void 0,
3157
3248
  "min-w-0 flex-1 text-h6",
3158
3249
  isActive ? "text-ods-accent" : "text-ods-text-primary",
3159
3250
  "truncate"
@@ -3201,7 +3292,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
3201
3292
  (entries) => {
3202
3293
  const [entry] = entries;
3203
3294
  if (entry.isIntersecting && !isFetchingRef.current) {
3204
- _optionalChain([onLoadMoreRef, 'access', _109 => _109.current, 'optionalCall', _110 => _110()]);
3295
+ _optionalChain([onLoadMoreRef, 'access', _117 => _117.current, 'optionalCall', _118 => _118()]);
3205
3296
  }
3206
3297
  },
3207
3298
  { root: scrollContainer, rootMargin: "100px", threshold: 0.1 }
@@ -3216,11 +3307,11 @@ var ChatSidebar = _react.forwardRef.call(void 0,
3216
3307
  "div",
3217
3308
  {
3218
3309
  ref,
3219
- className: _chunk3ATAYP36cjs.cn.call(void 0, "flex h-full w-80 flex-col", "bg-ods-bg", "border-r border-ods-border", className),
3310
+ className: _chunk65VVJSQZcjs.cn.call(void 0, "flex h-full w-80 flex-col", "bg-ods-bg", "border-r border-ods-border", className),
3220
3311
  ...props,
3221
3312
  children: [
3222
3313
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex shrink-0 items-center justify-center border-b border-ods-border bg-ods-card px-4 py-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3223
- _chunk2QMBXGMQcjs.Button,
3314
+ _chunkTF5D5MNOcjs.Button,
3224
3315
  {
3225
3316
  onClick: onNewChat,
3226
3317
  variant: "transparent",
@@ -3271,7 +3362,7 @@ ChatSidebar.displayName = "ChatSidebar";
3271
3362
  // src/components/chat/chat-top-navigation.tsx
3272
3363
 
3273
3364
 
3274
- var edgeButtonClass = _chunk3ATAYP36cjs.cn.call(void 0,
3365
+ var edgeButtonClass = _chunk65VVJSQZcjs.cn.call(void 0,
3275
3366
  "flex size-14 shrink-0 items-center justify-center border-ods-border text-ods-text-secondary",
3276
3367
  "hover:text-ods-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ods-focus",
3277
3368
  "[&_svg]:size-6"
@@ -3289,7 +3380,7 @@ var ChatTopNavigation = _react.forwardRef.call(void 0,
3289
3380
  before,
3290
3381
  isLoading,
3291
3382
  ...props
3292
- }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "header", { ref, className: _chunk3ATAYP36cjs.cn.call(void 0, "flex shrink-0 flex-col bg-ods-bg", className), ...props, children: [
3383
+ }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "header", { ref, className: _chunk65VVJSQZcjs.cn.call(void 0, "flex shrink-0 flex-col bg-ods-bg", className), ...props, children: [
3293
3384
  before,
3294
3385
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-14 items-stretch border-b border-ods-border", children: [
3295
3386
  onToggleSidebar && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -3299,19 +3390,19 @@ var ChatTopNavigation = _react.forwardRef.call(void 0,
3299
3390
  onClick: onToggleSidebar,
3300
3391
  "aria-label": sidebarOpen ? "Hide sidebar" : "Show sidebar",
3301
3392
  "aria-expanded": sidebarOpen,
3302
- className: _chunk3ATAYP36cjs.cn.call(void 0, edgeButtonClass, "border-r"),
3393
+ className: _chunk65VVJSQZcjs.cn.call(void 0, edgeButtonClass, "border-r"),
3303
3394
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5TANV4ONcjs.SidebarIcon, {})
3304
3395
  }
3305
3396
  ),
3306
3397
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-m)] px-[var(--spacing-system-m)]", children: [
3307
3398
  isLoading ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
3308
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "size-10 shrink-0 rounded-full" }),
3399
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "size-10 shrink-0 rounded-full" }),
3309
3400
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-xxs)]", children: [
3310
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-5 w-24" }),
3311
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-4 w-32" })
3401
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "h-5 w-24" }),
3402
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "h-4 w-32" })
3312
3403
  ] })
3313
3404
  ] }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
3314
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkEQZXJUYVcjs.SquareAvatar, { src: _nullishCoalesce(avatarUrl, () => ( void 0)), alt: name, fallback: name, size: "md", variant: "round" }),
3405
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJTSUAHDLcjs.SquareAvatar, { src: _nullishCoalesce(avatarUrl, () => ( void 0)), alt: name, fallback: name, size: "md", variant: "round" }),
3315
3406
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 flex-col", children: [
3316
3407
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-primary text-h3", children: name }),
3317
3408
  subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "truncate text-ods-text-secondary text-h6", children: subtitle })
@@ -3325,7 +3416,7 @@ var ChatTopNavigation = _react.forwardRef.call(void 0,
3325
3416
  type: "button",
3326
3417
  onClick: onOpenSettings,
3327
3418
  "aria-label": "Settings",
3328
- className: _chunk3ATAYP36cjs.cn.call(void 0, edgeButtonClass, "border-l"),
3419
+ className: _chunk65VVJSQZcjs.cn.call(void 0, edgeButtonClass, "border-l"),
3329
3420
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNAGWQAIMcjs.Settings01Icon, {})
3330
3421
  }
3331
3422
  )
@@ -3368,7 +3459,7 @@ function OnboardingCarousel({
3368
3459
  "aria-roledescription": "carousel",
3369
3460
  "aria-label": label,
3370
3461
  onKeyDown: handleKeyDown,
3371
- className: _chunk3ATAYP36cjs.cn.call(void 0,
3462
+ className: _chunk65VVJSQZcjs.cn.call(void 0,
3372
3463
  "flex min-h-0 w-full flex-1 flex-col items-center gap-[calc(2*var(--spacing-system-xlf))]",
3373
3464
  className
3374
3465
  ),
@@ -3390,7 +3481,7 @@ function OnboardingCarousel({
3390
3481
  "aria-label": `${i + 1} of ${steps.length}`,
3391
3482
  "aria-hidden": !isCurrent,
3392
3483
  inert: !isCurrent || void 0,
3393
- className: _chunk3ATAYP36cjs.cn.call(void 0,
3484
+ className: _chunk65VVJSQZcjs.cn.call(void 0,
3394
3485
  "flex w-[var(--onboarding-card-w)] shrink-0 flex-col items-center justify-center gap-[var(--spacing-system-m)] rounded-md border border-ods-border bg-ods-card px-[var(--spacing-system-xl)] py-[calc(2*var(--spacing-system-xlf))] text-center",
3395
3486
  i === 0 && "ml-[calc((100%-var(--onboarding-card-w))/2)]"
3396
3487
  ),
@@ -3416,12 +3507,12 @@ function OnboardingCarousel({
3416
3507
  " of ",
3417
3508
  steps.length,
3418
3509
  ": ",
3419
- _optionalChain([steps, 'access', _111 => _111[index], 'optionalAccess', _112 => _112.title])
3510
+ _optionalChain([steps, 'access', _119 => _119[index], 'optionalAccess', _120 => _120.title])
3420
3511
  ] }),
3421
3512
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", role: "group", "aria-label": "Choose step", children: steps.map((step, i) => {
3422
3513
  const isCurrent = i === index;
3423
3514
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3424
- _chunk2QMBXGMQcjs.Button,
3515
+ _chunkTF5D5MNOcjs.Button,
3425
3516
  {
3426
3517
  variant: "transparent",
3427
3518
  "aria-current": isCurrent ? "step" : void 0,
@@ -3431,7 +3522,7 @@ function OnboardingCarousel({
3431
3522
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3432
3523
  "span",
3433
3524
  {
3434
- className: _chunk3ATAYP36cjs.cn.call(void 0,
3525
+ className: _chunk65VVJSQZcjs.cn.call(void 0,
3435
3526
  "size-1.5 rounded-full transition-colors duration-150",
3436
3527
  isCurrent ? "bg-ods-accent" : "bg-ods-text-secondary"
3437
3528
  )
@@ -3444,7 +3535,7 @@ function OnboardingCarousel({
3444
3535
  ] }),
3445
3536
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center justify-center gap-[var(--spacing-system-m)]", children: [
3446
3537
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3447
- _chunk2QMBXGMQcjs.Button,
3538
+ _chunkTF5D5MNOcjs.Button,
3448
3539
  {
3449
3540
  variant: "outline",
3450
3541
  className: "w-[200px]",
@@ -3453,13 +3544,71 @@ function OnboardingCarousel({
3453
3544
  children: previousLabel
3454
3545
  }
3455
3546
  ),
3456
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2QMBXGMQcjs.Button, { variant: "accent", className: "w-[200px]", onClick: isLast ? onComplete : () => goTo(index + 1), children: isLast ? completeLabel : nextLabel })
3547
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { variant: "accent", className: "w-[200px]", onClick: isLast ? onComplete : () => goTo(index + 1), children: isLast ? completeLabel : nextLabel })
3457
3548
  ] })
3458
3549
  ]
3459
3550
  }
3460
3551
  );
3461
3552
  }
3462
3553
 
3554
+ // src/components/chat/entity-cards/admin-content-card-grid.tsx
3555
+
3556
+ var ADMIN_CONTENT_CARD_GRID_CLASS = "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-[var(--spacing-system-lf)]";
3557
+ function AdminContentCardGridSkeleton({
3558
+ count = 12,
3559
+ Skeleton = _chunkDGNBXZXTcjs.AdminContentCardSkeleton,
3560
+ className,
3561
+ label = "Loading",
3562
+ region = true
3563
+ }) {
3564
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3565
+ _chunkWEANWBJHcjs.LoadingRegion,
3566
+ {
3567
+ label,
3568
+ announce: region,
3569
+ className: _chunk65VVJSQZcjs.cn.call(void 0, ADMIN_CONTENT_CARD_GRID_CLASS, className),
3570
+ "data-state": "loading",
3571
+ children: Array.from({ length: count }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Skeleton, {}, i))
3572
+ }
3573
+ );
3574
+ }
3575
+ function AdminContentCardGrid({
3576
+ items,
3577
+ pageSize,
3578
+ loading,
3579
+ itemKey,
3580
+ renderCard,
3581
+ empty,
3582
+ Skeleton = _chunkDGNBXZXTcjs.AdminContentCardSkeleton,
3583
+ className,
3584
+ loadingLabel,
3585
+ loadingRegion
3586
+ }) {
3587
+ const gridClass = _chunk65VVJSQZcjs.cn.call(void 0, ADMIN_CONTENT_CARD_GRID_CLASS, className);
3588
+ if (loading)
3589
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3590
+ AdminContentCardGridSkeleton,
3591
+ {
3592
+ count: pageSize,
3593
+ Skeleton,
3594
+ className,
3595
+ label: loadingLabel,
3596
+ region: loadingRegion
3597
+ }
3598
+ );
3599
+ const slots = Array.from({ length: Math.max(0, pageSize - items.length) }, (_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Skeleton, { className: "invisible" }, `slot-${i}`));
3600
+ if (items.length === 0) {
3601
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative", "data-state": "empty", children: [
3602
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: gridClass, children: slots }),
3603
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "absolute inset-x-0 top-0", children: empty })
3604
+ ] });
3605
+ }
3606
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: gridClass, "data-state": "items", children: [
3607
+ items.map((item) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full", children: renderCard(item) }, itemKey(item))),
3608
+ slots.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "contents", children: slots })
3609
+ ] });
3610
+ }
3611
+
3463
3612
  // src/components/chat/entity-cards/slack-message-card.tsx
3464
3613
 
3465
3614
 
@@ -3477,8 +3626,9 @@ function parseChannelFromUrl(url) {
3477
3626
  return null;
3478
3627
  }
3479
3628
  function SlackMessageCard({ item, variant = "compact", className, anchorProps }) {
3629
+ if (_chunkXFRBEXQNcjs.useLoadingScope.call(void 0, )) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SlackMessageCardSkeleton, { variant, className });
3480
3630
  const channel = _nullishCoalesce(_nullishCoalesce(item.channel, () => ( parseChannelFromUrl(item.url))), () => ( null));
3481
- const dateText = _chunkEQZXJUYVcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
3631
+ const dateText = _chunkJTSUAHDLcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
3482
3632
  if (variant === "row") {
3483
3633
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex min-w-0 items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
3484
3634
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOWDRZM73cjs.SlackIcon, { className: "h-3.5 w-3.5 shrink-0" }),
@@ -3504,46 +3654,50 @@ function SlackMessageCard({ item, variant = "compact", className, anchorProps })
3504
3654
  metaParts.push(
3505
3655
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
3506
3656
  );
3507
- const href = _chunk22XAPV6Ncjs.safeHref.call(void 0, item.url);
3657
+ const href = _chunkDGNBXZXTcjs.safeHref.call(void 0, item.url);
3508
3658
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
3509
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOWDRZM73cjs.SlackIcon, { className: "h-5 w-5" }) }),
3510
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_TEXT_COL, children: [
3511
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_TITLE, children: item.title }) }),
3512
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_SUMMARY, children: item.preview || _chunk22XAPV6Ncjs.COMPACT_CARD_ROW_FILLER }) }),
3513
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
3659
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOWDRZM73cjs.SlackIcon, { className: "h-5 w-5" }) }),
3660
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_TEXT_COL, children: [
3661
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_TITLE, children: item.title }) }),
3662
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_SUMMARY, children: item.preview || _chunkDGNBXZXTcjs.COMPACT_CARD_ROW_FILLER }) }),
3663
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_META_ROW, children: metaParts.length > 0 ? metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
3514
3664
  i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
3515
3665
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
3516
- ] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_SUMMARY, children: _chunk22XAPV6Ncjs.COMPACT_CARD_ROW_FILLER }) }) })
3666
+ ] }, i)) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_SUMMARY, children: _chunkDGNBXZXTcjs.COMPACT_CARD_ROW_FILLER }) }) })
3517
3667
  ] }),
3518
3668
  href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
3519
3669
  ] });
3520
3670
  if (anchorProps) {
3521
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: `${_chunk22XAPV6Ncjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
3671
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: `${_chunkDGNBXZXTcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
3522
3672
  }
3523
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunk22XAPV6Ncjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk22XAPV6Ncjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
3673
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkDGNBXZXTcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkDGNBXZXTcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
3524
3674
  }
3525
3675
  function SlackMessageCardSkeleton({
3526
3676
  variant = "compact",
3527
3677
  className
3528
3678
  }) {
3529
3679
  if (variant === "row") {
3530
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex min-w-0 items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
3531
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-3.5 w-3.5 shrink-0 rounded" }),
3532
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-3 w-32 shrink-0 rounded" }),
3533
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-3 w-2/3 flex-1 rounded" }),
3534
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-3 w-24 shrink-0 rounded" }),
3535
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-3 w-20 shrink-0 rounded" })
3536
- ] });
3680
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3681
+ _chunkDGNBXZXTcjs.ActivityRowSkeleton,
3682
+ {
3683
+ lead: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
3684
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "h-3.5 w-3.5 shrink-0 rounded" }),
3685
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "h-3 w-32 shrink-0 rounded" })
3686
+ ] }),
3687
+ trailingWidths: ["w-24", "w-20"],
3688
+ className
3689
+ }
3690
+ );
3537
3691
  }
3538
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunk22XAPV6Ncjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
3539
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: _chunk22XAPV6Ncjs.COMPACT_CARD_SKELETON_IMAGE_SLOT }),
3540
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_TEXT_COL, children: [
3541
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3.5 w-2/3 rounded" }) }),
3542
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3 w-5/6 rounded" }) }),
3543
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3 w-1/3 rounded" }) })
3544
- ] }),
3545
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3.5 w-3.5 rounded" }) })
3546
- ] });
3692
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3693
+ _chunkDGNBXZXTcjs.CompactCardSkeleton,
3694
+ {
3695
+ titleWidth: "w-2/3",
3696
+ rows: [{ width: "w-5/6" }, { width: "w-1/3" }],
3697
+ trailingIcon: true,
3698
+ className
3699
+ }
3700
+ );
3547
3701
  }
3548
3702
 
3549
3703
  // src/components/chat/entity-cards/hubspot-ticket-card.tsx
@@ -3569,14 +3723,15 @@ function statusScheme(status) {
3569
3723
  return "default";
3570
3724
  }
3571
3725
  function HubspotTicketCard({ item, variant = "compact", className, anchorProps }) {
3726
+ if (_chunkXFRBEXQNcjs.useLoadingScope.call(void 0, )) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HubspotTicketCardSkeleton, { variant, className });
3572
3727
  const statusText = _nullishCoalesce(item.statusLabel, () => ( formatToken(item.status)));
3573
3728
  const priorityText = formatToken(item.priority);
3574
- const dateText = _chunkEQZXJUYVcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
3729
+ const dateText = _chunkJTSUAHDLcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
3575
3730
  if (variant === "row") {
3576
3731
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex min-w-0 items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
3577
3732
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "max-w-[260px] shrink-0 truncate text-ods-text-primary text-h6", children: item.title }),
3578
3733
  item.preview ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1 truncate text-ods-text-secondary text-h6", children: item.preview }) : null,
3579
- statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk22XAPV6Ncjs.StatusBadge, { text: statusText, variant: "button", colorScheme: statusScheme(item.status) }) : null,
3734
+ statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNBXZXTcjs.StatusBadge, { text: statusText, variant: "button", colorScheme: statusScheme(item.status) }) : null,
3580
3735
  dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "w-24 shrink-0 text-right text-ods-text-secondary text-h6", children: dateText }) : null
3581
3736
  ] });
3582
3737
  }
@@ -3590,13 +3745,13 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
3590
3745
  metaParts.push(
3591
3746
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }, "date")
3592
3747
  );
3593
- const href = _chunk22XAPV6Ncjs.safeHref.call(void 0, item.url);
3748
+ const href = _chunkDGNBXZXTcjs.safeHref.call(void 0, item.url);
3594
3749
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
3595
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_TEXT_COL, children: [
3750
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_TEXT_COL, children: [
3596
3751
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
3597
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk22XAPV6Ncjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
3752
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkDGNBXZXTcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
3598
3753
  priorityText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3599
- _chunk22XAPV6Ncjs.StatusBadge,
3754
+ _chunkDGNBXZXTcjs.StatusBadge,
3600
3755
  {
3601
3756
  text: priorityText,
3602
3757
  variant: "button",
@@ -3605,7 +3760,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
3605
3760
  }
3606
3761
  ) : null,
3607
3762
  statusText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3608
- _chunk22XAPV6Ncjs.StatusBadge,
3763
+ _chunkDGNBXZXTcjs.StatusBadge,
3609
3764
  {
3610
3765
  text: statusText,
3611
3766
  variant: "button",
@@ -3619,7 +3774,7 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
3619
3774
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: item.customerEmail })
3620
3775
  ] }) : null,
3621
3776
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-4 whitespace-pre-wrap break-words text-ods-text-secondary text-h6", children: item.preview || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "italic text-ods-text-secondary/60", children: "No description provided." }) }) }),
3622
- metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
3777
+ metaParts.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_META_ROW, children: metaParts.map((part, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react2.default.Fragment, { children: [
3623
3778
  i > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/40", children: "\xB7" }) : null,
3624
3779
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 truncate", children: part })
3625
3780
  ] }, i)) }) }) : null
@@ -3627,9 +3782,9 @@ function HubspotTicketCard({ item, variant = "compact", className, anchorProps }
3627
3782
  href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
3628
3783
  ] });
3629
3784
  if (anchorProps) {
3630
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: `${_chunk22XAPV6Ncjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
3785
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: `${_chunkDGNBXZXTcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
3631
3786
  }
3632
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunk22XAPV6Ncjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk22XAPV6Ncjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
3787
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target: "_blank", rel: "noopener noreferrer", className: `${_chunkDGNBXZXTcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkDGNBXZXTcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
3633
3788
  }
3634
3789
  function HubspotTicketCardSkeleton({
3635
3790
  variant = "compact",
@@ -3637,41 +3792,35 @@ function HubspotTicketCardSkeleton({
3637
3792
  }) {
3638
3793
  if (variant === "row") {
3639
3794
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: `flex min-w-0 items-center gap-3 ${_nullishCoalesce(className, () => ( ""))}`, children: [
3640
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-3 w-40 shrink-0 rounded" }),
3641
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-3 w-2/3 flex-1 rounded" }),
3642
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-3 w-16 shrink-0 rounded" }),
3643
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { className: "h-3 w-20 shrink-0 rounded" })
3795
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "h-3 w-40 shrink-0 rounded" }),
3796
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "h-3 w-2/3 flex-1 rounded" }),
3797
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "h-3 w-16 shrink-0 rounded" }),
3798
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.UnifiedSkeleton, { className: "h-3 w-20 shrink-0 rounded" })
3644
3799
  ] });
3645
3800
  }
3646
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunk22XAPV6Ncjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
3647
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_TEXT_COL, children: [
3648
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
3649
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3.5 w-2/3 rounded" }),
3650
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-4 w-12 rounded-full" }),
3651
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-4 w-16 rounded-full" })
3652
- ] }),
3653
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-4 w-1/2 rounded" }),
3654
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-col gap-0", children: [
3655
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-5 w-5/6 rounded" }),
3656
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-5 w-4/6 rounded" }),
3657
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-5 w-3/4 rounded" }),
3658
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-5 w-2/5 rounded" })
3659
- ] }),
3660
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3 w-1/3 rounded" }) })
3661
- ] }),
3662
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3.5 w-3.5 rounded" }) })
3663
- ] });
3801
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3802
+ _chunkDGNBXZXTcjs.CompactCardSkeleton,
3803
+ {
3804
+ slot: false,
3805
+ titleWidth: "w-2/3",
3806
+ titleBadges: ["w-12", "w-16"],
3807
+ rows: [{ width: "w-1/2" }, { width: "w-5/6", lines: 4 }, { width: "w-1/3" }],
3808
+ trailingIcon: true,
3809
+ className
3810
+ }
3811
+ );
3664
3812
  }
3665
3813
 
3666
3814
  // src/components/chat/entity-cards/data-room-doc-card.tsx
3667
3815
 
3668
3816
 
3669
3817
  function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
3818
+ if (_chunkXFRBEXQNcjs.useLoadingScope.call(void 0, )) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataRoomDocCardSkeleton, { className });
3670
3819
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
3671
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_TEXT_COL, children: [
3820
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_TEXT_COL, children: [
3672
3821
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
3673
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk22XAPV6Ncjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
3674
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk22XAPV6Ncjs.StatusBadge, { text: badgeText, variant: "button", colorScheme: "cyan", className: "shrink-0" })
3822
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkDGNBXZXTcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
3823
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNBXZXTcjs.StatusBadge, { text: badgeText, variant: "button", colorScheme: "cyan", className: "shrink-0" })
3675
3824
  ] }),
3676
3825
  item.path ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1 text-ods-text-secondary text-h6", children: [
3677
3826
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "shrink-0 text-ods-text-secondary/70", children: "Path:" }),
@@ -3679,42 +3828,67 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
3679
3828
  ] }) : null,
3680
3829
  item.preview ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex min-w-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "line-clamp-2 whitespace-pre-wrap break-words text-ods-text-secondary text-h6", children: item.preview }) }) : null
3681
3830
  ] }),
3682
- _optionalChain([anchorProps, 'optionalAccess', _113 => _113.href]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
3831
+ _optionalChain([anchorProps, 'optionalAccess', _121 => _121.href]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
3683
3832
  ] });
3684
3833
  if (!anchorProps) {
3685
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk22XAPV6Ncjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
3834
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkDGNBXZXTcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
3686
3835
  }
3687
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: `${_chunk22XAPV6Ncjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
3836
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: `${_chunkDGNBXZXTcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
3688
3837
  }
3689
3838
  function DataRoomDocCardSkeleton({ className }) {
3690
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunk22XAPV6Ncjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
3691
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_TEXT_COL, children: [
3692
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
3693
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3.5 w-2/3 rounded" }),
3694
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-4 w-16 rounded-full" })
3695
- ] }),
3696
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-4 w-1/2 rounded" }),
3697
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-col gap-0", children: [
3698
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-5 w-5/6 rounded" }),
3699
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-5 w-3/4 rounded" })
3700
- ] })
3701
- ] }),
3702
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3.5 w-3.5 rounded" }) })
3839
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3840
+ _chunkDGNBXZXTcjs.CompactCardSkeleton,
3841
+ {
3842
+ slot: false,
3843
+ titleWidth: "w-2/3",
3844
+ titleBadges: ["w-16"],
3845
+ rows: [{ width: "w-1/2" }, { width: "w-5/6", lines: 2 }],
3846
+ trailingIcon: true,
3847
+ className
3848
+ }
3849
+ );
3850
+ }
3851
+
3852
+ // src/components/chat/entity-cards/campaign-card-admin.tsx
3853
+
3854
+
3855
+ function CampaignCardAdmin({ campaign, className, anchorProps }) {
3856
+ if (_chunkXFRBEXQNcjs.useLoadingScope.call(void 0, )) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, { className });
3857
+ const goalsCount = _optionalChain([campaign, 'access', _122 => _122.goals, 'optionalAccess', _123 => _123.length]) || 0;
3858
+ const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
3859
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
3860
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_TEXT_COL, children: [
3861
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_TITLE, children: campaign.name }) }),
3862
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_SUBTITLE, children: [
3863
+ campaign.start_date ? _chunkDGNBXZXTcjs.formatDateShort.call(void 0, campaign.start_date) : null,
3864
+ goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
3865
+ "Marketing campaign"
3866
+ ].filter(Boolean).join(" \xB7 ") }) }),
3867
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_SUMMARY, children: campaign.description || _chunkDGNBXZXTcjs.COMPACT_CARD_ROW_FILLER }) })
3868
+ ] })
3703
3869
  ] });
3870
+ if (anchorProps) {
3871
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: `${_chunkDGNBXZXTcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: innerChildren });
3872
+ }
3873
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkDGNBXZXTcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: innerChildren });
3874
+ }
3875
+ function CampaignCardAdminSkeleton({ className }) {
3876
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNBXZXTcjs.CompactCardSkeleton, { rows: [{ width: "w-1/2" }, { width: "w-11/12" }], className });
3704
3877
  }
3705
3878
 
3706
3879
  // src/components/chat/entity-cards/generic-entity-card.tsx
3707
3880
 
3708
3881
 
3709
3882
  function GenericEntityCard({ item, className, anchorProps }) {
3710
- const href = _chunk22XAPV6Ncjs.safeHref.call(void 0, item.url);
3711
- const dateText = _chunkEQZXJUYVcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
3883
+ if (_chunkXFRBEXQNcjs.useLoadingScope.call(void 0, )) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, GenericEntityCardSkeleton, { className });
3884
+ const href = _chunkDGNBXZXTcjs.safeHref.call(void 0, item.url);
3885
+ const dateText = _chunkJTSUAHDLcjs.formatDateUTC.call(void 0, item.dateUpdated, { fallback: "", timezone: "local" });
3712
3886
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
3713
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_TEXT_COL, children: [
3887
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_TEXT_COL, children: [
3714
3888
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-wrap items-center gap-1.5", children: [
3715
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk22XAPV6Ncjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
3889
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkDGNBXZXTcjs.COMPACT_CARD_TITLE} min-w-0 shrink`, children: item.title }),
3716
3890
  item.badge ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3717
- _chunk22XAPV6Ncjs.StatusBadge,
3891
+ _chunkDGNBXZXTcjs.StatusBadge,
3718
3892
  {
3719
3893
  text: item.badge.text,
3720
3894
  variant: "button",
@@ -3732,31 +3906,27 @@ function GenericEntityCard({ item, className, anchorProps }) {
3732
3906
  ] }),
3733
3907
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate font-medium text-ods-text-primary", children: f.value })
3734
3908
  ] }, i)) }) : null,
3735
- dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }) }) }) : null
3909
+ dateText ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkDGNBXZXTcjs.COMPACT_CARD_META_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "whitespace-nowrap", children: dateText }) }) }) : null
3736
3910
  ] }),
3737
3911
  href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) }) : null
3738
3912
  ] });
3739
3913
  if (anchorProps) {
3740
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: `${_chunk22XAPV6Ncjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
3914
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { ...anchorProps, className: `${_chunkDGNBXZXTcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body });
3741
3915
  }
3742
- return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, className: `${_chunk22XAPV6Ncjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk22XAPV6Ncjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
3916
+ return href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, className: `${_chunkDGNBXZXTcjs.COMPACT_CARD_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: body }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunkDGNBXZXTcjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
3743
3917
  }
3744
3918
  function GenericEntityCardSkeleton({ className }) {
3745
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${_chunk22XAPV6Ncjs.COMPACT_CARD_SKELETON_OUTER} ${_nullishCoalesce(className, () => ( ""))}`, children: [
3746
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk22XAPV6Ncjs.COMPACT_CARD_TEXT_COL, children: [
3747
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-1.5", children: [
3748
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3.5 w-2/3 rounded" }),
3749
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-4 w-16 rounded-full" })
3750
- ] }),
3751
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-4 w-1/2 rounded" }),
3752
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-col gap-0", children: [
3753
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-5 w-5/6 rounded" }),
3754
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-5 w-3/4 rounded" })
3755
- ] }),
3756
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3 w-1/4 rounded" })
3757
- ] }),
3758
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3RYUTNDcjs.UnifiedSkeleton, { as: "span", className: "h-3.5 w-3.5 rounded" }) })
3759
- ] });
3919
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
3920
+ _chunkDGNBXZXTcjs.CompactCardSkeleton,
3921
+ {
3922
+ slot: false,
3923
+ titleWidth: "w-2/3",
3924
+ titleBadges: ["w-16"],
3925
+ rows: [{ width: "w-1/2" }, { width: "w-5/6", lines: 2 }, { width: "w-1/4" }],
3926
+ trailingIcon: true,
3927
+ className
3928
+ }
3929
+ );
3760
3930
  }
3761
3931
 
3762
3932
  // src/components/chat/types/network.types.ts
@@ -3777,7 +3947,7 @@ var NETWORK_CONFIG = {
3777
3947
 
3778
3948
  var EMPTY_FRAME = { messages: [], phase: "idle", typing: false, delayMs: 0 };
3779
3949
  function prefersReducedMotion() {
3780
- return typeof window !== "undefined" && _optionalChain([window, 'access', _114 => _114.matchMedia, 'optionalCall', _115 => _115("(prefers-reduced-motion: reduce)"), 'access', _116 => _116.matches]) === true;
3950
+ return typeof window !== "undefined" && _optionalChain([window, 'access', _124 => _124.matchMedia, 'optionalCall', _125 => _125("(prefers-reduced-motion: reduce)"), 'access', _126 => _126.matches]) === true;
3781
3951
  }
3782
3952
  function useScriptedStream(frames, resetKey, enabled = true) {
3783
3953
  const [index, setIndex] = _react.useState.call(void 0, 0);
@@ -3788,7 +3958,7 @@ function useScriptedStream(frames, resetKey, enabled = true) {
3788
3958
  setIndex(0);
3789
3959
  }
3790
3960
  _react.useEffect.call(void 0, () => {
3791
- const mq = _optionalChain([window, 'access', _117 => _117.matchMedia, 'optionalCall', _118 => _118("(prefers-reduced-motion: reduce)")]);
3961
+ const mq = _optionalChain([window, 'access', _127 => _127.matchMedia, 'optionalCall', _128 => _128("(prefers-reduced-motion: reduce)")]);
3792
3962
  const sync = () => setReducedMotion(mq ? mq.matches : prefersReducedMotion());
3793
3963
  sync();
3794
3964
  if (!mq) return void 0;
@@ -3933,7 +4103,7 @@ function useJetStreamDialogSubscription({
3933
4103
  const lifecycle = _chunkKHKPLOU4cjs.startConnectionLifecycle.call(void 0, {
3934
4104
  conn: sharedConn,
3935
4105
  wsUrl,
3936
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _119 => _119.current, 'optionalCall', _120 => _120()]),
4106
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _129 => _129.current, 'optionalCall', _130 => _130()]),
3937
4107
  backoff: reconnectionBackoffRef.current,
3938
4108
  getFreshUrl: () => getNatsWsUrlRef.current(),
3939
4109
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -3948,7 +4118,7 @@ function useJetStreamDialogSubscription({
3948
4118
  setReconnectionCount((c) => c + 1);
3949
4119
  }
3950
4120
  hadConnectionBeforeRef.current = true;
3951
- _optionalChain([onConnectRef, 'access', _121 => _121.current, 'optionalCall', _122 => _122()]);
4121
+ _optionalChain([onConnectRef, 'access', _131 => _131.current, 'optionalCall', _132 => _132()]);
3952
4122
  }
3953
4123
  if (status === "error") {
3954
4124
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -3958,7 +4128,7 @@ function useJetStreamDialogSubscription({
3958
4128
  setIsConnected(false);
3959
4129
  setIsSubscribed(false);
3960
4130
  tearDownSubscription();
3961
- _optionalChain([onDisconnectRef, 'access', _123 => _123.current, 'optionalCall', _124 => _124()]);
4131
+ _optionalChain([onDisconnectRef, 'access', _133 => _133.current, 'optionalCall', _134 => _134()]);
3962
4132
  }
3963
4133
  }
3964
4134
  });
@@ -4102,7 +4272,7 @@ function useJetStreamDialogSubscription({
4102
4272
  subscriptionRef.current = handle;
4103
4273
  setIsSubscribed(true);
4104
4274
  try {
4105
- _optionalChain([onSubscribedRef, 'access', _125 => _125.current, 'optionalCall', _126 => _126()]);
4275
+ _optionalChain([onSubscribedRef, 'access', _135 => _135.current, 'optionalCall', _136 => _136()]);
4106
4276
  } catch (e) {
4107
4277
  console.warn("[JetStream] onSubscribed threw:", e);
4108
4278
  }
@@ -4214,7 +4384,7 @@ function useChat({
4214
4384
  onMessagesChangeRef.current = onMessagesChange;
4215
4385
  });
4216
4386
  _react.useEffect.call(void 0, () => {
4217
- _optionalChain([onMessagesChangeRef, 'access', _127 => _127.current, 'optionalCall', _128 => _128(messages)]);
4387
+ _optionalChain([onMessagesChangeRef, 'access', _137 => _137.current, 'optionalCall', _138 => _138(messages)]);
4218
4388
  }, [messages]);
4219
4389
  const {
4220
4390
  streamMessage,
@@ -4251,7 +4421,7 @@ function useChat({
4251
4421
  name: "You",
4252
4422
  content: text,
4253
4423
  timestamp: /* @__PURE__ */ new Date(),
4254
- ..._optionalChain([options, 'optionalAccess', _129 => _129.hidden]) ? { hidden: true } : {}
4424
+ ..._optionalChain([options, 'optionalAccess', _139 => _139.hidden]) ? { hidden: true } : {}
4255
4425
  };
4256
4426
  addMessage(userMessage);
4257
4427
  setIsTyping(true);
@@ -4482,19 +4652,19 @@ function turnRequestKeys(content) {
4482
4652
  if (!Array.isArray(content)) return keys;
4483
4653
  for (const seg of content) {
4484
4654
  if (seg.type === "tool_execution") {
4485
- const id = _optionalChain([seg, 'access', _130 => _130.data, 'optionalAccess', _131 => _131.toolExecutionRequestId]);
4655
+ const id = _optionalChain([seg, 'access', _140 => _140.data, 'optionalAccess', _141 => _141.toolExecutionRequestId]);
4486
4656
  if (id) keys.add(id);
4487
4657
  } else if (seg.type === "approval_request") {
4488
- const id = _optionalChain([seg, 'access', _132 => _132.data, 'optionalAccess', _133 => _133.requestId]);
4658
+ const id = _optionalChain([seg, 'access', _142 => _142.data, 'optionalAccess', _143 => _143.requestId]);
4489
4659
  if (id) keys.add(id);
4490
4660
  } else if (seg.type === "escalation_offer") {
4491
- const id = _optionalChain([seg, 'access', _134 => _134.data, 'optionalAccess', _135 => _135.offerId]);
4661
+ const id = _optionalChain([seg, 'access', _144 => _144.data, 'optionalAccess', _145 => _145.offerId]);
4492
4662
  if (id) keys.add(id);
4493
4663
  } else if (seg.type === "approval_batch") {
4494
4664
  const data = seg.data;
4495
- if (_optionalChain([data, 'optionalAccess', _136 => _136.approvalRequestId])) keys.add(data.approvalRequestId);
4496
- for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _137 => _137.toolCalls]), () => ( []))) {
4497
- if (_optionalChain([call, 'optionalAccess', _138 => _138.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
4665
+ if (_optionalChain([data, 'optionalAccess', _146 => _146.approvalRequestId])) keys.add(data.approvalRequestId);
4666
+ for (const call of _nullishCoalesce(_optionalChain([data, 'optionalAccess', _147 => _147.toolCalls]), () => ( []))) {
4667
+ if (_optionalChain([call, 'optionalAccess', _148 => _148.toolExecutionRequestId])) keys.add(call.toolExecutionRequestId);
4498
4668
  }
4499
4669
  }
4500
4670
  }
@@ -4598,18 +4768,18 @@ function mergeHistoryWithRealtime(input) {
4598
4768
  }
4599
4769
  }
4600
4770
  const trailing = processedHistory[processedHistory.length - 1];
4601
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _139 => _139.role]) === "assistant" ? trailing : null;
4602
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _140 => _140.content, 'access', _141 => _141.find, 'call', _142 => _142((s) => s.type === "approval_batch"), 'optionalAccess', _143 => _143.data, 'optionalAccess', _144 => _144.approvalRequestId]), () => ( null)) : null;
4771
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _149 => _149.role]) === "assistant" ? trailing : null;
4772
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _150 => _150.content, 'access', _151 => _151.find, 'call', _152 => _152((s) => s.type === "approval_batch"), 'optionalAccess', _153 => _153.data, 'optionalAccess', _154 => _154.approvalRequestId]), () => ( null)) : null;
4603
4773
  let processedToUse = processedHistory;
4604
4774
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
4605
4775
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
4606
4776
  if (historyBatchId) {
4607
4777
  const batchTwins = existingMessages.filter(
4608
- (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access', _145 => _145.data, 'optionalAccess', _146 => _146.approvalRequestId]) === historyBatchId)
4778
+ (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some((s) => s.type === "approval_batch" && _optionalChain([s, 'access', _155 => _155.data, 'optionalAccess', _156 => _156.approvalRequestId]) === historyBatchId)
4609
4779
  );
4610
4780
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
4611
4781
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
4612
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _147 => _147.content])) ? historyTrailingAssistant.content.length : 0;
4782
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _157 => _157.content])) ? historyTrailingAssistant.content.length : 0;
4613
4783
  const realtimeSize = existingWithSameBatch.content.length;
4614
4784
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
4615
4785
  processedToUse = processedHistory.slice(0, -1);
@@ -4642,9 +4812,9 @@ function mergeHistoryWithRealtime(input) {
4642
4812
  const trailingAssistantText = lastProcessed && lastProcessed.role === "assistant" ? assistantAnswerText(lastProcessed.content) : "";
4643
4813
  const windowSignals = collectTwinSignals(processedToUse);
4644
4814
  const seenUserSyntheticByContent = /* @__PURE__ */ new Map();
4645
- const isInWindow = (m) => processedIds.has(m.id) || (_nullishCoalesce(_optionalChain([rawHistoryIds, 'optionalAccess', _148 => _148.has, 'call', _149 => _149(m.id)]), () => ( false)));
4815
+ const isInWindow = (m) => processedIds.has(m.id) || (_nullishCoalesce(_optionalChain([rawHistoryIds, 'optionalAccess', _158 => _158.has, 'call', _159 => _159(m.id)]), () => ( false)));
4646
4816
  const firstWindowIndex = existingMessages.findIndex(isInWindow);
4647
- const isPersistedOlder = (m) => !isClientMintedId(m.id) && (_nullishCoalesce(_optionalChain([m, 'access', _150 => _150.timestamp, 'optionalAccess', _151 => _151.getTime, 'call', _152 => _152()]), () => ( 0))) <= historyFetchedAt;
4817
+ const isPersistedOlder = (m) => !isClientMintedId(m.id) && (_nullishCoalesce(_optionalChain([m, 'access', _160 => _160.timestamp, 'optionalAccess', _161 => _161.getTime, 'call', _162 => _162()]), () => ( 0))) <= historyFetchedAt;
4648
4818
  let lastOlderPersistedIndex = -1;
4649
4819
  if (firstWindowIndex < 0) {
4650
4820
  for (const [index, m] of existingMessages.entries()) {
@@ -4662,7 +4832,7 @@ function mergeHistoryWithRealtime(input) {
4662
4832
  } else if (pm.role === "assistant") {
4663
4833
  windowHasUnstampedAssistant = true;
4664
4834
  }
4665
- const time = _optionalChain([pm, 'access', _153 => _153.timestamp, 'optionalAccess', _154 => _154.getTime, 'call', _155 => _155()]);
4835
+ const time = _optionalChain([pm, 'access', _163 => _163.timestamp, 'optionalAccess', _164 => _164.getTime, 'call', _165 => _165()]);
4666
4836
  if (typeof time === "number" && time < windowMinTime) windowMinTime = time;
4667
4837
  }
4668
4838
  const threadHasClientMintedRow = existingMessages.some((m) => isClientMintedId(m.id));
@@ -4680,14 +4850,14 @@ function mergeHistoryWithRealtime(input) {
4680
4850
  const verdict = twinVerdict(windowSignals, m);
4681
4851
  return verdict === "unknown" ? !seqCanMislead(m) : verdict === "distinct";
4682
4852
  }
4683
- const time = _optionalChain([m, 'access', _156 => _156.timestamp, 'optionalAccess', _157 => _157.getTime, 'call', _158 => _158()]);
4853
+ const time = _optionalChain([m, 'access', _166 => _166.timestamp, 'optionalAccess', _167 => _167.getTime, 'call', _168 => _168()]);
4684
4854
  if (typeof time !== "number" || time > historyFetchedAt) return false;
4685
4855
  if (!Number.isFinite(windowMinTime) || time >= windowMinTime) return false;
4686
4856
  return twinVerdict(windowSignals, m) === "distinct";
4687
4857
  };
4688
4858
  const keepRealtime = (m) => {
4689
4859
  if (m.role === "user" && isOptimisticId(m.id) && typeof m.content === "string") {
4690
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _159 => _159.timestamp, 'optionalAccess', _160 => _160.getTime, 'call', _161 => _161()]), () => ( 0))) <= historyFetchedAt;
4860
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _169 => _169.timestamp, 'optionalAccess', _170 => _170.getTime, 'call', _171 => _171()]), () => ( 0))) <= historyFetchedAt;
4691
4861
  return !(canBeInSnapshot && windowSignals.userContents.has(userTwinKey(m)));
4692
4862
  }
4693
4863
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
@@ -4712,7 +4882,7 @@ function mergeHistoryWithRealtime(input) {
4712
4882
  } else if (typeof m.streamSeq === "number") {
4713
4883
  covered = historyMaxStreamSeq > 0 && historyMaxStreamSeq >= m.streamSeq;
4714
4884
  } else {
4715
- covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _162 => _162.timestamp, 'optionalAccess', _163 => _163.getTime, 'call', _164 => _164()]), () => ( 0))) <= historyFetchedAt;
4885
+ covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _172 => _172.timestamp, 'optionalAccess', _173 => _173.getTime, 'call', _174 => _174()]), () => ( 0))) <= historyFetchedAt;
4716
4886
  }
4717
4887
  if (covered) return false;
4718
4888
  }
@@ -4803,7 +4973,7 @@ function normalizeHistoricalMessageData(md) {
4803
4973
  function isHistoricalUserTurn(m) {
4804
4974
  return !!m.owner;
4805
4975
  }
4806
- var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _165 => _165.type]) === "TEXT" && typeof d.text === "string";
4976
+ var isTextSegment = (d) => _optionalChain([d, 'optionalAccess', _175 => _175.type]) === "TEXT" && typeof d.text === "string";
4807
4977
  var THINK_MS = 550;
4808
4978
  var TOKEN_MS = 55;
4809
4979
  var USER_MS = 480;
@@ -4866,9 +5036,9 @@ function buildStreamFrames(messages) {
4866
5036
 
4867
5037
  function InfoHint({ children, label, side = "top", className }) {
4868
5038
  const describedById = _react.useId.call(void 0, );
4869
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk3ATAYP36cjs.cn.call(void 0, "inline-flex shrink-0 items-center", className), children: [
5039
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, "inline-flex shrink-0 items-center", className), children: [
4870
5040
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4871
- _chunkEQZXJUYVcjs.FloatingTooltip,
5041
+ _chunkJTSUAHDLcjs.FloatingTooltip,
4872
5042
  {
4873
5043
  content: children,
4874
5044
  side,
@@ -4876,7 +5046,7 @@ function InfoHint({ children, label, side = "top", className }) {
4876
5046
  triggerClassName: "inline-flex shrink-0 items-center",
4877
5047
  className: "text-h6",
4878
5048
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4879
- _chunk2QMBXGMQcjs.Button,
5049
+ _chunkTF5D5MNOcjs.Button,
4880
5050
  {
4881
5051
  type: "button",
4882
5052
  variant: "transparent",
@@ -4907,9 +5077,9 @@ function Field({ label, hint, required, children, error, labelExtras, labelEnd }
4907
5077
  };
4908
5078
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-[var(--spacing-system-xxs)]", children: [
4909
5079
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-1.5", children: [
4910
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkK6VWTUCHcjs.Label, { htmlFor: controlId, children: [
5080
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFL2RMEDXcjs.Label, { htmlFor: controlId, children: [
4911
5081
  label,
4912
- required && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHTRILBJDcjs.RequiredMark, {})
5082
+ required && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYXDHVHB2cjs.RequiredMark, {})
4913
5083
  ] }),
4914
5084
  hint && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoHint, { label, children: hint }),
4915
5085
  labelExtras,
@@ -4970,7 +5140,7 @@ var GROUPS = [
4970
5140
  }
4971
5141
  ];
4972
5142
  function maskKey(key) {
4973
- const prefix = _nullishCoalesce(_optionalChain([/^fpk_[a-z0-9-]+_/i, 'access', _166 => _166.exec, 'call', _167 => _167(key), 'optionalAccess', _168 => _168[0]]), () => ( ""));
5143
+ const prefix = _nullishCoalesce(_optionalChain([/^fpk_[a-z0-9-]+_/i, 'access', _176 => _176.exec, 'call', _177 => _177(key), 'optionalAccess', _178 => _178[0]]), () => ( ""));
4974
5144
  return key.length - prefix.length <= 8 ? `${prefix}\u2022\u2022\u2022\u2022` : `${prefix}\u2026${key.slice(-4)}`;
4975
5145
  }
4976
5146
  function HeaderName({ children }) {
@@ -4986,7 +5156,7 @@ function Section({ title, description, children }) {
4986
5156
  ] });
4987
5157
  }
4988
5158
  function ProxyCredentialsPanel({ description }) {
4989
- const hydrated = _chunk74ALTXXCcjs.useIsHydrated.call(void 0, );
5159
+ const hydrated = _chunkYL6ZB2SRcjs.useIsHydrated.call(void 0, );
4990
5160
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
4991
5161
  ProxyCredentialsForm,
4992
5162
  {
@@ -5007,8 +5177,8 @@ function ProxyCredentialsForm({ description, saved }) {
5007
5177
  const errors = _react.useMemo.call(void 0, () => {
5008
5178
  const out = {};
5009
5179
  for (const { field } of _chunkDGFDBPO7cjs.EMBED_PROXY_OPTIONAL_HEADERS) {
5010
- const value = _optionalChain([optional, 'access', _169 => _169[field], 'optionalAccess', _170 => _170.trim, 'call', _171 => _171()]);
5011
- const message = value ? _optionalChain([OPTIONAL_FIELD_COPY, 'access', _172 => _172[field], 'access', _173 => _173.validate, 'optionalCall', _174 => _174(value)]) : null;
5180
+ const value = _optionalChain([optional, 'access', _179 => _179[field], 'optionalAccess', _180 => _180.trim, 'call', _181 => _181()]);
5181
+ const message = value ? _optionalChain([OPTIONAL_FIELD_COPY, 'access', _182 => _182[field], 'access', _183 => _183.validate, 'optionalCall', _184 => _184(value)]) : null;
5012
5182
  if (message) out[field] = message;
5013
5183
  }
5014
5184
  return out;
@@ -5020,12 +5190,12 @@ function ProxyCredentialsForm({ description, saved }) {
5020
5190
  ...keyForPreview ? [["Authorization", `Bearer ${keyForPreview}`]] : [],
5021
5191
  ...email.trim() ? [["X-Chat-Act-As", email.trim().toLowerCase()]] : [],
5022
5192
  ..._chunkDGFDBPO7cjs.EMBED_PROXY_OPTIONAL_HEADERS.flatMap(({ field, header }) => {
5023
- const value = _optionalChain([optional, 'access', _175 => _175[field], 'optionalAccess', _176 => _176.trim, 'call', _177 => _177()]);
5193
+ const value = _optionalChain([optional, 'access', _185 => _185[field], 'optionalAccess', _186 => _186.trim, 'call', _187 => _187()]);
5024
5194
  return value ? [[header, value]] : [];
5025
5195
  })
5026
5196
  ];
5027
5197
  const save = () => {
5028
- const key = secret.trim() || _optionalChain([_chunkDGFDBPO7cjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _178 => _178.secret]);
5198
+ const key = secret.trim() || _optionalChain([_chunkDGFDBPO7cjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _188 => _188.secret]);
5029
5199
  const actAs = email.trim().toLowerCase();
5030
5200
  if (!key || !actAs || hasErrors) {
5031
5201
  setStatus(hasErrors ? "Fix the highlighted fields first." : "API key and act-as email are required.");
@@ -5047,13 +5217,13 @@ function ProxyCredentialsForm({ description, saved }) {
5047
5217
  setStatus("Cleared. Requests use the session again.");
5048
5218
  };
5049
5219
  const setField = (field, value) => setOptional((prev) => ({ ...prev, [field]: value }));
5050
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk22XAPV6Ncjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk22XAPV6Ncjs.CardContent, { className: "space-y-[var(--spacing-system-lf)] p-[var(--spacing-system-mf)]", children: [
5220
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNBXZXTcjs.Card, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkDGNBXZXTcjs.CardContent, { className: "space-y-[var(--spacing-system-lf)] p-[var(--spacing-system-mf)]", children: [
5051
5221
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "header", { className: "flex flex-col gap-[var(--spacing-system-sf)] sm:flex-row sm:items-start sm:justify-between", children: [
5052
5222
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
5053
5223
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: "text-ods-text-primary text-h3", children: "Proxy credentials" }),
5054
5224
  description && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary text-h6", children: description })
5055
5225
  ] }),
5056
- activeEmail && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk22XAPV6Ncjs.StatusBadge, { singleLine: true, colorScheme: "success", text: `Active: ${activeEmail}` }) })
5226
+ activeEmail && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "self-start", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNBXZXTcjs.StatusBadge, { singleLine: true, colorScheme: "success", text: `Active: ${activeEmail}` }) })
5057
5227
  ] }),
5058
5228
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5059
5229
  Section,
@@ -5069,7 +5239,7 @@ function ProxyCredentialsForm({ description, saved }) {
5069
5239
  hint: "A SERVICE key may act as anyone; a personal key only as its owner.",
5070
5240
  labelEnd: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderName, { children: "Authorization" }),
5071
5241
  children: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5072
- _chunkHTRILBJDcjs.Input,
5242
+ _chunkYXDHVHB2cjs.Input,
5073
5243
  {
5074
5244
  ...props,
5075
5245
  type: "password",
@@ -5090,7 +5260,7 @@ function ProxyCredentialsForm({ description, saved }) {
5090
5260
  hint: "The end user the requests run as.",
5091
5261
  labelEnd: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderName, { children: "X-Chat-Act-As" }),
5092
5262
  children: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5093
- _chunkHTRILBJDcjs.Input,
5263
+ _chunkYXDHVHB2cjs.Input,
5094
5264
  {
5095
5265
  ...props,
5096
5266
  type: "email",
@@ -5116,7 +5286,7 @@ function ProxyCredentialsForm({ description, saved }) {
5116
5286
  error: _nullishCoalesce(errors[field], () => ( null)),
5117
5287
  labelEnd: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderName, { children: header }),
5118
5288
  children: (props) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5119
- _chunkHTRILBJDcjs.Input,
5289
+ _chunkYXDHVHB2cjs.Input,
5120
5290
  {
5121
5291
  ...props,
5122
5292
  type: _nullishCoalesce(copy.type, () => ( "text")),
@@ -5141,8 +5311,8 @@ function ProxyCredentialsForm({ description, saved }) {
5141
5311
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-wrap items-center justify-between gap-[var(--spacing-system-sf)]", children: [
5142
5312
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-secondary text-h6", children: status }),
5143
5313
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex gap-[var(--spacing-system-xsf)]", children: [
5144
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2QMBXGMQcjs.Button, { variant: "outline", onClick: clear, disabled: !activeEmail && !secret && !email, children: "Clear" }),
5145
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2QMBXGMQcjs.Button, { onClick: save, disabled: !canSave, children: "Save" })
5314
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { variant: "outline", onClick: clear, disabled: !activeEmail && !secret && !email, children: "Clear" }),
5315
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTF5D5MNOcjs.Button, { onClick: save, disabled: !canSave, children: "Save" })
5146
5316
  ] })
5147
5317
  ] })
5148
5318
  ] }) });
@@ -5150,10 +5320,23 @@ function ProxyCredentialsForm({ description, saved }) {
5150
5320
 
5151
5321
  // src/components/chat/index.ts
5152
5322
  var LoadedEmbeddableChat = _react.lazy.call(void 0,
5153
- () => Promise.resolve().then(() => _interopRequireWildcard(require("./embeddable-chat-YFUCVDMV.cjs"))).then((module) => ({ default: module.EmbeddableChat }))
5323
+ () => Promise.resolve().then(() => _interopRequireWildcard(require("./embeddable-chat-YL6ZSTDJ.cjs"))).then((module) => ({ default: module.EmbeddableChat }))
5154
5324
  );
5155
5325
  var EmbeddableChat = _react.forwardRef.call(void 0, (props, ref) => {
5156
- _react.useEffect.call(void 0, () => _chunk74ALTXXCcjs.holdAskAiOpens.call(void 0, ), []);
5326
+ const [loadRequested, setLoadRequested] = _react.useState.call(void 0, false);
5327
+ const load = loadRequested || Boolean(props.open) || Boolean(props.defaultOpen);
5328
+ _react.useEffect.call(void 0, () => _chunkYL6ZB2SRcjs.holdAskAiOpens.call(void 0, ), []);
5329
+ _react.useEffect.call(void 0, () => {
5330
+ if (load) return void 0;
5331
+ const start = () => setLoadRequested(true);
5332
+ for (const name of _chunkYL6ZB2SRcjs.ASK_AI_OPEN_EVENTS) window.addEventListener(name, start);
5333
+ const cancel = afterPageLoad(start);
5334
+ return () => {
5335
+ cancel();
5336
+ for (const name of _chunkYL6ZB2SRcjs.ASK_AI_OPEN_EVENTS) window.removeEventListener(name, start);
5337
+ };
5338
+ }, [load]);
5339
+ if (!load) return null;
5157
5340
  return _react.createElement.call(void 0, _react.Suspense, { fallback: null }, _react.createElement.call(void 0, LoadedEmbeddableChat, { ...props, ref }));
5158
5341
  });
5159
5342
  EmbeddableChat.displayName = "EmbeddableChat";
@@ -5367,4 +5550,15 @@ EmbeddableChat.displayName = "EmbeddableChat";
5367
5550
 
5368
5551
 
5369
5552
 
5370
- exports.InfoHint = InfoHint; exports.Field = Field; exports.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS = HUBSPOT_DO_NOT_COLLECT_FORM_PROPS; exports.FullscreenSwitchController = FullscreenSwitchController; exports.SOCIAL_PLATFORM_ALIASES = SOCIAL_PLATFORM_ALIASES; exports.normalizeSocialPlatform = normalizeSocialPlatform; exports.hostMatches = hostMatches; exports.SOCIAL_PLATFORM_ALT_HOSTS = SOCIAL_PLATFORM_ALT_HOSTS; exports.socialPlatformHosts = socialPlatformHosts; exports.classifySocialHost = classifySocialHost; exports.pickSocialLink = pickSocialLink; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatTurn = ChatTurn; exports.AI_PROVIDERS = AI_PROVIDERS; exports.aiProvider = aiProvider; exports.TOKEN_RATE_EMPTY = TOKEN_RATE_EMPTY; exports.formatTokenRate = formatTokenRate; exports.tokenCost = tokenCost; exports.formatTokenAmount = formatTokenAmount; exports.tokensForBalance = tokensForBalance; exports.tokenRateProviderLabel = tokenRateProviderLabel; exports.groupTokenRatesByProvider = groupTokenRatesByProvider; exports.TRIAL_TERMS = TRIAL_TERMS; exports.trialLengthLabel = trialLengthLabel; exports.trialLabels = trialLabels; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; exports.ToolTypeValues = ToolTypeValues; exports.toolLabels = toolLabels; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.DOWNLOAD_PAGE_PATH = DOWNLOAD_PAGE_PATH; exports.resolveMobileStoreUrl = resolveMobileStoreUrl; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.getCountryByName = getCountryByName; exports.getFlagFromCountryName = getFlagFromCountryName; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.COMPLIANCE_STANDARDS = COMPLIANCE_STANDARDS; exports.complianceStandardForName = complianceStandardForName; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.isAnnouncementOnSurface = isAnnouncementOnSurface; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; exports.createSseSubscription = createSseSubscription; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.openInNewTab = openInNewTab; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.LEGAL_DOCUMENT_TYPES = LEGAL_DOCUMENT_TYPES; exports.isLegalDocumentType = isLegalDocumentType; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.normalizeSchedulingSlug = normalizeSchedulingSlug; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.ODS_SPACING_TOKENS = ODS_SPACING_TOKENS; exports.ODS_SPACING_TOKEN_PATTERN = ODS_SPACING_TOKEN_PATTERN; exports.ODS_SPACING_PROPS = ODS_SPACING_PROPS; exports.TAILWIND_STEP_TO_ODS_TOKEN = TAILWIND_STEP_TO_ODS_TOKEN; exports.CSV_CONTENT_TYPE = CSV_CONTENT_TYPE; exports.csvEscape = csvEscape; exports.toCsv = toCsv; exports.copyrightLine = copyrightLine; exports.isValidPathPattern = isValidPathPattern; exports.matchesPathPattern = matchesPathPattern; exports.pathMatchesAny = pathMatchesAny; exports.formatDemoClock = formatDemoClock; exports.demoClockTimes = demoClockTimes; exports.openAskAi = openAskAi; exports.MingoAiButton = MingoAiButton; exports.AskPrompts = AskPrompts; exports.AskCard = AskCard; exports.ASK_PROMPTS_DEFAULT_COUNT = ASK_PROMPTS_DEFAULT_COUNT; exports.buildAskPromptsUrl = buildAskPromptsUrl; exports.assistantAvailable = assistantAvailable; exports.useAskPrompts = useAskPrompts; exports.useAssistantOpen = useAssistantOpen; exports.useAskSurface = useAskSurface; exports.AssistantAskPrompts = AssistantAskPrompts; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.ChatTopNavigation = ChatTopNavigation; exports.OnboardingCarousel = OnboardingCarousel; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useScriptedStream = useScriptedStream; exports.RESYNC_AFTER_HIDDEN_MS = RESYNC_AFTER_HIDDEN_MS; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useSSE = useSSE; exports.useChat = useChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.ProxyCredentialsPanel = ProxyCredentialsPanel; exports.EmbeddableChat = EmbeddableChat;
5553
+
5554
+
5555
+
5556
+
5557
+
5558
+
5559
+
5560
+
5561
+
5562
+
5563
+
5564
+ exports.InfoHint = InfoHint; exports.Field = Field; exports.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS = HUBSPOT_DO_NOT_COLLECT_FORM_PROPS; exports.FullscreenSwitchController = FullscreenSwitchController; exports.SOCIAL_PLATFORM_ALIASES = SOCIAL_PLATFORM_ALIASES; exports.normalizeSocialPlatform = normalizeSocialPlatform; exports.hostMatches = hostMatches; exports.SOCIAL_PLATFORM_ALT_HOSTS = SOCIAL_PLATFORM_ALT_HOSTS; exports.socialPlatformHosts = socialPlatformHosts; exports.classifySocialHost = classifySocialHost; exports.pickSocialLink = pickSocialLink; exports.afterPageLoad = afterPageLoad; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.TURN_ROW_CLASS = TURN_ROW_CLASS; exports.TURN_BODY_CLASS = TURN_BODY_CLASS; exports.ChatTurn = ChatTurn; exports.ChatTurnNameSkeleton = ChatTurnNameSkeleton; exports.ChatTurnSkeleton = ChatTurnSkeleton; exports.AI_PROVIDERS = AI_PROVIDERS; exports.aiProvider = aiProvider; exports.TOKEN_RATE_EMPTY = TOKEN_RATE_EMPTY; exports.formatTokenRate = formatTokenRate; exports.tokenCost = tokenCost; exports.formatTokenAmount = formatTokenAmount; exports.tokensForBalance = tokensForBalance; exports.tokenRateProviderLabel = tokenRateProviderLabel; exports.groupTokenRatesByProvider = groupTokenRatesByProvider; exports.TRIAL_TERMS = TRIAL_TERMS; exports.trialLengthLabel = trialLengthLabel; exports.trialLabels = trialLabels; exports.isOwnClick = isOwnClick; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.SEO_DESCRIPTION_MAX_LENGTH = SEO_DESCRIPTION_MAX_LENGTH; exports.BRAND_MARK_SVGS = BRAND_MARK_SVGS; exports.brandMarkDataUri = brandMarkDataUri; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.TICKET_OPEN_PARAM = TICKET_OPEN_PARAM; exports.buildTicketOpenHref = buildTicketOpenHref; exports.ToolTypeValues = ToolTypeValues; exports.toolLabels = toolLabels; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.BITE_ID_RE = BITE_ID_RE; exports.generateBiteId = generateBiteId; exports.ensureBiteIds = ensureBiteIds; exports.matchBiteElement = matchBiteElement; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.DOWNLOAD_PAGE_PATH = DOWNLOAD_PAGE_PATH; exports.resolveMobileStoreUrl = resolveMobileStoreUrl; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.getCountryByName = getCountryByName; exports.getFlagFromCountryName = getFlagFromCountryName; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.COMPLIANCE_STANDARDS = COMPLIANCE_STANDARDS; exports.complianceStandardForName = complianceStandardForName; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.isDismissedCookieValue = isDismissedCookieValue; exports.readDismissCookie = readDismissCookie; exports.writeDismissCookie = writeDismissCookie; exports.clearDismissCookie = clearDismissCookie; exports.announcementDismissCookieName = announcementDismissCookieName; exports.dismissAnnouncement = dismissAnnouncement; exports.isAnnouncementDismissed = isAnnouncementDismissed; exports.clearAnnouncementDismissals = clearAnnouncementDismissals; exports.clearLegacyAnnouncementCache = clearLegacyAnnouncementCache; exports.isAnnouncementOnSurface = isAnnouncementOnSurface; exports.WALKTHROUGH_VIDEO_DISMISS_KEY = WALKTHROUGH_VIDEO_DISMISS_KEY; exports.walkthroughDismissCookieName = walkthroughDismissCookieName; exports.isWalkthroughDismissed = isWalkthroughDismissed; exports.dismissWalkthrough = dismissWalkthrough; exports.clearWalkthroughDismissal = clearWalkthroughDismissal; exports.WALKTHROUGH_OPEN_QUERY_PARAM = WALKTHROUGH_OPEN_QUERY_PARAM; exports.withWalkthroughOpenParam = withWalkthroughOpenParam; exports.createSseSubscription = createSseSubscription; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.openInNewTab = openInNewTab; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.LEGAL_DOCUMENT_TYPES = LEGAL_DOCUMENT_TYPES; exports.isLegalDocumentType = isLegalDocumentType; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.extractSections = extractSections; exports.SCHEDULING_SLUG_SHAPE = SCHEDULING_SLUG_SHAPE; exports.MAX_MONTH_OFFSET = MAX_MONTH_OFFSET; exports.normalizeSchedulingSlug = normalizeSchedulingSlug; exports.isValidSchedulingSlug = isValidSchedulingSlug; exports.parseSchedulingLinkName = parseSchedulingLinkName; exports.isListedSchedulingName = isListedSchedulingName; exports.schedulingAudienceKey = schedulingAudienceKey; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.FIRST_TOUCH_ATTRIBUTION_KEY = FIRST_TOUCH_ATTRIBUTION_KEY; exports.sanitizeLandingUrl = sanitizeLandingUrl; exports.parseAttributionFromUrl = parseAttributionFromUrl; exports.captureFirstTouchAttribution = captureFirstTouchAttribution; exports.getFirstTouchAttribution = getFirstTouchAttribution; exports.withFirstTouchAttribution = withFirstTouchAttribution; exports.clearFirstTouchAttribution = clearFirstTouchAttribution; exports.ODS_SPACING_TOKENS = ODS_SPACING_TOKENS; exports.ODS_SPACING_TOKEN_PATTERN = ODS_SPACING_TOKEN_PATTERN; exports.ODS_SPACING_PROPS = ODS_SPACING_PROPS; exports.TAILWIND_STEP_TO_ODS_TOKEN = TAILWIND_STEP_TO_ODS_TOKEN; exports.CSV_CONTENT_TYPE = CSV_CONTENT_TYPE; exports.csvEscape = csvEscape; exports.toCsv = toCsv; exports.copyrightLine = copyrightLine; exports.isValidPathPattern = isValidPathPattern; exports.matchesPathPattern = matchesPathPattern; exports.pathMatchesAny = pathMatchesAny; exports.formatDemoClock = formatDemoClock; exports.demoClockTimes = demoClockTimes; exports.openAskAi = openAskAi; exports.MingoAiButton = MingoAiButton; exports.AskPrompts = AskPrompts; exports.AskCard = AskCard; exports.ASK_PROMPTS_DEFAULT_COUNT = ASK_PROMPTS_DEFAULT_COUNT; exports.buildAskPromptsUrl = buildAskPromptsUrl; exports.assistantAvailable = assistantAvailable; exports.useAskPrompts = useAskPrompts; exports.useAssistantOpen = useAssistantOpen; exports.useAskSurface = useAskSurface; exports.AssistantAskPrompts = AssistantAskPrompts; exports.QuickActionMarquee = QuickActionMarquee; exports.ChatTicketItemSkeleton = ChatTicketItemSkeleton; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.ChatTopNavigation = ChatTopNavigation; exports.OnboardingCarousel = OnboardingCarousel; exports.ADMIN_CONTENT_CARD_GRID_CLASS = ADMIN_CONTENT_CARD_GRID_CLASS; exports.AdminContentCardGridSkeleton = AdminContentCardGridSkeleton; exports.AdminContentCardGrid = AdminContentCardGrid; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useScriptedStream = useScriptedStream; exports.RESYNC_AFTER_HIDDEN_MS = RESYNC_AFTER_HIDDEN_MS; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useSSE = useSSE; exports.useChat = useChat; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.normalizeHistoricalMessageData = normalizeHistoricalMessageData; exports.isHistoricalUserTurn = isHistoricalUserTurn; exports.buildStreamFrames = buildStreamFrames; exports.ProxyCredentialsPanel = ProxyCredentialsPanel; exports.EmbeddableChat = EmbeddableChat;