@bikdotai/bik-component-library 0.0.840-beta.0 → 0.0.840-tools-beta.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 (225) hide show
  1. package/dist/cjs/assets/icons/BigCommerce.svg.js +2 -0
  2. package/dist/cjs/assets/icons/BigCommerce.svg.js.map +1 -0
  3. package/dist/cjs/assets/icons/ShipStation.svg.js +2 -0
  4. package/dist/cjs/assets/icons/ShipStation.svg.js.map +1 -0
  5. package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js +1 -1
  6. package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  7. package/dist/cjs/components/SearchFilter/index.js +1 -1
  8. package/dist/cjs/components/SearchFilter/index.js.map +1 -1
  9. package/dist/cjs/components/agent-builder/AgentBuilder.js +1 -1
  10. package/dist/cjs/components/agent-builder/AgentBuilder.js.map +1 -1
  11. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js +39 -51
  12. package/dist/cjs/components/agent-builder/AgentBuilder.styled.js.map +1 -1
  13. package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js +1 -1
  14. package/dist/cjs/components/agent-builder/components/AgentBuilderFooter.js.map +1 -1
  15. package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js +1 -1
  16. package/dist/cjs/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -1
  17. package/dist/cjs/components/agent-builder/components/ConfigToolPanel.js +2 -2
  18. package/dist/cjs/components/agent-builder/components/ConfigToolPanel.js.map +1 -1
  19. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js +1 -1
  20. package/dist/cjs/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -1
  21. package/dist/cjs/components/agent-builder/components/DiscardModal.js +1 -1
  22. package/dist/cjs/components/agent-builder/components/DiscardModal.js.map +1 -1
  23. package/dist/cjs/components/agent-builder/components/GoLiveModal.js +1 -1
  24. package/dist/cjs/components/agent-builder/components/GoLiveModal.js.map +1 -1
  25. package/dist/cjs/components/agent-builder/components/MentionEditor.js +1 -1
  26. package/dist/cjs/components/agent-builder/components/MentionEditor.js.map +1 -1
  27. package/dist/cjs/components/agent-builder/components/MentionPicker.js +22 -22
  28. package/dist/cjs/components/agent-builder/components/MentionPicker.js.map +1 -1
  29. package/dist/cjs/components/agent-builder/components/RestApiToolPanel.js +4 -4
  30. package/dist/cjs/components/agent-builder/components/RestApiToolPanel.js.map +1 -1
  31. package/dist/cjs/components/agent-builder/components/SelectableListSection.js +6 -6
  32. package/dist/cjs/components/agent-builder/components/SelectableListSection.js.map +1 -1
  33. package/dist/cjs/components/agent-builder/components/StepSectionHeader.js +1 -1
  34. package/dist/cjs/components/agent-builder/components/StepSectionHeader.js.map +1 -1
  35. package/dist/cjs/components/agent-builder/constants/tools.js +1 -1
  36. package/dist/cjs/components/agent-builder/constants/tools.js.map +1 -1
  37. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js +1 -1
  38. package/dist/cjs/components/agent-builder/context/AgentBuilderContext.js.map +1 -1
  39. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js +1 -3
  40. package/dist/cjs/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -1
  41. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js +1 -1
  42. package/dist/cjs/components/agent-builder/steps/Step3HowItResponds.js.map +1 -1
  43. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js +1 -1
  44. package/dist/cjs/components/agent-builder/steps/Step4HandoverRules.js.map +1 -1
  45. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js +3 -5
  46. package/dist/cjs/components/agent-builder/utils/mentionSerialization.js.map +1 -1
  47. package/dist/cjs/components/agent-builder/utils/sourceIcons.js +1 -1
  48. package/dist/cjs/components/agent-builder/utils/sourceIcons.js.map +1 -1
  49. package/dist/cjs/components/agent-listing/AgentListing.js +1 -1
  50. package/dist/cjs/components/agent-listing/AgentListing.js.map +1 -1
  51. package/dist/cjs/components/agent-listing/AgentTable.js +1 -1
  52. package/dist/cjs/components/agent-listing/AgentTable.js.map +1 -1
  53. package/dist/cjs/components/agent-listing/AgentTableRow.js +1 -1
  54. package/dist/cjs/components/agent-listing/AgentTableRow.js.map +1 -1
  55. package/dist/cjs/components/agent-listing/DeleteAgentModal.js +1 -1
  56. package/dist/cjs/components/agent-listing/DeleteAgentModal.js.map +1 -1
  57. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsChip.js +1 -1
  58. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsChip.js.map +1 -1
  59. package/dist/cjs/components/button/Button.styled.js +0 -1
  60. package/dist/cjs/components/button/Button.styled.js.map +1 -1
  61. package/dist/cjs/components/button/themes.js +11 -11
  62. package/dist/cjs/components/button/themes.js.map +1 -1
  63. package/dist/cjs/components/dashboard-review-popup/DashboardReviewPopUp.js +1 -1
  64. package/dist/cjs/components/dashboard-review-popup/DashboardReviewPopUp.js.map +1 -1
  65. package/dist/cjs/components/dropdown/Dropdown.js +1 -1
  66. package/dist/cjs/components/dropdown/Dropdown.js.map +1 -1
  67. package/dist/cjs/components/dropdown-button/DropdownButton.js +1 -1
  68. package/dist/cjs/components/dropdown-button/DropdownButton.js.map +1 -1
  69. package/dist/cjs/components/input/Input.js +1 -1
  70. package/dist/cjs/components/input/Input.js.map +1 -1
  71. package/dist/cjs/components/multi-level-dropdown/MenuItem.js +1 -1
  72. package/dist/cjs/components/multi-level-dropdown/MenuItem.js.map +1 -1
  73. package/dist/cjs/components/radioButton/RadioButton.js +1 -1
  74. package/dist/cjs/components/radioButton/RadioButton.js.map +1 -1
  75. package/dist/cjs/components/radioList/RadioList.js +1 -1
  76. package/dist/cjs/components/radioList/RadioList.js.map +1 -1
  77. package/dist/cjs/components/searchBar/searchBar.js +1 -1
  78. package/dist/cjs/components/searchBar/searchBar.js.map +1 -1
  79. package/dist/cjs/components/side-modal/SideModal.js +1 -1
  80. package/dist/cjs/components/side-modal/SideModal.js.map +1 -1
  81. package/dist/cjs/components/star-rating/Star.js +1 -1
  82. package/dist/cjs/components/star-rating/Star.js.map +1 -1
  83. package/dist/cjs/components/star-rating/StarRating.js +2 -2
  84. package/dist/cjs/components/star-rating/StarRating.js.map +1 -1
  85. package/dist/cjs/components/template-preview/TemplatePreview.js +1 -1
  86. package/dist/cjs/components/template-preview/TemplatePreview.js.map +1 -1
  87. package/dist/cjs/components/thumbnail/Thumbnail.js +1 -1
  88. package/dist/cjs/components/thumbnail/Thumbnail.js.map +1 -1
  89. package/dist/cjs/components/zeroState/ZeroState.js +3 -3
  90. package/dist/cjs/components/zeroState/ZeroState.js.map +1 -1
  91. package/dist/cjs/editor/BikEditor.js +1 -1
  92. package/dist/cjs/editor/BikEditor.js.map +1 -1
  93. package/dist/cjs/editor/BikEditor.styles.js +54 -97
  94. package/dist/cjs/editor/BikEditor.styles.js.map +1 -1
  95. package/dist/cjs/editor/extensions/jsonHighlight/JsonHighlightExtension.js +3 -3
  96. package/dist/cjs/editor/extensions/jsonHighlight/JsonHighlightExtension.js.map +1 -1
  97. package/dist/cjs/icons/index.js +1 -1
  98. package/dist/esm/assets/icons/BigCommerce.svg.js +6 -0
  99. package/dist/esm/assets/icons/BigCommerce.svg.js.map +1 -0
  100. package/dist/esm/assets/icons/ShipStation.svg.js +6 -0
  101. package/dist/esm/assets/icons/ShipStation.svg.js.map +1 -0
  102. package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js +61 -66
  103. package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  104. package/dist/esm/components/SearchFilter/index.js +10 -11
  105. package/dist/esm/components/SearchFilter/index.js.map +1 -1
  106. package/dist/esm/components/agent-builder/AgentBuilder.js +102 -106
  107. package/dist/esm/components/agent-builder/AgentBuilder.js.map +1 -1
  108. package/dist/esm/components/agent-builder/AgentBuilder.model.d.ts +7 -0
  109. package/dist/esm/components/agent-builder/AgentBuilder.styled.d.ts +6 -3
  110. package/dist/esm/components/agent-builder/AgentBuilder.styled.js +106 -118
  111. package/dist/esm/components/agent-builder/AgentBuilder.styled.js.map +1 -1
  112. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js +21 -29
  113. package/dist/esm/components/agent-builder/components/AgentBuilderFooter.js.map +1 -1
  114. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js +26 -27
  115. package/dist/esm/components/agent-builder/components/AgentBuilderTopBar.js.map +1 -1
  116. package/dist/esm/components/agent-builder/components/ConfigToolPanel.js +25 -25
  117. package/dist/esm/components/agent-builder/components/ConfigToolPanel.js.map +1 -1
  118. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js +23 -24
  119. package/dist/esm/components/agent-builder/components/CreateSubAgentPanel.js.map +1 -1
  120. package/dist/esm/components/agent-builder/components/DiscardModal.d.ts +1 -3
  121. package/dist/esm/components/agent-builder/components/DiscardModal.js +24 -33
  122. package/dist/esm/components/agent-builder/components/DiscardModal.js.map +1 -1
  123. package/dist/esm/components/agent-builder/components/GoLiveModal.js +21 -23
  124. package/dist/esm/components/agent-builder/components/GoLiveModal.js.map +1 -1
  125. package/dist/esm/components/agent-builder/components/MentionEditor.js +19 -19
  126. package/dist/esm/components/agent-builder/components/MentionEditor.js.map +1 -1
  127. package/dist/esm/components/agent-builder/components/MentionPicker.js +147 -177
  128. package/dist/esm/components/agent-builder/components/MentionPicker.js.map +1 -1
  129. package/dist/esm/components/agent-builder/components/RestApiToolPanel.d.ts +0 -2
  130. package/dist/esm/components/agent-builder/components/RestApiToolPanel.js +105 -111
  131. package/dist/esm/components/agent-builder/components/RestApiToolPanel.js.map +1 -1
  132. package/dist/esm/components/agent-builder/components/SelectableListSection.d.ts +4 -13
  133. package/dist/esm/components/agent-builder/components/SelectableListSection.js +148 -173
  134. package/dist/esm/components/agent-builder/components/SelectableListSection.js.map +1 -1
  135. package/dist/esm/components/agent-builder/components/StepSectionHeader.js +7 -7
  136. package/dist/esm/components/agent-builder/components/StepSectionHeader.js.map +1 -1
  137. package/dist/esm/components/agent-builder/constants/tools.d.ts +2 -0
  138. package/dist/esm/components/agent-builder/constants/tools.js +22 -17
  139. package/dist/esm/components/agent-builder/constants/tools.js.map +1 -1
  140. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js +103 -104
  141. package/dist/esm/components/agent-builder/context/AgentBuilderContext.js.map +1 -1
  142. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js +102 -101
  143. package/dist/esm/components/agent-builder/steps/Step2WhenItStepsIn.js.map +1 -1
  144. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js +142 -144
  145. package/dist/esm/components/agent-builder/steps/Step3HowItResponds.js.map +1 -1
  146. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js +79 -23
  147. package/dist/esm/components/agent-builder/steps/Step4HandoverRules.js.map +1 -1
  148. package/dist/esm/components/agent-builder/utils/mentionSerialization.js +23 -35
  149. package/dist/esm/components/agent-builder/utils/mentionSerialization.js.map +1 -1
  150. package/dist/esm/components/agent-builder/utils/sourceIcons.js +20 -16
  151. package/dist/esm/components/agent-builder/utils/sourceIcons.js.map +1 -1
  152. package/dist/esm/components/agent-listing/AgentListing.js +65 -70
  153. package/dist/esm/components/agent-listing/AgentListing.js.map +1 -1
  154. package/dist/esm/components/agent-listing/AgentTable.d.ts +0 -2
  155. package/dist/esm/components/agent-listing/AgentTable.js +15 -16
  156. package/dist/esm/components/agent-listing/AgentTable.js.map +1 -1
  157. package/dist/esm/components/agent-listing/AgentTableRow.js +11 -11
  158. package/dist/esm/components/agent-listing/AgentTableRow.js.map +1 -1
  159. package/dist/esm/components/agent-listing/DeleteAgentModal.js +8 -8
  160. package/dist/esm/components/agent-listing/DeleteAgentModal.js.map +1 -1
  161. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsChip.js +10 -11
  162. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsChip.js.map +1 -1
  163. package/dist/esm/components/button/Button.styled.js +19 -25
  164. package/dist/esm/components/button/Button.styled.js.map +1 -1
  165. package/dist/esm/components/button/themes.d.ts +0 -1
  166. package/dist/esm/components/button/themes.js +51 -61
  167. package/dist/esm/components/button/themes.js.map +1 -1
  168. package/dist/esm/components/dashboard-review-popup/DashboardReviewPopUp.js +21 -28
  169. package/dist/esm/components/dashboard-review-popup/DashboardReviewPopUp.js.map +1 -1
  170. package/dist/esm/components/dropdown/Dropdown.js +13 -18
  171. package/dist/esm/components/dropdown/Dropdown.js.map +1 -1
  172. package/dist/esm/components/dropdown-button/DropdownButton.js +13 -13
  173. package/dist/esm/components/dropdown-button/DropdownButton.js.map +1 -1
  174. package/dist/esm/components/input/Input.js +34 -35
  175. package/dist/esm/components/input/Input.js.map +1 -1
  176. package/dist/esm/components/input/Input.model.d.ts +0 -1
  177. package/dist/esm/components/multi-level-dropdown/MenuItem.js +27 -28
  178. package/dist/esm/components/multi-level-dropdown/MenuItem.js.map +1 -1
  179. package/dist/esm/components/radioButton/RadioButton.js +9 -10
  180. package/dist/esm/components/radioButton/RadioButton.js.map +1 -1
  181. package/dist/esm/components/radioList/RadioList.js +19 -28
  182. package/dist/esm/components/radioList/RadioList.js.map +1 -1
  183. package/dist/esm/components/searchBar/searchBar.js +10 -11
  184. package/dist/esm/components/searchBar/searchBar.js.map +1 -1
  185. package/dist/esm/components/side-modal/SideModal.js +5 -13
  186. package/dist/esm/components/side-modal/SideModal.js.map +1 -1
  187. package/dist/esm/components/star-rating/Star.d.ts +0 -1
  188. package/dist/esm/components/star-rating/Star.js +27 -32
  189. package/dist/esm/components/star-rating/Star.js.map +1 -1
  190. package/dist/esm/components/star-rating/StarRating.js +16 -17
  191. package/dist/esm/components/star-rating/StarRating.js.map +1 -1
  192. package/dist/esm/components/template-preview/TemplatePreview.js +40 -41
  193. package/dist/esm/components/template-preview/TemplatePreview.js.map +1 -1
  194. package/dist/esm/components/thumbnail/Thumbnail.js +3 -3
  195. package/dist/esm/components/thumbnail/Thumbnail.js.map +1 -1
  196. package/dist/esm/components/zeroState/ZeroState.js +13 -20
  197. package/dist/esm/components/zeroState/ZeroState.js.map +1 -1
  198. package/dist/esm/editor/BikEditor.js +160 -173
  199. package/dist/esm/editor/BikEditor.js.map +1 -1
  200. package/dist/esm/editor/BikEditor.styles.d.ts +3 -20
  201. package/dist/esm/editor/BikEditor.styles.js +57 -102
  202. package/dist/esm/editor/BikEditor.styles.js.map +1 -1
  203. package/dist/esm/editor/extensions/jsonHighlight/JsonHighlightExtension.d.ts +8 -5
  204. package/dist/esm/editor/extensions/jsonHighlight/JsonHighlightExtension.js +68 -87
  205. package/dist/esm/editor/extensions/jsonHighlight/JsonHighlightExtension.js.map +1 -1
  206. package/dist/esm/icons/Media/Visual/index.d.ts +0 -2
  207. package/dist/esm/icons/index.d.ts +25 -25
  208. package/dist/esm/icons/index.js +416 -420
  209. package/dist/esm/icons/index.js.map +1 -1
  210. package/package.json +1 -1
  211. package/dist/cjs/components/agent-listing/AgentTableShimmer.js +0 -2
  212. package/dist/cjs/components/agent-listing/AgentTableShimmer.js.map +0 -1
  213. package/dist/cjs/icons/Media/Visual/FormkitNeutral.js +0 -2
  214. package/dist/cjs/icons/Media/Visual/FormkitNeutral.js.map +0 -1
  215. package/dist/cjs/icons/Media/Visual/FormkitSad.js +0 -2
  216. package/dist/cjs/icons/Media/Visual/FormkitSad.js.map +0 -1
  217. package/dist/esm/components/agent-builder/__fixtures__/agentValue.d.ts +0 -11
  218. package/dist/esm/components/agent-listing/AgentTableShimmer.d.ts +0 -12
  219. package/dist/esm/components/agent-listing/AgentTableShimmer.js +0 -20
  220. package/dist/esm/components/agent-listing/AgentTableShimmer.js.map +0 -1
  221. package/dist/esm/components/agent-listing/__fixtures__/agents.d.ts +0 -3
  222. package/dist/esm/icons/Media/Visual/FormkitNeutral.js +0 -58
  223. package/dist/esm/icons/Media/Visual/FormkitNeutral.js.map +0 -1
  224. package/dist/esm/icons/Media/Visual/FormkitSad.js +0 -61
  225. package/dist/esm/icons/Media/Visual/FormkitSad.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const T=require("react");function n(A){if(A&&typeof A=="object"&&"default"in A)return A;const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(A){for(const M in A)if(M!=="default"){const t=Object.getOwnPropertyDescriptor(A,M);Object.defineProperty(e,M,t.get?t:{enumerable:!0,get:()=>A[M]})}}return e.default=A,Object.freeze(e)}const o=n(T),g=A=>o.createElement("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",...A},o.createElement("image",{width:48,height:48,xlinkHref:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAyVBMVEUAAAA0MT80MT80MEA1MT80MT40MD8xMUU0MT81MT40MT80MT8zM0A0MT46Ljo3MkE0MT88Mzw0MT40Mj81MT41NT49MT03LkBAM0A1MT8zMkA1MD81M0A1MD82NkI6MTo1MT80MT80MEA1MEE0MUA7MTs6LkAtLTw0MT8zMT80MEA3JDc5Lzk1MT85OTksLEM1MUAzMT80MT8zMz89Mz00MT40MEE3LENAMEA2Mj01NTw0MT84MEAzL0A1MkI+NT41MUA5L0I1Mj/SLbf+AAAAQ3RSTlMA//xA////Gr/e3NIUwRYz1B7W0todFRwU759iejETH9/4v6GsGiwRSXK7DhuBCReokfNBGcQ7FxBHIsogd00dRBviX9muoQAAAW5JREFUeJzllNd6wjAMheOEpKQJtJTQMktZ3Xvv9f4PhWTZfM4wtq85F3zCOb+sWLG8jdLhh6M/8Z38acKcgG7CnAD0uwDddugE7O+C3QEAf8Rq9oDIz0JLoAl+SG9dUnMPctMWVgD6haxKQj/UY13Si8wfhXBQFsDXbHYeUz12ANfpkdjGunFpG9wOjfO8wGqHuwao3k8xxi2Mx1qntH0ZG19aAFOM8TYYSyKg9wbhg+kdHi/g5zgAPb9CNBbnqgUW2Zb6d9Az9GGRsRzwOV8PXGaMAyMsKXjHpdt1wN82PEJAnNIVhCf3euAA/Srg30D8pAW4v6YCDFs9jzQA5Zc74M2cDHF9qgE63A+fPgLjHdCIf0rX/9UlkZ+FVJKiYfUpdWJxd4vAwKfBUQB+Yl4o1zfvAdfvWUOu5oFWTOmlxCxSF3NAi+56Xoq7WFKFfzWOUMVhDH75AqXCMHdpkPE7WxSlgBEmE01KjdsYLQHb4hC0UT2WZwAAAABJRU5ErkJggg=="}));exports.default=g;
2
+ //# sourceMappingURL=BigCommerce.svg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BigCommerce.svg.js","sources":["../../../../src/assets/icons/BigCommerce.svg"],"sourcesContent":["import * as React from \"react\";\nconst SvgBigCommerce = (props) => /* @__PURE__ */ React.createElement(\"svg\", { viewBox: \"0 0 48 48\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", xmlnsXlink: \"http://www.w3.org/1999/xlink\", ...props }, /* @__PURE__ */ React.createElement(\"image\", { width: 48, height: 48, xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAyVBMVEUAAAA0MT80MT80MEA1MT80MT40MD8xMUU0MT81MT40MT80MT8zM0A0MT46Ljo3MkE0MT88Mzw0MT40Mj81MT41NT49MT03LkBAM0A1MT8zMkA1MD81M0A1MD82NkI6MTo1MT80MT80MEA1MEE0MUA7MTs6LkAtLTw0MT8zMT80MEA3JDc5Lzk1MT85OTksLEM1MUAzMT80MT8zMz89Mz00MT40MEE3LENAMEA2Mj01NTw0MT84MEAzL0A1MkI+NT41MUA5L0I1Mj/SLbf+AAAAQ3RSTlMA//xA////Gr/e3NIUwRYz1B7W0todFRwU759iejETH9/4v6GsGiwRSXK7DhuBCReokfNBGcQ7FxBHIsogd00dRBviX9muoQAAAW5JREFUeJzllNd6wjAMheOEpKQJtJTQMktZ3Xvv9f4PhWTZfM4wtq85F3zCOb+sWLG8jdLhh6M/8Z38acKcgG7CnAD0uwDddugE7O+C3QEAf8Rq9oDIz0JLoAl+SG9dUnMPctMWVgD6haxKQj/UY13Si8wfhXBQFsDXbHYeUz12ANfpkdjGunFpG9wOjfO8wGqHuwao3k8xxi2Mx1qntH0ZG19aAFOM8TYYSyKg9wbhg+kdHi/g5zgAPb9CNBbnqgUW2Zb6d9Az9GGRsRzwOV8PXGaMAyMsKXjHpdt1wN82PEJAnNIVhCf3euAA/Srg30D8pAW4v6YCDFs9jzQA5Zc74M2cDHF9qgE63A+fPgLjHdCIf0rX/9UlkZ+FVJKiYfUpdWJxd4vAwKfBUQB+Yl4o1zfvAdfvWUOu5oFWTOmlxCxSF3NAi+56Xoq7WFKFfzWOUMVhDH75AqXCMHdpkPE7WxSlgBEmE01KjdsYLQHb4hC0UT2WZwAAAABJRU5ErkJggg==\" }));\nexport default SvgBigCommerce;\n"],"names":["SvgBigCommerce","props","React"],"mappings":"gdACMA,EAAkBC,GAA0BC,EAAM,cAAc,MAAO,CAAE,QAAS,YAAa,KAAM,OAAQ,MAAO,6BAA8B,WAAY,+BAAgC,GAAGD,CAAK,EAAoBC,EAAM,cAAc,QAAS,CAAE,MAAO,GAAI,OAAQ,GAAI,UAAW,o9BAAo9B,CAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const b=require("react");function I(A){if(A&&typeof A=="object"&&"default"in A)return A;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(A){for(const e in A)if(e!=="default"){const l=Object.getOwnPropertyDescriptor(A,e);Object.defineProperty(t,e,l.get?l:{enumerable:!0,get:()=>A[e]})}}return t.default=A,Object.freeze(t)}const g=I(b),C=A=>g.createElement("svg",{viewBox:"0 0 101 97",fill:"none",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",...A},g.createElement("image",{width:101,height:97,xlinkHref:"data:image/png;base64,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"}));exports.default=C;
2
+ //# sourceMappingURL=ShipStation.svg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShipStation.svg.js","sources":["../../../../src/assets/icons/ShipStation.svg"],"sourcesContent":["import * as React from \"react\";\nconst SvgShipStation = (props) => /* @__PURE__ */ React.createElement(\"svg\", { viewBox: \"0 0 101 97\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", xmlnsXlink: \"http://www.w3.org/1999/xlink\", ...props }, /* @__PURE__ */ React.createElement(\"image\", { width: 101, height: 97, xlinkHref: \"data:image/png;base64,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\" }));\nexport default SvgShipStation;\n"],"names":["SvgShipStation","props","React"],"mappings":"gdACMA,EAAkBC,GAA0BC,EAAM,cAAc,MAAO,CAAE,QAAS,aAAc,KAAM,OAAQ,MAAO,6BAA8B,WAAY,+BAAgC,GAAGD,CAAK,EAAoBC,EAAM,cAAc,QAAS,CAAE,MAAO,IAAK,OAAQ,GAAI,UAAW,gvQAAgvQ,CAAE,CAAC"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),n=require("react"),_=require("../../../constants/Theme.js"),ee=require("../../../hooks/useWindowSize.js"),te=require("../../TypographyStyle.js"),p=require("../Bubble/types.js"),se=require("./Day.js"),W=require("./messageHelpers.js"),C=require("./scrollHooks.js"),V=require("./types.js"),b=require("./utils.js"),re=require("../../button/Button.js"),ne=l=>l&&typeof l=="object"&&"default"in l?l:{default:l},oe=ne(n),I=204,ie=({text:l,isExpanded:g,onToggle:i})=>{const a=n.useRef(null),[A,R]=n.useState(!1);return n.useEffect(()=>{const y=a.current;if(y){y.style.maxHeight="none";const P=y.scrollHeight>I;y.style.maxHeight=g?"none":`${I}px`,R(P)}},[l,g]),s.jsxs(s.Fragment,{children:[s.jsx("div",{ref:a,style:{maxHeight:g?"none":I,overflow:"hidden"},children:s.jsx(te.BodySecondary,{children:l})}),A&&s.jsx(re.Button,{buttonType:"text",size:"xs",buttonText:g?"Show less":"Read more",onClick:i})]})},le=(l,g)=>{const{messages:i=[],user:a,renderBubble:A,renderAvatar:R,renderDay:y,renderLoading:P,renderChatEmpty:q,listViewProps:O={},renderAvatarOnTop:D=!1,showUserAvatar:j=!1,showAvatarForEveryMessage:L=!1,inverted:ce=!1,messageIdGenerator:B,topThreshold:U=b.TOP_THRESHOLD,appType:u=p.GiftedChatAppType.Bik,maxHeight:E,isActivityMessage:M,...N}=l||{},T=ee.useWindowSize(),Y=n.useRef(null),x=b.normalizeRef(O.ref||g,Y),S=n.useRef({isInitialMount:!0,isUserScrolling:!1,isLoadingOldMessages:!1,isAtBottom:!0,hasTriggeredEndReached:!1,lastMessagesLength:i?.length??0,previousScrollHeight:0,previousScrollTop:0,scrollTimeout:null}),[$,X]=n.useState(new Set),f=n.useMemo(()=>!i||i.length===0?[]:[...i].reverse(),[i]),J=n.useMemo(()=>{const e=[];return f.forEach((o,r)=>{const t=f[r-1];r===0||!b.isSameDay(o,t)?e.push({createdAt:o.createdAt,indices:[r]}):e[e.length-1].indices.push(r)}),e},[f]),G=C.useScrollToBottom(x,S);n.useImperativeHandle(g,()=>x.current),C.useInitialMountScroll(x,S,f.length,G),C.useScrollCleanup(S),C.useRestoreScrollPosition(x,S,f.length),C.useAutoScrollOnNewMessages(x,S,i.length,G),C.useResizeObserverForFirstMessage(i?.[0],S,G,B);const K=C.useScrollHandler(S,O.onEndReached,O.onScroll,U),h=n.useCallback(e=>!!(e&&a&&e.user?._id===a._id),[a]),z=n.useCallback((e,o)=>j?L||h(e)?!0:!o||(M?M(e):!1)||(M?M(o):!1)||o.user._id!==e.user._id:!1,[j,L,M,h]),Q=n.useCallback((e,o,r)=>{const t=h(e)?"right":"left",d=o?.user?._id!==e?.user?._id,m=r?.user?._id!==e?.user?._id,w={currentMessage:e,previousMessage:o,nextMessage:r,position:t,user:a,...N};if(A)return A(w);const c=e._id,k=$.has(c);return s.jsx("div",{style:{maxWidth:u===p.GiftedChatAppType.Manifest?"50%":"70%",width:"fit-content",...u===p.GiftedChatAppType.Manifest?{minWidth:"130px"}:{},padding:"8px 12px",borderTopLeftRadius:t==="left"?d?12:2:12,borderTopRightRadius:12,borderBottomLeftRadius:t==="left"?m?12:2:12,borderBottomRightRadius:12,border:t==="left"&&u===p.GiftedChatAppType.Manifest?"1px solid rgb(224, 224, 224)":"none",backgroundColor:t==="right"?u===p.GiftedChatAppType.Manifest?_.COLORS.background.brandTint:_.COLORS.background.brandLight:u===p.GiftedChatAppType.Manifest?_.COLORS.background.pureWhite:_.COLORS.background.inactive,color:_.COLORS.content.primary,wordBreak:"break-word"},children:s.jsx(ie,{text:e.text??"",isExpanded:k,onToggle:()=>X(H=>{const v=new Set(H);return k?v.delete(c):v.add(c),v})})})},[h,a,A,N,$]),F=n.useCallback((e,o,r)=>{if(!z(e,o))return null;const d=h(e)?"right":"left";return R?R({currentMessage:e,previousMessage:o,nextMessage:r,position:d,user:a,renderAvatarOnTop:D,showUserAvatar:j,showAvatarForEveryMessage:L}):null},[z,h,a,D,j,L,R]);return!i||i.length===0?q?s.jsx(s.Fragment,{children:q()}):null:s.jsxs("div",{ref:x,style:{flex:1,overflowY:"auto",overflowX:"hidden",display:"flex",flexDirection:"column",...E?{maxHeight:E,height:E}:{},...O.style},onScroll:K,children:[s.jsx("div",{style:{flex:"1 0 auto"}}),s.jsx("div",{style:{display:"flex",flexDirection:"column",flex:"0 0 auto"},children:J.map((e,o)=>s.jsxs("div",{children:[y?s.jsx("div",{style:{position:"sticky",top:0,zIndex:2},children:y({createdAt:e.createdAt})}):s.jsx(se.Day,{createdAt:e.createdAt,appType:u,scrollRootRef:x}),e.indices.map(r=>{const t=f[r],d=t?.channelId===V.MESSAGE_CHANNELS.SMTP||t?.channelName===V.MESSAGE_CHANNELS.SMTP,m=d?"left":h(t)?"right":"left",w=f[r-1],c=f[r+1],k=W.getMessagePlacement(t,m),H=W.shouldCenterAlign(t),v=t.category===b.Constants.ChatActivity.Category.ACTIVITY&&t.activityType===b.Constants.ChatActivity.Type.PRIVATE_NOTE,Z=t.category===b.Constants.ChatActivity.Category.ACTIVITY&&!v;return s.jsx(oe.default.Fragment,{children:s.jsxs("div",{style:{...T?{margin:"0 4px"}:{},...H?{}:{display:"flex",alignItems:"flex-start"},...u!==p.GiftedChatAppType.Manifest?!T&&m==="right"?{marginLeft:8}:{marginRight:8}:{},...d&&!v&&T?{marginLeft:8,marginRight:8}:{},...d&&v?{marginRight:16}:{},justifyContent:k,marginBottom:d?c?24:0:c?c?.user?._id===t?.user?._id?h(t)?20:4:20:0,...Z?{marginLeft:0,marginBottom:0}:{}},children:[!T&&m==="left"&&s.jsx("div",{style:{marginRight:"4px",width:"24px",flexShrink:0},children:F(t,w,c)}),s.jsx("div",{id:`message-bubble-${t._id??`${r}-${B?.()??"id"}`}`,style:u===p.GiftedChatAppType.Manifest?{width:"100%"}:T||d?{display:"flex",flexGrow:1,width:"100%"}:{},children:Q(t,w,c)}),!T&&m==="right"&&s.jsx("div",{style:{marginLeft:"4px",width:"24px",flexShrink:0,alignSelf:"flex-start"},children:F(t,w,c)})]})},t._id??`${r}-${B?.()??"id"}`)})]},`day-group-${o}`))})]})},ae=n.forwardRef(le);exports.default=ae;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),n=require("react"),_=require("../../../constants/Theme.js"),ee=require("../../../hooks/useWindowSize.js"),te=require("../../TypographyStyle.js"),p=require("../Bubble/types.js"),se=require("./Day.js"),W=require("./messageHelpers.js"),v=require("./scrollHooks.js"),V=require("./types.js"),T=require("./utils.js"),re=require("../../button/Button.js"),ne=l=>l&&typeof l=="object"&&"default"in l?l:{default:l},oe=ne(n),I=204,ie=({text:l,isExpanded:g,onToggle:i})=>{const a=n.useRef(null),[b,A]=n.useState(!1);return n.useEffect(()=>{const y=a.current;if(y){y.style.maxHeight="none";const P=y.scrollHeight>I;y.style.maxHeight=g?"none":`${I}px`,A(P)}},[l,g]),s.jsxs(s.Fragment,{children:[s.jsx("div",{ref:a,style:{maxHeight:g?"none":I,overflow:"hidden"},children:s.jsx(te.BodySecondary,{children:l})}),b&&s.jsx(re.Button,{buttonType:"text",size:"xs",buttonText:g?"Show less":"Read more",onClick:i})]})},le=(l,g)=>{const{messages:i=[],user:a,renderBubble:b,renderAvatar:A,renderDay:y,renderLoading:P,renderChatEmpty:q,listViewProps:O={},renderAvatarOnTop:D=!1,showUserAvatar:j=!1,showAvatarForEveryMessage:L=!1,inverted:ce=!1,messageIdGenerator:B,topThreshold:U=T.TOP_THRESHOLD,appType:u=p.GiftedChatAppType.Bik,maxHeight:E,isActivityMessage:R,...N}=l||{},C=ee.useWindowSize(),Y=n.useRef(null),x=T.normalizeRef(O.ref||g,Y),S=n.useRef({isInitialMount:!0,isUserScrolling:!1,isLoadingOldMessages:!1,isAtBottom:!0,hasTriggeredEndReached:!1,lastMessagesLength:i?.length??0,previousScrollHeight:0,previousScrollTop:0,scrollTimeout:null}),[$,X]=n.useState(new Set),f=n.useMemo(()=>!i||i.length===0?[]:[...i].reverse(),[i]),J=n.useMemo(()=>{const e=[];return f.forEach((o,r)=>{const t=f[r-1];r===0||!T.isSameDay(o,t)?e.push({createdAt:o.createdAt,indices:[r]}):e[e.length-1].indices.push(r)}),e},[f]),G=v.useScrollToBottom(x,S);n.useImperativeHandle(g,()=>x.current),v.useInitialMountScroll(x,S,f.length,G),v.useScrollCleanup(S),v.useRestoreScrollPosition(x,S,f.length),v.useAutoScrollOnNewMessages(x,S,i.length,G),v.useResizeObserverForFirstMessage(i?.[0],S,G,B);const K=v.useScrollHandler(S,O.onEndReached,O.onScroll,U),M=n.useCallback(e=>!!(e&&a&&e.user?._id===a._id),[a]),z=n.useCallback((e,o)=>j?L?!0:!o||(R?R(e):!1)||(R?R(o):!1)||o.user._id!==e.user._id:!1,[j,L,R]),Q=n.useCallback((e,o,r)=>{const t=M(e)?"right":"left",c=o?.user?._id!==e?.user?._id,h=r?.user?._id!==e?.user?._id,w={currentMessage:e,previousMessage:o,nextMessage:r,position:t,user:a,...N};if(b)return b(w);const d=e._id,k=$.has(d);return s.jsx("div",{style:{maxWidth:u===p.GiftedChatAppType.Manifest?"50%":"70%",width:"fit-content",...u===p.GiftedChatAppType.Manifest?{minWidth:"130px"}:{},padding:"8px 12px",borderTopLeftRadius:t==="left"?c?12:2:12,borderTopRightRadius:t==="right"?c?12:2:12,borderBottomLeftRadius:t==="left"?h?12:2:12,borderBottomRightRadius:t==="right"?h?12:2:12,border:t==="left"&&u===p.GiftedChatAppType.Manifest?"1px solid rgb(224, 224, 224)":"none",backgroundColor:t==="right"?u===p.GiftedChatAppType.Manifest?_.COLORS.background.brandTint:_.COLORS.background.brandLight:u===p.GiftedChatAppType.Manifest?_.COLORS.background.pureWhite:_.COLORS.background.inactive,color:_.COLORS.content.primary,wordBreak:"break-word"},children:s.jsx(ie,{text:e.text??"",isExpanded:k,onToggle:()=>X(H=>{const m=new Set(H);return k?m.delete(d):m.add(d),m})})})},[M,a,b,N,$]),F=n.useCallback((e,o,r)=>{if(!z(e,o))return null;const c=M(e)?"right":"left";return A?A({currentMessage:e,previousMessage:o,nextMessage:r,position:c,user:a,renderAvatarOnTop:D,showUserAvatar:j,showAvatarForEveryMessage:L}):null},[z,M,a,D,j,L,A]);return!i||i.length===0?q?s.jsx(s.Fragment,{children:q()}):null:s.jsxs("div",{ref:x,style:{flex:1,overflowY:"auto",overflowX:"hidden",display:"flex",flexDirection:"column",...E?{maxHeight:E,height:E}:{},...O.style},onScroll:K,children:[s.jsx("div",{style:{flex:"1 0 auto"}}),s.jsx("div",{style:{display:"flex",flexDirection:"column",flex:"0 0 auto"},children:J.map((e,o)=>s.jsxs("div",{children:[y?s.jsx("div",{style:{position:"sticky",top:0,zIndex:2},children:y({createdAt:e.createdAt})}):s.jsx(se.Day,{createdAt:e.createdAt,appType:u,scrollRootRef:x}),e.indices.map(r=>{const t=f[r],c=t?.channelId===V.MESSAGE_CHANNELS.SMTP||t?.channelName===V.MESSAGE_CHANNELS.SMTP,h=c?"left":M(t)?"right":"left",w=f[r-1],d=f[r+1],k=W.getMessagePlacement(t,h),H=W.shouldCenterAlign(t),m=t.category===T.Constants.ChatActivity.Category.ACTIVITY&&t.activityType===T.Constants.ChatActivity.Type.PRIVATE_NOTE,Z=t.category===T.Constants.ChatActivity.Category.ACTIVITY&&!m;return s.jsx(oe.default.Fragment,{children:s.jsxs("div",{style:{...C?{margin:"0 4px"}:{},...H?{}:{display:"flex",alignItems:"flex-start"},...u!==p.GiftedChatAppType.Manifest?!C&&h==="right"?{marginLeft:8}:{marginRight:8}:{},...c&&!m&&C?{marginLeft:8,marginRight:8}:{},...c&&m?{marginRight:16}:{},justifyContent:k,marginBottom:c?d?24:0:d?d?.user?._id===t?.user?._id?4:20:0,...Z?{marginLeft:0,marginBottom:0}:{}},children:[!C&&h==="left"&&s.jsx("div",{style:{marginRight:"4px",width:"24px",flexShrink:0},children:F(t,w,d)}),s.jsx("div",{id:`message-bubble-${t._id??`${r}-${B?.()??"id"}`}`,style:u===p.GiftedChatAppType.Manifest?{width:"100%"}:C||c?{display:"flex",flexGrow:1,width:"100%"}:{},children:Q(t,w,d)}),!C&&h==="right"&&s.jsx("div",{style:{marginLeft:"4px",width:"24px",flexShrink:0,alignSelf:"flex-start"},children:F(t,w,d)})]})},t._id??`${r}-${B?.()??"id"}`)})]},`day-group-${o}`))})]})},ae=n.forwardRef(le);exports.default=ae;
2
2
  //# sourceMappingURL=GiftedChat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GiftedChat.js","sources":["../../../../../src/components/BikGiftedChat/GiftedChat/GiftedChat.tsx"],"sourcesContent":["import React, {\n\tforwardRef,\n\tuseCallback,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport { COLORS } from '../../../constants/Theme';\nimport { useWindowSize } from '../../../hooks/useWindowSize';\nimport { Button } from '../../button';\nimport { BodySecondary } from '../../TypographyStyle';\nimport { BubbleProps, GiftedChatAppType } from '../Bubble/types';\nimport { IMessage } from '../types';\nimport { Day } from './Day';\nimport { getMessagePlacement, shouldCenterAlign } from './messageHelpers';\nimport {\n\tuseAutoScrollOnNewMessages,\n\tuseInitialMountScroll,\n\tuseResizeObserverForFirstMessage,\n\tuseRestoreScrollPosition,\n\tuseScrollCleanup,\n\tuseScrollHandler,\n\tuseScrollToBottom,\n} from './scrollHooks';\nimport { AvatarProps, GiftedChatProps, MESSAGE_CHANNELS } from './types';\nimport { isSameDay, normalizeRef } from './utils';\nimport { Constants, TOP_THRESHOLD } from './utils';\n\nconst COLLAPSED_MAX_HEIGHT = 204;\n\nconst CollapsibleBubbleText: React.FC<{\n\ttext: string;\n\tisExpanded: boolean;\n\tonToggle: () => void;\n}> = ({ text, isExpanded, onToggle }) => {\n\tconst textRef = useRef<HTMLDivElement>(null);\n\tconst [isOverflowing, setIsOverflowing] = useState(false);\n\n\tuseEffect(() => {\n\t\tconst el = textRef.current;\n\t\tif (el) {\n\t\t\t// Temporarily remove max-height to measure true scroll height\n\t\t\tel.style.maxHeight = 'none';\n\t\t\tconst overflows = el.scrollHeight > COLLAPSED_MAX_HEIGHT;\n\t\t\tel.style.maxHeight = isExpanded ? 'none' : `${COLLAPSED_MAX_HEIGHT}px`;\n\t\t\tsetIsOverflowing(overflows);\n\t\t}\n\t}, [text, isExpanded]);\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tref={textRef}\n\t\t\t\tstyle={{\n\t\t\t\t\tmaxHeight: isExpanded ? 'none' : COLLAPSED_MAX_HEIGHT,\n\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<BodySecondary>{text}</BodySecondary>\n\t\t\t</div>\n\t\t\t{isOverflowing && (\n\t\t\t\t<Button\n\t\t\t\t\tbuttonType=\"text\"\n\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\tbuttonText={isExpanded ? 'Show less' : 'Read more'}\n\t\t\t\t\tonClick={onToggle}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n};\n\nconst GiftedChatInner = (\n\tprops: Omit<GiftedChatProps<IMessage>, 'ref'>,\n\tforwardedRef: React.Ref<HTMLDivElement>,\n) => {\n\tconst {\n\t\tmessages = [],\n\t\tuser,\n\t\trenderBubble,\n\t\trenderAvatar,\n\t\trenderDay,\n\t\trenderLoading,\n\t\trenderChatEmpty,\n\t\tlistViewProps = {},\n\t\trenderAvatarOnTop = false,\n\t\tshowUserAvatar = false,\n\t\tshowAvatarForEveryMessage = false,\n\t\tinverted = false,\n\t\tmessageIdGenerator,\n\t\ttopThreshold = TOP_THRESHOLD,\n\t\tappType = GiftedChatAppType.Bik,\n\t\tmaxHeight,\n\t\tisActivityMessage,\n\t\t...extraProps\n\t} = props || {};\n\n\tconst isMobile = useWindowSize();\n\n\tconst internalScrollRef = useRef<HTMLDivElement | null>(null);\n\tconst scrollRef = normalizeRef(\n\t\tlistViewProps.ref || forwardedRef,\n\t\tinternalScrollRef,\n\t);\n\n\tconst scrollState = useRef({\n\t\tisInitialMount: true,\n\t\tisUserScrolling: false,\n\t\tisLoadingOldMessages: false,\n\t\tisAtBottom: true,\n\t\thasTriggeredEndReached: false,\n\t\tlastMessagesLength: messages?.length ?? 0,\n\t\tpreviousScrollHeight: 0,\n\t\tpreviousScrollTop: 0,\n\t\tscrollTimeout: null,\n\t});\n\n\tconst [expandedMessages, setExpandedMessages] = useState<\n\t\tSet<string | number>\n\t>(new Set());\n\n\t// Reverse messages so newest appears last in DOM (natural reading order)\n\tconst reversedMessages = useMemo(() => {\n\t\tif (!messages || messages.length === 0) return [] as IMessage[];\n\t\treturn [...messages].reverse() as IMessage[];\n\t}, [messages]);\n\n\t// Group consecutive same-day messages so each day separator can stick\n\t// within its own section and get pushed out by the next day's separator.\n\tconst dayGroups = useMemo(() => {\n\t\tconst groups: { createdAt: IMessage['createdAt']; indices: number[] }[] =\n\t\t\t[];\n\t\treversedMessages.forEach((message, index) => {\n\t\t\tconst previousMessage = reversedMessages[index - 1];\n\t\t\tif (index === 0 || !isSameDay(message, previousMessage)) {\n\t\t\t\tgroups.push({ createdAt: message.createdAt, indices: [index] });\n\t\t\t} else {\n\t\t\t\tgroups[groups.length - 1].indices.push(index);\n\t\t\t}\n\t\t});\n\t\treturn groups;\n\t}, [reversedMessages]);\n\n\tconst scrollToBottom = useScrollToBottom(scrollRef, scrollState);\n\n\tuseImperativeHandle(forwardedRef, () => scrollRef.current!);\n\n\tuseInitialMountScroll(\n\t\tscrollRef,\n\t\tscrollState,\n\t\treversedMessages.length,\n\t\tscrollToBottom,\n\t);\n\n\tuseScrollCleanup(scrollState);\n\n\tuseRestoreScrollPosition(scrollRef, scrollState, reversedMessages.length);\n\n\tuseAutoScrollOnNewMessages(\n\t\tscrollRef,\n\t\tscrollState,\n\t\tmessages.length,\n\t\tscrollToBottom,\n\t);\n\n\tuseResizeObserverForFirstMessage(\n\t\tmessages?.[0],\n\t\tscrollState,\n\t\tscrollToBottom,\n\t\tmessageIdGenerator,\n\t);\n\n\tconst handleScroll = useScrollHandler(\n\t\tscrollState,\n\t\tlistViewProps.onEndReached,\n\t\tlistViewProps.onScroll,\n\t\ttopThreshold,\n\t);\n\n\t// Check if a message belongs to the current user\n\tconst isUserMessage = useCallback(\n\t\t(message: IMessage) => {\n\t\t\treturn Boolean(message && user && message.user?._id === user._id);\n\t\t},\n\t\t[user],\n\t);\n\n\t// Determine if avatar should be shown for this message\n\tconst shouldShowAvatar = useCallback(\n\t\t(message: IMessage, previousMessage?: IMessage) => {\n\t\t\tif (!showUserAvatar) return false;\n\t\t\tif (showAvatarForEveryMessage) return true;\n\n\t\t\tif (isUserMessage(message)) return true;\n\n\t\t\t// Show avatar on the first message in a consecutive sender stack,\n\t\t\t// or when an activity interrupts the stack, or when the current message itself is an activity\n\t\t\treturn (\n\t\t\t\t!previousMessage ||\n\t\t\t\t(isActivityMessage ? isActivityMessage(message) : false) ||\n\t\t\t\t(isActivityMessage ? isActivityMessage(previousMessage) : false) ||\n\t\t\t\tpreviousMessage.user._id !== message.user._id\n\t\t\t);\n\t\t},\n\t\t[\n\t\t\tshowUserAvatar,\n\t\t\tshowAvatarForEveryMessage,\n\t\t\tisActivityMessage,\n\t\t\tisUserMessage,\n\t\t],\n\t);\n\n\t// Render a message bubble (or call custom renderBubble)\n\tconst renderMessageBubble = useCallback(\n\t\t(message: IMessage, previousMessage?: IMessage, nextMessage?: IMessage) => {\n\t\t\tconst position = isUserMessage(message) ? 'right' : 'left';\n\t\t\tconst isTopOfStack = previousMessage?.user?._id !== message?.user?._id;\n\t\t\tconst isBottomOfStack = nextMessage?.user?._id !== message?.user?._id;\n\n\t\t\tconst bubbleProps: BubbleProps<IMessage> = {\n\t\t\t\tcurrentMessage: message,\n\t\t\t\tpreviousMessage,\n\t\t\t\tnextMessage,\n\t\t\t\tposition,\n\t\t\t\tuser,\n\t\t\t\t...extraProps,\n\t\t\t};\n\n\t\t\t// Use custom render function if provided\n\t\t\tif (renderBubble) {\n\t\t\t\treturn renderBubble(bubbleProps);\n\t\t\t}\n\n\t\t\t// Default bubble rendering\n\t\t\tconst messageId = message._id;\n\t\t\tconst isExpanded = expandedMessages.has(messageId);\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmaxWidth: appType === GiftedChatAppType.Manifest ? '50%' : '70%',\n\t\t\t\t\t\twidth: 'fit-content',\n\t\t\t\t\t\t...(appType === GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t? { minWidth: '130px' }\n\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\tpadding: '8px 12px',\n\t\t\t\t\t\tborderTopLeftRadius:\n\t\t\t\t\t\t\tposition === 'left' ? (isTopOfStack ? 12 : 2) : 12,\n\t\t\t\t\t\tborderTopRightRadius: 12,\n\t\t\t\t\t\tborderBottomLeftRadius:\n\t\t\t\t\t\t\tposition === 'left' ? (isBottomOfStack ? 12 : 2) : 12,\n\t\t\t\t\t\tborderBottomRightRadius: 12,\n\t\t\t\t\t\tborder:\n\t\t\t\t\t\t\tposition === 'left' && appType === GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t\t? '1px solid rgb(224, 224, 224)'\n\t\t\t\t\t\t\t\t: 'none',\n\t\t\t\t\t\tbackgroundColor:\n\t\t\t\t\t\t\tposition === 'right'\n\t\t\t\t\t\t\t\t? appType === GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t\t\t? COLORS.background.brandTint\n\t\t\t\t\t\t\t\t\t: COLORS.background.brandLight\n\t\t\t\t\t\t\t\t: appType === GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t\t? COLORS.background.pureWhite\n\t\t\t\t\t\t\t\t: COLORS.background.inactive,\n\t\t\t\t\t\tcolor: COLORS.content.primary,\n\t\t\t\t\t\twordBreak: 'break-word',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<CollapsibleBubbleText\n\t\t\t\t\t\ttext={message.text ?? ''}\n\t\t\t\t\t\tisExpanded={isExpanded}\n\t\t\t\t\t\tonToggle={() =>\n\t\t\t\t\t\t\tsetExpandedMessages((prev) => {\n\t\t\t\t\t\t\t\tconst next = new Set(prev);\n\t\t\t\t\t\t\t\tif (isExpanded) next.delete(messageId);\n\t\t\t\t\t\t\t\telse next.add(messageId);\n\t\t\t\t\t\t\t\treturn next;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\t[isUserMessage, user, renderBubble, extraProps, expandedMessages],\n\t);\n\n\t// Render a message avatar (or call custom renderAvatar)\n\tconst renderMessageAvatar = useCallback(\n\t\t(message: IMessage, previousMessage?: IMessage, nextMessage?: IMessage) => {\n\t\t\tconst shouldShow = shouldShowAvatar(message, previousMessage);\n\n\t\t\tif (!shouldShow) return null;\n\n\t\t\tconst position = isUserMessage(message) ? 'right' : 'left';\n\n\t\t\tconst avatarProps: AvatarProps<IMessage> = {\n\t\t\t\tcurrentMessage: message,\n\t\t\t\tpreviousMessage,\n\t\t\t\tnextMessage,\n\t\t\t\tposition,\n\t\t\t\tuser,\n\t\t\t\trenderAvatarOnTop,\n\t\t\t\tshowUserAvatar,\n\t\t\t\tshowAvatarForEveryMessage,\n\t\t\t};\n\n\t\t\treturn renderAvatar ? renderAvatar(avatarProps) : null;\n\t\t},\n\t\t[\n\t\t\tshouldShowAvatar,\n\t\t\tisUserMessage,\n\t\t\tuser,\n\t\t\trenderAvatarOnTop,\n\t\t\tshowUserAvatar,\n\t\t\tshowAvatarForEveryMessage,\n\t\t\trenderAvatar,\n\t\t],\n\t);\n\n\t// Render: Empty State\n\tif (!messages || messages.length === 0) {\n\t\treturn renderChatEmpty ? <>{renderChatEmpty()}</> : null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tref={scrollRef as React.RefObject<HTMLDivElement>}\n\t\t\tstyle={{\n\t\t\t\tflex: 1,\n\t\t\t\toverflowY: 'auto',\n\t\t\t\toverflowX: 'hidden',\n\t\t\t\tdisplay: 'flex',\n\t\t\t\tflexDirection: 'column',\n\t\t\t\t...(maxHeight ? { maxHeight, height: maxHeight } : {}),\n\t\t\t\t...listViewProps.style,\n\t\t\t}}\n\t\t\tonScroll={handleScroll}\n\t\t>\n\t\t\t{/* Spacer to push messages to bottom (newest appears last in DOM) */}\n\t\t\t<div style={{ flex: '1 0 auto' }} />\n\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\tflexDirection: 'column',\n\t\t\t\t\tflex: '0 0 auto',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{dayGroups.map((group, groupIndex) => (\n\t\t\t\t\t<div key={`day-group-${groupIndex}`}>\n\t\t\t\t\t\t{/* Day separator — sticks to top while this day scrolls past */}\n\t\t\t\t\t\t{renderDay ? (\n\t\t\t\t\t\t\t<div style={{ position: 'sticky', top: 0, zIndex: 2 }}>\n\t\t\t\t\t\t\t\t{renderDay({ createdAt: group.createdAt })}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Day\n\t\t\t\t\t\t\t\tcreatedAt={group.createdAt}\n\t\t\t\t\t\t\t\tappType={appType}\n\t\t\t\t\t\t\t\tscrollRootRef={scrollRef}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{group.indices.map((index) => {\n\t\t\t\t\t\t\tconst message = reversedMessages[index];\n\t\t\t\t\t\t\tconst isSmtp =\n\t\t\t\t\t\t\t\tmessage?.['channelId'] === MESSAGE_CHANNELS.SMTP ||\n\t\t\t\t\t\t\t\tmessage?.['channelName'] === MESSAGE_CHANNELS.SMTP;\n\t\t\t\t\t\t\tconst position = isSmtp\n\t\t\t\t\t\t\t\t? 'left'\n\t\t\t\t\t\t\t\t: isUserMessage(message)\n\t\t\t\t\t\t\t\t? 'right'\n\t\t\t\t\t\t\t\t: 'left';\n\t\t\t\t\t\t\tconst previousMessage = reversedMessages[index - 1];\n\t\t\t\t\t\t\tconst nextMessage = reversedMessages[index + 1];\n\t\t\t\t\t\t\tconst placement = getMessagePlacement(message, position);\n\t\t\t\t\t\t\tconst isCentered = shouldCenterAlign(message);\n\t\t\t\t\t\t\t// Check if message is a private note\n\t\t\t\t\t\t\tconst isPrivateNote =\n\t\t\t\t\t\t\t\tmessage['category'] ===\n\t\t\t\t\t\t\t\t\tConstants.ChatActivity.Category.ACTIVITY &&\n\t\t\t\t\t\t\t\tmessage['activityType'] ===\n\t\t\t\t\t\t\t\t\tConstants.ChatActivity.Type.PRIVATE_NOTE;\n\t\t\t\t\t\t\tconst isActivity =\n\t\t\t\t\t\t\t\tmessage['category'] ===\n\t\t\t\t\t\t\t\t\tConstants.ChatActivity.Category.ACTIVITY && !isPrivateNote;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<React.Fragment\n\t\t\t\t\t\t\t\t\tkey={\n\t\t\t\t\t\t\t\t\t\tmessage._id ?? `${index}-${messageIdGenerator?.() ?? 'id'}`\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{/* Message container */}\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t...(isMobile ? { margin: '0 4px' } : {}),\n\t\t\t\t\t\t\t\t\t\t\t...(isCentered\n\t\t\t\t\t\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t\t\t\t\t\t: { display: 'flex', alignItems: 'flex-start' }),\n\t\t\t\t\t\t\t\t\t\t\t...(appType !== GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t\t\t\t\t\t? !isMobile && position === 'right'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? { marginLeft: 8 }\n\t\t\t\t\t\t\t\t\t\t\t\t\t: { marginRight: 8 }\n\t\t\t\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t\t\t\t...(isSmtp && !isPrivateNote && isMobile\n\t\t\t\t\t\t\t\t\t\t\t\t? { marginLeft: 8, marginRight: 8 }\n\t\t\t\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t\t\t\t...(isSmtp && isPrivateNote ? { marginRight: 16 } : {}),\n\t\t\t\t\t\t\t\t\t\t\tjustifyContent: placement,\n\t\t\t\t\t\t\t\t\t\t\tmarginBottom: isSmtp\n\t\t\t\t\t\t\t\t\t\t\t\t? // SMTP: flat 24px between mails, no same/different-user split.\n\t\t\t\t\t\t\t\t\t\t\t\t nextMessage\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 24\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 0\n\t\t\t\t\t\t\t\t\t\t\t\t: nextMessage\n\t\t\t\t\t\t\t\t\t\t\t\t? nextMessage?.user?._id === message?.user?._id\n\t\t\t\t\t\t\t\t\t\t\t\t\t? isUserMessage(message)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 20\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 4\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 20\n\t\t\t\t\t\t\t\t\t\t\t\t: 0,\n\t\t\t\t\t\t\t\t\t\t\t// Activity cards: no left/bottom margin.\n\t\t\t\t\t\t\t\t\t\t\t...(isActivity ? { marginLeft: 0, marginBottom: 0 } : {}),\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{/* Left avatar or placeholder (for mobile, avatar is hidden) */}\n\t\t\t\t\t\t\t\t\t\t{!isMobile && position === 'left' && (\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tmarginRight: '4px',\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth: '24px',\n\t\t\t\t\t\t\t\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{renderMessageAvatar(\n\t\t\t\t\t\t\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreviousMessage,\n\t\t\t\t\t\t\t\t\t\t\t\t\tnextMessage,\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t\t{/* Message bubble */}\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tid={`message-bubble-${\n\t\t\t\t\t\t\t\t\t\t\t\tmessage._id ??\n\t\t\t\t\t\t\t\t\t\t\t\t`${index}-${messageIdGenerator?.() ?? 'id'}`\n\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\t\tappType === GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t\t\t\t\t\t\t? { width: '100%' }\n\t\t\t\t\t\t\t\t\t\t\t\t\t: isMobile || isSmtp\n\t\t\t\t\t\t\t\t\t\t\t\t\t? { display: 'flex', flexGrow: 1, width: '100%' }\n\t\t\t\t\t\t\t\t\t\t\t\t\t: {}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{renderMessageBubble(\n\t\t\t\t\t\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\t\t\t\t\t\tpreviousMessage,\n\t\t\t\t\t\t\t\t\t\t\t\tnextMessage,\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t{/* Right avatar or placeholder (for mobile, avatar is hidden) */}\n\t\t\t\t\t\t\t\t\t\t{!isMobile && position === 'right' && (\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tmarginLeft: '4px',\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth: '24px',\n\t\t\t\t\t\t\t\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\talignSelf: 'flex-start',\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{renderMessageAvatar(\n\t\t\t\t\t\t\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreviousMessage,\n\t\t\t\t\t\t\t\t\t\t\t\t\tnextMessage,\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default forwardRef<HTMLDivElement, GiftedChatProps<IMessage>>(\n\tGiftedChatInner,\n);\n"],"names":["COLLAPSED_MAX_HEIGHT","CollapsibleBubbleText","text","isExpanded","onToggle","textRef","useRef","isOverflowing","setIsOverflowing","useState","useEffect","el","overflows","jsxs","Fragment","jsx","BodySecondary","Button","GiftedChatInner","props","forwardedRef","messages","user","renderBubble","renderAvatar","renderDay","renderLoading","renderChatEmpty","listViewProps","renderAvatarOnTop","showUserAvatar","showAvatarForEveryMessage","inverted","messageIdGenerator","topThreshold","TOP_THRESHOLD","appType","GiftedChatAppType","maxHeight","isActivityMessage","extraProps","isMobile","useWindowSize","internalScrollRef","scrollRef","normalizeRef","scrollState","expandedMessages","setExpandedMessages","reversedMessages","useMemo","dayGroups","groups","message","index","previousMessage","isSameDay","scrollToBottom","useScrollToBottom","useImperativeHandle","useInitialMountScroll","useScrollCleanup","useRestoreScrollPosition","useAutoScrollOnNewMessages","useResizeObserverForFirstMessage","handleScroll","useScrollHandler","isUserMessage","useCallback","shouldShowAvatar","renderMessageBubble","nextMessage","position","isTopOfStack","isBottomOfStack","bubbleProps","messageId","COLORS","prev","next","renderMessageAvatar","group","groupIndex","Day","isSmtp","MESSAGE_CHANNELS","placement","getMessagePlacement","isCentered","shouldCenterAlign","isPrivateNote","Constants","isActivity","React","GiftedChat","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"GiftedChat.js","sources":["../../../../../src/components/BikGiftedChat/GiftedChat/GiftedChat.tsx"],"sourcesContent":["import React, {\n\tforwardRef,\n\tuseCallback,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport { COLORS } from '../../../constants/Theme';\nimport { useWindowSize } from '../../../hooks/useWindowSize';\nimport { Button } from '../../button';\nimport { BodySecondary } from '../../TypographyStyle';\nimport { BubbleProps, GiftedChatAppType } from '../Bubble/types';\nimport { IMessage } from '../types';\nimport { Day } from './Day';\nimport { getMessagePlacement, shouldCenterAlign } from './messageHelpers';\nimport {\n\tuseAutoScrollOnNewMessages,\n\tuseInitialMountScroll,\n\tuseResizeObserverForFirstMessage,\n\tuseRestoreScrollPosition,\n\tuseScrollCleanup,\n\tuseScrollHandler,\n\tuseScrollToBottom,\n} from './scrollHooks';\nimport { AvatarProps, GiftedChatProps, MESSAGE_CHANNELS } from './types';\nimport { isSameDay, normalizeRef } from './utils';\nimport { Constants, TOP_THRESHOLD } from './utils';\n\nconst COLLAPSED_MAX_HEIGHT = 204;\n\nconst CollapsibleBubbleText: React.FC<{\n\ttext: string;\n\tisExpanded: boolean;\n\tonToggle: () => void;\n}> = ({ text, isExpanded, onToggle }) => {\n\tconst textRef = useRef<HTMLDivElement>(null);\n\tconst [isOverflowing, setIsOverflowing] = useState(false);\n\n\tuseEffect(() => {\n\t\tconst el = textRef.current;\n\t\tif (el) {\n\t\t\t// Temporarily remove max-height to measure true scroll height\n\t\t\tel.style.maxHeight = 'none';\n\t\t\tconst overflows = el.scrollHeight > COLLAPSED_MAX_HEIGHT;\n\t\t\tel.style.maxHeight = isExpanded ? 'none' : `${COLLAPSED_MAX_HEIGHT}px`;\n\t\t\tsetIsOverflowing(overflows);\n\t\t}\n\t}, [text, isExpanded]);\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tref={textRef}\n\t\t\t\tstyle={{\n\t\t\t\t\tmaxHeight: isExpanded ? 'none' : COLLAPSED_MAX_HEIGHT,\n\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<BodySecondary>{text}</BodySecondary>\n\t\t\t</div>\n\t\t\t{isOverflowing && (\n\t\t\t\t<Button\n\t\t\t\t\tbuttonType=\"text\"\n\t\t\t\t\tsize=\"xs\"\n\t\t\t\t\tbuttonText={isExpanded ? 'Show less' : 'Read more'}\n\t\t\t\t\tonClick={onToggle}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n};\n\nconst GiftedChatInner = (\n\tprops: Omit<GiftedChatProps<IMessage>, 'ref'>,\n\tforwardedRef: React.Ref<HTMLDivElement>,\n) => {\n\tconst {\n\t\tmessages = [],\n\t\tuser,\n\t\trenderBubble,\n\t\trenderAvatar,\n\t\trenderDay,\n\t\trenderLoading,\n\t\trenderChatEmpty,\n\t\tlistViewProps = {},\n\t\trenderAvatarOnTop = false,\n\t\tshowUserAvatar = false,\n\t\tshowAvatarForEveryMessage = false,\n\t\tinverted = false,\n\t\tmessageIdGenerator,\n\t\ttopThreshold = TOP_THRESHOLD,\n\t\tappType = GiftedChatAppType.Bik,\n\t\tmaxHeight,\n\t\tisActivityMessage,\n\t\t...extraProps\n\t} = props || {};\n\n\tconst isMobile = useWindowSize();\n\n\tconst internalScrollRef = useRef<HTMLDivElement | null>(null);\n\tconst scrollRef = normalizeRef(\n\t\tlistViewProps.ref || forwardedRef,\n\t\tinternalScrollRef,\n\t);\n\n\tconst scrollState = useRef({\n\t\tisInitialMount: true,\n\t\tisUserScrolling: false,\n\t\tisLoadingOldMessages: false,\n\t\tisAtBottom: true,\n\t\thasTriggeredEndReached: false,\n\t\tlastMessagesLength: messages?.length ?? 0,\n\t\tpreviousScrollHeight: 0,\n\t\tpreviousScrollTop: 0,\n\t\tscrollTimeout: null,\n\t});\n\n\tconst [expandedMessages, setExpandedMessages] = useState<\n\t\tSet<string | number>\n\t>(new Set());\n\n\t// Reverse messages so newest appears last in DOM (natural reading order)\n\tconst reversedMessages = useMemo(() => {\n\t\tif (!messages || messages.length === 0) return [] as IMessage[];\n\t\treturn [...messages].reverse() as IMessage[];\n\t}, [messages]);\n\n\t// Group consecutive same-day messages so each day separator can stick\n\t// within its own section and get pushed out by the next day's separator.\n\tconst dayGroups = useMemo(() => {\n\t\tconst groups: { createdAt: IMessage['createdAt']; indices: number[] }[] =\n\t\t\t[];\n\t\treversedMessages.forEach((message, index) => {\n\t\t\tconst previousMessage = reversedMessages[index - 1];\n\t\t\tif (index === 0 || !isSameDay(message, previousMessage)) {\n\t\t\t\tgroups.push({ createdAt: message.createdAt, indices: [index] });\n\t\t\t} else {\n\t\t\t\tgroups[groups.length - 1].indices.push(index);\n\t\t\t}\n\t\t});\n\t\treturn groups;\n\t}, [reversedMessages]);\n\n\tconst scrollToBottom = useScrollToBottom(scrollRef, scrollState);\n\n\tuseImperativeHandle(forwardedRef, () => scrollRef.current!);\n\n\tuseInitialMountScroll(\n\t\tscrollRef,\n\t\tscrollState,\n\t\treversedMessages.length,\n\t\tscrollToBottom,\n\t);\n\n\tuseScrollCleanup(scrollState);\n\n\tuseRestoreScrollPosition(scrollRef, scrollState, reversedMessages.length);\n\n\tuseAutoScrollOnNewMessages(\n\t\tscrollRef,\n\t\tscrollState,\n\t\tmessages.length,\n\t\tscrollToBottom,\n\t);\n\n\tuseResizeObserverForFirstMessage(\n\t\tmessages?.[0],\n\t\tscrollState,\n\t\tscrollToBottom,\n\t\tmessageIdGenerator,\n\t);\n\n\tconst handleScroll = useScrollHandler(\n\t\tscrollState,\n\t\tlistViewProps.onEndReached,\n\t\tlistViewProps.onScroll,\n\t\ttopThreshold,\n\t);\n\n\t// Check if a message belongs to the current user\n\tconst isUserMessage = useCallback(\n\t\t(message: IMessage) => {\n\t\t\treturn Boolean(message && user && message.user?._id === user._id);\n\t\t},\n\t\t[user],\n\t);\n\n\t// Determine if avatar should be shown for this message\n\tconst shouldShowAvatar = useCallback(\n\t\t(message: IMessage, previousMessage?: IMessage) => {\n\t\t\tif (!showUserAvatar) return false;\n\t\t\tif (showAvatarForEveryMessage) return true;\n\n\t\t\t// Show avatar on the first message in a consecutive sender stack,\n\t\t\t// or when an activity interrupts the stack, or when the current message itself is an activity\n\t\t\treturn (\n\t\t\t\t!previousMessage ||\n\t\t\t\t(isActivityMessage ? isActivityMessage(message) : false) ||\n\t\t\t\t(isActivityMessage ? isActivityMessage(previousMessage) : false) ||\n\t\t\t\tpreviousMessage.user._id !== message.user._id\n\t\t\t);\n\t\t},\n\t\t[showUserAvatar, showAvatarForEveryMessage, isActivityMessage],\n\t);\n\n\t// Render a message bubble (or call custom renderBubble)\n\tconst renderMessageBubble = useCallback(\n\t\t(message: IMessage, previousMessage?: IMessage, nextMessage?: IMessage) => {\n\t\t\tconst position = isUserMessage(message) ? 'right' : 'left';\n\t\t\tconst isTopOfStack = previousMessage?.user?._id !== message?.user?._id;\n\t\t\tconst isBottomOfStack = nextMessage?.user?._id !== message?.user?._id;\n\n\t\t\tconst bubbleProps: BubbleProps<IMessage> = {\n\t\t\t\tcurrentMessage: message,\n\t\t\t\tpreviousMessage,\n\t\t\t\tnextMessage,\n\t\t\t\tposition,\n\t\t\t\tuser,\n\t\t\t\t...extraProps,\n\t\t\t};\n\n\t\t\t// Use custom render function if provided\n\t\t\tif (renderBubble) {\n\t\t\t\treturn renderBubble(bubbleProps);\n\t\t\t}\n\n\t\t\t// Default bubble rendering\n\t\t\tconst messageId = message._id;\n\t\t\tconst isExpanded = expandedMessages.has(messageId);\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmaxWidth: appType === GiftedChatAppType.Manifest ? '50%' : '70%',\n\t\t\t\t\t\twidth: 'fit-content',\n\t\t\t\t\t\t...(appType === GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t? { minWidth: '130px' }\n\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\tpadding: '8px 12px',\n\t\t\t\t\t\tborderTopLeftRadius:\n\t\t\t\t\t\t\tposition === 'left' ? (isTopOfStack ? 12 : 2) : 12,\n\t\t\t\t\t\tborderTopRightRadius:\n\t\t\t\t\t\t\tposition === 'right' ? (isTopOfStack ? 12 : 2) : 12,\n\t\t\t\t\t\tborderBottomLeftRadius:\n\t\t\t\t\t\t\tposition === 'left' ? (isBottomOfStack ? 12 : 2) : 12,\n\t\t\t\t\t\tborderBottomRightRadius:\n\t\t\t\t\t\t\tposition === 'right' ? (isBottomOfStack ? 12 : 2) : 12,\n\t\t\t\t\t\tborder:\n\t\t\t\t\t\t\tposition === 'left' && appType === GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t\t? '1px solid rgb(224, 224, 224)'\n\t\t\t\t\t\t\t\t: 'none',\n\t\t\t\t\t\tbackgroundColor:\n\t\t\t\t\t\t\tposition === 'right'\n\t\t\t\t\t\t\t\t? appType === GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t\t\t? COLORS.background.brandTint\n\t\t\t\t\t\t\t\t\t: COLORS.background.brandLight\n\t\t\t\t\t\t\t\t: appType === GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t\t? COLORS.background.pureWhite\n\t\t\t\t\t\t\t\t: COLORS.background.inactive,\n\t\t\t\t\t\tcolor: COLORS.content.primary,\n\t\t\t\t\t\twordBreak: 'break-word',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<CollapsibleBubbleText\n\t\t\t\t\t\ttext={message.text ?? ''}\n\t\t\t\t\t\tisExpanded={isExpanded}\n\t\t\t\t\t\tonToggle={() =>\n\t\t\t\t\t\t\tsetExpandedMessages((prev) => {\n\t\t\t\t\t\t\t\tconst next = new Set(prev);\n\t\t\t\t\t\t\t\tif (isExpanded) next.delete(messageId);\n\t\t\t\t\t\t\t\telse next.add(messageId);\n\t\t\t\t\t\t\t\treturn next;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t\t[isUserMessage, user, renderBubble, extraProps, expandedMessages],\n\t);\n\n\t// Render a message avatar (or call custom renderAvatar)\n\tconst renderMessageAvatar = useCallback(\n\t\t(message: IMessage, previousMessage?: IMessage, nextMessage?: IMessage) => {\n\t\t\tconst shouldShow = shouldShowAvatar(message, previousMessage);\n\n\t\t\tif (!shouldShow) return null;\n\n\t\t\tconst position = isUserMessage(message) ? 'right' : 'left';\n\n\t\t\tconst avatarProps: AvatarProps<IMessage> = {\n\t\t\t\tcurrentMessage: message,\n\t\t\t\tpreviousMessage,\n\t\t\t\tnextMessage,\n\t\t\t\tposition,\n\t\t\t\tuser,\n\t\t\t\trenderAvatarOnTop,\n\t\t\t\tshowUserAvatar,\n\t\t\t\tshowAvatarForEveryMessage,\n\t\t\t};\n\n\t\t\treturn renderAvatar ? renderAvatar(avatarProps) : null;\n\t\t},\n\t\t[\n\t\t\tshouldShowAvatar,\n\t\t\tisUserMessage,\n\t\t\tuser,\n\t\t\trenderAvatarOnTop,\n\t\t\tshowUserAvatar,\n\t\t\tshowAvatarForEveryMessage,\n\t\t\trenderAvatar,\n\t\t],\n\t);\n\n\t// Render: Empty State\n\tif (!messages || messages.length === 0) {\n\t\treturn renderChatEmpty ? <>{renderChatEmpty()}</> : null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tref={scrollRef as React.RefObject<HTMLDivElement>}\n\t\t\tstyle={{\n\t\t\t\tflex: 1,\n\t\t\t\toverflowY: 'auto',\n\t\t\t\toverflowX: 'hidden',\n\t\t\t\tdisplay: 'flex',\n\t\t\t\tflexDirection: 'column',\n\t\t\t\t...(maxHeight ? { maxHeight, height: maxHeight } : {}),\n\t\t\t\t...listViewProps.style,\n\t\t\t}}\n\t\t\tonScroll={handleScroll}\n\t\t>\n\t\t\t{/* Spacer to push messages to bottom (newest appears last in DOM) */}\n\t\t\t<div style={{ flex: '1 0 auto' }} />\n\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\tflexDirection: 'column',\n\t\t\t\t\tflex: '0 0 auto',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{dayGroups.map((group, groupIndex) => (\n\t\t\t\t\t<div key={`day-group-${groupIndex}`}>\n\t\t\t\t\t\t{/* Day separator — sticks to top while this day scrolls past */}\n\t\t\t\t\t\t{renderDay ? (\n\t\t\t\t\t\t\t<div style={{ position: 'sticky', top: 0, zIndex: 2 }}>\n\t\t\t\t\t\t\t\t{renderDay({ createdAt: group.createdAt })}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Day\n\t\t\t\t\t\t\t\tcreatedAt={group.createdAt}\n\t\t\t\t\t\t\t\tappType={appType}\n\t\t\t\t\t\t\t\tscrollRootRef={scrollRef}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{group.indices.map((index) => {\n\t\t\t\t\t\t\tconst message = reversedMessages[index];\n\t\t\t\t\t\t\tconst isSmtp =\n\t\t\t\t\t\t\t\tmessage?.['channelId'] === MESSAGE_CHANNELS.SMTP ||\n\t\t\t\t\t\t\t\tmessage?.['channelName'] === MESSAGE_CHANNELS.SMTP;\n\t\t\t\t\t\t\tconst position = isSmtp\n\t\t\t\t\t\t\t\t? 'left'\n\t\t\t\t\t\t\t\t: isUserMessage(message)\n\t\t\t\t\t\t\t\t? 'right'\n\t\t\t\t\t\t\t\t: 'left';\n\t\t\t\t\t\t\tconst previousMessage = reversedMessages[index - 1];\n\t\t\t\t\t\t\tconst nextMessage = reversedMessages[index + 1];\n\t\t\t\t\t\t\tconst placement = getMessagePlacement(message, position);\n\t\t\t\t\t\t\tconst isCentered = shouldCenterAlign(message);\n\t\t\t\t\t\t\t// Check if message is a private note\n\t\t\t\t\t\t\tconst isPrivateNote =\n\t\t\t\t\t\t\t\tmessage['category'] ===\n\t\t\t\t\t\t\t\t\tConstants.ChatActivity.Category.ACTIVITY &&\n\t\t\t\t\t\t\t\tmessage['activityType'] ===\n\t\t\t\t\t\t\t\t\tConstants.ChatActivity.Type.PRIVATE_NOTE;\n\t\t\t\t\t\t\tconst isActivity =\n\t\t\t\t\t\t\t\tmessage['category'] ===\n\t\t\t\t\t\t\t\t\tConstants.ChatActivity.Category.ACTIVITY && !isPrivateNote;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<React.Fragment\n\t\t\t\t\t\t\t\t\tkey={\n\t\t\t\t\t\t\t\t\t\tmessage._id ?? `${index}-${messageIdGenerator?.() ?? 'id'}`\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{/* Message container */}\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t...(isMobile ? { margin: '0 4px' } : {}),\n\t\t\t\t\t\t\t\t\t\t\t...(isCentered\n\t\t\t\t\t\t\t\t\t\t\t\t? {}\n\t\t\t\t\t\t\t\t\t\t\t\t: { display: 'flex', alignItems: 'flex-start' }),\n\t\t\t\t\t\t\t\t\t\t\t...(appType !== GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t\t\t\t\t\t? !isMobile && position === 'right'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? { marginLeft: 8 }\n\t\t\t\t\t\t\t\t\t\t\t\t\t: { marginRight: 8 }\n\t\t\t\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t\t\t\t...(isSmtp && !isPrivateNote && isMobile\n\t\t\t\t\t\t\t\t\t\t\t\t? { marginLeft: 8, marginRight: 8 }\n\t\t\t\t\t\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t\t\t\t\t\t...(isSmtp && isPrivateNote ? { marginRight: 16 } : {}),\n\t\t\t\t\t\t\t\t\t\t\tjustifyContent: placement,\n\t\t\t\t\t\t\t\t\t\t\tmarginBottom: isSmtp\n\t\t\t\t\t\t\t\t\t\t\t\t? // SMTP: flat 24px between mails, no same/different-user split.\n\t\t\t\t\t\t\t\t\t\t\t\t nextMessage\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 24\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 0\n\t\t\t\t\t\t\t\t\t\t\t\t: nextMessage\n\t\t\t\t\t\t\t\t\t\t\t\t? nextMessage?.user?._id === message?.user?._id\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 4\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 20\n\t\t\t\t\t\t\t\t\t\t\t\t: 0,\n\t\t\t\t\t\t\t\t\t\t\t// Activity cards: no left/bottom margin.\n\t\t\t\t\t\t\t\t\t\t\t...(isActivity ? { marginLeft: 0, marginBottom: 0 } : {}),\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{/* Left avatar or placeholder (for mobile, avatar is hidden) */}\n\t\t\t\t\t\t\t\t\t\t{!isMobile && position === 'left' && (\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tmarginRight: '4px',\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth: '24px',\n\t\t\t\t\t\t\t\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{renderMessageAvatar(\n\t\t\t\t\t\t\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreviousMessage,\n\t\t\t\t\t\t\t\t\t\t\t\t\tnextMessage,\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t\t{/* Message bubble */}\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tid={`message-bubble-${\n\t\t\t\t\t\t\t\t\t\t\t\tmessage._id ??\n\t\t\t\t\t\t\t\t\t\t\t\t`${index}-${messageIdGenerator?.() ?? 'id'}`\n\t\t\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\t\tappType === GiftedChatAppType.Manifest\n\t\t\t\t\t\t\t\t\t\t\t\t\t? { width: '100%' }\n\t\t\t\t\t\t\t\t\t\t\t\t\t: isMobile || isSmtp\n\t\t\t\t\t\t\t\t\t\t\t\t\t? { display: 'flex', flexGrow: 1, width: '100%' }\n\t\t\t\t\t\t\t\t\t\t\t\t\t: {}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{renderMessageBubble(\n\t\t\t\t\t\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\t\t\t\t\t\tpreviousMessage,\n\t\t\t\t\t\t\t\t\t\t\t\tnextMessage,\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t{/* Right avatar or placeholder (for mobile, avatar is hidden) */}\n\t\t\t\t\t\t\t\t\t\t{!isMobile && position === 'right' && (\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\tmarginLeft: '4px',\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth: '24px',\n\t\t\t\t\t\t\t\t\t\t\t\t\tflexShrink: 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\talignSelf: 'flex-start',\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{renderMessageAvatar(\n\t\t\t\t\t\t\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreviousMessage,\n\t\t\t\t\t\t\t\t\t\t\t\t\tnextMessage,\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default forwardRef<HTMLDivElement, GiftedChatProps<IMessage>>(\n\tGiftedChatInner,\n);\n"],"names":["COLLAPSED_MAX_HEIGHT","CollapsibleBubbleText","text","isExpanded","onToggle","textRef","useRef","isOverflowing","setIsOverflowing","useState","useEffect","el","overflows","jsxs","Fragment","jsx","BodySecondary","Button","GiftedChatInner","props","forwardedRef","messages","user","renderBubble","renderAvatar","renderDay","renderLoading","renderChatEmpty","listViewProps","renderAvatarOnTop","showUserAvatar","showAvatarForEveryMessage","inverted","messageIdGenerator","topThreshold","TOP_THRESHOLD","appType","GiftedChatAppType","maxHeight","isActivityMessage","extraProps","isMobile","useWindowSize","internalScrollRef","scrollRef","normalizeRef","scrollState","expandedMessages","setExpandedMessages","reversedMessages","useMemo","dayGroups","groups","message","index","previousMessage","isSameDay","scrollToBottom","useScrollToBottom","useImperativeHandle","useInitialMountScroll","useScrollCleanup","useRestoreScrollPosition","useAutoScrollOnNewMessages","useResizeObserverForFirstMessage","handleScroll","useScrollHandler","isUserMessage","useCallback","shouldShowAvatar","renderMessageBubble","nextMessage","position","isTopOfStack","isBottomOfStack","bubbleProps","messageId","COLORS","prev","next","renderMessageAvatar","group","groupIndex","Day","isSmtp","MESSAGE_CHANNELS","placement","getMessagePlacement","isCentered","shouldCenterAlign","isPrivateNote","Constants","isActivity","React","GiftedChat","forwardRef"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),f=require("react"),j=require("./components/FilterChipListRenderer.js"),q=require("./components/SearchFilterItem.js"),p=require("./types/SearchFilter.type.js"),R=require("../searchBar/searchBar.js"),D=({direction:o="row",schema:d,variant:w,onChange:x,showSelectedChips:F})=>{const i=f.useRef(d?.filter(e=>e.defaultValue).map(e=>({id:e.id,value:e.defaultValue,type:e.type,text:e.text}))??[]),[y,h]=f.useState([]),u=d.find(e=>e.type===p.FilterType.Search),S=e=>{u&&typeof e=="string"&&g(u.id,e)},g=(e,l)=>{const n=d.find(t=>t.id===e),s=[...y];if(n){const t=s.findIndex(r=>r.id===e);t!==-1?s[t]={id:n.id,value:l}:s.push({id:n.id,value:l}),i.current.find(r=>r.id===e)?i.current=i.current.map(r=>r.id===e?{id:r.id,value:l,type:r.type,text:r.text}:r):i.current=[...i.current,{id:e,value:l,type:n.type,text:n.text}],x(n.id,i.current,l),h([...s])}},v=(e,l)=>{const n=d.find(t=>t.id===e);let s=[...y];n&&(n.type===p.FilterType.Multiple?(s=s.map(t=>{if(t.id===e){const a=t.value.filter(r=>r.value!==l.value);return a.length?{...t,value:a}:null}return t}).filter(t=>!!t),i.current=i.current.map(t=>{if(t.id===e){const a=t.value?.filter(r=>r.value!==l.value);return a.length?{...t,value:a}:null}return t}).filter(t=>!!t)):(s=s.filter(t=>t.id!==e),i.current=i.current.filter(t=>t.id!==e)),x(n.id,i.current,l),h([...s]))};return c.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[c.jsxs("div",{"data-testid":"search-filter-row",style:{display:"flex",flexDirection:o,gap:8,flexWrap:"wrap",alignItems:o==="row"?"center":"self-start"},children:[u&&c.jsx(R.SearchBar,{width:u.width?.toString()??"100%",isEnabled:!0,onChange:S,onEnter:S,placeholder:u.text,variant:"small"}),c.jsx("div",{style:{display:"flex",flexDirection:"row",gap:8,flexWrap:"wrap",alignItems:o==="row"?"center":"self-start"},children:d.filter(e=>e.type!==p.FilterType.Search).map((e,l)=>f.createElement(q.SearchFilterItem,{...e,key:l,variant:w,onChange:n=>{g(e.id,n)}}))})]}),F&&c.jsx("div",{style:{display:"flex",flexDirection:"row",gap:8},children:c.jsx(j.FilterChipListRenderer,{selectedState:i.current,onDeSelect:v})})]})};exports.SearchFilter=D;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),f=require("react"),j=require("./components/FilterChipListRenderer.js"),q=require("./components/SearchFilterItem.js"),p=require("./types/SearchFilter.type.js"),R=require("../searchBar/searchBar.js"),D=({direction:o="row",schema:u,variant:w,onChange:x,showSelectedChips:F})=>{const i=f.useRef(u?.filter(e=>e.defaultValue).map(e=>({id:e.id,value:e.defaultValue,type:e.type,text:e.text}))??[]),[y,h]=f.useState([]),d=u.find(e=>e.type===p.FilterType.Search),S=e=>{d&&typeof e=="string"&&g(d.id,e)},g=(e,l)=>{const n=u.find(t=>t.id===e),s=[...y];if(n){const t=s.findIndex(r=>r.id===e);t!==-1?s[t]={id:n.id,value:l}:s.push({id:n.id,value:l}),i.current.find(r=>r.id===e)?i.current=i.current.map(r=>r.id===e?{id:r.id,value:l,type:r.type,text:r.text}:r):i.current=[...i.current,{id:e,value:l,type:n.type,text:n.text}],x(n.id,i.current,l),h([...s])}},v=(e,l)=>{const n=u.find(t=>t.id===e);let s=[...y];n&&(n.type===p.FilterType.Multiple?(s=s.map(t=>{if(t.id===e){const c=t.value.filter(r=>r.value!==l.value);return c.length?{...t,value:c}:null}return t}).filter(t=>!!t),i.current=i.current.map(t=>{if(t.id===e){const c=t.value?.filter(r=>r.value!==l.value);return c.length?{...t,value:c}:null}return t}).filter(t=>!!t)):(s=s.filter(t=>t.id!==e),i.current=i.current.filter(t=>t.id!==e)),x(n.id,i.current,l),h([...s]))};return a.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[a.jsxs("div",{style:{display:"flex",flexDirection:o,gap:8,flexWrap:"wrap",alignItems:o==="row"?"center":"self-start"},children:[d&&a.jsx(R.SearchBar,{width:d.width?.toString()??"100%",isEnabled:!0,onChange:S,onEnter:S,placeholder:d.text,variant:"small"}),a.jsx("div",{style:{display:"flex",flexDirection:"row",gap:8,flexWrap:"wrap",alignItems:o==="row"?"center":"self-start"},children:u.filter(e=>e.type!==p.FilterType.Search).map((e,l)=>f.createElement(q.SearchFilterItem,{...e,key:l,variant:w,onChange:n=>{g(e.id,n)}}))})]}),F&&a.jsx("div",{style:{display:"flex",flexDirection:"row",gap:8},children:a.jsx(j.FilterChipListRenderer,{selectedState:i.current,onDeSelect:v})})]})};exports.SearchFilter=D;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/SearchFilter/index.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { SingleOption } from '../dropdown/type';\nimport { SearchBar } from '../searchBar';\nimport { FilterChipListRenderer } from './components/FilterChipListRenderer';\nimport { SearchFilterItem } from './components/SearchFilterItem';\nimport {\n\tFilterType,\n\tFilterValueType,\n\tSearchFilterOutputState,\n\tSearchFilterProps,\n} from './types/SearchFilter.type';\n\nexport const SearchFilter: React.FC<SearchFilterProps> = ({\n\tdirection = 'row',\n\tschema,\n\tvariant,\n\tonChange,\n\tshowSelectedChips,\n}) => {\n\t/** this will always have the latest value and all the selected ids */\n\tconst selectedStateRef = useRef<SearchFilterOutputState[]>(\n\t\tschema\n\t\t\t?.filter((filterItem) => filterItem.defaultValue)\n\t\t\t.map(\n\t\t\t\t(filterItem) =>\n\t\t\t\t\t({\n\t\t\t\t\t\tid: filterItem.id,\n\t\t\t\t\t\tvalue: filterItem.defaultValue,\n\t\t\t\t\t\ttype: filterItem.type,\n\t\t\t\t\t\ttext: filterItem.text,\n\t\t\t\t\t} as SearchFilterOutputState),\n\t\t\t) ?? [],\n\t);\n\n\tconst [selectedIds, setSelectedIds] = useState<\n\t\t{ id: string; value: FilterValueType }[]\n\t>([]);\n\n\tconst searchSchema = schema.find(\n\t\t(filterItem) => filterItem.type === FilterType.Search,\n\t);\n\n\tconst onSearchChange = (searchText: string) => {\n\t\tif (searchSchema && typeof searchText === 'string') {\n\t\t\tselect(searchSchema.id, searchText);\n\t\t}\n\t};\n\n\tconst select = (id: string, value: FilterValueType) => {\n\t\tconst selectedSchema = schema.find((schemaItem) => schemaItem.id === id);\n\t\tconst localSelectedIds = [...selectedIds];\n\n\t\tif (selectedSchema) {\n\t\t\tconst idx = localSelectedIds.findIndex((el) => el.id === id);\n\t\t\tif (idx !== -1) {\n\t\t\t\tlocalSelectedIds[idx] = { id: selectedSchema.id, value };\n\t\t\t} else {\n\t\t\t\tlocalSelectedIds.push({ id: selectedSchema.id, value });\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * loop through selectedStateRef.current and if `id` present (1), update the value\n\t\t\t * and if id not present (2), push\n\t\t\t */\n\n\t\t\tconst idPresent = selectedStateRef.current.find(\n\t\t\t\t(selectedSchemaItem) => selectedSchemaItem.id === id,\n\t\t\t);\n\n\t\t\tif (idPresent) {\n\t\t\t\t/** (1) */\n\t\t\t\tselectedStateRef.current = selectedStateRef.current.map(\n\t\t\t\t\t(selectedSchemaItem) => {\n\t\t\t\t\t\tif (selectedSchemaItem.id === id) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tid: selectedSchemaItem.id,\n\t\t\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\t\t\ttype: selectedSchemaItem.type,\n\t\t\t\t\t\t\t\ttext: selectedSchemaItem.text,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn selectedSchemaItem;\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t/** (2) */\n\t\t\t\tselectedStateRef.current = [\n\t\t\t\t\t...selectedStateRef.current,\n\t\t\t\t\t{\n\t\t\t\t\t\tid: id,\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\ttype: selectedSchema.type,\n\t\t\t\t\t\ttext: selectedSchema.text,\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t}\n\n\t\t\tonChange(selectedSchema.id, selectedStateRef.current, value);\n\n\t\t\tsetSelectedIds([...localSelectedIds]);\n\t\t}\n\t};\n\n\tconst deSelect = (id: string, value?: FilterValueType) => {\n\t\tconst selectedSchema = schema.find((schemaItem) => schemaItem.id === id);\n\t\tlet localSelectedIds = [...selectedIds];\n\t\tif (selectedSchema) {\n\t\t\t/**\n\t\t\t * only FilterType.Multiple, id can be present in selectedIds and selectedStateRef, so\n\t\t\t * delete id always except for FilterType.Multiple,\n\t\t\t *\n\t\t\t * for FilterType.Multiple,\n\t\t\t * \t\tif value.length === 0, delete id\n\t\t\t * \t\telse\n\t\t\t * \t\t\tjust update the value\n\t\t\t *\n\t\t\t */\n\n\t\t\tif (selectedSchema.type === FilterType.Multiple) {\n\t\t\t\t/** only update value i.e remove value from selectedItem.value */\n\t\t\t\tlocalSelectedIds = localSelectedIds\n\t\t\t\t\t.map((selected) => {\n\t\t\t\t\t\tif (selected.id === id) {\n\t\t\t\t\t\t\tconst newVal = (selected.value as SingleOption[]).filter(\n\t\t\t\t\t\t\t\t(val) => val.value !== (value as SingleOption).value,\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif (newVal.length) {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t...selected,\n\t\t\t\t\t\t\t\t\tvalue: newVal,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn selected;\n\t\t\t\t\t})\n\t\t\t\t\t.filter((selected) => !!selected) as {\n\t\t\t\t\tid: string;\n\t\t\t\t\tvalue: FilterValueType;\n\t\t\t\t}[];\n\n\t\t\t\tselectedStateRef.current = selectedStateRef.current\n\t\t\t\t\t.map((selectedItem) => {\n\t\t\t\t\t\tif (selectedItem.id === id) {\n\t\t\t\t\t\t\tconst newVal = (selectedItem.value as SingleOption[])?.filter(\n\t\t\t\t\t\t\t\t(val) => val.value !== (value as SingleOption).value,\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif (newVal.length) {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t...selectedItem,\n\t\t\t\t\t\t\t\t\tvalue: newVal,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn selectedItem;\n\t\t\t\t\t})\n\t\t\t\t\t.filter((selected) => !!selected) as SearchFilterOutputState[];\n\t\t\t} else {\n\t\t\t\t/** Delete */\n\t\t\t\tlocalSelectedIds = localSelectedIds.filter(\n\t\t\t\t\t(selected) => selected.id !== id,\n\t\t\t\t);\n\n\t\t\t\tselectedStateRef.current = selectedStateRef.current.filter(\n\t\t\t\t\t(selectedItem) => selectedItem.id !== id,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tonChange(selectedSchema.id, selectedStateRef.current, value);\n\n\t\t\tsetSelectedIds([...localSelectedIds]);\n\t\t}\n\t};\n\n\treturn (\n\t\t<div style={{ display: 'flex', flexDirection: 'column', gap: 8 }}>\n\t\t\t<div\n\t\t\t\tdata-testid=\"search-filter-row\"\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\tflexDirection: direction,\n\t\t\t\t\tgap: 8,\n\t\t\t\t\tflexWrap: 'wrap',\n\t\t\t\t\talignItems: direction === 'row' ? 'center' : 'self-start',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{searchSchema && (\n\t\t\t\t\t<SearchBar\n\t\t\t\t\t\twidth={searchSchema.width?.toString() ?? '100%'}\n\t\t\t\t\t\tisEnabled={true}\n\t\t\t\t\t\tonChange={onSearchChange}\n\t\t\t\t\t\tonEnter={onSearchChange}\n\t\t\t\t\t\tplaceholder={searchSchema.text}\n\t\t\t\t\t\tvariant={'small'}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\tflexDirection: 'row',\n\t\t\t\t\t\tgap: 8,\n\t\t\t\t\t\tflexWrap: 'wrap',\n\t\t\t\t\t\talignItems: direction === 'row' ? 'center' : 'self-start',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{schema\n\t\t\t\t\t\t.filter((filterItem) => filterItem.type !== FilterType.Search)\n\t\t\t\t\t\t.map((filterItem, i) => (\n\t\t\t\t\t\t\t<SearchFilterItem\n\t\t\t\t\t\t\t\t{...filterItem}\n\t\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\t\tonChange={(val) => {\n\t\t\t\t\t\t\t\t\tselect(filterItem.id, val);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{showSelectedChips && (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\tflexDirection: 'row',\n\t\t\t\t\t\tgap: 8,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<FilterChipListRenderer\n\t\t\t\t\t\tselectedState={selectedStateRef.current}\n\t\t\t\t\t\tonDeSelect={deSelect}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n"],"names":["SearchFilter","direction","schema","variant","onChange","showSelectedChips","selectedStateRef","useRef","filterItem","selectedIds","setSelectedIds","useState","searchSchema","FilterType","onSearchChange","searchText","select","id","value","selectedSchema","schemaItem","localSelectedIds","idx","el","selectedSchemaItem","deSelect","selected","newVal","val","selectedItem","jsxs","jsx","SearchBar","i","createElement","SearchFilterItem","FilterChipListRenderer"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/SearchFilter/index.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { SingleOption } from '../dropdown/type';\nimport { SearchBar } from '../searchBar';\nimport { FilterChipListRenderer } from './components/FilterChipListRenderer';\nimport { SearchFilterItem } from './components/SearchFilterItem';\nimport {\n\tFilterType,\n\tFilterValueType,\n\tSearchFilterOutputState,\n\tSearchFilterProps,\n} from './types/SearchFilter.type';\n\nexport const SearchFilter: React.FC<SearchFilterProps> = ({\n\tdirection = 'row',\n\tschema,\n\tvariant,\n\tonChange,\n\tshowSelectedChips,\n}) => {\n\t/** this will always have the latest value and all the selected ids */\n\tconst selectedStateRef = useRef<SearchFilterOutputState[]>(\n\t\tschema\n\t\t\t?.filter((filterItem) => filterItem.defaultValue)\n\t\t\t.map(\n\t\t\t\t(filterItem) =>\n\t\t\t\t\t({\n\t\t\t\t\t\tid: filterItem.id,\n\t\t\t\t\t\tvalue: filterItem.defaultValue,\n\t\t\t\t\t\ttype: filterItem.type,\n\t\t\t\t\t\ttext: filterItem.text,\n\t\t\t\t\t} as SearchFilterOutputState),\n\t\t\t) ?? [],\n\t);\n\n\tconst [selectedIds, setSelectedIds] = useState<\n\t\t{ id: string; value: FilterValueType }[]\n\t>([]);\n\n\tconst searchSchema = schema.find(\n\t\t(filterItem) => filterItem.type === FilterType.Search,\n\t);\n\n\tconst onSearchChange = (searchText: string) => {\n\t\tif (searchSchema && typeof searchText === 'string') {\n\t\t\tselect(searchSchema.id, searchText);\n\t\t}\n\t};\n\n\tconst select = (id: string, value: FilterValueType) => {\n\t\tconst selectedSchema = schema.find((schemaItem) => schemaItem.id === id);\n\t\tconst localSelectedIds = [...selectedIds];\n\n\t\tif (selectedSchema) {\n\t\t\tconst idx = localSelectedIds.findIndex((el) => el.id === id);\n\t\t\tif (idx !== -1) {\n\t\t\t\tlocalSelectedIds[idx] = { id: selectedSchema.id, value };\n\t\t\t} else {\n\t\t\t\tlocalSelectedIds.push({ id: selectedSchema.id, value });\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * loop through selectedStateRef.current and if `id` present (1), update the value\n\t\t\t * and if id not present (2), push\n\t\t\t */\n\n\t\t\tconst idPresent = selectedStateRef.current.find(\n\t\t\t\t(selectedSchemaItem) => selectedSchemaItem.id === id,\n\t\t\t);\n\n\t\t\tif (idPresent) {\n\t\t\t\t/** (1) */\n\t\t\t\tselectedStateRef.current = selectedStateRef.current.map(\n\t\t\t\t\t(selectedSchemaItem) => {\n\t\t\t\t\t\tif (selectedSchemaItem.id === id) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tid: selectedSchemaItem.id,\n\t\t\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\t\t\ttype: selectedSchemaItem.type,\n\t\t\t\t\t\t\t\ttext: selectedSchemaItem.text,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn selectedSchemaItem;\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t/** (2) */\n\t\t\t\tselectedStateRef.current = [\n\t\t\t\t\t...selectedStateRef.current,\n\t\t\t\t\t{\n\t\t\t\t\t\tid: id,\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\ttype: selectedSchema.type,\n\t\t\t\t\t\ttext: selectedSchema.text,\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t}\n\n\t\t\tonChange(selectedSchema.id, selectedStateRef.current, value);\n\n\t\t\tsetSelectedIds([...localSelectedIds]);\n\t\t}\n\t};\n\n\tconst deSelect = (id: string, value?: FilterValueType) => {\n\t\tconst selectedSchema = schema.find((schemaItem) => schemaItem.id === id);\n\t\tlet localSelectedIds = [...selectedIds];\n\t\tif (selectedSchema) {\n\t\t\t/**\n\t\t\t * only FilterType.Multiple, id can be present in selectedIds and selectedStateRef, so\n\t\t\t * delete id always except for FilterType.Multiple,\n\t\t\t *\n\t\t\t * for FilterType.Multiple,\n\t\t\t * \t\tif value.length === 0, delete id\n\t\t\t * \t\telse\n\t\t\t * \t\t\tjust update the value\n\t\t\t *\n\t\t\t */\n\n\t\t\tif (selectedSchema.type === FilterType.Multiple) {\n\t\t\t\t/** only update value i.e remove value from selectedItem.value */\n\t\t\t\tlocalSelectedIds = localSelectedIds\n\t\t\t\t\t.map((selected) => {\n\t\t\t\t\t\tif (selected.id === id) {\n\t\t\t\t\t\t\tconst newVal = (selected.value as SingleOption[]).filter(\n\t\t\t\t\t\t\t\t(val) => val.value !== (value as SingleOption).value,\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif (newVal.length) {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t...selected,\n\t\t\t\t\t\t\t\t\tvalue: newVal,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn selected;\n\t\t\t\t\t})\n\t\t\t\t\t.filter((selected) => !!selected) as {\n\t\t\t\t\tid: string;\n\t\t\t\t\tvalue: FilterValueType;\n\t\t\t\t}[];\n\n\t\t\t\tselectedStateRef.current = selectedStateRef.current\n\t\t\t\t\t.map((selectedItem) => {\n\t\t\t\t\t\tif (selectedItem.id === id) {\n\t\t\t\t\t\t\tconst newVal = (selectedItem.value as SingleOption[])?.filter(\n\t\t\t\t\t\t\t\t(val) => val.value !== (value as SingleOption).value,\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif (newVal.length) {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t...selectedItem,\n\t\t\t\t\t\t\t\t\tvalue: newVal,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn selectedItem;\n\t\t\t\t\t})\n\t\t\t\t\t.filter((selected) => !!selected) as SearchFilterOutputState[];\n\t\t\t} else {\n\t\t\t\t/** Delete */\n\t\t\t\tlocalSelectedIds = localSelectedIds.filter(\n\t\t\t\t\t(selected) => selected.id !== id,\n\t\t\t\t);\n\n\t\t\t\tselectedStateRef.current = selectedStateRef.current.filter(\n\t\t\t\t\t(selectedItem) => selectedItem.id !== id,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tonChange(selectedSchema.id, selectedStateRef.current, value);\n\n\t\t\tsetSelectedIds([...localSelectedIds]);\n\t\t}\n\t};\n\n\treturn (\n\t\t<div style={{ display: 'flex', flexDirection: 'column', gap: 8 }}>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\tflexDirection: direction,\n\t\t\t\t\tgap: 8,\n\t\t\t\t\tflexWrap: 'wrap',\n\t\t\t\t\talignItems: direction === 'row' ? 'center' : 'self-start',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{searchSchema && (\n\t\t\t\t\t<SearchBar\n\t\t\t\t\t\twidth={searchSchema.width?.toString() ?? '100%'}\n\t\t\t\t\t\tisEnabled={true}\n\t\t\t\t\t\tonChange={onSearchChange}\n\t\t\t\t\t\tonEnter={onSearchChange}\n\t\t\t\t\t\tplaceholder={searchSchema.text}\n\t\t\t\t\t\tvariant={'small'}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\tflexDirection: 'row',\n\t\t\t\t\t\tgap: 8,\n\t\t\t\t\t\tflexWrap: 'wrap',\n\t\t\t\t\t\talignItems: direction === 'row' ? 'center' : 'self-start',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{schema\n\t\t\t\t\t\t.filter((filterItem) => filterItem.type !== FilterType.Search)\n\t\t\t\t\t\t.map((filterItem, i) => (\n\t\t\t\t\t\t\t<SearchFilterItem\n\t\t\t\t\t\t\t\t{...filterItem}\n\t\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\t\tonChange={(val) => {\n\t\t\t\t\t\t\t\t\tselect(filterItem.id, val);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{showSelectedChips && (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\tflexDirection: 'row',\n\t\t\t\t\t\tgap: 8,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<FilterChipListRenderer\n\t\t\t\t\t\tselectedState={selectedStateRef.current}\n\t\t\t\t\t\tonDeSelect={deSelect}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n"],"names":["SearchFilter","direction","schema","variant","onChange","showSelectedChips","selectedStateRef","useRef","filterItem","selectedIds","setSelectedIds","useState","searchSchema","FilterType","onSearchChange","searchText","select","id","value","selectedSchema","schemaItem","localSelectedIds","idx","el","selectedSchemaItem","deSelect","selected","newVal","val","selectedItem","jsxs","jsx","SearchBar","i","createElement","SearchFilterItem","FilterChipListRenderer"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),o=require("react"),ie=require("../../constants/Theme.js"),a=require("./AgentBuilder.styled.js"),le=require("./components/AgentBuilderFooter.js"),ce=require("./components/AgentBuilderTopBar.js"),ue=require("./components/DiscardModal.js"),de=require("./components/GoLiveModal.js"),ge=require("./components/StepRail.js"),Se=require("./components/UndoToast.js"),y=require("./context/AgentBuilderContext.js"),he=require("./steps/Step1About.js"),ve=require("./steps/Step2WhenItStepsIn.js"),be=require("./steps/Step3HowItResponds.js"),fe=require("./steps/Step4HandoverRules.js"),pe=require("../spinner/Spinner.js"),Ce=()=>{const{activeStep:u}=y.useAgentBuilderContext();switch(u){case"about":return t.jsx(he.Step1About,{});case"trigger":return t.jsx(ve.Step2WhenItStepsIn,{});case"response":return t.jsx(be.Step3HowItResponds,{});case"handover":return t.jsx(fe.Step4HandoverRules,{});default:return null}},k=u=>{const{config:q,onChange:v,onStepChange:d,onDiscard:b,onSaveDraft:r,onPublish:f,onBack:g,onTestAgent:S,onGoToDashboard:h,onCreateSubAgent:i,onFetchSubAgent:I,onUpdateSubAgent:R,onImproveSubAgent:G,onImproveToolInstructions:M,onConnectIntegration:P,...w}=u,{value:l,activeStep:H,availableTools:F,availableSubAgents:O,availableIntents:U=[],availableModels:N=[],configToolTemplates:W,integrationStatus:z,validation:E,applicationType:_,charLimits:$,isSaving:p,isPublishing:C,isLoading:J,footerHint:K="Changes don’t affect customers until you go live",disableStepNavigation:Q,debugLog:A}=q,[j,s]=o.useState(null),[x,m]=o.useState(!1),[V,c]=o.useState(!1),[L,B]=o.useState(!1),e=o.useCallback((n,...re)=>{A&&console.log(`[AgentBuilder] ${n}`,...re)},[A]),X=o.useCallback(n=>{e("onChange",n),v(n)},[e,v]),Y=o.useCallback(n=>{e("onStepChange",n),d?.(n)},[e,d]),Z=o.useCallback(()=>(e("onSaveDraft"),r()),[e,r]),ee=o.useCallback(()=>(e("onPublish"),f()),[e,f]),ne=o.useCallback(()=>{e("onBack"),c(!0)},[e]),te=o.useCallback(()=>{e("onDiscardAndLeave"),c(!1),b()},[e,b]),D=o.useCallback(async()=>{e("onSaveDraftAndLeave");const n=r();if(n&&typeof n.then=="function"){B(!0);try{await n}finally{B(!1)}}c(!1),g?.()},[e,r,g]),oe=o.useCallback(()=>{e("onTestAgent"),S?.()},[e,S]),T=o.useCallback(()=>{e("onGoToDashboard"),h?.()},[e,h]),ae=o.useCallback(n=>(e("onCreateSubAgent",n),i?i(n):Promise.reject(new Error("onCreateSubAgent not provided"))),[e,i]),se=async()=>{e("onGoLiveConfirm");const n=ee();if(n&&typeof n.then=="function"){m(!0);try{await n,s("success")}finally{m(!1)}}else s("success")};return t.jsx(y.AgentBuilderProvider,{value:l,onChange:X,activeStep:H,onStepChange:d?Y:void 0,availableTools:F,availableSubAgents:O,availableIntents:U,availableModels:N,configToolTemplates:W,integrationStatus:z,onConnectIntegration:P,validation:E,applicationType:_,charLimits:$,disableStepNavigation:Q,onCreateSubAgent:i?ae:void 0,onFetchSubAgent:I,onUpdateSubAgent:R,onImproveSubAgent:G,onImproveToolInstructions:M,children:t.jsxs(a.BuilderRoot,{"data-test":w["data-test"]??"agent-builder",children:[t.jsx(ce.AgentBuilderTopBar,{name:l.name,status:l.status,onBack:g?ne:void 0,onSaveDraft:D,isSaving:p||L}),t.jsxs(a.Main,{children:[t.jsx(a.Rail,{children:t.jsx(ge.StepRail,{})}),t.jsx(a.Content,{children:J?t.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:t.jsx(pe.Spinner,{size:"large",color:ie.COLORS.stroke.brand})}):t.jsxs(a.ContentCard,{children:[t.jsx(a.StepScroll,{children:t.jsx(Ce,{})}),t.jsx(le.AgentBuilderFooter,{footerHint:K,onTestAgent:S?oe:void 0,onGoLive:()=>{e("onGoLive"),s("confirm")},isPublishing:C||x})]})})]}),t.jsx(de.GoLiveModal,{mode:j,onClose:()=>{const n=j==="success";s(null),n&&T()},onConfirm:se,onSaveDraft:()=>{s(null),Z()},onGoToDashboard:h?T:void 0,isPublishing:C||x}),t.jsx(ue.DiscardModal,{open:V,onClose:()=>c(!1),onDiscard:te,onSaveDraft:D,disableSaveDraft:!l.name.trim(),isSaving:p||L}),t.jsx(Se.UndoToast,{})]})})};k.displayName="AgentBuilder";exports.AgentBuilder=k;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),o=require("react"),ie=require("../../constants/Theme.js"),a=require("./AgentBuilder.styled.js"),le=require("./components/AgentBuilderFooter.js"),ue=require("./components/AgentBuilderTopBar.js"),ce=require("./components/DiscardModal.js"),de=require("./components/GoLiveModal.js"),ge=require("./components/StepRail.js"),Se=require("./components/UndoToast.js"),T=require("./context/AgentBuilderContext.js"),he=require("./steps/Step1About.js"),ve=require("./steps/Step2WhenItStepsIn.js"),be=require("./steps/Step3HowItResponds.js"),pe=require("./steps/Step4HandoverRules.js"),Ce=require("../spinner/Spinner.js"),fe=()=>{const{activeStep:u}=T.useAgentBuilderContext();switch(u){case"about":return n.jsx(he.Step1About,{});case"trigger":return n.jsx(ve.Step2WhenItStepsIn,{});case"response":return n.jsx(be.Step3HowItResponds,{});case"handover":return n.jsx(pe.Step4HandoverRules,{});default:return null}},D=u=>{const{config:y,onChange:v,onStepChange:c,onDiscard:b,onSaveDraft:r,onPublish:p,onBack:d,onTestAgent:g,onGoToDashboard:S,onCreateSubAgent:i,onFetchSubAgent:k,onUpdateSubAgent:q,onImproveSubAgent:I,onImproveToolInstructions:R,onConnectIntegration:G,...M}=u,{value:h,activeStep:P,availableTools:w,availableSubAgents:H,availableIntents:F=[],availableModels:O=[],configToolTemplates:U,integrationStatus:N,validation:W,applicationType:z,charLimits:E,isSaving:C,isPublishing:f,isLoading:_,footerHint:$="Changes don’t affect customers until you go live",disableStepNavigation:J,debugLog:A}=y,[K,s]=o.useState(null),[j,x]=o.useState(!1),[Q,l]=o.useState(!1),[m,L]=o.useState(!1),e=o.useCallback((t,...re)=>{A&&console.log(`[AgentBuilder] ${t}`,...re)},[A]),V=o.useCallback(t=>{e("onChange",t),v(t)},[e,v]),X=o.useCallback(t=>{e("onStepChange",t),c?.(t)},[e,c]),Y=o.useCallback(()=>(e("onSaveDraft"),r()),[e,r]),Z=o.useCallback(()=>(e("onPublish"),p()),[e,p]),ee=o.useCallback(()=>{e("onBack"),l(!0)},[e]),ne=o.useCallback(()=>{e("onDiscardAndLeave"),l(!1),b()},[e,b]),B=o.useCallback(async()=>{e("onSaveDraftAndLeave");const t=r();if(t&&typeof t.then=="function"){L(!0);try{await t}finally{L(!1)}}l(!1),d?.()},[e,r,d]),te=o.useCallback(()=>{e("onTestAgent"),g?.()},[e,g]),oe=o.useCallback(()=>{e("onGoToDashboard"),S?.()},[e,S]),ae=o.useCallback(t=>(e("onCreateSubAgent",t),i?i(t):Promise.reject(new Error("onCreateSubAgent not provided"))),[e,i]),se=async()=>{e("onGoLiveConfirm");const t=Z();if(t&&typeof t.then=="function"){x(!0);try{await t,s("success")}finally{x(!1)}}else s("success")};return n.jsx(T.AgentBuilderProvider,{value:h,onChange:V,activeStep:P,onStepChange:c?X:void 0,availableTools:w,availableSubAgents:H,availableIntents:F,availableModels:O,configToolTemplates:U,integrationStatus:N,onConnectIntegration:G,validation:W,applicationType:z,charLimits:E,disableStepNavigation:J,onCreateSubAgent:i?ae:void 0,onFetchSubAgent:k,onUpdateSubAgent:q,onImproveSubAgent:I,onImproveToolInstructions:R,children:n.jsxs(a.BuilderRoot,{"data-test":M["data-test"]??"agent-builder",children:[n.jsx(ue.AgentBuilderTopBar,{name:h.name,status:h.status,onBack:d?ee:void 0,onSaveDraft:B,isSaving:C||m}),n.jsxs(a.Main,{children:[n.jsx(a.Rail,{children:n.jsx(ge.StepRail,{})}),n.jsx(a.Content,{children:_?n.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},children:n.jsx(Ce.Spinner,{size:"large",color:ie.COLORS.stroke.brand})}):n.jsxs(a.ContentCard,{children:[n.jsx(a.StepScroll,{children:n.jsx(fe,{})}),n.jsx(le.AgentBuilderFooter,{footerHint:$,onTestAgent:g?te:void 0,onGoLive:()=>{e("onGoLive"),s("confirm")},isPublishing:f||j})]})})]}),n.jsx(de.GoLiveModal,{mode:K,onClose:()=>s(null),onConfirm:se,onSaveDraft:()=>{s(null),Y()},onGoToDashboard:S?oe:void 0,isPublishing:f||j}),n.jsx(ce.DiscardModal,{open:Q,onClose:()=>l(!1),onDiscard:ne,onSaveDraft:B,isSaving:C||m}),n.jsx(Se.UndoToast,{})]})})};D.displayName="AgentBuilder";exports.AgentBuilder=D;
2
2
  //# sourceMappingURL=AgentBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentBuilder.js","sources":["../../../../src/components/agent-builder/AgentBuilder.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport { Spinner } from '@src/components/spinner';\nimport { COLORS } from '@src/constants/Theme';\nimport {\n\tAgentBuilderProps,\n\tAgentValue,\n\tSubAgentDraft,\n} from './AgentBuilder.model';\nimport {\n\tBuilderRoot,\n\tContent,\n\tContentCard,\n\tMain,\n\tRail,\n\tStepScroll,\n} from './AgentBuilder.styled';\nimport { AgentBuilderFooter } from './components/AgentBuilderFooter';\nimport { AgentBuilderTopBar } from './components/AgentBuilderTopBar';\nimport { DiscardModal } from './components/DiscardModal';\nimport { GoLiveModal, GoLiveModalMode } from './components/GoLiveModal';\nimport { StepRail } from './components/StepRail';\nimport { UndoToast } from './components/UndoToast';\nimport {\n\tAgentBuilderProvider,\n\tuseAgentBuilderContext,\n} from './context/AgentBuilderContext';\nimport { Step1About } from './steps/Step1About';\nimport { Step2WhenItStepsIn } from './steps/Step2WhenItStepsIn';\nimport { Step3HowItResponds } from './steps/Step3HowItResponds';\nimport { Step4HandoverRules } from './steps/Step4HandoverRules';\n\nconst StepContent: React.FC = () => {\n\tconst { activeStep } = useAgentBuilderContext();\n\tswitch (activeStep) {\n\t\tcase 'about':\n\t\t\treturn <Step1About />;\n\t\tcase 'trigger':\n\t\t\treturn <Step2WhenItStepsIn />;\n\t\tcase 'response':\n\t\t\treturn <Step3HowItResponds />;\n\t\tcase 'handover':\n\t\t\treturn <Step4HandoverRules />;\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n\n/**\n * 4-step creation/edit wizard body for an AI agent. Presentational and\n * controlled — the consumer owns the `value`, persistence and routing.\n *\n * @example\n * <AgentBuilder\n * value={agent}\n * onChange={(patch) => setAgent({ ...agent, ...patch })}\n * availableTools={tools}\n * availableSubAgents={subAgents}\n * onDiscard={() => router.back()}\n * onSaveDraft={saveDraft}\n * onPublish={publish}\n * />\n */\nexport const AgentBuilder: React.FC<AgentBuilderProps> = (props) => {\n\tconst {\n\t\tconfig,\n\t\tonChange,\n\t\tonStepChange,\n\t\tonDiscard,\n\t\tonSaveDraft,\n\t\tonPublish,\n\t\tonBack,\n\t\tonTestAgent,\n\t\tonGoToDashboard,\n\t\tonCreateSubAgent,\n\t\tonFetchSubAgent,\n\t\tonUpdateSubAgent,\n\t\tonImproveSubAgent,\n\t\tonImproveToolInstructions,\n\t\tonConnectIntegration,\n\t\t...rest\n\t} = props;\n\tconst {\n\t\tvalue,\n\t\tactiveStep,\n\t\tavailableTools,\n\t\tavailableSubAgents,\n\t\tavailableIntents = [],\n\t\tavailableModels = [],\n\t\tconfigToolTemplates,\n\t\tintegrationStatus,\n\t\tvalidation,\n\t\tapplicationType,\n\t\tcharLimits,\n\t\tisSaving,\n\t\tisPublishing,\n\t\tisLoading,\n\t\tfooterHint = 'Changes don’t affect customers until you go live',\n\t\tdisableStepNavigation,\n\t\tdebugLog,\n\t} = config;\n\n\tconst [modalMode, setModalMode] = useState<GoLiveModalMode>(null);\n\tconst [publishingLocal, setPublishingLocal] = useState(false);\n\t// Back was pressed → confirm leaving (save draft / discard) before navigating.\n\tconst [showLeaveConfirm, setShowLeaveConfirm] = useState(false);\n\tconst [savingAndLeaving, setSavingAndLeaving] = useState(false);\n\n\t// Gated debug logging: each handler logs at its start only when `debugLog`.\n\tconst logAction = useCallback(\n\t\t(action: string, ...args: unknown[]) => {\n\t\t\tif (debugLog) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.log(`[AgentBuilder] ${action}`, ...args);\n\t\t\t}\n\t\t},\n\t\t[debugLog],\n\t);\n\n\tconst handleChange = useCallback(\n\t\t(patch: Partial<AgentValue>) => {\n\t\t\tlogAction('onChange', patch);\n\t\t\tonChange(patch);\n\t\t},\n\t\t[logAction, onChange],\n\t);\n\tconst handleStepChange = useCallback(\n\t\t(step: Parameters<NonNullable<typeof onStepChange>>[0]) => {\n\t\t\tlogAction('onStepChange', step);\n\t\t\tonStepChange?.(step);\n\t\t},\n\t\t[logAction, onStepChange],\n\t);\n\tconst handleSaveDraft = useCallback(() => {\n\t\tlogAction('onSaveDraft');\n\t\treturn onSaveDraft();\n\t}, [logAction, onSaveDraft]);\n\tconst handlePublish = useCallback(() => {\n\t\tlogAction('onPublish');\n\t\treturn onPublish();\n\t}, [logAction, onPublish]);\n\t// Back opens the \"Save as draft?\" confirmation rather than leaving directly.\n\tconst handleBack = useCallback(() => {\n\t\tlogAction('onBack');\n\t\tsetShowLeaveConfirm(true);\n\t}, [logAction]);\n\n\t// Modal \"Discard\" defers to the parent's discard handler (same as the top bar).\n\tconst handleDiscardAndLeave = useCallback(() => {\n\t\tlogAction('onDiscardAndLeave');\n\t\tsetShowLeaveConfirm(false);\n\t\tonDiscard();\n\t}, [logAction, onDiscard]);\n\n\tconst handleSaveDraftAndLeave = useCallback(async () => {\n\t\tlogAction('onSaveDraftAndLeave');\n\t\tconst result = onSaveDraft();\n\t\tif (result && typeof (result as Promise<void>).then === 'function') {\n\t\t\tsetSavingAndLeaving(true);\n\t\t\ttry {\n\t\t\t\tawait result;\n\t\t\t} finally {\n\t\t\t\tsetSavingAndLeaving(false);\n\t\t\t}\n\t\t}\n\t\tsetShowLeaveConfirm(false);\n\t\tonBack?.();\n\t}, [logAction, onSaveDraft, onBack]);\n\tconst handleTestAgent = useCallback(() => {\n\t\tlogAction('onTestAgent');\n\t\tonTestAgent?.();\n\t}, [logAction, onTestAgent]);\n\tconst handleGoToDashboard = useCallback(() => {\n\t\tlogAction('onGoToDashboard');\n\t\tonGoToDashboard?.();\n\t}, [logAction, onGoToDashboard]);\n\tconst handleCreateSubAgent = useCallback(\n\t\t(draft: SubAgentDraft) => {\n\t\t\tlogAction('onCreateSubAgent', draft);\n\t\t\treturn onCreateSubAgent\n\t\t\t\t? onCreateSubAgent(draft)\n\t\t\t\t: Promise.reject(new Error('onCreateSubAgent not provided'));\n\t\t},\n\t\t[logAction, onCreateSubAgent],\n\t);\n\n\tconst handleConfirmGoLive = async () => {\n\t\tlogAction('onGoLiveConfirm');\n\t\tconst result = handlePublish();\n\t\tif (result && typeof (result as Promise<void>).then === 'function') {\n\t\t\tsetPublishingLocal(true);\n\t\t\ttry {\n\t\t\t\tawait result;\n\t\t\t\tsetModalMode('success');\n\t\t\t} finally {\n\t\t\t\tsetPublishingLocal(false);\n\t\t\t}\n\t\t} else {\n\t\t\tsetModalMode('success');\n\t\t}\n\t};\n\n\treturn (\n\t\t<AgentBuilderProvider\n\t\t\tvalue={value}\n\t\t\tonChange={handleChange}\n\t\t\tactiveStep={activeStep}\n\t\t\tonStepChange={onStepChange ? handleStepChange : undefined}\n\t\t\tavailableTools={availableTools}\n\t\t\tavailableSubAgents={availableSubAgents}\n\t\t\tavailableIntents={availableIntents}\n\t\t\tavailableModels={availableModels}\n\t\t\tconfigToolTemplates={configToolTemplates}\n\t\t\tintegrationStatus={integrationStatus}\n\t\t\tonConnectIntegration={onConnectIntegration}\n\t\t\tvalidation={validation}\n\t\t\tapplicationType={applicationType}\n\t\t\tcharLimits={charLimits}\n\t\t\tdisableStepNavigation={disableStepNavigation}\n\t\t\tonCreateSubAgent={onCreateSubAgent ? handleCreateSubAgent : undefined}\n\t\t\tonFetchSubAgent={onFetchSubAgent}\n\t\t\tonUpdateSubAgent={onUpdateSubAgent}\n\t\t\tonImproveSubAgent={onImproveSubAgent}\n\t\t\tonImproveToolInstructions={onImproveToolInstructions}\n\t\t>\n\t\t\t<BuilderRoot data-test={rest['data-test'] ?? 'agent-builder'}>\n\t\t\t\t<AgentBuilderTopBar\n\t\t\t\t\tname={value.name}\n\t\t\t\t\tstatus={value.status}\n\t\t\t\t\tonBack={onBack ? handleBack : undefined}\n\t\t\t\t\tonSaveDraft={handleSaveDraftAndLeave}\n\t\t\t\t\tisSaving={isSaving || savingAndLeaving}\n\t\t\t\t/>\n\n\t\t\t\t<Main>\n\t\t\t\t\t<Rail>\n\t\t\t\t\t\t<StepRail />\n\t\t\t\t\t</Rail>\n\t\t\t\t\t<Content>\n\t\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Spinner size=\"large\" color={COLORS.stroke.brand} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<ContentCard>\n\t\t\t\t\t\t\t\t<StepScroll>\n\t\t\t\t\t\t\t\t\t<StepContent />\n\t\t\t\t\t\t\t\t</StepScroll>\n\t\t\t\t\t\t\t\t<AgentBuilderFooter\n\t\t\t\t\t\t\t\t\tfooterHint={footerHint}\n\t\t\t\t\t\t\t\t\tonTestAgent={onTestAgent ? handleTestAgent : undefined}\n\t\t\t\t\t\t\t\t\tonGoLive={() => {\n\t\t\t\t\t\t\t\t\t\tlogAction('onGoLive');\n\t\t\t\t\t\t\t\t\t\tsetModalMode('confirm');\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tisPublishing={isPublishing || publishingLocal}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ContentCard>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Content>\n\t\t\t\t</Main>\n\n\t\t\t\t<GoLiveModal\n\t\t\t\t\tmode={modalMode}\n\t\t\t\t\tonClose={() => {\n\t\t\t\t\t\tconst wasSuccess = modalMode === 'success';\n\t\t\t\t\t\tsetModalMode(null);\n\t\t\t\t\t\tif (wasSuccess) {\n\t\t\t\t\t\t\thandleGoToDashboard();\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tonConfirm={handleConfirmGoLive}\n\t\t\t\t\tonSaveDraft={() => {\n\t\t\t\t\t\tsetModalMode(null);\n\t\t\t\t\t\thandleSaveDraft();\n\t\t\t\t\t}}\n\t\t\t\t\tonGoToDashboard={onGoToDashboard ? handleGoToDashboard : undefined}\n\t\t\t\t\tisPublishing={isPublishing || publishingLocal}\n\t\t\t\t/>\n\n\t\t\t\t<DiscardModal\n\t\t\t\t\topen={showLeaveConfirm}\n\t\t\t\t\tonClose={() => setShowLeaveConfirm(false)}\n\t\t\t\t\tonDiscard={handleDiscardAndLeave}\n\t\t\t\t\tonSaveDraft={handleSaveDraftAndLeave}\n\t\t\t\t\tdisableSaveDraft={!value.name.trim()}\n\t\t\t\t\tisSaving={isSaving || savingAndLeaving}\n\t\t\t\t/>\n\n\t\t\t\t<UndoToast />\n\t\t\t</BuilderRoot>\n\t\t</AgentBuilderProvider>\n\t);\n};\n\nAgentBuilder.displayName = 'AgentBuilder';\n"],"names":["StepContent","activeStep","useAgentBuilderContext","Step1About","Step2WhenItStepsIn","Step3HowItResponds","Step4HandoverRules","AgentBuilder","props","config","onChange","onStepChange","onDiscard","onSaveDraft","onPublish","onBack","onTestAgent","onGoToDashboard","onCreateSubAgent","onFetchSubAgent","onUpdateSubAgent","onImproveSubAgent","onImproveToolInstructions","onConnectIntegration","rest","value","availableTools","availableSubAgents","availableIntents","availableModels","configToolTemplates","integrationStatus","validation","applicationType","charLimits","isSaving","isPublishing","isLoading","footerHint","disableStepNavigation","debugLog","modalMode","setModalMode","useState","publishingLocal","setPublishingLocal","showLeaveConfirm","setShowLeaveConfirm","savingAndLeaving","setSavingAndLeaving","logAction","useCallback","action","args","handleChange","patch","handleStepChange","step","handleSaveDraft","handlePublish","handleBack","handleDiscardAndLeave","handleSaveDraftAndLeave","result","handleTestAgent","handleGoToDashboard","handleCreateSubAgent","draft","handleConfirmGoLive","jsx","AgentBuilderProvider","BuilderRoot","AgentBuilderTopBar","Main","Rail","StepRail","Content","Spinner","COLORS","ContentCard","StepScroll","AgentBuilderFooter","GoLiveModal","wasSuccess","DiscardModal","UndoToast"],"mappings":"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"}
1
+ {"version":3,"file":"AgentBuilder.js","sources":["../../../../src/components/agent-builder/AgentBuilder.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport { Spinner } from '@src/components/spinner';\nimport { COLORS } from '@src/constants/Theme';\nimport {\n\tAgentBuilderProps,\n\tAgentValue,\n\tSubAgentDraft,\n} from './AgentBuilder.model';\nimport {\n\tBuilderRoot,\n\tContent,\n\tContentCard,\n\tMain,\n\tRail,\n\tStepScroll,\n} from './AgentBuilder.styled';\nimport { AgentBuilderFooter } from './components/AgentBuilderFooter';\nimport { AgentBuilderTopBar } from './components/AgentBuilderTopBar';\nimport { DiscardModal } from './components/DiscardModal';\nimport { GoLiveModal, GoLiveModalMode } from './components/GoLiveModal';\nimport { StepRail } from './components/StepRail';\nimport { UndoToast } from './components/UndoToast';\nimport {\n\tAgentBuilderProvider,\n\tuseAgentBuilderContext,\n} from './context/AgentBuilderContext';\nimport { Step1About } from './steps/Step1About';\nimport { Step2WhenItStepsIn } from './steps/Step2WhenItStepsIn';\nimport { Step3HowItResponds } from './steps/Step3HowItResponds';\nimport { Step4HandoverRules } from './steps/Step4HandoverRules';\n\nconst StepContent: React.FC = () => {\n\tconst { activeStep } = useAgentBuilderContext();\n\tswitch (activeStep) {\n\t\tcase 'about':\n\t\t\treturn <Step1About />;\n\t\tcase 'trigger':\n\t\t\treturn <Step2WhenItStepsIn />;\n\t\tcase 'response':\n\t\t\treturn <Step3HowItResponds />;\n\t\tcase 'handover':\n\t\t\treturn <Step4HandoverRules />;\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n\n/**\n * 4-step creation/edit wizard body for an AI agent. Presentational and\n * controlled — the consumer owns the `value`, persistence and routing.\n *\n * @example\n * <AgentBuilder\n * value={agent}\n * onChange={(patch) => setAgent({ ...agent, ...patch })}\n * availableTools={tools}\n * availableSubAgents={subAgents}\n * onDiscard={() => router.back()}\n * onSaveDraft={saveDraft}\n * onPublish={publish}\n * />\n */\nexport const AgentBuilder: React.FC<AgentBuilderProps> = (props) => {\n\tconst {\n\t\tconfig,\n\t\tonChange,\n\t\tonStepChange,\n\t\tonDiscard,\n\t\tonSaveDraft,\n\t\tonPublish,\n\t\tonBack,\n\t\tonTestAgent,\n\t\tonGoToDashboard,\n\t\tonCreateSubAgent,\n\t\tonFetchSubAgent,\n\t\tonUpdateSubAgent,\n\t\tonImproveSubAgent,\n\t\tonImproveToolInstructions,\n\t\tonConnectIntegration,\n\t\t...rest\n\t} = props;\n\tconst {\n\t\tvalue,\n\t\tactiveStep,\n\t\tavailableTools,\n\t\tavailableSubAgents,\n\t\tavailableIntents = [],\n\t\tavailableModels = [],\n\t\tconfigToolTemplates,\n\t\tintegrationStatus,\n\t\tvalidation,\n\t\tapplicationType,\n\t\tcharLimits,\n\t\tisSaving,\n\t\tisPublishing,\n\t\tisLoading,\n\t\tfooterHint = 'Changes don’t affect customers until you go live',\n\t\tdisableStepNavigation,\n\t\tdebugLog,\n\t} = config;\n\n\tconst [modalMode, setModalMode] = useState<GoLiveModalMode>(null);\n\tconst [publishingLocal, setPublishingLocal] = useState(false);\n\t// Back was pressed → confirm leaving (save draft / discard) before navigating.\n\tconst [showLeaveConfirm, setShowLeaveConfirm] = useState(false);\n\tconst [savingAndLeaving, setSavingAndLeaving] = useState(false);\n\n\t// Gated debug logging: each handler logs at its start only when `debugLog`.\n\tconst logAction = useCallback(\n\t\t(action: string, ...args: unknown[]) => {\n\t\t\tif (debugLog) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.log(`[AgentBuilder] ${action}`, ...args);\n\t\t\t}\n\t\t},\n\t\t[debugLog],\n\t);\n\n\tconst handleChange = useCallback(\n\t\t(patch: Partial<AgentValue>) => {\n\t\t\tlogAction('onChange', patch);\n\t\t\tonChange(patch);\n\t\t},\n\t\t[logAction, onChange],\n\t);\n\tconst handleStepChange = useCallback(\n\t\t(step: Parameters<NonNullable<typeof onStepChange>>[0]) => {\n\t\t\tlogAction('onStepChange', step);\n\t\t\tonStepChange?.(step);\n\t\t},\n\t\t[logAction, onStepChange],\n\t);\n\tconst handleSaveDraft = useCallback(() => {\n\t\tlogAction('onSaveDraft');\n\t\treturn onSaveDraft();\n\t}, [logAction, onSaveDraft]);\n\tconst handlePublish = useCallback(() => {\n\t\tlogAction('onPublish');\n\t\treturn onPublish();\n\t}, [logAction, onPublish]);\n\t// Back opens the \"Save as draft?\" confirmation rather than leaving directly.\n\tconst handleBack = useCallback(() => {\n\t\tlogAction('onBack');\n\t\tsetShowLeaveConfirm(true);\n\t}, [logAction]);\n\n\t// Modal \"Discard\" defers to the parent's discard handler (same as the top bar).\n\tconst handleDiscardAndLeave = useCallback(() => {\n\t\tlogAction('onDiscardAndLeave');\n\t\tsetShowLeaveConfirm(false);\n\t\tonDiscard();\n\t}, [logAction, onDiscard]);\n\n\tconst handleSaveDraftAndLeave = useCallback(async () => {\n\t\tlogAction('onSaveDraftAndLeave');\n\t\tconst result = onSaveDraft();\n\t\tif (result && typeof (result as Promise<void>).then === 'function') {\n\t\t\tsetSavingAndLeaving(true);\n\t\t\ttry {\n\t\t\t\tawait result;\n\t\t\t} finally {\n\t\t\t\tsetSavingAndLeaving(false);\n\t\t\t}\n\t\t}\n\t\tsetShowLeaveConfirm(false);\n\t\tonBack?.();\n\t}, [logAction, onSaveDraft, onBack]);\n\tconst handleTestAgent = useCallback(() => {\n\t\tlogAction('onTestAgent');\n\t\tonTestAgent?.();\n\t}, [logAction, onTestAgent]);\n\tconst handleGoToDashboard = useCallback(() => {\n\t\tlogAction('onGoToDashboard');\n\t\tonGoToDashboard?.();\n\t}, [logAction, onGoToDashboard]);\n\tconst handleCreateSubAgent = useCallback(\n\t\t(draft: SubAgentDraft) => {\n\t\t\tlogAction('onCreateSubAgent', draft);\n\t\t\treturn onCreateSubAgent\n\t\t\t\t? onCreateSubAgent(draft)\n\t\t\t\t: Promise.reject(new Error('onCreateSubAgent not provided'));\n\t\t},\n\t\t[logAction, onCreateSubAgent],\n\t);\n\n\tconst handleConfirmGoLive = async () => {\n\t\tlogAction('onGoLiveConfirm');\n\t\tconst result = handlePublish();\n\t\tif (result && typeof (result as Promise<void>).then === 'function') {\n\t\t\tsetPublishingLocal(true);\n\t\t\ttry {\n\t\t\t\tawait result;\n\t\t\t\tsetModalMode('success');\n\t\t\t} finally {\n\t\t\t\tsetPublishingLocal(false);\n\t\t\t}\n\t\t} else {\n\t\t\tsetModalMode('success');\n\t\t}\n\t};\n\n\treturn (\n\t\t<AgentBuilderProvider\n\t\t\tvalue={value}\n\t\t\tonChange={handleChange}\n\t\t\tactiveStep={activeStep}\n\t\t\tonStepChange={onStepChange ? handleStepChange : undefined}\n\t\t\tavailableTools={availableTools}\n\t\t\tavailableSubAgents={availableSubAgents}\n\t\t\tavailableIntents={availableIntents}\n\t\t\tavailableModels={availableModels}\n\t\t\tconfigToolTemplates={configToolTemplates}\n\t\t\tintegrationStatus={integrationStatus}\n\t\t\tonConnectIntegration={onConnectIntegration}\n\t\t\tvalidation={validation}\n\t\t\tapplicationType={applicationType}\n\t\t\tcharLimits={charLimits}\n\t\t\tdisableStepNavigation={disableStepNavigation}\n\t\t\tonCreateSubAgent={onCreateSubAgent ? handleCreateSubAgent : undefined}\n\t\t\tonFetchSubAgent={onFetchSubAgent}\n\t\t\tonUpdateSubAgent={onUpdateSubAgent}\n\t\t\tonImproveSubAgent={onImproveSubAgent}\n\t\t\tonImproveToolInstructions={onImproveToolInstructions}\n\t\t>\n\t\t\t<BuilderRoot data-test={rest['data-test'] ?? 'agent-builder'}>\n\t\t\t\t<AgentBuilderTopBar\n\t\t\t\t\tname={value.name}\n\t\t\t\t\tstatus={value.status}\n\t\t\t\t\tonBack={onBack ? handleBack : undefined}\n\t\t\t\t\tonSaveDraft={handleSaveDraftAndLeave}\n\t\t\t\t\tisSaving={isSaving || savingAndLeaving}\n\t\t\t\t/>\n\n\t\t\t\t<Main>\n\t\t\t\t\t<Rail>\n\t\t\t\t\t\t<StepRail />\n\t\t\t\t\t</Rail>\n\t\t\t\t\t<Content>\n\t\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Spinner size=\"large\" color={COLORS.stroke.brand} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<ContentCard>\n\t\t\t\t\t\t\t\t<StepScroll>\n\t\t\t\t\t\t\t\t\t<StepContent />\n\t\t\t\t\t\t\t\t</StepScroll>\n\t\t\t\t\t\t\t\t<AgentBuilderFooter\n\t\t\t\t\t\t\t\t\tfooterHint={footerHint}\n\t\t\t\t\t\t\t\t\tonTestAgent={onTestAgent ? handleTestAgent : undefined}\n\t\t\t\t\t\t\t\t\tonGoLive={() => {\n\t\t\t\t\t\t\t\t\t\tlogAction('onGoLive');\n\t\t\t\t\t\t\t\t\t\tsetModalMode('confirm');\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tisPublishing={isPublishing || publishingLocal}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ContentCard>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Content>\n\t\t\t\t</Main>\n\n\t\t\t\t<GoLiveModal\n\t\t\t\t\tmode={modalMode}\n\t\t\t\t\tonClose={() => setModalMode(null)}\n\t\t\t\t\tonConfirm={handleConfirmGoLive}\n\t\t\t\t\tonSaveDraft={() => {\n\t\t\t\t\t\tsetModalMode(null);\n\t\t\t\t\t\thandleSaveDraft();\n\t\t\t\t\t}}\n\t\t\t\t\tonGoToDashboard={onGoToDashboard ? handleGoToDashboard : undefined}\n\t\t\t\t\tisPublishing={isPublishing || publishingLocal}\n\t\t\t\t/>\n\n\t\t\t\t<DiscardModal\n\t\t\t\t\topen={showLeaveConfirm}\n\t\t\t\t\tonClose={() => setShowLeaveConfirm(false)}\n\t\t\t\t\tonDiscard={handleDiscardAndLeave}\n\t\t\t\t\tonSaveDraft={handleSaveDraftAndLeave}\n\t\t\t\t\tisSaving={isSaving || savingAndLeaving}\n\t\t\t\t/>\n\n\t\t\t\t<UndoToast />\n\t\t\t</BuilderRoot>\n\t\t</AgentBuilderProvider>\n\t);\n};\n\nAgentBuilder.displayName = 'AgentBuilder';\n"],"names":["StepContent","activeStep","useAgentBuilderContext","Step1About","Step2WhenItStepsIn","Step3HowItResponds","Step4HandoverRules","AgentBuilder","props","config","onChange","onStepChange","onDiscard","onSaveDraft","onPublish","onBack","onTestAgent","onGoToDashboard","onCreateSubAgent","onFetchSubAgent","onUpdateSubAgent","onImproveSubAgent","onImproveToolInstructions","onConnectIntegration","rest","value","availableTools","availableSubAgents","availableIntents","availableModels","configToolTemplates","integrationStatus","validation","applicationType","charLimits","isSaving","isPublishing","isLoading","footerHint","disableStepNavigation","debugLog","modalMode","setModalMode","useState","publishingLocal","setPublishingLocal","showLeaveConfirm","setShowLeaveConfirm","savingAndLeaving","setSavingAndLeaving","logAction","useCallback","action","args","handleChange","patch","handleStepChange","step","handleSaveDraft","handlePublish","handleBack","handleDiscardAndLeave","handleSaveDraftAndLeave","result","handleTestAgent","handleGoToDashboard","handleCreateSubAgent","draft","handleConfirmGoLive","jsx","AgentBuilderProvider","BuilderRoot","AgentBuilderTopBar","Main","Rail","StepRail","Content","Spinner","COLORS","ContentCard","StepScroll","AgentBuilderFooter","GoLiveModal","DiscardModal","UndoToast"],"mappings":"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"}