@carbon/ai-chat 0.3.0 → 0.3.2-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/docs/carbon-chat-docs.js +1 -1
  2. package/dist/docs/carbon-chat.html +1 -1
  3. package/dist/docs/carbon-tsdocs/assets/hierarchy.js +1 -1
  4. package/dist/docs/carbon-tsdocs/assets/navigation.js +1 -1
  5. package/dist/docs/carbon-tsdocs/assets/search.js +1 -1
  6. package/dist/docs/carbon-tsdocs/enums/WidthOptions.html +7 -0
  7. package/dist/docs/carbon-tsdocs/hierarchy.html +1 -1
  8. package/dist/docs/carbon-tsdocs/index.html +1 -1
  9. package/dist/docs/carbon-tsdocs/interfaces/ChatInstance.html +7 -3
  10. package/dist/docs/carbon-tsdocs/interfaces/Chunk.html +1 -1
  11. package/dist/docs/carbon-tsdocs/interfaces/CompleteItemChunk.html +1 -1
  12. package/dist/docs/carbon-tsdocs/interfaces/ConnectToAgentItem.html +1 -1
  13. package/dist/docs/carbon-tsdocs/interfaces/ConnectingErrorInfo.html +1 -1
  14. package/dist/docs/carbon-tsdocs/interfaces/ConversationalSearchItem.html +1 -1
  15. package/dist/docs/carbon-tsdocs/interfaces/CustomPanelConfigOptions.html +1 -1
  16. package/dist/docs/carbon-tsdocs/interfaces/DisconnectedErrorInfo.html +1 -1
  17. package/dist/docs/carbon-tsdocs/interfaces/EventHandlers.html +1 -1
  18. package/dist/docs/carbon-tsdocs/interfaces/EventInput.html +1 -1
  19. package/dist/docs/carbon-tsdocs/interfaces/EventInputData.html +1 -1
  20. package/dist/docs/carbon-tsdocs/interfaces/GenericItem.html +1 -1
  21. package/dist/docs/carbon-tsdocs/interfaces/GridItem.html +6 -3
  22. package/dist/docs/carbon-tsdocs/interfaces/HomeScreenConfig.html +6 -3
  23. package/dist/docs/carbon-tsdocs/interfaces/IFrameItem.html +1 -1
  24. package/dist/docs/carbon-tsdocs/interfaces/InlineErrorItem.html +1 -1
  25. package/dist/docs/carbon-tsdocs/interfaces/MediaItem.html +1 -1
  26. package/dist/docs/carbon-tsdocs/interfaces/MessageInput.html +1 -1
  27. package/dist/docs/carbon-tsdocs/interfaces/MessageItemPanelInfo.html +1 -1
  28. package/dist/docs/carbon-tsdocs/interfaces/OptionItem.html +1 -1
  29. package/dist/docs/carbon-tsdocs/interfaces/PartialItemChunk.html +1 -1
  30. package/dist/docs/carbon-tsdocs/interfaces/PauseItem.html +1 -1
  31. package/dist/docs/carbon-tsdocs/interfaces/PublicConfigMessaging.html +1 -1
  32. package/dist/docs/carbon-tsdocs/interfaces/ServiceDeskCapabilities.html +1 -1
  33. package/dist/docs/carbon-tsdocs/interfaces/TableItem.html +1 -1
  34. package/dist/docs/carbon-tsdocs/interfaces/TextItem.html +1 -1
  35. package/dist/docs/carbon-tsdocs/interfaces/TourStepGenericItem.html +1 -1
  36. package/dist/docs/carbon-tsdocs/interfaces/UpdateHistoryEvent.html +1 -1
  37. package/dist/docs/carbon-tsdocs/interfaces/UserDefinedItem.html +1 -1
  38. package/dist/docs/carbon-tsdocs/interfaces/UserMessageErrorInfo.html +1 -1
  39. package/dist/docs/carbon-tsdocs/interfaces/WithBodyAndFooter.html +1 -1
  40. package/dist/docs/carbon-tsdocs/interfaces/WithWidthOptions.html +4 -0
  41. package/dist/docs/carbon-tsdocs/types/CardItem.html +1 -1
  42. package/dist/es/AppContainer.js +119 -117
  43. package/dist/es/Carousel.js +2 -2
  44. package/dist/es/GenesysMessengerServiceDesk.js +2 -2
  45. package/dist/es/HumanAgentServiceImpl.js +2 -2
  46. package/dist/es/NiceDFOServiceDesk.js +2 -2
  47. package/dist/es/PDFViewerContainer.js +2 -2
  48. package/dist/es/ReactPlayer.js +2 -2
  49. package/dist/es/SFServiceDesk.js +2 -2
  50. package/dist/es/ServiceDeskImpl.js +2 -2
  51. package/dist/es/ZendeskServiceDesk.js +2 -2
  52. package/dist/es/_node-resolve_empty.js +2 -2
  53. package/dist/es/aiChatEntry.js +2 -2
  54. package/dist/es/ar-dz.js +2 -2
  55. package/dist/es/ar-kw.js +2 -2
  56. package/dist/es/ar-ly.js +2 -2
  57. package/dist/es/ar-ma.js +2 -2
  58. package/dist/es/ar-sa.js +2 -2
  59. package/dist/es/ar-tn.js +2 -2
  60. package/dist/es/ar.js +2 -2
  61. package/dist/es/ar2.js +2 -2
  62. package/dist/es/cds-aichat-container.js +2 -2
  63. package/dist/es/cds-aichat-custom-element.js +2 -2
  64. package/dist/es/cs.js +2 -2
  65. package/dist/es/cs2.js +2 -2
  66. package/dist/es/customElement.js +2 -2
  67. package/dist/es/de-at.js +2 -2
  68. package/dist/es/de-ch.js +2 -2
  69. package/dist/es/de.js +2 -2
  70. package/dist/es/de2.js +2 -2
  71. package/dist/es/en-au.js +2 -2
  72. package/dist/es/en-ca.js +2 -2
  73. package/dist/es/en-gb.js +2 -2
  74. package/dist/es/en-ie.js +2 -2
  75. package/dist/es/en-il.js +2 -2
  76. package/dist/es/en-nz.js +2 -2
  77. package/dist/es/es-do.js +2 -2
  78. package/dist/es/es-us.js +2 -2
  79. package/dist/es/es.js +2 -2
  80. package/dist/es/es2.js +2 -2
  81. package/dist/es/export.carbon.js +2 -2
  82. package/dist/es/export.js +2 -2
  83. package/dist/es/export.legacy.carbon.js +2 -2
  84. package/dist/es/export.legacy.js +3 -3
  85. package/dist/es/fr-ca.js +2 -2
  86. package/dist/es/fr-ch.js +2 -2
  87. package/dist/es/fr.js +2 -2
  88. package/dist/es/fr2.js +2 -2
  89. package/dist/es/it-ch.js +2 -2
  90. package/dist/es/it.js +2 -2
  91. package/dist/es/it2.js +2 -2
  92. package/dist/es/ja.js +2 -2
  93. package/dist/es/ja2.js +2 -2
  94. package/dist/es/ko.js +2 -2
  95. package/dist/es/ko2.js +2 -2
  96. package/dist/es/mockServiceDesk.js +2 -2
  97. package/dist/es/nl.js +2 -2
  98. package/dist/es/nl2.js +2 -2
  99. package/dist/es/pt-br.js +2 -2
  100. package/dist/es/pt-br2.js +2 -2
  101. package/dist/es/pt.js +2 -2
  102. package/dist/es/scriptRender.js +6 -4
  103. package/dist/es/zh-cn.js +2 -2
  104. package/dist/es/zh-tw.js +2 -2
  105. package/dist/es/zh-tw2.js +2 -2
  106. package/dist/es/zh.js +2 -2
  107. package/dist/types/aiChatEntry.d.ts +1 -1
  108. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>WithBodyAndFooter | Carbon AI chat</title><meta name="description" content="Documentation for Carbon AI chat"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">Carbon AI chat</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../index.html">Carbon AI chat</a></li><li><a href="WithBodyAndFooter.html">WithBodyAndFooter</a></li></ul><h1>Interface WithBodyAndFooter</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">WithBodyAndFooter</span> <span class="tsd-signature-symbol">{</span><br/>    <a class="tsd-kind-property" href="WithBodyAndFooter.html#body">body</a><span class="tsd-signature-symbol">?:</span> <a href="GenericItem.html" class="tsd-signature-type tsd-kind-interface">GenericItem</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="WithBodyAndFooter.html#footer">footer</a><span class="tsd-signature-symbol">?:</span> <a href="ButtonItem.html" class="tsd-signature-type tsd-kind-interface">ButtonItem</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel tsd-hierarchy" data-refl="1762"><h4>Hierarchy (<a href="../hierarchy.html#WithBodyAndFooter">View Summary</a>)</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">WithBodyAndFooter</span><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="MessageItemPanelInfo.html" class="tsd-signature-type tsd-kind-interface">MessageItemPanelInfo</a></li></ul></li></ul></section><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="WithBodyAndFooter.html#body" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>body?</span></a>
1
+ <!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>WithBodyAndFooter | Carbon AI chat</title><meta name="description" content="Documentation for Carbon AI chat"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">Carbon AI chat</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../index.html">Carbon AI chat</a></li><li><a href="WithBodyAndFooter.html">WithBodyAndFooter</a></li></ul><h1>Interface WithBodyAndFooter</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">WithBodyAndFooter</span> <span class="tsd-signature-symbol">{</span><br/>    <a class="tsd-kind-property" href="WithBodyAndFooter.html#body">body</a><span class="tsd-signature-symbol">?:</span> <a href="GenericItem.html" class="tsd-signature-type tsd-kind-interface">GenericItem</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="WithBodyAndFooter.html#footer">footer</a><span class="tsd-signature-symbol">?:</span> <a href="ButtonItem.html" class="tsd-signature-type tsd-kind-interface">ButtonItem</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel tsd-hierarchy" data-refl="1772"><h4>Hierarchy (<a href="../hierarchy.html#WithBodyAndFooter">View Summary</a>)</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">WithBodyAndFooter</span><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="MessageItemPanelInfo.html" class="tsd-signature-type tsd-kind-interface">MessageItemPanelInfo</a></li></ul></li></ul></section><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="WithBodyAndFooter.html#body" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>body?</span></a>
2
2
  <a href="WithBodyAndFooter.html#footer" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>footer?</span></a>
3
3
  </div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Properties</h2></summary><section><section class="tsd-panel tsd-member"><a id="body" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Optional</code><span>body</span><a href="#body" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">body</span><span class="tsd-signature-symbol">?:</span> <a href="GenericItem.html" class="tsd-signature-type tsd-kind-interface">GenericItem</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span></div><div class="tsd-comment tsd-typography"><p>A list of message items to render in a web chat panel.</p>
4
4
  </div><div class="tsd-comment tsd-typography"></div></section><section class="tsd-panel tsd-member"><a id="footer" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Optional</code><span>footer</span><a href="#footer" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">footer</span><span class="tsd-signature-symbol">?:</span> <a href="ButtonItem.html" class="tsd-signature-type tsd-kind-interface">ButtonItem</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span></div><div class="tsd-comment tsd-typography"><p>A list of button items that are rendered under the panel body.</p>
@@ -0,0 +1,4 @@
1
+ <!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>WithWidthOptions | Carbon AI chat</title><meta name="description" content="Documentation for Carbon AI chat"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">Carbon AI chat</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../index.html">Carbon AI chat</a></li><li><a href="WithWidthOptions.html">WithWidthOptions</a></li></ul><h1>Interface WithWidthOptions</h1></div><div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">WithWidthOptions</span> <span class="tsd-signature-symbol">{</span><br/>    <a class="tsd-kind-property" href="WithWidthOptions.html#max_width">max_width</a><span class="tsd-signature-symbol">?:</span> <a href="../enums/WidthOptions.html" class="tsd-signature-type tsd-kind-enum">WidthOptions</a><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><section class="tsd-panel tsd-hierarchy" data-refl="1775"><h4>Hierarchy (<a href="../hierarchy.html#WithWidthOptions">View Summary</a>)</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">WithWidthOptions</span><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="GridItem.html" class="tsd-signature-type tsd-kind-interface">GridItem</a></li></ul></li></ul></section><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="WithWidthOptions.html#max_width" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>max_<wbr/>width?</span></a>
2
+ </div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Properties</h2></summary><section><section class="tsd-panel tsd-member"><a id="max_width" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><code class="tsd-tag">Optional</code><span>max_<wbr/>width</span><a href="#max_width" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">max_width</span><span class="tsd-signature-symbol">?:</span> <a href="../enums/WidthOptions.html" class="tsd-signature-type tsd-kind-enum">WidthOptions</a></div><div class="tsd-comment tsd-typography"><p>Sets an optional max width of the component. Options are small, medium and large.
3
+ By default, the component will be 100% width of the container.</p>
4
+ </div><div class="tsd-comment tsd-typography"></div></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#max_width" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>max_<wbr/>width</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html">Carbon AI chat</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>CardItem | Carbon AI chat</title><meta name="description" content="Documentation for Carbon AI chat"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">Carbon AI chat</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../index.html">Carbon AI chat</a></li><li><a href="CardItem.html">CardItem</a></li></ul><h1>Type Alias CardItem</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">CardItem</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/GenericItem.html" class="tsd-signature-type tsd-kind-interface">GenericItem</a> <span class="tsd-signature-symbol">&amp;</span> <a href="../interfaces/WithBodyAndFooter.html" class="tsd-signature-type tsd-kind-interface">WithBodyAndFooter</a></div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html">Carbon AI chat</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
1
+ <!DOCTYPE html><html class="default" lang="en" data-base=".."><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>CardItem | Carbon AI chat</title><meta name="description" content="Documentation for Carbon AI chat"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search"><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">Carbon AI chat</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../index.html">Carbon AI chat</a></li><li><a href="CardItem.html">CardItem</a></li></ul><h1>Type Alias CardItem</h1></div><div class="tsd-signature"><span class="tsd-kind-type-alias">CardItem</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/GenericItem.html" class="tsd-signature-type tsd-kind-interface">GenericItem</a> <span class="tsd-signature-symbol">&amp;</span> <a href="../interfaces/WithBodyAndFooter.html" class="tsd-signature-type tsd-kind-interface">WithBodyAndFooter</a> <span class="tsd-signature-symbol">&amp;</span> <a href="../interfaces/WithWidthOptions.html" class="tsd-signature-type tsd-kind-interface">WithWidthOptions</a></div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../index.html">Carbon AI chat</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
@@ -13,9 +13,9 @@
13
13
  * or implied. See the License for the specific language governing permissions and limitations under
14
14
  * the License.
15
15
  *
16
- * @carbon/ai-chat 0.2.0
16
+ * @carbon/ai-chat 0.3.2-0
17
17
  *
18
- * Built: Apr 16 2025 9:23 am -04:00
18
+ * Built: May 28 2025 10:21 am -04:00
19
19
  *
20
20
  *
21
21
  */
@@ -4043,7 +4043,7 @@ async function throwOnStatus(responsePromise, allowedCodes = DEFAULT_ALLOWED_RES
4043
4043
 
4044
4044
  /* eslint-disable prefer-destructuring */
4045
4045
  const NODE_ENV = "production";
4046
- const VERSION = "0.2.0";
4046
+ const VERSION = "0.3.2";
4047
4047
 
4048
4048
  var CarbonThemeClassNames;
4049
4049
  (function (CarbonThemeClassNames) {
@@ -5430,6 +5430,7 @@ const REGION_MAP = {
5430
5430
  'aws-preprod': 'integrations.aws-us-east-1.assistant.preprod.watson.appdomain.cloud',
5431
5431
  'aws-eu-central-1': 'integrations.aws-eu-central-1.assistant.watson.appdomain.cloud',
5432
5432
  'aws-ap-southeast-1': 'integrations.aws-ap-southeast-1.assistant.watson.appdomain.cloud',
5433
+ 'aws-ap-south-1': 'integrations.aws-ap-south-1.assistant.watson.appdomain.cloud',
5433
5434
  // WXO on IBM Cloud
5434
5435
  'wxo-dev': 'integrations.us-south.assistant-builder.dev.watson.appdomain.cloud',
5435
5436
  'wxo-staging': 'integrations.us-south.assistant-builder.test.watson.appdomain.cloud',
@@ -5744,11 +5745,12 @@ async function getRemoteMainConfig(serviceManager, allowJWTRetry = true) {
5744
5745
  * In this file we manage our dynamic imports for the entry of web chat. See https://webpack.js.org/guides/code-splitting/#dynamic-imports.
5745
5746
  */
5746
5747
  async function loadRender() {
5747
- const { render } = await import(/* webpackChunkName: "render" */ './scriptRender.js');
5748
+ const { render } = await import(/* webpackChunkName: "cds-ai-chat-render" */ './scriptRender.js');
5748
5749
  return render;
5749
5750
  }
5750
5751
  async function loadHAA() {
5751
- const { createService } = await import(/* webpackChunkName: "haa" */ './HumanAgentServiceImpl.js');
5752
+ const { createService } = await import(
5753
+ /* webpackChunkName: "cds-ai-chat-haa" */ './HumanAgentServiceImpl.js');
5752
5754
  return createService;
5753
5755
  }
5754
5756
  /**
@@ -5757,16 +5759,17 @@ async function loadHAA() {
5757
5759
  */
5758
5760
  async function createMockServiceDesk(parameters) {
5759
5761
  const { MockServiceDesk } = await import(
5760
- /* webpackChunkName: "mock-sd" */ './mockServiceDesk.js');
5762
+ /* webpackChunkName: "cds-ai-chat-mock-sd" */ './mockServiceDesk.js');
5761
5763
  return new MockServiceDesk(parameters);
5762
5764
  }
5763
5765
  const loadLegacyStyles = async () => {
5764
- const { default: styles } = await import(/* webpackChunkName: "styles-reset" */ './export.legacy.js');
5766
+ const { default: styles } = await import(
5767
+ /* webpackChunkName: "cds-ai-chat-styles-reset" */ './export.legacy.js');
5765
5768
  return styles;
5766
5769
  };
5767
5770
  const loadLegacyCarbon = async () => {
5768
5771
  const { default: carbon } = await import(
5769
- /* webpackChunkName: "carbon-custom-styles-reset" */ './export.legacy.carbon.js');
5772
+ /* webpackChunkName: "cds-ai-chat-carbon-custom-styles-reset" */ './export.legacy.carbon.js');
5770
5773
  return carbon;
5771
5774
  };
5772
5775
  async function loadStylesWithReset() {
@@ -5774,12 +5777,12 @@ async function loadStylesWithReset() {
5774
5777
  return carbonStyles + styles;
5775
5778
  }
5776
5779
  const loadBaseStyles = async () => {
5777
- const { default: styles } = await import(/* webpackChunkName: "styles" */ './export.js');
5780
+ const { default: styles } = await import(/* webpackChunkName: "cds-ai-chat-styles" */ './export.js');
5778
5781
  return styles;
5779
5782
  };
5780
5783
  const loadCarbon = async () => {
5781
5784
  const { default: carbon } = await import(
5782
- /* webpackChunkName: "carbon-custom-styles" */ './export.carbon.js');
5785
+ /* webpackChunkName: "cds-ai-chat-carbon-custom-styles" */ './export.carbon.js');
5783
5786
  return carbon;
5784
5787
  };
5785
5788
  async function loadStyles() {
@@ -15229,7 +15232,7 @@ class TrackService {
15229
15232
  'Browser device type': BROWSER_DEVICE_TYPE,
15230
15233
  'Deployed full path': getURLHostnameAndPath(),
15231
15234
  'Deployed hostname': window.location.hostname,
15232
- 'User loaded version': "0.2.0",
15235
+ 'User loaded version': "0.3.2",
15233
15236
  ...event.user_properties,
15234
15237
  };
15235
15238
  return event;
@@ -15301,7 +15304,7 @@ class TrackService {
15301
15304
  'Secondary color changed': Boolean(initConfig.css_variables?.['BASE-secondary-color']),
15302
15305
  'Accent color changed': Boolean(initConfig.css_variables?.['BASE-accent-color']),
15303
15306
  'Secure login enabled': Boolean(identityToken || initConfig.authorization?.is_on),
15304
- 'Loaded version': "0.2.0",
15307
+ 'Loaded version': "0.3.2",
15305
15308
  'Requested version': config.public.clientVersion || 'unknown',
15306
15309
  'LoadWAC version': additionalChatParameters?.loadVersion || 'unknown',
15307
15310
  'Suggestions enabled': Boolean(initConfig.alternate_suggestions?.is_on),
@@ -15532,8 +15535,9 @@ const NO_SKILLS_ERROR_TEXT = 'No skills found for the assistant';
15532
15535
  // Time in ms between retry attempts.
15533
15536
  const MS_BETWEEN_RETRIES = [1000, 3000, 5000];
15534
15537
  // The maximum amount of time we allow retries to take place. If we pass this time limit, we throw an error, stop
15535
- // retrying, and move on to the next item in the queue.
15536
- const MS_MAX_ATTEMPT = 40000;
15538
+ // retrying, and move on to the next item in the queue. 120 seconds is the longest Cerberus allows for, so we'll
15539
+ // set this a little higher than that.
15540
+ const MS_MAX_ATTEMPT = 150 * 1000;
15537
15541
  // The maximum amount of time we allow to pass before the error indicator becomes visible.
15538
15542
  const MS_MAX_SILENT_ERROR = 6000;
15539
15543
  // The maximum amount of time we allow to pass before the loading indicator becomes visible.
@@ -19138,46 +19142,44 @@ const reducers = {
19138
19142
  itemIDsInNewMessage.push(id);
19139
19143
  }
19140
19144
  });
19141
- if (itemIDsInNewMessage.length) {
19142
- const newAllMessageItemsByID = { ...state.allMessageItemsByID };
19143
- const existingItemIDs = [];
19144
- let firstFoundIndex;
19145
- // Remove all the existing items for this message. Also keep track of where the first one was found.
19146
- const newLocalMessageIDs = state.botMessageState.localMessageIDs.filter((itemID, index) => {
19147
- const item = state.allMessageItemsByID[itemID];
19148
- const isItemInMessage = item.fullMessageID === messageID;
19149
- if (isItemInMessage) {
19150
- if (firstFoundIndex === undefined) {
19151
- firstFoundIndex = index;
19152
- }
19153
- if (!itemIDsInNewMessage.includes(itemID)) {
19154
- // If this item is not in the new message, then remove the whole item object.
19155
- delete newAllMessageItemsByID[itemID];
19156
- }
19157
- else {
19158
- // Otherwise, this item will may get re-inserted back into the list (if it still exists).
19159
- existingItemIDs.push(itemID);
19160
- }
19145
+ const newAllMessageItemsByID = { ...state.allMessageItemsByID };
19146
+ const existingItemIDs = [];
19147
+ let firstFoundIndex;
19148
+ // Remove all the existing items for this message. Also keep track of where the first one was found.
19149
+ const newLocalMessageIDs = state.botMessageState.localMessageIDs.filter((itemID, index) => {
19150
+ const item = state.allMessageItemsByID[itemID];
19151
+ const isItemInMessage = item.fullMessageID === messageID;
19152
+ if (isItemInMessage) {
19153
+ if (firstFoundIndex === undefined) {
19154
+ firstFoundIndex = index;
19161
19155
  }
19162
- // Keep the item if it's not in the new message.
19163
- return !isItemInMessage;
19164
- });
19165
- // Now insert the message items back into the list at the right spot, but only the items we already had.
19166
- if (existingItemIDs.length) {
19167
- const itemIDsToInsert = itemIDsInNewMessage.filter(itemID => existingItemIDs.includes(itemID));
19168
- if (itemIDsToInsert.length) {
19169
- newLocalMessageIDs.splice(firstFoundIndex, 0, ...itemIDsToInsert);
19156
+ if (!itemIDsInNewMessage.includes(itemID)) {
19157
+ // If this item is not in the new message, then remove the whole item object.
19158
+ delete newAllMessageItemsByID[itemID];
19159
+ }
19160
+ else {
19161
+ // Otherwise, this item will may get re-inserted back into the list (if it still exists).
19162
+ existingItemIDs.push(itemID);
19170
19163
  }
19171
19164
  }
19172
- newState = {
19173
- ...newState,
19174
- allMessageItemsByID: newAllMessageItemsByID,
19175
- botMessageState: {
19176
- ...newState.botMessageState,
19177
- localMessageIDs: newLocalMessageIDs,
19178
- },
19179
- };
19165
+ // Keep the item if it's not in the new message.
19166
+ return !isItemInMessage;
19167
+ });
19168
+ // Now insert the message items back into the list at the right spot, but only the items we already had.
19169
+ if (existingItemIDs.length) {
19170
+ const itemIDsToInsert = itemIDsInNewMessage.filter(itemID => existingItemIDs.includes(itemID));
19171
+ if (itemIDsToInsert.length) {
19172
+ newLocalMessageIDs.splice(firstFoundIndex, 0, ...itemIDsToInsert);
19173
+ }
19180
19174
  }
19175
+ newState = {
19176
+ ...newState,
19177
+ allMessageItemsByID: newAllMessageItemsByID,
19178
+ botMessageState: {
19179
+ ...newState.botMessageState,
19180
+ localMessageIDs: newLocalMessageIDs,
19181
+ },
19182
+ };
19181
19183
  }
19182
19184
  return applyFullMessage(newState, message);
19183
19185
  },
@@ -20111,9 +20113,9 @@ function doCreateStore(config, serviceManager) {
20111
20113
  config: initConfig.branding_config,
20112
20114
  }),
20113
20115
  launcher: merge({}, DEFAULT_LAUNCHER, {
20114
- config: merge({}, { is_on: config.public.showLauncher }, initConfig.launcher_config, {
20116
+ config: merge({}, initConfig.launcher_config, {
20115
20117
  mobile: merge({}, config.public.__ibm__.launcherExtendedConfig),
20116
- }),
20118
+ }, { is_on: config.public.showLauncher }),
20117
20119
  }),
20118
20120
  iFramePanelState: DEFAULT_IFRAME_PANEL_STATE,
20119
20121
  viewSourcePanelState: DEFAULT_CITATION_PANEL_STATE,
@@ -24252,84 +24254,84 @@ var IntlMessageFormat = /** @class */ (function () {
24252
24254
  }());
24253
24255
 
24254
24256
  const locales = {
24255
- ar: () => import(/* webpackChunkName: "locale_ar" */ './ar.js').then(function (n) { return n.a; }),
24256
- 'ar-dz': () => import(/* webpackChunkName: "locale_ar_dz" */ './ar-dz.js').then(function (n) { return n.a; }),
24257
- 'ar-kw': () => import(/* webpackChunkName: "locale_ar_kw" */ './ar-kw.js').then(function (n) { return n.a; }),
24258
- 'ar-ly': () => import(/* webpackChunkName: "locale_ar_ly" */ './ar-ly.js').then(function (n) { return n.a; }),
24259
- 'ar-ma': () => import(/* webpackChunkName: "locale_ar_ma" */ './ar-ma.js').then(function (n) { return n.a; }),
24260
- 'ar-sa': () => import(/* webpackChunkName: "locale_ar_sa" */ './ar-sa.js').then(function (n) { return n.a; }),
24261
- 'ar-tn': () => import(/* webpackChunkName: "locale_ar_tn" */ './ar-tn.js').then(function (n) { return n.a; }),
24262
- cs: () => import(/* webpackChunkName: "locale_cs" */ './cs.js').then(function (n) { return n.c; }),
24263
- de: () => import(/* webpackChunkName: "locale_de" */ './de.js').then(function (n) { return n.d; }),
24264
- 'de-at': () => import(/* webpackChunkName: "locale_de_at" */ './de-at.js').then(function (n) { return n.d; }),
24265
- 'de-ch': () => import(/* webpackChunkName: "locale_de_ch" */ './de-ch.js').then(function (n) { return n.d; }),
24257
+ ar: () => import(/* webpackChunkName: "cds-ai-chat-locale_ar" */ './ar.js').then(function (n) { return n.a; }),
24258
+ 'ar-dz': () => import(/* webpackChunkName: "cds-ai-chat-locale_ar_dz" */ './ar-dz.js').then(function (n) { return n.a; }),
24259
+ 'ar-kw': () => import(/* webpackChunkName: "cds-ai-chat-locale_ar_kw" */ './ar-kw.js').then(function (n) { return n.a; }),
24260
+ 'ar-ly': () => import(/* webpackChunkName: "cds-ai-chat-locale_ar_ly" */ './ar-ly.js').then(function (n) { return n.a; }),
24261
+ 'ar-ma': () => import(/* webpackChunkName: "cds-ai-chat-locale_ar_ma" */ './ar-ma.js').then(function (n) { return n.a; }),
24262
+ 'ar-sa': () => import(/* webpackChunkName: "cds-ai-chat-locale_ar_sa" */ './ar-sa.js').then(function (n) { return n.a; }),
24263
+ 'ar-tn': () => import(/* webpackChunkName: "cds-ai-chat-locale_ar_tn" */ './ar-tn.js').then(function (n) { return n.a; }),
24264
+ cs: () => import(/* webpackChunkName: "cds-ai-chat-locale_cs" */ './cs.js').then(function (n) { return n.c; }),
24265
+ de: () => import(/* webpackChunkName: "cds-ai-chat-locale_de" */ './de.js').then(function (n) { return n.d; }),
24266
+ 'de-at': () => import(/* webpackChunkName: "cds-ai-chat-locale_de_at" */ './de-at.js').then(function (n) { return n.d; }),
24267
+ 'de-ch': () => import(/* webpackChunkName: "cds-ai-chat-locale_de_ch" */ './de-ch.js').then(function (n) { return n.d; }),
24266
24268
  en: () => Promise.resolve().then(function () { return en; }),
24267
- 'en-au': () => import(/* webpackChunkName: "locale_en_au" */ './en-au.js').then(function (n) { return n.e; }),
24268
- 'en-ca': () => import(/* webpackChunkName: "locale_en_ca" */ './en-ca.js').then(function (n) { return n.e; }),
24269
- 'en-gb': () => import(/* webpackChunkName: "locale_en_gb" */ './en-gb.js').then(function (n) { return n.e; }),
24270
- 'en-ie': () => import(/* webpackChunkName: "locale_en_ie" */ './en-ie.js').then(function (n) { return n.e; }),
24271
- 'en-il': () => import(/* webpackChunkName: "locale_en_il" */ './en-il.js').then(function (n) { return n.e; }),
24272
- 'en-nz': () => import(/* webpackChunkName: "locale_en_nz" */ './en-nz.js').then(function (n) { return n.e; }),
24273
- es: () => import(/* webpackChunkName: "locale_es" */ './es.js').then(function (n) { return n.e; }),
24274
- 'es-do': () => import(/* webpackChunkName: "locale_es_do" */ './es-do.js').then(function (n) { return n.e; }),
24275
- 'es-us': () => import(/* webpackChunkName: "locale_es_us" */ './es-us.js').then(function (n) { return n.e; }),
24276
- nl: () => import(/* webpackChunkName: "locale_nl" */ './nl.js').then(function (n) { return n.n; }),
24277
- fr: () => import(/* webpackChunkName: "locale_fr" */ './fr.js').then(function (n) { return n.f; }),
24278
- 'fr-ca': () => import(/* webpackChunkName: "locale_fr_ca" */ './fr-ca.js').then(function (n) { return n.f; }),
24279
- 'fr-ch': () => import(/* webpackChunkName: "locale_fr_ch" */ './fr-ch.js').then(function (n) { return n.f; }),
24280
- it: () => import(/* webpackChunkName: "locale_it" */ './it.js').then(function (n) { return n.i; }),
24281
- 'it-ch': () => import(/* webpackChunkName: "locale_it_ch" */ './it-ch.js').then(function (n) { return n.i; }),
24282
- ja: () => import(/* webpackChunkName: "locale_ja" */ './ja.js').then(function (n) { return n.j; }),
24283
- ko: () => import(/* webpackChunkName: "locale_ko" */ './ko.js').then(function (n) { return n.k; }),
24284
- pt: () => import(/* webpackChunkName: "locale_pt" */ './pt.js').then(function (n) { return n.p; }),
24285
- 'pt-br': () => import(/* webpackChunkName: "locale_pt_br" */ './pt-br.js').then(function (n) { return n.p; }),
24269
+ 'en-au': () => import(/* webpackChunkName: "cds-ai-chat-locale_en_au" */ './en-au.js').then(function (n) { return n.e; }),
24270
+ 'en-ca': () => import(/* webpackChunkName: "cds-ai-chat-locale_en_ca" */ './en-ca.js').then(function (n) { return n.e; }),
24271
+ 'en-gb': () => import(/* webpackChunkName: "cds-ai-chat-locale_en_gb" */ './en-gb.js').then(function (n) { return n.e; }),
24272
+ 'en-ie': () => import(/* webpackChunkName: "cds-ai-chat-locale_en_ie" */ './en-ie.js').then(function (n) { return n.e; }),
24273
+ 'en-il': () => import(/* webpackChunkName: "cds-ai-chat-locale_en_il" */ './en-il.js').then(function (n) { return n.e; }),
24274
+ 'en-nz': () => import(/* webpackChunkName: "cds-ai-chat-locale_en_nz" */ './en-nz.js').then(function (n) { return n.e; }),
24275
+ es: () => import(/* webpackChunkName: "cds-ai-chat-locale_es" */ './es.js').then(function (n) { return n.e; }),
24276
+ 'es-do': () => import(/* webpackChunkName: "cds-ai-chat-locale_es_do" */ './es-do.js').then(function (n) { return n.e; }),
24277
+ 'es-us': () => import(/* webpackChunkName: "cds-ai-chat-locale_es_us" */ './es-us.js').then(function (n) { return n.e; }),
24278
+ nl: () => import(/* webpackChunkName: "cds-ai-chat-locale_nl" */ './nl.js').then(function (n) { return n.n; }),
24279
+ fr: () => import(/* webpackChunkName: "cds-ai-chat-locale_fr" */ './fr.js').then(function (n) { return n.f; }),
24280
+ 'fr-ca': () => import(/* webpackChunkName: "cds-ai-chat-locale_fr_ca" */ './fr-ca.js').then(function (n) { return n.f; }),
24281
+ 'fr-ch': () => import(/* webpackChunkName: "cds-ai-chat-locale_fr_ch" */ './fr-ch.js').then(function (n) { return n.f; }),
24282
+ it: () => import(/* webpackChunkName: "cds-ai-chat-locale_it" */ './it.js').then(function (n) { return n.i; }),
24283
+ 'it-ch': () => import(/* webpackChunkName: "cds-ai-chat-locale_it_ch" */ './it-ch.js').then(function (n) { return n.i; }),
24284
+ ja: () => import(/* webpackChunkName: "cds-ai-chat-locale_ja" */ './ja.js').then(function (n) { return n.j; }),
24285
+ ko: () => import(/* webpackChunkName: "cds-ai-chat-locale_ko" */ './ko.js').then(function (n) { return n.k; }),
24286
+ pt: () => import(/* webpackChunkName: "cds-ai-chat-locale_pt" */ './pt.js').then(function (n) { return n.p; }),
24287
+ 'pt-br': () => import(/* webpackChunkName: "cds-ai-chat-locale_pt_br" */ './pt-br.js').then(function (n) { return n.p; }),
24286
24288
  // The translation team has only given us "zh" for text which we'll just map to "zh-cn" for locale as well.
24287
- zh: () => import(/* webpackChunkName: "locale_zh_cn" */ './zh-cn.js').then(function (n) { return n.z; }),
24288
- 'zh-cn': () => import(/* webpackChunkName: "locale_zh_cn" */ './zh-cn.js').then(function (n) { return n.z; }),
24289
- 'zh-tw': () => import(/* webpackChunkName: "locale_zh_tw" */ './zh-tw.js').then(function (n) { return n.z; }),
24289
+ zh: () => import(/* webpackChunkName: "cds-ai-chat-locale_zh_cn" */ './zh-cn.js').then(function (n) { return n.z; }),
24290
+ 'zh-cn': () => import(/* webpackChunkName: "cds-ai-chat-locale_zh_cn" */ './zh-cn.js').then(function (n) { return n.z; }),
24291
+ 'zh-tw': () => import(/* webpackChunkName: "cds-ai-chat-locale_zh_tw" */ './zh-tw.js').then(function (n) { return n.z; }),
24290
24292
  // The zh-mo and zh-hk locales fallback to zh-tw.
24291
- 'zh-mo': () => import(/* webpackChunkName: "locale_zh_tw" */ './zh-tw.js').then(function (n) { return n.z; }),
24292
- 'zh-hk': () => import(/* webpackChunkName: "locale_zh_tw" */ './zh-tw.js').then(function (n) { return n.z; }),
24293
+ 'zh-mo': () => import(/* webpackChunkName: "cds-ai-chat-locale_zh_tw" */ './zh-tw.js').then(function (n) { return n.z; }),
24294
+ 'zh-hk': () => import(/* webpackChunkName: "cds-ai-chat-locale_zh_tw" */ './zh-tw.js').then(function (n) { return n.z; }),
24293
24295
  };
24294
24296
  const languages = {
24295
24297
  ar: () => {
24296
- return import(/* webpackChunkName: "lang_ar" */ './ar2.js');
24298
+ return import(/* webpackChunkName: "cds-ai-chat-lang_ar" */ './ar2.js');
24297
24299
  },
24298
24300
  cs: () => {
24299
- return import(/* webpackChunkName: "lang_cs" */ './cs2.js');
24301
+ return import(/* webpackChunkName: "cds-ai-chat-lang_cs" */ './cs2.js');
24300
24302
  },
24301
24303
  de: () => {
24302
- return import(/* webpackChunkName: "lang_de" */ './de2.js');
24304
+ return import(/* webpackChunkName: "cds-ai-chat-lang_de" */ './de2.js');
24303
24305
  },
24304
24306
  en: () => {
24305
24307
  return Promise.resolve().then(function () { return en$2; });
24306
24308
  },
24307
24309
  es: () => {
24308
- return import(/* webpackChunkName: "lang_es" */ './es2.js');
24310
+ return import(/* webpackChunkName: "cds-ai-chat-lang_es" */ './es2.js');
24309
24311
  },
24310
24312
  fr: () => {
24311
- return import(/* webpackChunkName: "lang_fr" */ './fr2.js');
24313
+ return import(/* webpackChunkName: "cds-ai-chat-lang_fr" */ './fr2.js');
24312
24314
  },
24313
24315
  it: () => {
24314
- return import(/* webpackChunkName: "lang_it" */ './it2.js');
24316
+ return import(/* webpackChunkName: "cds-ai-chat-lang_it" */ './it2.js');
24315
24317
  },
24316
24318
  ja: () => {
24317
- return import(/* webpackChunkName: "lang_ja" */ './ja2.js');
24319
+ return import(/* webpackChunkName: "cds-ai-chat-lang_ja" */ './ja2.js');
24318
24320
  },
24319
24321
  ko: () => {
24320
- return import(/* webpackChunkName: "lang_ko" */ './ko2.js');
24322
+ return import(/* webpackChunkName: "cds-ai-chat-lang_ko" */ './ko2.js');
24321
24323
  },
24322
24324
  nl: () => {
24323
- return import(/* webpackChunkName: "lang_nl" */ './nl2.js');
24325
+ return import(/* webpackChunkName: "cds-ai-chat-lang_nl" */ './nl2.js');
24324
24326
  },
24325
24327
  'pt-br': () => {
24326
- return import(/* webpackChunkName: "lang_pt_br" */ './pt-br2.js');
24328
+ return import(/* webpackChunkName: "cds-ai-chat-lang_pt_br" */ './pt-br2.js');
24327
24329
  },
24328
24330
  zh: () => {
24329
- return import(/* webpackChunkName: "lang_zh_cn" */ './zh.js');
24331
+ return import(/* webpackChunkName: "cds-ai-chat-lang_zh_cn" */ './zh.js');
24330
24332
  },
24331
24333
  'zh-tw': () => {
24332
- return import(/* webpackChunkName: "lang_zh_tw" */ './zh-tw2.js');
24334
+ return import(/* webpackChunkName: "cds-ai-chat-lang_zh_tw" */ './zh-tw2.js');
24333
24335
  },
24334
24336
  };
24335
24337
  // The zh-mo and zh-hk locales fallback to zh-tw.
@@ -25505,8 +25507,8 @@ ensureChatBrowserWindowConfigExists();
25505
25507
  const { loadScriptPromises } = getSharedConfig();
25506
25508
  // In the testing environment, this is not set. In non-testing environments, this promise resolves with
25507
25509
  // WatsonAssistantChat to let the entry script know we have loaded.
25508
- if (loadScriptPromises["0.2.0"]) {
25509
- loadScriptPromises["0.2.0"].doResolve(Chat$2);
25510
+ if (loadScriptPromises["0.3.2"]) {
25511
+ loadScriptPromises["0.3.2"].doResolve(Chat$2);
25510
25512
  }
25511
25513
 
25512
25514
  function _typeof$1(obj) {
@@ -58026,7 +58028,7 @@ let TableElement = class TableElement extends LitElement {
58026
58028
  // template). Using Carbon's example of hiding the rows with styling works so I'm extending that concept here even
58027
58029
  // though, ideally, render controls the view and reacts to the state that would be determined here.
58028
58030
  // Hide all the rows to start.
58029
- rows.forEach(row => row.setAttribute('style', 'display: none'));
58031
+ rows.forEach(row => row.style.setProperty('display', 'none'));
58030
58032
  // Now filter the rows down to what is visible according to the filter.
58031
58033
  const filterVisibleRows = rows.filter(row => this._filterVisibleRowIDs.has(row.id));
58032
58034
  // Now show all the rows that are within the current page.
@@ -68054,11 +68056,13 @@ class MainWindow extends Component {
68054
68056
  */
68055
68057
  this.viewSourcePanelRef = React__default.createRef();
68056
68058
  /**
68057
- * The previous value of the body "style" property before the widget was opened. A value of undefined means
68058
- * we have not saved a previous value. A value of null means that we saved a previous value and the previous value
68059
- * was a non-existing property.
68059
+ * The previous value of the body "visibility" property before the widget was opened.
68060
68060
  */
68061
- this.previousBodyStyle = undefined;
68061
+ this.previousBodyVisibility = undefined;
68062
+ /**
68063
+ * The previous value of the body "position" property before the widget was opened.
68064
+ */
68065
+ this.previousBodyPosition = undefined;
68062
68066
  /**
68063
68067
  * This will check to see if the messages list is anchored to the bottom of the panel and if so, ensure that the
68064
68068
  * list is still scrolled to the bottom. It will also set the classname appropriate to the current width.
@@ -68407,7 +68411,8 @@ class MainWindow extends Component {
68407
68411
  if ((window.screen.width <= 500 || window.screen.height <= 500) &&
68408
68412
  this.props.persistedToBrowserStorage.launcherState.viewState.mainWindow &&
68409
68413
  !unmounting) {
68410
- this.previousBodyStyle = document.body.getAttribute('style') ?? null;
68414
+ this.previousBodyVisibility = document.body.style.getPropertyValue('visibility');
68415
+ this.previousBodyPosition = document.body.style.getPropertyValue('position');
68411
68416
  // On iOS devices when the keyboard is opened the viewport is immediately resized to the shorter view that is
68412
68417
  // visible between the navigation bar and the keyboard. However, this occurs before the keyboard has fully slid
68413
68418
  // into view. When the resize occurs we shrink the widget to the size of the viewport but this means that
@@ -68420,14 +68425,9 @@ class MainWindow extends Component {
68420
68425
  // this styling is rendered on the body.
68421
68426
  document.body.style.setProperty('position', 'fixed', 'important');
68422
68427
  }
68423
- else if (this.previousBodyStyle !== undefined) {
68424
- if (this.previousBodyStyle === null) {
68425
- document.body.removeAttribute('style');
68426
- }
68427
- else {
68428
- document.body.setAttribute('style', this.previousBodyStyle);
68429
- }
68430
- this.previousBodyStyle = undefined;
68428
+ else {
68429
+ document.body.style.setProperty('visibility', this.previousBodyVisibility);
68430
+ document.body.style.setProperty('position', this.previousBodyPosition);
68431
68431
  }
68432
68432
  }
68433
68433
  }
@@ -68982,12 +68982,14 @@ function AppContainer({ config, onBeforeRender, onAfterRender, renderUserDefined
68982
68982
  if (serviceManager.customHostElement) {
68983
68983
  // Set container to grow to size of provided element. We don't do this sooner because "body" might be set to
68984
68984
  // display: flex;
68985
- container.setAttribute('style', 'width:100% !important; height:100% !important');
68985
+ container.style.setProperty('width', '100%', 'important');
68986
+ container.style.setProperty('height', '100%', 'important');
68986
68987
  }
68987
68988
  else {
68988
68989
  // We want to make sure it doesn't interfere with the body by covering anything up so we'll set it to a 0 size.
68989
68990
  // The child elements use position: fixed along with a size that break out of the container.
68990
- container.setAttribute('style', 'width:0 !important; height:0 !important');
68991
+ container.style.setProperty('width', '0', 'important');
68992
+ container.style.setProperty('height', '0', 'important');
68991
68993
  }
68992
68994
  // Make sure that the renderProps are set before we resolve the render function to make sure the component is
68993
68995
  // actually rendered on time.
@@ -13,9 +13,9 @@
13
13
  * or implied. See the License for the specific language governing permissions and limitations under
14
14
  * the License.
15
15
  *
16
- * @carbon/ai-chat 0.2.0
16
+ * @carbon/ai-chat 0.3.2-0
17
17
  *
18
- * Built: Apr 16 2025 9:23 am -04:00
18
+ * Built: May 28 2025 10:21 am -04:00
19
19
  *
20
20
  *
21
21
  */
@@ -13,9 +13,9 @@
13
13
  * or implied. See the License for the specific language governing permissions and limitations under
14
14
  * the License.
15
15
  *
16
- * @carbon/ai-chat 0.2.0
16
+ * @carbon/ai-chat 0.3.2-0
17
17
  *
18
- * Built: Apr 16 2025 9:23 am -04:00
18
+ * Built: May 28 2025 10:21 am -04:00
19
19
  *
20
20
  *
21
21
  */
@@ -13,9 +13,9 @@
13
13
  * or implied. See the License for the specific language governing permissions and limitations under
14
14
  * the License.
15
15
  *
16
- * @carbon/ai-chat 0.2.0
16
+ * @carbon/ai-chat 0.3.2-0
17
17
  *
18
- * Built: Apr 16 2025 9:23 am -04:00
18
+ * Built: May 28 2025 10:21 am -04:00
19
19
  *
20
20
  *
21
21
  */
@@ -13,9 +13,9 @@
13
13
  * or implied. See the License for the specific language governing permissions and limitations under
14
14
  * the License.
15
15
  *
16
- * @carbon/ai-chat 0.2.0
16
+ * @carbon/ai-chat 0.3.2-0
17
17
  *
18
- * Built: Apr 16 2025 9:23 am -04:00
18
+ * Built: May 28 2025 10:21 am -04:00
19
19
  *
20
20
  *
21
21
  */