@coveo/atomic 3.33.2-pre.f51bdbb034 → 3.33.3-pre.cff620d97c

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 (161) hide show
  1. package/dist/atomic/_atomic.esm.js +1 -1
  2. package/dist/atomic/atomic.esm.js.map +1 -1
  3. package/dist/atomic/components/_index.d.ts +0 -2
  4. package/dist/atomic/components/_index.js +0 -1
  5. package/dist/atomic/components/analytics-config.js +1 -1
  6. package/dist/atomic/components/atomic-citation.js +1 -1
  7. package/dist/atomic/components/atomic-citation.js.map +1 -1
  8. package/dist/atomic/components/atomic-generated-answer-feedback-modal.js +1 -1
  9. package/dist/atomic/components/atomic-generated-answer-feedback-modal.js.map +1 -1
  10. package/dist/atomic/components/atomic-insight-interface.js +1 -1
  11. package/dist/atomic/components/atomic-insight-interface.js.map +1 -1
  12. package/dist/atomic/components/atomic-insight-result2.js +1 -1
  13. package/dist/atomic/components/atomic-insight-result2.js.map +1 -1
  14. package/dist/atomic/components/atomic-insight-user-actions-timeline2.js.map +1 -1
  15. package/dist/atomic/components/atomic-insight-user-actions-toggle.js +1 -1
  16. package/dist/atomic/components/atomic-insight-user-actions-toggle.js.map +1 -1
  17. package/dist/atomic/components/atomic-recs-result2.js +1 -1
  18. package/dist/atomic/components/atomic-recs-result2.js.map +1 -1
  19. package/dist/atomic/components/atomic-result-placeholder2.js +1 -1
  20. package/dist/atomic/components/atomic-result-placeholder2.js.map +1 -1
  21. package/dist/atomic/components/atomic-result2.js +1 -1
  22. package/dist/atomic/components/atomic-result2.js.map +1 -1
  23. package/dist/atomic/components/atomic-search-interface.js +10 -4
  24. package/dist/atomic/components/atomic-search-interface.js.map +1 -1
  25. package/dist/atomic/components/components/commerce/atomic-commerce-facets/atomic-commerce-facets.js +28 -20
  26. package/dist/atomic/components/components/commerce/atomic-commerce-interface/atomic-commerce-interface.js +2 -2
  27. package/dist/atomic/components/components/commerce/atomic-commerce-interface/store.js +1 -1
  28. package/dist/atomic/components/components/commerce/atomic-commerce-layout/atomic-commerce-layout.js +3 -3
  29. package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.js +2 -2
  30. package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-list/atomic-commerce-recommendation-list.js +5 -1
  31. package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-list/atomic-commerce-recommendation-list.tw.css.js +1 -1
  32. package/dist/atomic/components/components/commerce/atomic-commerce-text/atomic-commerce-text.js +0 -1
  33. package/dist/atomic/components/components/commerce/atomic-product/atomic-product.tw.css.js +1 -1
  34. package/dist/atomic/components/components/commerce/atomic-product-section-bottom-metadata/atomic-product-section-bottom-metadata.js +3 -2
  35. package/dist/atomic/components/components/common/expandable-text/expandable-text.js +1 -1
  36. package/dist/atomic/components/components/search/atomic-search-interface/store.js +1 -1
  37. package/dist/atomic/components/components/search/atomic-search-layout/atomic-search-layout.js +51 -0
  38. package/dist/atomic/components/components/search/atomic-search-layout/atomic-search-layout.tw.css.js +3 -0
  39. package/dist/atomic/components/components/search/index.js +1 -0
  40. package/dist/atomic/components/components/search/lazy-index.js +1 -0
  41. package/dist/atomic/components/global/environment.js +1 -1
  42. package/dist/atomic/components/index.js.map +1 -1
  43. package/dist/atomic/{p-7afe3a70.entry.js → p-1a79c944.entry.js} +2 -2
  44. package/dist/atomic/p-1a79c944.entry.js.map +1 -0
  45. package/dist/atomic/{p-78458586.js → p-29bdbb4d.js} +2 -2
  46. package/dist/atomic/p-3a3f7783.entry.js +2 -0
  47. package/dist/atomic/{p-6261d85c.entry.js.map → p-3a3f7783.entry.js.map} +1 -1
  48. package/dist/atomic/{p-818e220e.entry.js → p-576fb6c6.entry.js} +2 -2
  49. package/dist/atomic/p-576fb6c6.entry.js.map +1 -0
  50. package/dist/atomic/p-6fcd89e5.entry.js +2 -0
  51. package/dist/atomic/{p-0205d427.entry.js.map → p-6fcd89e5.entry.js.map} +1 -1
  52. package/dist/atomic/{p-ea14f6a0.entry.js → p-84befe35.entry.js} +2 -2
  53. package/dist/atomic/{p-ea14f6a0.entry.js.map → p-84befe35.entry.js.map} +1 -1
  54. package/dist/atomic/p-8677b56e.entry.js +2 -0
  55. package/dist/atomic/{p-d98e9a7f.entry.js.map → p-8677b56e.entry.js.map} +1 -1
  56. package/dist/atomic/{p-b8b7f6e5.entry.js → p-9f9758c1.entry.js} +2 -2
  57. package/dist/atomic/p-a7dcf131.entry.js.map +1 -1
  58. package/dist/atomic/{p-12ec5c82.entry.js → p-b7f38541.entry.js} +2 -2
  59. package/dist/atomic/p-b7f38541.entry.js.map +1 -0
  60. package/dist/atomic/p-bed0de44.entry.js +2 -0
  61. package/dist/atomic/{p-2dce0152.entry.js.map → p-bed0de44.entry.js.map} +1 -1
  62. package/dist/atomic/p-d09f2444.entry.js +2 -0
  63. package/dist/atomic/p-d09f2444.entry.js.map +1 -0
  64. package/dist/cjs/_loader.cjs.js +1 -1
  65. package/dist/cjs/{analytics-config-42dcd26e.js → analytics-config-17aea442.js} +2 -2
  66. package/dist/cjs/{analytics-config-42dcd26e.js.map → analytics-config-17aea442.js.map} +1 -1
  67. package/dist/cjs/atomic-citation.cjs.entry.js +1 -1
  68. package/dist/cjs/atomic-citation.cjs.entry.js.map +1 -1
  69. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +1 -1
  70. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js.map +1 -1
  71. package/dist/cjs/atomic-insight-interface.cjs.entry.js +2 -2
  72. package/dist/cjs/atomic-insight-interface.cjs.entry.js.map +1 -1
  73. package/dist/cjs/atomic-insight-result.cjs.entry.js +1 -1
  74. package/dist/cjs/atomic-insight-result.cjs.entry.js.map +1 -1
  75. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js.map +1 -1
  76. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +1 -1
  77. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js.map +1 -1
  78. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  79. package/dist/cjs/atomic-recs-result.cjs.entry.js +1 -1
  80. package/dist/cjs/atomic-recs-result.cjs.entry.js.map +1 -1
  81. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +1 -1
  82. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js.map +1 -1
  83. package/dist/cjs/atomic-result.cjs.entry.js +1 -1
  84. package/dist/cjs/atomic-result.cjs.entry.js.map +1 -1
  85. package/dist/cjs/atomic-search-interface.cjs.entry.js +15 -10
  86. package/dist/cjs/atomic-search-interface.cjs.entry.js.map +1 -1
  87. package/dist/cjs/atomic.cjs.js +1 -1
  88. package/dist/cjs/index-757bc886.js +0 -4
  89. package/dist/cjs/version.cjs.js +2 -2
  90. package/dist/esm/_loader.js +1 -1
  91. package/dist/esm/{analytics-config-9448df80.js → analytics-config-a1017210.js} +2 -2
  92. package/dist/esm/{analytics-config-9448df80.js.map → analytics-config-a1017210.js.map} +1 -1
  93. package/dist/esm/atomic-citation.entry.js +1 -1
  94. package/dist/esm/atomic-citation.entry.js.map +1 -1
  95. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +1 -1
  96. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js.map +1 -1
  97. package/dist/esm/atomic-insight-interface.entry.js +2 -2
  98. package/dist/esm/atomic-insight-interface.entry.js.map +1 -1
  99. package/dist/esm/atomic-insight-result.entry.js +1 -1
  100. package/dist/esm/atomic-insight-result.entry.js.map +1 -1
  101. package/dist/esm/atomic-insight-user-actions-session_2.entry.js.map +1 -1
  102. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +1 -1
  103. package/dist/esm/atomic-insight-user-actions-toggle.entry.js.map +1 -1
  104. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  105. package/dist/esm/atomic-recs-result.entry.js +1 -1
  106. package/dist/esm/atomic-recs-result.entry.js.map +1 -1
  107. package/dist/esm/atomic-result-placeholder_8.entry.js +1 -1
  108. package/dist/esm/atomic-result-placeholder_8.entry.js.map +1 -1
  109. package/dist/esm/atomic-result.entry.js +1 -1
  110. package/dist/esm/atomic-result.entry.js.map +1 -1
  111. package/dist/esm/atomic-search-interface.entry.js +11 -6
  112. package/dist/esm/atomic-search-interface.entry.js.map +1 -1
  113. package/dist/esm/atomic.js +1 -1
  114. package/dist/esm/index-3f35faca.js +0 -4
  115. package/dist/esm/version.js +2 -2
  116. package/dist/types/components/commerce/atomic-commerce-facets/atomic-commerce-facets.d.ts +5 -2
  117. package/dist/types/components/commerce/atomic-commerce-layout/atomic-commerce-layout.d.ts +3 -3
  118. package/dist/types/components/commerce/atomic-commerce-recommendation-list/atomic-commerce-recommendation-list.d.ts +5 -1
  119. package/dist/types/components/commerce/atomic-commerce-text/atomic-commerce-text.d.ts +0 -1
  120. package/dist/types/components/common/generated-answer/atomic-citation/atomic-citation.d.ts +1 -1
  121. package/dist/types/components/common/generated-answer/atomic-generated-answer-feedback/atomic-generated-answer-feedback-modal.d.ts +1 -1
  122. package/dist/types/components/insight/atomic-insight-interface/atomic-insight-interface.d.ts +0 -3
  123. package/dist/types/components/insight/user-actions/atomic-insight-user-actions-timeline/atomic-insight-user-actions-timeline.d.ts +2 -1
  124. package/dist/types/components/insight/user-actions/atomic-insight-user-actions-toggle/atomic-insight-user-actions-toggle.d.ts +1 -1
  125. package/dist/types/components/search/atomic-search-layout/atomic-search-layout.d.ts +26 -0
  126. package/dist/types/components/search/atomic-search-layout/atomic-search-layout.tw.css.d.ts +2 -0
  127. package/dist/types/components/search/index.d.ts +1 -0
  128. package/dist/types/components.d.ts +56 -33
  129. package/docs/atomic-docs.json +1055 -210
  130. package/package.json +10 -14
  131. package/dist/atomic/components/atomic-search-layout.d.ts +0 -11
  132. package/dist/atomic/components/atomic-search-layout.js +0 -65
  133. package/dist/atomic/components/atomic-search-layout.js.map +0 -1
  134. package/dist/atomic/components/search-layout.js +0 -100
  135. package/dist/atomic/components/search-layout.js.map +0 -1
  136. package/dist/atomic/p-0205d427.entry.js +0 -2
  137. package/dist/atomic/p-02916ea5.entry.js +0 -2
  138. package/dist/atomic/p-02916ea5.entry.js.map +0 -1
  139. package/dist/atomic/p-12ec5c82.entry.js.map +0 -1
  140. package/dist/atomic/p-2dce0152.entry.js +0 -2
  141. package/dist/atomic/p-6261d85c.entry.js +0 -2
  142. package/dist/atomic/p-6f3476f7.entry.js +0 -2
  143. package/dist/atomic/p-6f3476f7.entry.js.map +0 -1
  144. package/dist/atomic/p-7afe3a70.entry.js.map +0 -1
  145. package/dist/atomic/p-818e220e.entry.js.map +0 -1
  146. package/dist/atomic/p-85ef2ce8.js +0 -2
  147. package/dist/atomic/p-85ef2ce8.js.map +0 -1
  148. package/dist/atomic/p-d98e9a7f.entry.js +0 -2
  149. package/dist/cjs/atomic-search-layout.cjs.entry.js +0 -57
  150. package/dist/cjs/atomic-search-layout.cjs.entry.js.map +0 -1
  151. package/dist/cjs/search-layout-b597f6fc.js +0 -106
  152. package/dist/cjs/search-layout-b597f6fc.js.map +0 -1
  153. package/dist/esm/atomic-search-layout.entry.js +0 -53
  154. package/dist/esm/atomic-search-layout.entry.js.map +0 -1
  155. package/dist/esm/search-layout-fdd7a917.js +0 -100
  156. package/dist/esm/search-layout-fdd7a917.js.map +0 -1
  157. package/dist/types/components/search/atomic-layout/atomic-search-layout.d.ts +0 -16
  158. /package/dist/atomic/components/components/search/{atomic-layout → atomic-search-layout}/search-layout.js +0 -0
  159. /package/dist/atomic/{p-78458586.js.map → p-29bdbb4d.js.map} +0 -0
  160. /package/dist/atomic/{p-b8b7f6e5.entry.js.map → p-9f9758c1.entry.js.map} +0 -0
  161. /package/dist/types/components/search/{atomic-layout → atomic-search-layout}/search-layout.d.ts +0 -0
@@ -1 +1 @@
1
- {"file":"atomic-insight-result2.js","mappings":";;;;AAAA,MAAM,sBAAsB,GAAG,2xjNAA2xjN,CAAC;AAC3zjN,kCAAe,sBAAsB;;MC0BxB,mBAAmB;;;;;;;;QAkCtB,YAAO,GAAuB,QAAQ,CAAC;;;;;;QAOvC,cAAS,GAAyB,MAAM,CAAC;;;;QAKzC,YAAO,GAAG,EAAE,CAAC;;;;;;uBAZiB,QAAQ;yBAOJ,MAAM;uBAK9B,EAAE;;;IAQb,aAAa,CAClB,KAA4D;QAE5D,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC3B;IAGM,wBAAwB,CAAC,KAAkC;QAChE,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACtC;KACF;IAGM,sBAAsB,CAAC,KAAkB;QAC9C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KACpC;IAGM,0BAA0B,CAAC,KAAsC;QACtE,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,MAAM,CAAC;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAU;SAC3B,CAAC,CAAC;KACJ;IAEM,iBAAiB;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAC1B,IAAI,CAAC,OAAQ,CAAC,QAAQ,EACtB,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,CACf,CAAC;KACH;IAEO,cAAc;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAQ,CAAC,QAAQ,CAAC;aACtC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,SAAS,CAAC;aAC/B,IAAI,CAAC,EAAE,CAAC,CAAC;KACb;IAEM,MAAM;QACX,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,oBAAoB,IAE/B,4DACE,KAAK,EAAE,eAAe,IAAI,CAAC,MAAM;iBAC9B,UAAU,EAAE;iBACZ,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;iBACpB,IAAI,CAAC,GAAG,CAAC,EAAE,EACd,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,GAC3B,CACF,EACP;KACH;IAEM,gBAAgB;QACrB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE;YAClC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC/C;KACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/insight/atomic-insight-result/atomic-insight-result.pcss?tag=atomic-insight-result&encapsulation=shadow","src/components/insight/atomic-insight-result/atomic-insight-result.tsx"],"sourcesContent":["@import '../../common/template-system/template-system.pcss';\n\n:host {\n @apply atomic-template-system;\n @apply relative;\n\n .with-sections:not(.child-result) {\n padding-top: var(--atomic-layout-spacing-y);\n padding-bottom: var(--atomic-layout-spacing-y);\n padding-right: var(--atomic-layout-spacing-x);\n padding-left: var(--atomic-layout-spacing-x);\n }\n}\n\n:host(:hover) {\n .with-sections {\n @apply bg-neutral-lighter;\n }\n atomic-insight-result-action-bar {\n @apply visible;\n }\n}\n\n:host(:first-of-type) {\n .with-sections:not(.child-result) {\n @apply pt-8;\n }\n atomic-insight-result-action-bar {\n @apply top-0;\n }\n}\n","import {\n Result as InsightResult,\n InteractiveResult as InsightInteractiveResult,\n FoldedResult as InsightFoldedResult,\n} from '@coveo/headless/insight';\nimport {Component, h, Prop, Element, Listen, Host} from '@stencil/core';\nimport {\n DisplayConfig,\n InteractiveItemContextEvent,\n ItemContextEvent,\n} from '../../common/item-list/stencil-item-decorators';\nimport {resultComponentClass} from '../../common/item-list/stencil-item-list-common';\nimport {\n ItemLayout,\n ItemDisplayDensity,\n ItemDisplayImageSize,\n} from '../../common/layout/display-options';\nimport {InsightStore} from '../atomic-insight-interface/store';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-result',\n styleUrl: 'atomic-insight-result.pcss',\n shadow: true,\n})\nexport class AtomicInsightResult {\n private layout!: ItemLayout;\n @Element() host!: HTMLElement;\n\n /**\n * Whether an atomic-result-link inside atomic-insight-result should stop click event propagation.\n */\n @Prop() stopPropagation?: boolean;\n\n /**\n * The result item.\n */\n @Prop() result!: InsightResult | InsightFoldedResult;\n\n /**\n * The InteractiveResult item.\n * @internal\n */\n @Prop() interactiveResult!: InsightInteractiveResult;\n\n /**\n * Global Atomic state.\n * @internal\n */\n @Prop() store?: InsightStore;\n\n /**\n * The result content to display.\n */\n @Prop() content?: ParentNode;\n\n /**\n * How large or small results should be.\n */\n @Prop() density: ItemDisplayDensity = 'normal';\n\n /**\n * The size of the visual section in result list items.\n *\n * This is overwritten by the image size defined in the result content, if it exists.\n */\n @Prop() imageSize: ItemDisplayImageSize = 'icon';\n\n /**\n * The classes to add to the result element.\n */\n @Prop() classes = '';\n\n /**\n * @internal\n */\n @Prop() loadingFlag?: string;\n\n @Listen('atomic/resolveResult')\n public resolveResult(\n event: ItemContextEvent<InsightFoldedResult | InsightResult>\n ) {\n event.preventDefault();\n event.stopPropagation();\n event.detail(this.result);\n }\n\n @Listen('atomic/resolveInteractiveResult')\n public resolveInteractiveResult(event: InteractiveItemContextEvent) {\n event.preventDefault();\n event.stopPropagation();\n if (this.interactiveResult) {\n event.detail(this.interactiveResult);\n }\n }\n\n @Listen('atomic/resolveStopPropagation')\n public resolveStopPropagation(event: CustomEvent) {\n event.detail(this.stopPropagation);\n }\n\n @Listen('atomic/resolveResultDisplayConfig')\n public resolveResultDisplayConfig(event: ItemContextEvent<DisplayConfig>) {\n event.preventDefault();\n event.stopPropagation();\n event.detail({\n density: this.density,\n imageSize: this.imageSize!,\n });\n }\n\n public connectedCallback() {\n this.layout = new ItemLayout(\n this.content!.children,\n 'list',\n this.density,\n this.imageSize\n );\n }\n\n private getContentHTML() {\n return Array.from(this.content!.children)\n .map((child) => child.outerHTML)\n .join('');\n }\n\n public render() {\n return (\n <Host class={resultComponentClass}>\n {/* deepcode ignore ReactSetInnerHtml: This is not React code */}\n <div\n class={`result-root ${this.layout\n .getClasses()\n .concat(this.classes)\n .join(' ')}`}\n innerHTML={this.getContentHTML()}\n ></div>\n </Host>\n );\n }\n\n public componentDidLoad() {\n if (this.loadingFlag && this.store) {\n this.store.unsetLoadingFlag(this.loadingFlag);\n }\n }\n}\n"],"version":3}
1
+ {"file":"atomic-insight-result2.js","mappings":";;;;AAAA,MAAM,sBAAsB,GAAG,2i8MAA2i8M,CAAC;AAC3k8M,kCAAe,sBAAsB;;MC0BxB,mBAAmB;;;;;;;;QAkCtB,YAAO,GAAuB,QAAQ,CAAC;;;;;;QAOvC,cAAS,GAAyB,MAAM,CAAC;;;;QAKzC,YAAO,GAAG,EAAE,CAAC;;;;;;uBAZiB,QAAQ;yBAOJ,MAAM;uBAK9B,EAAE;;;IAQb,aAAa,CAClB,KAA4D;QAE5D,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC3B;IAGM,wBAAwB,CAAC,KAAkC;QAChE,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACtC;KACF;IAGM,sBAAsB,CAAC,KAAkB;QAC9C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KACpC;IAGM,0BAA0B,CAAC,KAAsC;QACtE,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,MAAM,CAAC;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAU;SAC3B,CAAC,CAAC;KACJ;IAEM,iBAAiB;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAC1B,IAAI,CAAC,OAAQ,CAAC,QAAQ,EACtB,MAAM,EACN,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,CACf,CAAC;KACH;IAEO,cAAc;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAQ,CAAC,QAAQ,CAAC;aACtC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,SAAS,CAAC;aAC/B,IAAI,CAAC,EAAE,CAAC,CAAC;KACb;IAEM,MAAM;QACX,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,oBAAoB,IAE/B,4DACE,KAAK,EAAE,eAAe,IAAI,CAAC,MAAM;iBAC9B,UAAU,EAAE;iBACZ,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;iBACpB,IAAI,CAAC,GAAG,CAAC,EAAE,EACd,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,GAC3B,CACF,EACP;KACH;IAEM,gBAAgB;QACrB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE;YAClC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC/C;KACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/insight/atomic-insight-result/atomic-insight-result.pcss?tag=atomic-insight-result&encapsulation=shadow","src/components/insight/atomic-insight-result/atomic-insight-result.tsx"],"sourcesContent":["@import '../../common/template-system/template-system.pcss';\n\n:host {\n @apply atomic-template-system;\n @apply relative;\n\n .with-sections:not(.child-result) {\n padding-top: var(--atomic-layout-spacing-y);\n padding-bottom: var(--atomic-layout-spacing-y);\n padding-right: var(--atomic-layout-spacing-x);\n padding-left: var(--atomic-layout-spacing-x);\n }\n}\n\n:host(:hover) {\n .with-sections {\n @apply bg-neutral-lighter;\n }\n atomic-insight-result-action-bar {\n @apply visible;\n }\n}\n\n:host(:first-of-type) {\n .with-sections:not(.child-result) {\n @apply pt-8;\n }\n atomic-insight-result-action-bar {\n @apply top-0;\n }\n}\n","import {\n Result as InsightResult,\n InteractiveResult as InsightInteractiveResult,\n FoldedResult as InsightFoldedResult,\n} from '@coveo/headless/insight';\nimport {Component, h, Prop, Element, Listen, Host} from '@stencil/core';\nimport {\n DisplayConfig,\n InteractiveItemContextEvent,\n ItemContextEvent,\n} from '../../common/item-list/stencil-item-decorators';\nimport {resultComponentClass} from '../../common/item-list/stencil-item-list-common';\nimport {\n ItemLayout,\n ItemDisplayDensity,\n ItemDisplayImageSize,\n} from '../../common/layout/display-options';\nimport {InsightStore} from '../atomic-insight-interface/store';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-result',\n styleUrl: 'atomic-insight-result.pcss',\n shadow: true,\n})\nexport class AtomicInsightResult {\n private layout!: ItemLayout;\n @Element() host!: HTMLElement;\n\n /**\n * Whether an atomic-result-link inside atomic-insight-result should stop click event propagation.\n */\n @Prop() stopPropagation?: boolean;\n\n /**\n * The result item.\n */\n @Prop() result!: InsightResult | InsightFoldedResult;\n\n /**\n * The InteractiveResult item.\n * @internal\n */\n @Prop() interactiveResult!: InsightInteractiveResult;\n\n /**\n * Global Atomic state.\n * @internal\n */\n @Prop() store?: InsightStore;\n\n /**\n * The result content to display.\n */\n @Prop() content?: ParentNode;\n\n /**\n * How large or small results should be.\n */\n @Prop() density: ItemDisplayDensity = 'normal';\n\n /**\n * The size of the visual section in result list items.\n *\n * This is overwritten by the image size defined in the result content, if it exists.\n */\n @Prop() imageSize: ItemDisplayImageSize = 'icon';\n\n /**\n * The classes to add to the result element.\n */\n @Prop() classes = '';\n\n /**\n * @internal\n */\n @Prop() loadingFlag?: string;\n\n @Listen('atomic/resolveResult')\n public resolveResult(\n event: ItemContextEvent<InsightFoldedResult | InsightResult>\n ) {\n event.preventDefault();\n event.stopPropagation();\n event.detail(this.result);\n }\n\n @Listen('atomic/resolveInteractiveResult')\n public resolveInteractiveResult(event: InteractiveItemContextEvent) {\n event.preventDefault();\n event.stopPropagation();\n if (this.interactiveResult) {\n event.detail(this.interactiveResult);\n }\n }\n\n @Listen('atomic/resolveStopPropagation')\n public resolveStopPropagation(event: CustomEvent) {\n event.detail(this.stopPropagation);\n }\n\n @Listen('atomic/resolveResultDisplayConfig')\n public resolveResultDisplayConfig(event: ItemContextEvent<DisplayConfig>) {\n event.preventDefault();\n event.stopPropagation();\n event.detail({\n density: this.density,\n imageSize: this.imageSize!,\n });\n }\n\n public connectedCallback() {\n this.layout = new ItemLayout(\n this.content!.children,\n 'list',\n this.density,\n this.imageSize\n );\n }\n\n private getContentHTML() {\n return Array.from(this.content!.children)\n .map((child) => child.outerHTML)\n .join('');\n }\n\n public render() {\n return (\n <Host class={resultComponentClass}>\n {/* deepcode ignore ReactSetInnerHtml: This is not React code */}\n <div\n class={`result-root ${this.layout\n .getClasses()\n .concat(this.classes)\n .join(' ')}`}\n innerHTML={this.getContentHTML()}\n ></div>\n </Host>\n );\n }\n\n public componentDidLoad() {\n if (this.loadingFlag && this.store) {\n this.store.unsetLoadingFlag(this.loadingFlag);\n }\n }\n}\n"],"version":3}
@@ -1 +1 @@
1
- {"file":"atomic-insight-user-actions-timeline2.js","mappings":"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","names":["buildInsightUserActions"],"sources":["src/components/insight/user-actions/atomic-insight-user-actions-timeline/atomic-insight-user-actions-timeline.pcss?tag=atomic-insight-user-actions-timeline&encapsulation=shadow","src/components/insight/user-actions/atomic-insight-user-actions-timeline/atomic-insight-user-actions-timeline.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n\n.separator {\n height: 1px;\n background-color: #e0e1dd;\n}\n","import {\n buildUserActions as buildInsightUserActions,\n UserActions as InsightUserActions,\n UserActionsState as InsightUserActionsState,\n UserSession as InsightUserSession,\n} from '@coveo/headless/insight';\nimport {Component, h, State, Prop} from '@stencil/core';\nimport ArrowDownIcon from '../../../../images/big-arrow-down.svg';\nimport ArrowUpIcon from '../../../../images/big-arrow-up.svg';\nimport {\n InitializableComponent,\n InitializeBindings,\n BindStateToController,\n} from '../../../../utils/initialization-utils';\nimport {NoItemsContainer} from '../../../common/no-items/stencil-container';\nimport {MagnifyingGlass} from '../../../common/no-items/stencil-magnifying-glass';\nimport {Button} from '../../../common/stencil-button';\nimport {InsightBindings} from '../../atomic-insight-interface/atomic-insight-interface';\n\n/**\n * @internal\n * This component displays all the actions performed by a user around the time they created a case.\n * The actions are grouped into multiple sessions, including the session during which the case was created,\n * the sessions preceding the case creation and the sessions following the case creation.\n *\n * @component\n * @example\n * <AtomicInsightUserActionsTimeline userId={'123'} caseCreationDate={'2024-08-15T10:00:00Z'} />\n *\n */\n@Component({\n tag: 'atomic-insight-user-actions-timeline',\n styleUrl: 'atomic-insight-user-actions-timeline.pcss',\n shadow: true,\n})\nexport class AtomicInsightUserActionsTimeline\n implements InitializableComponent<InsightBindings>\n{\n @InitializeBindings() public bindings!: InsightBindings;\n public userActions!: InsightUserActions;\n\n @BindStateToController('userActions')\n @State()\n public userActionsState!: InsightUserActionsState;\n public error!: Error;\n\n /**\n * The ID of the user whose actions are being displayed. For example in email format \"someone@company.com\".\n */\n @Prop() public userId!: string;\n /**\n * The date and time when the case was created. For example \"2024-01-01T00:00:00Z\"\n */\n @Prop() public ticketCreationDateTime!: string;\n /**\n * The names of custom events to exclude.\n */\n @Prop() public excludedCustomActions: string[] = [];\n\n public initialize() {\n this.userActions = buildInsightUserActions(this.bindings.engine, {\n options: {\n ticketCreationDate: this.ticketCreationDateTime,\n excludedCustomActions: this.excludedCustomActions,\n },\n });\n\n this.userActions.fetchUserActions(this.userId);\n }\n\n @State() followingSessionsAreVisible = false;\n @State() precedingSessionsAreVisible = false;\n\n private toggleFollowingSessions() {\n this.followingSessionsAreVisible = !this.followingSessionsAreVisible;\n }\n\n private togglePrecedingSessions() {\n this.precedingSessionsAreVisible = !this.precedingSessionsAreVisible;\n }\n\n private renderSessions(\n sessions: Array<InsightUserSession> | undefined,\n renderSeparator?: Function,\n testId?: string\n ) {\n return (\n <div>\n {sessions?.map(({actions, start}) => [\n <div class=\"mt-4\">\n <atomic-insight-user-actions-session\n startTimestamp={start}\n userActions={actions}\n data-testid={testId}\n ></atomic-insight-user-actions-session>\n </div>,\n renderSeparator ? renderSeparator() : null,\n ])}\n </div>\n );\n }\n\n private renderToggleFollowingSessionsButton() {\n const btnClasses = 'flex items-center text-left p-2 text-sm max-w-full';\n const iconClasses = 'h-3 w-3 mr-1';\n const label = this.followingSessionsAreVisible\n ? this.bindings.i18n.t('hide-following-sessions')\n : this.bindings.i18n.t('show-following-sessions');\n const icon = this.followingSessionsAreVisible ? ArrowDownIcon : ArrowUpIcon;\n\n return (\n <div class=\"flex justify-center p-2\">\n <Button\n style=\"text-primary\"\n part=\"toggle-following-sessions\"\n class={btnClasses}\n ariaLabel={label}\n onClick={this.toggleFollowingSessions.bind(this)}\n >\n <atomic-icon\n part=\"toggle-following-sessions-icon\"\n class={iconClasses}\n icon={icon}\n ></atomic-icon>\n <span class=\"truncate\">{label}</span>\n </Button>\n </div>\n );\n }\n\n private renderTogglePrecedingSessionsButton() {\n const btnClasses = 'flex items-center text-left p-2 text-sm max-w-full';\n const iconClasses = 'h-3 w-3 mr-1';\n const label = this.precedingSessionsAreVisible\n ? this.bindings.i18n.t('hide-preceding-sessions')\n : this.bindings.i18n.t('show-preceding-sessions');\n const icon = this.precedingSessionsAreVisible ? ArrowUpIcon : ArrowDownIcon;\n\n return (\n <div class=\"flex justify-center p-2\">\n <Button\n style=\"text-primary\"\n part=\"toggle-preceding-sessions\"\n class={btnClasses}\n ariaLabel={label}\n onClick={this.togglePrecedingSessions.bind(this)}\n >\n <atomic-icon\n part=\"toggle-preceding-sessions-icon\"\n class={iconClasses}\n icon={icon}\n ></atomic-icon>\n <span class=\"truncate\">{label}</span>\n </Button>\n </div>\n );\n }\n\n private renderFollowingSessionsSection() {\n if (!this.userActionsState.timeline?.followingSessions?.length) {\n return null;\n }\n return [\n this.renderToggleFollowingSessionsButton(),\n <div class=\"separator mx-1 rounded\"></div>,\n this.followingSessionsAreVisible\n ? this.renderSessions(\n this.userActionsState.timeline?.followingSessions,\n () => <div class=\"separator mx-1 mt-4 rounded\"></div>,\n 'following-session'\n )\n : null,\n ];\n }\n\n private renderPrecedingSessionsSection() {\n if (!this.userActionsState.timeline?.precedingSessions?.length) {\n return null;\n }\n return [\n <div class=\"separator mx-1 mt-4 rounded\"></div>,\n this.precedingSessionsAreVisible\n ? this.renderSessions(\n this.userActionsState.timeline?.precedingSessions,\n () => <div class=\"separator mx-1 mt-4 rounded\"></div>,\n 'preceding-session'\n )\n : null,\n this.renderTogglePrecedingSessionsButton(),\n ];\n }\n\n private renderTimeline() {\n return (\n <div>\n {this.renderFollowingSessionsSection()}\n <div class=\"mt-4\">\n <atomic-insight-user-actions-session\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n startTimestamp={this.userActionsState.timeline?.session?.start!}\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n userActions={this.userActionsState?.timeline?.session?.actions!}\n data-testid=\"active-session\"\n ></atomic-insight-user-actions-session>\n </div>\n {this.renderPrecedingSessionsSection()}\n </div>\n );\n }\n\n private renderNoUserActionsScreen() {\n return (\n <div class=\"my-6 py-3\" data-testid=\"user-actions-error\">\n <NoItemsContainer>\n <MagnifyingGlass />\n <div class=\"my-2 max-w-full text-center text-2xl font-light\">\n {this.bindings.i18n.t('no-user-actions-available')}\n </div>\n <div class=\"text-neutral-dark my-2 text-center text-lg\">\n {this.bindings.i18n.t('no-user-actions-associated-with-params')}\n </div>\n </NoItemsContainer>\n </div>\n );\n }\n\n render() {\n const areUserActionsAvailable = this.userActionsState.timeline?.session;\n const hasError = this.userActionsState.error;\n\n if (areUserActionsAvailable && !hasError) {\n return this.renderTimeline();\n }\n return this.renderNoUserActionsScreen();\n }\n}\n"],"version":3}
1
+ {"file":"atomic-insight-user-actions-timeline2.js","mappings":"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","names":["buildInsightUserActions"],"sources":["src/components/insight/user-actions/atomic-insight-user-actions-timeline/atomic-insight-user-actions-timeline.pcss?tag=atomic-insight-user-actions-timeline&encapsulation=shadow","src/components/insight/user-actions/atomic-insight-user-actions-timeline/atomic-insight-user-actions-timeline.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n\n.separator {\n height: 1px;\n background-color: #e0e1dd;\n}\n","import {\n buildUserActions as buildInsightUserActions,\n UserActions as InsightUserActions,\n UserActionsState as InsightUserActionsState,\n UserSession as InsightUserSession,\n} from '@coveo/headless/insight';\nimport {Component, h, State, Prop} from '@stencil/core';\nimport ArrowDownIcon from '../../../../images/big-arrow-down.svg';\nimport ArrowUpIcon from '../../../../images/big-arrow-up.svg';\nimport {\n InitializableComponent,\n InitializeBindings,\n BindStateToController,\n} from '../../../../utils/initialization-utils';\nimport {NoItemsContainer} from '../../../common/no-items/stencil-container';\nimport {MagnifyingGlass} from '../../../common/no-items/stencil-magnifying-glass';\nimport {Button} from '../../../common/stencil-button';\nimport {InsightBindings} from '../../atomic-insight-interface/atomic-insight-interface';\n\n/**\n * Internal component used by the `atomic-insight-user-actions-modal`. Do not use directly.\n * \n * This component displays all the actions performed by a user around the time they created a case.\n * The actions are grouped into multiple sessions, including the session during which the case was created,\n * the sessions preceding the case creation and the sessions following the case creation.\n *\n * @component\n * @example\n * <AtomicInsightUserActionsTimeline userId={'123'} caseCreationDate={'2024-08-15T10:00:00Z'} />\n *\n */\n@Component({\n tag: 'atomic-insight-user-actions-timeline',\n styleUrl: 'atomic-insight-user-actions-timeline.pcss',\n shadow: true,\n})\nexport class AtomicInsightUserActionsTimeline\n implements InitializableComponent<InsightBindings>\n{\n @InitializeBindings() public bindings!: InsightBindings;\n public userActions!: InsightUserActions;\n\n @BindStateToController('userActions')\n @State()\n public userActionsState!: InsightUserActionsState;\n public error!: Error;\n\n /**\n * The ID of the user whose actions are being displayed. For example in email format \"someone@company.com\".\n */\n @Prop() public userId!: string;\n /**\n * The date and time when the case was created. For example \"2024-01-01T00:00:00Z\"\n */\n @Prop() public ticketCreationDateTime!: string;\n /**\n * The names of custom events to exclude.\n */\n @Prop() public excludedCustomActions: string[] = [];\n\n public initialize() {\n this.userActions = buildInsightUserActions(this.bindings.engine, {\n options: {\n ticketCreationDate: this.ticketCreationDateTime,\n excludedCustomActions: this.excludedCustomActions,\n },\n });\n\n this.userActions.fetchUserActions(this.userId);\n }\n\n @State() followingSessionsAreVisible = false;\n @State() precedingSessionsAreVisible = false;\n\n private toggleFollowingSessions() {\n this.followingSessionsAreVisible = !this.followingSessionsAreVisible;\n }\n\n private togglePrecedingSessions() {\n this.precedingSessionsAreVisible = !this.precedingSessionsAreVisible;\n }\n\n private renderSessions(\n sessions: Array<InsightUserSession> | undefined,\n renderSeparator?: Function,\n testId?: string\n ) {\n return (\n <div>\n {sessions?.map(({actions, start}) => [\n <div class=\"mt-4\">\n <atomic-insight-user-actions-session\n startTimestamp={start}\n userActions={actions}\n data-testid={testId}\n ></atomic-insight-user-actions-session>\n </div>,\n renderSeparator ? renderSeparator() : null,\n ])}\n </div>\n );\n }\n\n private renderToggleFollowingSessionsButton() {\n const btnClasses = 'flex items-center text-left p-2 text-sm max-w-full';\n const iconClasses = 'h-3 w-3 mr-1';\n const label = this.followingSessionsAreVisible\n ? this.bindings.i18n.t('hide-following-sessions')\n : this.bindings.i18n.t('show-following-sessions');\n const icon = this.followingSessionsAreVisible ? ArrowDownIcon : ArrowUpIcon;\n\n return (\n <div class=\"flex justify-center p-2\">\n <Button\n style=\"text-primary\"\n part=\"toggle-following-sessions\"\n class={btnClasses}\n ariaLabel={label}\n onClick={this.toggleFollowingSessions.bind(this)}\n >\n <atomic-icon\n part=\"toggle-following-sessions-icon\"\n class={iconClasses}\n icon={icon}\n ></atomic-icon>\n <span class=\"truncate\">{label}</span>\n </Button>\n </div>\n );\n }\n\n private renderTogglePrecedingSessionsButton() {\n const btnClasses = 'flex items-center text-left p-2 text-sm max-w-full';\n const iconClasses = 'h-3 w-3 mr-1';\n const label = this.precedingSessionsAreVisible\n ? this.bindings.i18n.t('hide-preceding-sessions')\n : this.bindings.i18n.t('show-preceding-sessions');\n const icon = this.precedingSessionsAreVisible ? ArrowUpIcon : ArrowDownIcon;\n\n return (\n <div class=\"flex justify-center p-2\">\n <Button\n style=\"text-primary\"\n part=\"toggle-preceding-sessions\"\n class={btnClasses}\n ariaLabel={label}\n onClick={this.togglePrecedingSessions.bind(this)}\n >\n <atomic-icon\n part=\"toggle-preceding-sessions-icon\"\n class={iconClasses}\n icon={icon}\n ></atomic-icon>\n <span class=\"truncate\">{label}</span>\n </Button>\n </div>\n );\n }\n\n private renderFollowingSessionsSection() {\n if (!this.userActionsState.timeline?.followingSessions?.length) {\n return null;\n }\n return [\n this.renderToggleFollowingSessionsButton(),\n <div class=\"separator mx-1 rounded\"></div>,\n this.followingSessionsAreVisible\n ? this.renderSessions(\n this.userActionsState.timeline?.followingSessions,\n () => <div class=\"separator mx-1 mt-4 rounded\"></div>,\n 'following-session'\n )\n : null,\n ];\n }\n\n private renderPrecedingSessionsSection() {\n if (!this.userActionsState.timeline?.precedingSessions?.length) {\n return null;\n }\n return [\n <div class=\"separator mx-1 mt-4 rounded\"></div>,\n this.precedingSessionsAreVisible\n ? this.renderSessions(\n this.userActionsState.timeline?.precedingSessions,\n () => <div class=\"separator mx-1 mt-4 rounded\"></div>,\n 'preceding-session'\n )\n : null,\n this.renderTogglePrecedingSessionsButton(),\n ];\n }\n\n private renderTimeline() {\n return (\n <div>\n {this.renderFollowingSessionsSection()}\n <div class=\"mt-4\">\n <atomic-insight-user-actions-session\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n startTimestamp={this.userActionsState.timeline?.session?.start!}\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n userActions={this.userActionsState?.timeline?.session?.actions!}\n data-testid=\"active-session\"\n ></atomic-insight-user-actions-session>\n </div>\n {this.renderPrecedingSessionsSection()}\n </div>\n );\n }\n\n private renderNoUserActionsScreen() {\n return (\n <div class=\"my-6 py-3\" data-testid=\"user-actions-error\">\n <NoItemsContainer>\n <MagnifyingGlass />\n <div class=\"my-2 max-w-full text-center text-2xl font-light\">\n {this.bindings.i18n.t('no-user-actions-available')}\n </div>\n <div class=\"text-neutral-dark my-2 text-center text-lg\">\n {this.bindings.i18n.t('no-user-actions-associated-with-params')}\n </div>\n </NoItemsContainer>\n </div>\n );\n }\n\n render() {\n const areUserActionsAvailable = this.userActionsState.timeline?.session;\n const hasError = this.userActionsState.error;\n\n if (areUserActionsAvailable && !hasError) {\n return this.renderTimeline();\n }\n return this.renderNoUserActionsScreen();\n }\n}\n"],"version":3}
@@ -61,7 +61,7 @@ const AtomicInsightUserActionsToggle$1 = /*@__PURE__*/ proxyCustomElement(class
61
61
  this.modalRef.excludedCustomActions = this.excludedCustomActions;
62
62
  }
63
63
  render() {
64
- return (h(IconButton, { key: 'b1b2c1ffc007cc67e68b57919e064ce1cce69bc0', partPrefix: "insight-user-actions-toggle", style: "outline-neutral", icon: Clock, ariaLabel: this.bindings.i18n.t('user-actions'), onClick: () => {
64
+ return (h(IconButton, { key: 'c5e65b461baeac76b6749d9cb82c70edc51d9087', partPrefix: "insight-user-actions-toggle", style: "outline-neutral", icon: Clock, ariaLabel: this.bindings.i18n.t('user-actions'), onClick: () => {
65
65
  this.enableModal();
66
66
  }, title: this.bindings.i18n.t('user-actions'), buttonRef: (button) => {
67
67
  if (!button) {
@@ -1 +1 @@
1
- {"file":"atomic-insight-user-actions-toggle.js","mappings":";;;;;;;;;;;AAAA,MAAM,iCAAiC,GAAG,gzgEAAgzgE,CAAC;AAC31gE,6CAAe,iCAAiC;;;;;;;;;;;;MCuBnCA,gCAA8B;;;;;;;;QAsB1B,0BAAqB,GAAa,EAAE,CAAC;;;;;qCAAH,EAAE;;IAE5C,UAAU;QACf,IAAI,CAAC,WAAW,GAAGC,gBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC/D,OAAO,EAAE;gBACP,kBAAkB,EAAE,IAAI,CAAC,sBAAsB;gBAC/C,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;aAClD;SACF,CAAC,CAAC;KACJ;IAKO,WAAW;QACjB,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC;KACvC;IAEO,SAAS;QACf,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,mCAAmC,CAAC,CAAC;QAE5E,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC;QACnE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;KAClE;IAEM,MAAM;QACX,QACE,EAAC,UAAU,qDACT,UAAU,EAAC,6BAA6B,EACxC,KAAK,EAAC,iBAAiB,EACvB,IAAI,EAAEC,KAAS,EACf,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,EAC/C,OAAO,EAAE;gBACP,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB,EACD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,EAC3C,SAAS,EAAE,CAAC,MAA0B;gBACpC,IAAI,CAAC,MAAM,EAAE;oBACX,OAAO;iBACR;gBACD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;gBACxB,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB,GACD,EACF;KACH;;;;;;;;;;AAvE4B;IAA5B,kBAAkB,EAAE;kEAAmC;AAIjD;IAFN,qBAAqB,CAAC,aAAa,CAAC;0EAEa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AtomicInsightUserActionsToggle","buildInsightUserActions","Clockicon"],"sources":["src/components/insight/user-actions/atomic-insight-user-actions-toggle/atomic-insight-user-actions-toggle.pcss?tag=atomic-insight-user-actions-toggle&encapsulation=shadow","src/components/insight/user-actions/atomic-insight-user-actions-toggle/atomic-insight-user-actions-toggle.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n","import {\n buildUserActions as buildInsightUserActions,\n UserActions as InsightUserActions,\n UserActionsState as InsightUserActionsState,\n} from '@coveo/headless/insight';\nimport {Component, h, Prop, Element, State} from '@stencil/core';\nimport Clockicon from '../../../../images/clock.svg';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {IconButton} from '../../../common/iconButton';\nimport {InsightBindings} from '../../atomic-insight-interface/atomic-insight-interface';\n\n/**\n * @internal\n * The `atomic-insight-user-actions-toggle` component displays a button that opens a modal containing the user actions timeline component.\n */\n@Component({\n tag: 'atomic-insight-user-actions-toggle',\n styleUrl: 'atomic-insight-user-actions-toggle.pcss',\n shadow: true,\n})\nexport class AtomicInsightUserActionsToggle\n implements InitializableComponent<InsightBindings>\n{\n @Element() public host!: HTMLElement;\n @InitializeBindings() public bindings!: InsightBindings;\n public userActions!: InsightUserActions;\n @BindStateToController('userActions')\n @State()\n public userActionsState!: InsightUserActionsState;\n @State() public error!: Error;\n\n /**\n * The ID of the user whose actions are being displayed.\n */\n @Prop() public userId!: string;\n /**\n * The date and time when the case was created. For example \"2024-01-01T00:00:00Z\"\n */\n @Prop() public ticketCreationDateTime!: string;\n /**\n * The names of custom events to exclude.\n */\n @Prop() public excludedCustomActions: string[] = [];\n\n public initialize() {\n this.userActions = buildInsightUserActions(this.bindings.engine, {\n options: {\n ticketCreationDate: this.ticketCreationDateTime,\n excludedCustomActions: this.excludedCustomActions,\n },\n });\n }\n\n private buttonRef?: HTMLButtonElement;\n private modalRef?: HTMLAtomicInsightUserActionsModalElement;\n\n private enableModal() {\n this.modalRef && (this.modalRef.isOpen = true);\n this.userActions.logOpenUserActions();\n }\n\n private loadModal() {\n if (this.modalRef) {\n return;\n }\n\n this.modalRef = document.createElement('atomic-insight-user-actions-modal');\n\n this.host.insertAdjacentElement('beforebegin', this.modalRef);\n this.modalRef.openButton = this.buttonRef;\n this.modalRef.userId = this.userId;\n this.modalRef.ticketCreationDateTime = this.ticketCreationDateTime;\n this.modalRef.excludedCustomActions = this.excludedCustomActions;\n }\n\n public render() {\n return (\n <IconButton\n partPrefix=\"insight-user-actions-toggle\"\n style=\"outline-neutral\"\n icon={Clockicon}\n ariaLabel={this.bindings.i18n.t('user-actions')}\n onClick={() => {\n this.enableModal();\n }}\n title={this.bindings.i18n.t('user-actions')}\n buttonRef={(button?: HTMLButtonElement) => {\n if (!button) {\n return;\n }\n this.buttonRef = button;\n this.loadModal();\n }}\n />\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-insight-user-actions-toggle.js","mappings":";;;;;;;;;;;AAAA,MAAM,iCAAiC,GAAG,gzgEAAgzgE,CAAC;AAC31gE,6CAAe,iCAAiC;;;;;;;;;;;;MCuBnCA,gCAA8B;;;;;;;;QAsB1B,0BAAqB,GAAa,EAAE,CAAC;;;;;qCAAH,EAAE;;IAE5C,UAAU;QACf,IAAI,CAAC,WAAW,GAAGC,gBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC/D,OAAO,EAAE;gBACP,kBAAkB,EAAE,IAAI,CAAC,sBAAsB;gBAC/C,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;aAClD;SACF,CAAC,CAAC;KACJ;IAKO,WAAW;QACjB,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC;KACvC;IAEO,SAAS;QACf,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,mCAAmC,CAAC,CAAC;QAE5E,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC;QACnE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;KAClE;IAEM,MAAM;QACX,QACE,EAAC,UAAU,qDACT,UAAU,EAAC,6BAA6B,EACxC,KAAK,EAAC,iBAAiB,EACvB,IAAI,EAAEC,KAAS,EACf,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,EAC/C,OAAO,EAAE;gBACP,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB,EACD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,EAC3C,SAAS,EAAE,CAAC,MAA0B;gBACpC,IAAI,CAAC,MAAM,EAAE;oBACX,OAAO;iBACR;gBACD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;gBACxB,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB,GACD,EACF;KACH;;;;;;;;;;AAvE4B;IAA5B,kBAAkB,EAAE;kEAAmC;AAIjD;IAFN,qBAAqB,CAAC,aAAa,CAAC;0EAEa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AtomicInsightUserActionsToggle","buildInsightUserActions","Clockicon"],"sources":["src/components/insight/user-actions/atomic-insight-user-actions-toggle/atomic-insight-user-actions-toggle.pcss?tag=atomic-insight-user-actions-toggle&encapsulation=shadow","src/components/insight/user-actions/atomic-insight-user-actions-toggle/atomic-insight-user-actions-toggle.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n","import {\n buildUserActions as buildInsightUserActions,\n UserActions as InsightUserActions,\n UserActionsState as InsightUserActionsState,\n} from '@coveo/headless/insight';\nimport {Component, h, Prop, Element, State} from '@stencil/core';\nimport Clockicon from '../../../../images/clock.svg';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {IconButton} from '../../../common/iconButton';\nimport {InsightBindings} from '../../atomic-insight-interface/atomic-insight-interface';\n\n/**\n * Internal component of the atomic-insight-interface\n * The `atomic-insight-user-actions-toggle` component displays a button that opens a modal containing the user actions timeline component.\n */\n@Component({\n tag: 'atomic-insight-user-actions-toggle',\n styleUrl: 'atomic-insight-user-actions-toggle.pcss',\n shadow: true,\n})\nexport class AtomicInsightUserActionsToggle\n implements InitializableComponent<InsightBindings>\n{\n @Element() public host!: HTMLElement;\n @InitializeBindings() public bindings!: InsightBindings;\n public userActions!: InsightUserActions;\n @BindStateToController('userActions')\n @State()\n public userActionsState!: InsightUserActionsState;\n @State() public error!: Error;\n\n /**\n * The ID of the user whose actions are being displayed.\n */\n @Prop() public userId!: string;\n /**\n * The date and time when the case was created. For example \"2024-01-01T00:00:00Z\"\n */\n @Prop() public ticketCreationDateTime!: string;\n /**\n * The names of custom events to exclude.\n */\n @Prop() public excludedCustomActions: string[] = [];\n\n public initialize() {\n this.userActions = buildInsightUserActions(this.bindings.engine, {\n options: {\n ticketCreationDate: this.ticketCreationDateTime,\n excludedCustomActions: this.excludedCustomActions,\n },\n });\n }\n\n private buttonRef?: HTMLButtonElement;\n private modalRef?: HTMLAtomicInsightUserActionsModalElement;\n\n private enableModal() {\n this.modalRef && (this.modalRef.isOpen = true);\n this.userActions.logOpenUserActions();\n }\n\n private loadModal() {\n if (this.modalRef) {\n return;\n }\n\n this.modalRef = document.createElement('atomic-insight-user-actions-modal');\n\n this.host.insertAdjacentElement('beforebegin', this.modalRef);\n this.modalRef.openButton = this.buttonRef;\n this.modalRef.userId = this.userId;\n this.modalRef.ticketCreationDateTime = this.ticketCreationDateTime;\n this.modalRef.excludedCustomActions = this.excludedCustomActions;\n }\n\n public render() {\n return (\n <IconButton\n partPrefix=\"insight-user-actions-toggle\"\n style=\"outline-neutral\"\n icon={Clockicon}\n ariaLabel={this.bindings.i18n.t('user-actions')}\n onClick={() => {\n this.enableModal();\n }}\n title={this.bindings.i18n.t('user-actions')}\n buttonRef={(button?: HTMLButtonElement) => {\n if (!button) {\n return;\n }\n this.buttonRef = button;\n this.loadModal();\n }}\n />\n );\n }\n}\n"],"version":3}