@coveo/atomic 3.33.4-pre.e17fc6f0d3 → 3.33.4-pre.e4dec75021
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.
- package/dist/atomic/_atomic.esm.js +1 -1
- package/dist/atomic/components/analytics-config.js +1 -1
- package/dist/atomic/components/atomic-generated-answer-feedback-modal.js +2 -2
- package/dist/atomic/components/atomic-generated-answer-feedback-modal.js.map +1 -1
- package/dist/atomic/components/atomic-insight-edit-toggle.js +2 -2
- package/dist/atomic/components/atomic-insight-edit-toggle.js.map +1 -1
- package/dist/atomic/components/atomic-insight-full-search-button.js +2 -2
- package/dist/atomic/components/atomic-insight-full-search-button.js.map +1 -1
- package/dist/atomic/components/atomic-insight-history-toggle.js +2 -2
- package/dist/atomic/components/atomic-insight-history-toggle.js.map +1 -1
- package/dist/atomic/components/atomic-insight-refine-toggle.js +2 -2
- package/dist/atomic/components/atomic-insight-refine-toggle.js.map +1 -1
- package/dist/atomic/components/atomic-insight-result-action.js +2 -2
- package/dist/atomic/components/atomic-insight-result-action.js.map +1 -1
- package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js +2 -2
- package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js.map +1 -1
- package/dist/atomic/components/atomic-insight-result-quickview-action.js +2 -2
- package/dist/atomic/components/atomic-insight-result-quickview-action.js.map +1 -1
- package/dist/atomic/components/atomic-insight-user-actions-toggle.js +2 -2
- package/dist/atomic/components/atomic-insight-user-actions-toggle.js.map +1 -1
- package/dist/atomic/components/atomic-ipx-refine-toggle.js +2 -2
- package/dist/atomic/components/atomic-ipx-refine-toggle.js.map +1 -1
- package/dist/atomic/components/atomic-quickview-modal2.js +2 -2
- package/dist/atomic/components/atomic-quickview-modal2.js.map +1 -1
- package/dist/atomic/components/atomic-search-interface.js +3 -3
- package/dist/atomic/components/atomic-search-interface.js.map +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-interface/atomic-commerce-interface.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-query-summary/atomic-commerce-query-summary.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.js +1 -1
- package/dist/atomic/components/global/environment.js +1 -1
- package/dist/atomic/components/{iconButton.js → stencil-iconButton.js} +1 -1
- package/dist/atomic/components/stencil-iconButton.js.map +1 -0
- package/dist/atomic/{p-2ac2b0bf.entry.js → p-047d14c3.entry.js} +2 -2
- package/dist/atomic/{p-2ac2b0bf.entry.js.map → p-047d14c3.entry.js.map} +1 -1
- package/dist/atomic/{p-bdb9a06d.entry.js → p-0ba2c573.entry.js} +2 -2
- package/dist/atomic/p-0ba2c573.entry.js.map +1 -0
- package/dist/atomic/{p-41b61b6b.entry.js → p-1d08ee18.entry.js} +2 -2
- package/dist/atomic/{p-01307751.entry.js → p-29d9fcd5.entry.js} +2 -2
- package/dist/atomic/p-29d9fcd5.entry.js.map +1 -0
- package/dist/atomic/{p-054f3780.entry.js → p-33558548.entry.js} +2 -2
- package/dist/atomic/p-33558548.entry.js.map +1 -0
- package/dist/atomic/{p-97fdd072.js → p-3a0947cf.js} +2 -2
- package/dist/atomic/{p-c4f91847.entry.js → p-53fb3d7c.entry.js} +2 -2
- package/dist/atomic/p-53fb3d7c.entry.js.map +1 -0
- package/dist/atomic/{p-d55249be.entry.js → p-62648733.entry.js} +2 -2
- package/dist/atomic/{p-d7d49289.entry.js → p-739773f9.entry.js} +2 -2
- package/dist/atomic/p-739773f9.entry.js.map +1 -0
- package/dist/atomic/{p-7a797dee.entry.js → p-8444b0fd.entry.js} +2 -2
- package/dist/atomic/p-8444b0fd.entry.js.map +1 -0
- package/dist/atomic/{p-bd774e61.entry.js → p-891266f0.entry.js} +2 -2
- package/dist/atomic/p-891266f0.entry.js.map +1 -0
- package/dist/atomic/{p-37ce5631.entry.js → p-97bbac20.entry.js} +2 -2
- package/dist/atomic/p-97bbac20.entry.js.map +1 -0
- package/dist/atomic/{p-16b09a62.entry.js → p-a3b28f68.entry.js} +2 -2
- package/dist/atomic/{p-16b09a62.entry.js.map → p-a3b28f68.entry.js.map} +1 -1
- package/dist/atomic/{p-05768310.js → p-ca15e96b.js} +1 -1
- package/dist/atomic/p-ca15e96b.js.map +1 -0
- package/dist/atomic/{p-4bb561c5.entry.js → p-e9207607.entry.js} +2 -2
- package/dist/atomic/p-e9207607.entry.js.map +1 -0
- package/dist/atomic/{p-1ad7f200.entry.js → p-f58bb73f.entry.js} +2 -2
- package/dist/atomic/p-f58bb73f.entry.js.map +1 -0
- package/dist/cjs/{analytics-config-af31de3c.js → analytics-config-1453426c.js} +2 -2
- package/dist/cjs/{analytics-config-af31de3c.js.map → analytics-config-1453426c.js.map} +1 -1
- package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +3 -3
- package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-action.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-result-action.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +2 -2
- package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-quickview-modal.cjs.entry.js +7 -7
- package/dist/cjs/atomic-quickview-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-search-interface.cjs.entry.js +4 -4
- package/dist/cjs/atomic-search-interface.cjs.entry.js.map +1 -1
- package/dist/cjs/{iconButton-3aef664a.js → stencil-iconButton-5123b12a.js} +1 -1
- package/dist/cjs/stencil-iconButton-5123b12a.js.map +1 -0
- package/dist/cjs/version.cjs.js +2 -2
- package/dist/esm/{analytics-config-4b3e3590.js → analytics-config-14a1f584.js} +2 -2
- package/dist/esm/{analytics-config-4b3e3590.js.map → analytics-config-14a1f584.js.map} +1 -1
- package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +2 -2
- package/dist/esm/atomic-generated-answer-feedback-modal.entry.js.map +1 -1
- package/dist/esm/atomic-insight-edit-toggle.entry.js +2 -2
- package/dist/esm/atomic-insight-edit-toggle.entry.js.map +1 -1
- package/dist/esm/atomic-insight-full-search-button.entry.js +2 -2
- package/dist/esm/atomic-insight-full-search-button.entry.js.map +1 -1
- package/dist/esm/atomic-insight-history-toggle.entry.js +2 -2
- package/dist/esm/atomic-insight-history-toggle.entry.js.map +1 -1
- package/dist/esm/atomic-insight-interface.entry.js +1 -1
- package/dist/esm/atomic-insight-refine-toggle.entry.js +2 -2
- package/dist/esm/atomic-insight-refine-toggle.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-action.entry.js +2 -2
- package/dist/esm/atomic-insight-result-action.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +2 -2
- package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js.map +1 -1
- package/dist/esm/atomic-insight-result-quickview-action.entry.js +2 -2
- package/dist/esm/atomic-insight-result-quickview-action.entry.js.map +1 -1
- package/dist/esm/atomic-insight-user-actions-toggle.entry.js +2 -2
- package/dist/esm/atomic-insight-user-actions-toggle.entry.js.map +1 -1
- package/dist/esm/atomic-ipx-refine-toggle.entry.js +2 -2
- package/dist/esm/atomic-ipx-refine-toggle.entry.js.map +1 -1
- package/dist/esm/atomic-quickview-modal.entry.js +2 -2
- package/dist/esm/atomic-quickview-modal.entry.js.map +1 -1
- package/dist/esm/atomic-recs-interface.entry.js +1 -1
- package/dist/esm/atomic-search-interface.entry.js +4 -4
- package/dist/esm/atomic-search-interface.entry.js.map +1 -1
- package/dist/esm/{iconButton-779dd472.js → stencil-iconButton-a96fd45a.js} +1 -1
- package/dist/esm/stencil-iconButton-a96fd45a.js.map +1 -0
- package/dist/esm/version.js +2 -2
- package/dist/types/components/commerce/atomic-commerce-interface/atomic-commerce-interface.d.ts +1 -1
- package/dist/types/components/commerce/atomic-commerce-query-summary/atomic-commerce-query-summary.d.ts +1 -1
- package/dist/types/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.d.ts +1 -1
- package/dist/types/components/common/icon-button.d.ts +12 -0
- package/dist/types/components/search/atomic-search-interface/atomic-search-interface.d.ts +1 -1
- package/dist/types/components.d.ts +1 -1
- package/docs/atomic-docs.json +2 -2
- package/package.json +4 -4
- package/dist/atomic/components/iconButton.js.map +0 -1
- package/dist/atomic/p-01307751.entry.js.map +0 -1
- package/dist/atomic/p-054f3780.entry.js.map +0 -1
- package/dist/atomic/p-05768310.js.map +0 -1
- package/dist/atomic/p-1ad7f200.entry.js.map +0 -1
- package/dist/atomic/p-37ce5631.entry.js.map +0 -1
- package/dist/atomic/p-4bb561c5.entry.js.map +0 -1
- package/dist/atomic/p-7a797dee.entry.js.map +0 -1
- package/dist/atomic/p-bd774e61.entry.js.map +0 -1
- package/dist/atomic/p-bdb9a06d.entry.js.map +0 -1
- package/dist/atomic/p-c4f91847.entry.js.map +0 -1
- package/dist/atomic/p-d7d49289.entry.js.map +0 -1
- package/dist/cjs/iconButton-3aef664a.js.map +0 -1
- package/dist/esm/iconButton-779dd472.js.map +0 -1
- /package/dist/atomic/{p-41b61b6b.entry.js.map → p-1d08ee18.entry.js.map} +0 -0
- /package/dist/atomic/{p-97fdd072.js.map → p-3a0947cf.js.map} +0 -0
- /package/dist/atomic/{p-d55249be.entry.js.map → p-62648733.entry.js.map} +0 -0
- /package/dist/types/components/common/{iconButton.d.ts → stencil-iconButton.d.ts} +0 -0
|
@@ -8,7 +8,7 @@ const initializationUtils = require('./initialization-utils-92f1b080.js');
|
|
|
8
8
|
const replaceBreakpoint = require('./replace-breakpoint-9e1c0efa.js');
|
|
9
9
|
const utils = require('./utils-7153ae6b.js');
|
|
10
10
|
const exportParts = require('./export-parts-878c454a.js');
|
|
11
|
-
const
|
|
11
|
+
const stencilIconButton = require('./stencil-iconButton-5123b12a.js');
|
|
12
12
|
const stencilButton = require('./stencil-button-f6c2410c.js');
|
|
13
13
|
const stencilFieldsetGroup = require('./stencil-fieldset-group-3b25c138.js');
|
|
14
14
|
const stencilRadioButton = require('./stencil-radio-button-f86cc13b.js');
|
|
@@ -313,7 +313,7 @@ const AtomicGeneratedAnswerFeedbackModal = class {
|
|
|
313
313
|
this.sendFeedback();
|
|
314
314
|
}
|
|
315
315
|
renderHeader() {
|
|
316
|
-
return (index.h("div", { slot: "header", part: "modal-header", class: "flex w-full items-center justify-between" }, index.h("h1", null, index.h("span", null, this.bindings.i18n.t('feedback-modal-title')), index.h("span", { class: "hide ml-0.5" }, this.bindings.i18n.t('additional-feedback'))), index.h(
|
|
316
|
+
return (index.h("div", { slot: "header", part: "modal-header", class: "flex w-full items-center justify-between" }, index.h("h1", null, index.h("span", null, this.bindings.i18n.t('feedback-modal-title')), index.h("span", { class: "hide ml-0.5" }, this.bindings.i18n.t('additional-feedback'))), index.h(stencilIconButton.IconButton, { style: "text-transparent", class: "search-clear-button", onClick: () => this.close(), icon: close.CloseIcon, partPrefix: 'close', ariaLabel: this.bindings.i18n.t('close') })));
|
|
317
317
|
}
|
|
318
318
|
renderFeedbackOption(option, correspondingAnswer) {
|
|
319
319
|
const buttonClasses = [
|
|
@@ -383,7 +383,7 @@ const AtomicGeneratedAnswerFeedbackModal = class {
|
|
|
383
383
|
}
|
|
384
384
|
render() {
|
|
385
385
|
this.updateBreakpoints();
|
|
386
|
-
return (index.h("atomic-modal", { key: '
|
|
386
|
+
return (index.h("atomic-modal", { key: 'b81cc3bd05c2d4a7e14c9ba8da078bb1e6f6a588', fullscreen: false, isOpen: this.isOpen, close: () => this.close(), container: this.host, part: "generated-answer-feedback-modal", exportparts: exportParts.ATOMIC_MODAL_EXPORT_PARTS }, this.renderHeader(), this.renderBody(), this.renderFooter()));
|
|
387
387
|
}
|
|
388
388
|
get host() { return index.getElement(this); }
|
|
389
389
|
static get watchers() { return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-generated-answer-feedback-modal.entry.cjs.js","mappings":"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","names":["randomID","once","updateBreakpoints","h","IconButton","CloseIcon","RadioButton","FieldsetGroup","Button","ATOMIC_MODAL_EXPORT_PARTS","InitializeBindings"],"sources":["src/components/common/generated-answer/atomic-generated-answer-feedback/atomic-generated-answer-feedback-modal.pcss?tag=atomic-generated-answer-feedback-modal&encapsulation=shadow","src/components/common/generated-answer/atomic-generated-answer-feedback/atomic-generated-answer-feedback-modal.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n\n@utility mobile-feedback-modal {\n &::part(container) {\n @apply w-auto min-w-full;\n }\n\n &::part(header),\n &::part(body),\n &::part(footer) {\n @apply max-w-full;\n }\n [part='buttons'] {\n .required-label {\n @apply text-sm;\n }\n }\n [part='form'] {\n .answer-evaluation {\n @apply block;\n }\n\n .options {\n @apply mt-2;\n }\n }\n [part='modal-header'] {\n .hide {\n @apply hidden;\n }\n }\n}\n\n[part='generated-answer-feedback-modal'] {\n &::part(container) {\n @apply min-w-170;\n }\n\n &::part(header),\n &::part(body),\n &::part(footer) {\n @apply max-w-170;\n }\n\n @media not all and (width >= theme(--breakpoint-desktop)) {\n @apply mobile-feedback-modal;\n }\n}\n\n[part='form'] {\n .active {\n @apply border-primary-light text-primary-light bg-primary-background;\n }\n .text-error-red {\n @apply text-inline-code;\n }\n .required {\n @apply flex;\n }\n}\n","import {\n GeneratedAnswer,\n GeneratedAnswerFeedback,\n GeneratedAnswerFeedbackOption,\n} from '@coveo/headless';\nimport {\n Component,\n State,\n h,\n Watch,\n Prop,\n Element,\n Event,\n EventEmitter,\n} from '@stencil/core/internal';\nimport CloseIcon from '../../../../images/close.svg';\nimport Success from '../../../../images/success.svg';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {updateBreakpoints} from '../../../../utils/replace-breakpoint';\nimport {once, randomID} from '../../../../utils/utils';\nimport {ATOMIC_MODAL_EXPORT_PARTS} from '../../atomic-modal/export-parts';\nimport {IconButton} from '../../iconButton';\nimport {AnyBindings} from '../../interface/bindings';\nimport {Button} from '../../stencil-button';\nimport {FieldsetGroup} from '../../stencil-fieldset-group';\nimport {RadioButton} from '../../stencil-radio-button';\n\n/**\n * Internal component, only to use through `atomic-generated-answer` or `atomic-insight-generated-answer`\n */\n@Component({\n tag: 'atomic-generated-answer-feedback-modal',\n styleUrl: 'atomic-generated-answer-feedback-modal.pcss',\n shadow: true,\n})\nexport class AtomicGeneratedAnswerFeedbackModal\n implements InitializableComponent<AnyBindings>\n{\n @InitializeBindings() public bindings!: AnyBindings;\n @Element() public host!: HTMLElement;\n\n /**\n * Indicates whether the modal is open.\n */\n @Prop({reflect: true, mutable: true}) isOpen = false;\n /**\n * A `GeneratedAnswer` controller instance. It is used when the user interacts with the modal.\n */\n @Prop({reflect: true, mutable: true}) generatedAnswer!: GeneratedAnswer;\n /**\n * Indicates whether the answer was helpful or not.\n */\n @Prop({reflect: true, mutable: true}) helpful = false;\n\n @State() public error!: Error;\n @State() private currentAnswer: Partial<GeneratedAnswerFeedback> =\n this.getInitialAnswerState();\n @State() feedbackSubmitted: boolean = false;\n @State() answerEvaluationRequired: boolean = false;\n\n private readonly formId = randomID(\n 'atomic-generated-answer-feedback-modal-form-'\n );\n private detailsInputRef?: HTMLTextAreaElement;\n\n private linkInputRef?: HTMLInputElement;\n\n @Event() feedbackSent!: EventEmitter;\n\n @Watch('isOpen')\n watchToggleOpen(isOpen: boolean) {\n if (isOpen) {\n this.generatedAnswer.openFeedbackModal();\n }\n }\n\n private static options: {\n localeKey: string;\n correspondingAnswer: keyof GeneratedAnswerFeedback;\n }[] = [\n {\n localeKey: 'feedback-correct-topic',\n correspondingAnswer: 'correctTopic',\n },\n {\n localeKey: 'feedback-hallucination-free',\n correspondingAnswer: 'hallucinationFree',\n },\n {\n localeKey: 'feedback-documented',\n correspondingAnswer: 'documented',\n },\n {\n localeKey: 'feedback-readable',\n correspondingAnswer: 'readable',\n },\n ];\n\n private getInitialAnswerState(): Partial<GeneratedAnswerFeedback> {\n return {\n documented: undefined,\n correctTopic: undefined,\n hallucinationFree: undefined,\n readable: undefined,\n };\n }\n\n private resetState() {\n this.feedbackSubmitted = false;\n this.currentAnswer = this.getInitialAnswerState();\n this.answerEvaluationRequired = false;\n this.isOpen = false;\n }\n\n private clearInputRefs() {\n if (this.detailsInputRef) {\n this.detailsInputRef.value = '';\n }\n if (this.linkInputRef) {\n this.linkInputRef.value = '';\n }\n }\n\n private close() {\n this.clearInputRefs();\n this.resetState();\n this.generatedAnswer.closeFeedbackModal();\n }\n\n private updateBreakpoints = once(() => updateBreakpoints(this.host));\n\n private setCurrentAnswer(\n key: keyof GeneratedAnswerFeedback,\n value: GeneratedAnswerFeedbackOption | string\n ) {\n this.currentAnswer = {\n ...this.currentAnswer,\n [key]: value,\n };\n }\n\n public sendFeedback() {\n const feedback: GeneratedAnswerFeedback = {\n ...(this.currentAnswer as GeneratedAnswerFeedback),\n helpful: this.helpful,\n };\n this.generatedAnswer.sendFeedback(feedback);\n this.feedbackSent.emit();\n }\n\n private isAnyAnswerEvaluationUndefined = () => {\n return Object.values(this.currentAnswer).some(\n (value) => value === undefined\n );\n };\n\n private handleSubmit(e: Event) {\n e.preventDefault();\n if (this.isAnyAnswerEvaluationUndefined()) {\n this.answerEvaluationRequired = true;\n return;\n }\n this.feedbackSubmitted = true;\n this.answerEvaluationRequired = false;\n this.sendFeedback();\n }\n\n private renderHeader() {\n return (\n <div\n slot=\"header\"\n part=\"modal-header\"\n class=\"flex w-full items-center justify-between\"\n >\n <h1>\n <span>{this.bindings.i18n.t('feedback-modal-title')}</span>\n <span class=\"hide ml-0.5\">\n {this.bindings.i18n.t('additional-feedback')}\n </span>\n </h1>\n <IconButton\n style=\"text-transparent\"\n class=\"search-clear-button\"\n onClick={() => this.close()}\n icon={CloseIcon}\n partPrefix={'close'}\n ariaLabel={this.bindings.i18n.t('close')}\n />\n </div>\n );\n }\n\n private renderFeedbackOption(\n option: GeneratedAnswerFeedbackOption,\n correspondingAnswer: keyof GeneratedAnswerFeedback\n ) {\n const buttonClasses = [\n 'min-w-20',\n 'flex',\n 'items-center',\n 'justify-center',\n 'px-3',\n 'py-1.5',\n 'mr-1',\n 'text-neutral-dark',\n ];\n const isSelected = this.currentAnswer[correspondingAnswer] === option;\n\n if (isSelected) {\n buttonClasses.push('active');\n }\n return (\n <RadioButton\n key={String(correspondingAnswer)}\n groupName={this.bindings.i18n.t(correspondingAnswer)}\n style=\"outline-neutral\"\n checked={isSelected}\n aria-checked={isSelected}\n onChecked={() => {\n this.setCurrentAnswer(correspondingAnswer, option);\n }}\n class={buttonClasses.join(' ')}\n text={this.bindings.i18n.t(option)}\n ></RadioButton>\n );\n }\n\n private renderAnswerEvaluation(\n label: string,\n correspondingAnswer: keyof GeneratedAnswerFeedback\n ) {\n const labelClasses = ['text-error-red', 'text-sm', 'hidden'];\n const isRequired =\n this.answerEvaluationRequired &&\n this.currentAnswer[correspondingAnswer] === undefined;\n if (isRequired) {\n labelClasses.push('required');\n }\n return (\n <div class=\"block\">\n <div class=\"flex\">\n <label class=\"text-base\">\n {this.bindings.i18n.t(label)}\n <span class=\"text-error-red ml-0.5\">*</span>\n </label>\n </div>\n <span class={labelClasses.join(' ')}>\n {this.bindings.i18n.t('required-fields-error')}\n </span>\n </div>\n );\n }\n\n private renderOptions() {\n return (\n <fieldset>\n <legend class=\"font-bold\">\n {this.bindings.i18n.t('answer-evaluation')}\n </legend>\n {AtomicGeneratedAnswerFeedbackModal.options.map(\n ({localeKey, correspondingAnswer}) => (\n <FieldsetGroup label={this.bindings.i18n.t(localeKey)}>\n <div\n class={`answer-evaluation mt-3 flex items-center justify-between ${String(correspondingAnswer)}`}\n key={String(correspondingAnswer)}\n >\n {this.renderAnswerEvaluation(localeKey, correspondingAnswer)}\n <div\n class=\"options flex text-base\"\n aria-label={this.bindings.i18n.t(localeKey)}\n >\n {this.renderFeedbackOption('yes', correspondingAnswer)}\n {this.renderFeedbackOption('unknown', correspondingAnswer)}\n {this.renderFeedbackOption('no', correspondingAnswer)}\n </div>\n </div>\n </FieldsetGroup>\n )\n )}\n </fieldset>\n );\n }\n\n private renderLinkToCorrectAnswerField() {\n return (\n <fieldset>\n <legend class=\"font-bold\">\n {this.bindings.i18n.t('generated-answer-feedback-link')}\n </legend>\n <input\n type=\"text\"\n ref={(linkInputRef) => (this.linkInputRef = linkInputRef)}\n placeholder=\"https://URL\"\n class=\"input-primary placeholder-neutral-dark mt-4 h-9 w-full rounded-md px-4\"\n onChange={(e) =>\n this.setCurrentAnswer(\n 'documentUrl',\n (e.currentTarget as HTMLInputElement).value\n )\n }\n />\n </fieldset>\n );\n }\n\n private renderAddNotesField() {\n return (\n <fieldset>\n <legend class=\"mt-8 font-bold\">\n {this.bindings.i18n.t('generated-answer-additional-notes')}\n </legend>\n <textarea\n name=\"answer-details\"\n ref={(detailsInput) => (this.detailsInputRef = detailsInput)}\n class=\"placeholder-neutral-dark border-neutral hover:border-primary-light focus-visible:border-primary mt-4 w-full resize-none rounded-md border px-4 py-2 leading-5 focus:outline-hidden focus-visible:ring-2\"\n rows={4}\n placeholder={this.bindings.i18n.t('add-notes')}\n onChange={(e) =>\n this.setCurrentAnswer(\n 'details',\n (e.currentTarget as HTMLTextAreaElement).value\n )\n }\n ></textarea>\n </fieldset>\n );\n }\n\n private renderFeedbackForm() {\n return (\n <form\n part=\"form\"\n id={this.formId}\n slot=\"body\"\n onSubmit={(e) => this.handleSubmit(e)}\n class=\"flex flex-col gap-8 leading-4\"\n >\n {this.renderOptions()}\n {this.renderLinkToCorrectAnswerField()}\n {this.renderAddNotesField()}\n </form>\n );\n }\n\n private renderSuccessMessage() {\n return (\n <div slot=\"body\" class=\"my-4 flex flex-col items-center gap-4\">\n <atomic-icon icon={Success} class=\"w-48\" />\n <p class=\"text-base\">\n {this.bindings.i18n.t('generated-answer-feedback-success')}\n </p>\n </div>\n );\n }\n\n private renderBody() {\n if (!this.feedbackSubmitted) {\n return this.renderFeedbackForm();\n } else {\n return this.renderSuccessMessage();\n }\n }\n\n private renderFeedbackFormFooter() {\n const buttonClasses =\n 'flex items-center justify-center text-sm leading-4 p-2 rounded-md';\n\n return (\n <div slot=\"footer\" part=\"modal-footer\">\n <div class=\"flex items-center justify-between\">\n <div class=\"required-label text-base\">\n <span class=\"text-error mr-0.5\">*</span>\n {this.bindings.i18n.t('required-fields')}\n </div>\n <div class=\"flex gap-2\">\n <Button\n part=\"cancel-button\"\n style=\"outline-primary\"\n class={buttonClasses}\n ariaLabel={this.bindings.i18n.t('skip')}\n onClick={() => this.close()}\n >\n {this.bindings.i18n.t('skip')}\n </Button>\n <Button\n part=\"submit-button\"\n style=\"primary\"\n type=\"submit\"\n form={this.formId}\n class={buttonClasses}\n ariaLabel={this.bindings.i18n.t('generated-answer-send-feedback')}\n >\n {this.bindings.i18n.t('generated-answer-send-feedback')}\n </Button>\n </div>\n </div>\n </div>\n );\n }\n\n private renderSuccessFormFooter() {\n return (\n <div slot=\"footer\">\n <div class=\"flex justify-end gap-2 p-2\">\n <Button\n part=\"cancel-button\"\n style=\"primary\"\n onClick={() => this.close()}\n class=\"flex justify-center p-2 text-sm leading-4\"\n ariaLabel={this.bindings.i18n.t('modal-done')}\n >\n {this.bindings.i18n.t('modal-done')}\n </Button>\n </div>\n </div>\n );\n }\n\n private renderFooter() {\n if (!this.feedbackSubmitted) {\n return this.renderFeedbackFormFooter();\n } else {\n return this.renderSuccessFormFooter();\n }\n }\n\n public render() {\n this.updateBreakpoints();\n\n return (\n <atomic-modal\n fullscreen={false}\n isOpen={this.isOpen}\n close={() => this.close()}\n container={this.host}\n part=\"generated-answer-feedback-modal\"\n exportparts={ATOMIC_MODAL_EXPORT_PARTS}\n >\n {this.renderHeader()}\n {this.renderBody()}\n {this.renderFooter()}\n </atomic-modal>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"atomic-generated-answer-feedback-modal.entry.cjs.js","mappings":"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","names":["randomID","once","updateBreakpoints","h","IconButton","CloseIcon","RadioButton","FieldsetGroup","Button","ATOMIC_MODAL_EXPORT_PARTS","InitializeBindings"],"sources":["src/components/common/generated-answer/atomic-generated-answer-feedback/atomic-generated-answer-feedback-modal.pcss?tag=atomic-generated-answer-feedback-modal&encapsulation=shadow","src/components/common/generated-answer/atomic-generated-answer-feedback/atomic-generated-answer-feedback-modal.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n\n@utility mobile-feedback-modal {\n &::part(container) {\n @apply w-auto min-w-full;\n }\n\n &::part(header),\n &::part(body),\n &::part(footer) {\n @apply max-w-full;\n }\n [part='buttons'] {\n .required-label {\n @apply text-sm;\n }\n }\n [part='form'] {\n .answer-evaluation {\n @apply block;\n }\n\n .options {\n @apply mt-2;\n }\n }\n [part='modal-header'] {\n .hide {\n @apply hidden;\n }\n }\n}\n\n[part='generated-answer-feedback-modal'] {\n &::part(container) {\n @apply min-w-170;\n }\n\n &::part(header),\n &::part(body),\n &::part(footer) {\n @apply max-w-170;\n }\n\n @media not all and (width >= theme(--breakpoint-desktop)) {\n @apply mobile-feedback-modal;\n }\n}\n\n[part='form'] {\n .active {\n @apply border-primary-light text-primary-light bg-primary-background;\n }\n .text-error-red {\n @apply text-inline-code;\n }\n .required {\n @apply flex;\n }\n}\n","import {\n GeneratedAnswer,\n GeneratedAnswerFeedback,\n GeneratedAnswerFeedbackOption,\n} from '@coveo/headless';\nimport {\n Component,\n State,\n h,\n Watch,\n Prop,\n Element,\n Event,\n EventEmitter,\n} from '@stencil/core/internal';\nimport CloseIcon from '../../../../images/close.svg';\nimport Success from '../../../../images/success.svg';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {updateBreakpoints} from '../../../../utils/replace-breakpoint';\nimport {once, randomID} from '../../../../utils/utils';\nimport {ATOMIC_MODAL_EXPORT_PARTS} from '../../atomic-modal/export-parts';\nimport {IconButton} from '../../stencil-iconButton';\nimport {AnyBindings} from '../../interface/bindings';\nimport {Button} from '../../stencil-button';\nimport {FieldsetGroup} from '../../stencil-fieldset-group';\nimport {RadioButton} from '../../stencil-radio-button';\n\n/**\n * Internal component, only to use through `atomic-generated-answer` or `atomic-insight-generated-answer`\n */\n@Component({\n tag: 'atomic-generated-answer-feedback-modal',\n styleUrl: 'atomic-generated-answer-feedback-modal.pcss',\n shadow: true,\n})\nexport class AtomicGeneratedAnswerFeedbackModal\n implements InitializableComponent<AnyBindings>\n{\n @InitializeBindings() public bindings!: AnyBindings;\n @Element() public host!: HTMLElement;\n\n /**\n * Indicates whether the modal is open.\n */\n @Prop({reflect: true, mutable: true}) isOpen = false;\n /**\n * A `GeneratedAnswer` controller instance. It is used when the user interacts with the modal.\n */\n @Prop({reflect: true, mutable: true}) generatedAnswer!: GeneratedAnswer;\n /**\n * Indicates whether the answer was helpful or not.\n */\n @Prop({reflect: true, mutable: true}) helpful = false;\n\n @State() public error!: Error;\n @State() private currentAnswer: Partial<GeneratedAnswerFeedback> =\n this.getInitialAnswerState();\n @State() feedbackSubmitted: boolean = false;\n @State() answerEvaluationRequired: boolean = false;\n\n private readonly formId = randomID(\n 'atomic-generated-answer-feedback-modal-form-'\n );\n private detailsInputRef?: HTMLTextAreaElement;\n\n private linkInputRef?: HTMLInputElement;\n\n @Event() feedbackSent!: EventEmitter;\n\n @Watch('isOpen')\n watchToggleOpen(isOpen: boolean) {\n if (isOpen) {\n this.generatedAnswer.openFeedbackModal();\n }\n }\n\n private static options: {\n localeKey: string;\n correspondingAnswer: keyof GeneratedAnswerFeedback;\n }[] = [\n {\n localeKey: 'feedback-correct-topic',\n correspondingAnswer: 'correctTopic',\n },\n {\n localeKey: 'feedback-hallucination-free',\n correspondingAnswer: 'hallucinationFree',\n },\n {\n localeKey: 'feedback-documented',\n correspondingAnswer: 'documented',\n },\n {\n localeKey: 'feedback-readable',\n correspondingAnswer: 'readable',\n },\n ];\n\n private getInitialAnswerState(): Partial<GeneratedAnswerFeedback> {\n return {\n documented: undefined,\n correctTopic: undefined,\n hallucinationFree: undefined,\n readable: undefined,\n };\n }\n\n private resetState() {\n this.feedbackSubmitted = false;\n this.currentAnswer = this.getInitialAnswerState();\n this.answerEvaluationRequired = false;\n this.isOpen = false;\n }\n\n private clearInputRefs() {\n if (this.detailsInputRef) {\n this.detailsInputRef.value = '';\n }\n if (this.linkInputRef) {\n this.linkInputRef.value = '';\n }\n }\n\n private close() {\n this.clearInputRefs();\n this.resetState();\n this.generatedAnswer.closeFeedbackModal();\n }\n\n private updateBreakpoints = once(() => updateBreakpoints(this.host));\n\n private setCurrentAnswer(\n key: keyof GeneratedAnswerFeedback,\n value: GeneratedAnswerFeedbackOption | string\n ) {\n this.currentAnswer = {\n ...this.currentAnswer,\n [key]: value,\n };\n }\n\n public sendFeedback() {\n const feedback: GeneratedAnswerFeedback = {\n ...(this.currentAnswer as GeneratedAnswerFeedback),\n helpful: this.helpful,\n };\n this.generatedAnswer.sendFeedback(feedback);\n this.feedbackSent.emit();\n }\n\n private isAnyAnswerEvaluationUndefined = () => {\n return Object.values(this.currentAnswer).some(\n (value) => value === undefined\n );\n };\n\n private handleSubmit(e: Event) {\n e.preventDefault();\n if (this.isAnyAnswerEvaluationUndefined()) {\n this.answerEvaluationRequired = true;\n return;\n }\n this.feedbackSubmitted = true;\n this.answerEvaluationRequired = false;\n this.sendFeedback();\n }\n\n private renderHeader() {\n return (\n <div\n slot=\"header\"\n part=\"modal-header\"\n class=\"flex w-full items-center justify-between\"\n >\n <h1>\n <span>{this.bindings.i18n.t('feedback-modal-title')}</span>\n <span class=\"hide ml-0.5\">\n {this.bindings.i18n.t('additional-feedback')}\n </span>\n </h1>\n <IconButton\n style=\"text-transparent\"\n class=\"search-clear-button\"\n onClick={() => this.close()}\n icon={CloseIcon}\n partPrefix={'close'}\n ariaLabel={this.bindings.i18n.t('close')}\n />\n </div>\n );\n }\n\n private renderFeedbackOption(\n option: GeneratedAnswerFeedbackOption,\n correspondingAnswer: keyof GeneratedAnswerFeedback\n ) {\n const buttonClasses = [\n 'min-w-20',\n 'flex',\n 'items-center',\n 'justify-center',\n 'px-3',\n 'py-1.5',\n 'mr-1',\n 'text-neutral-dark',\n ];\n const isSelected = this.currentAnswer[correspondingAnswer] === option;\n\n if (isSelected) {\n buttonClasses.push('active');\n }\n return (\n <RadioButton\n key={String(correspondingAnswer)}\n groupName={this.bindings.i18n.t(correspondingAnswer)}\n style=\"outline-neutral\"\n checked={isSelected}\n aria-checked={isSelected}\n onChecked={() => {\n this.setCurrentAnswer(correspondingAnswer, option);\n }}\n class={buttonClasses.join(' ')}\n text={this.bindings.i18n.t(option)}\n ></RadioButton>\n );\n }\n\n private renderAnswerEvaluation(\n label: string,\n correspondingAnswer: keyof GeneratedAnswerFeedback\n ) {\n const labelClasses = ['text-error-red', 'text-sm', 'hidden'];\n const isRequired =\n this.answerEvaluationRequired &&\n this.currentAnswer[correspondingAnswer] === undefined;\n if (isRequired) {\n labelClasses.push('required');\n }\n return (\n <div class=\"block\">\n <div class=\"flex\">\n <label class=\"text-base\">\n {this.bindings.i18n.t(label)}\n <span class=\"text-error-red ml-0.5\">*</span>\n </label>\n </div>\n <span class={labelClasses.join(' ')}>\n {this.bindings.i18n.t('required-fields-error')}\n </span>\n </div>\n );\n }\n\n private renderOptions() {\n return (\n <fieldset>\n <legend class=\"font-bold\">\n {this.bindings.i18n.t('answer-evaluation')}\n </legend>\n {AtomicGeneratedAnswerFeedbackModal.options.map(\n ({localeKey, correspondingAnswer}) => (\n <FieldsetGroup label={this.bindings.i18n.t(localeKey)}>\n <div\n class={`answer-evaluation mt-3 flex items-center justify-between ${String(correspondingAnswer)}`}\n key={String(correspondingAnswer)}\n >\n {this.renderAnswerEvaluation(localeKey, correspondingAnswer)}\n <div\n class=\"options flex text-base\"\n aria-label={this.bindings.i18n.t(localeKey)}\n >\n {this.renderFeedbackOption('yes', correspondingAnswer)}\n {this.renderFeedbackOption('unknown', correspondingAnswer)}\n {this.renderFeedbackOption('no', correspondingAnswer)}\n </div>\n </div>\n </FieldsetGroup>\n )\n )}\n </fieldset>\n );\n }\n\n private renderLinkToCorrectAnswerField() {\n return (\n <fieldset>\n <legend class=\"font-bold\">\n {this.bindings.i18n.t('generated-answer-feedback-link')}\n </legend>\n <input\n type=\"text\"\n ref={(linkInputRef) => (this.linkInputRef = linkInputRef)}\n placeholder=\"https://URL\"\n class=\"input-primary placeholder-neutral-dark mt-4 h-9 w-full rounded-md px-4\"\n onChange={(e) =>\n this.setCurrentAnswer(\n 'documentUrl',\n (e.currentTarget as HTMLInputElement).value\n )\n }\n />\n </fieldset>\n );\n }\n\n private renderAddNotesField() {\n return (\n <fieldset>\n <legend class=\"mt-8 font-bold\">\n {this.bindings.i18n.t('generated-answer-additional-notes')}\n </legend>\n <textarea\n name=\"answer-details\"\n ref={(detailsInput) => (this.detailsInputRef = detailsInput)}\n class=\"placeholder-neutral-dark border-neutral hover:border-primary-light focus-visible:border-primary mt-4 w-full resize-none rounded-md border px-4 py-2 leading-5 focus:outline-hidden focus-visible:ring-2\"\n rows={4}\n placeholder={this.bindings.i18n.t('add-notes')}\n onChange={(e) =>\n this.setCurrentAnswer(\n 'details',\n (e.currentTarget as HTMLTextAreaElement).value\n )\n }\n ></textarea>\n </fieldset>\n );\n }\n\n private renderFeedbackForm() {\n return (\n <form\n part=\"form\"\n id={this.formId}\n slot=\"body\"\n onSubmit={(e) => this.handleSubmit(e)}\n class=\"flex flex-col gap-8 leading-4\"\n >\n {this.renderOptions()}\n {this.renderLinkToCorrectAnswerField()}\n {this.renderAddNotesField()}\n </form>\n );\n }\n\n private renderSuccessMessage() {\n return (\n <div slot=\"body\" class=\"my-4 flex flex-col items-center gap-4\">\n <atomic-icon icon={Success} class=\"w-48\" />\n <p class=\"text-base\">\n {this.bindings.i18n.t('generated-answer-feedback-success')}\n </p>\n </div>\n );\n }\n\n private renderBody() {\n if (!this.feedbackSubmitted) {\n return this.renderFeedbackForm();\n } else {\n return this.renderSuccessMessage();\n }\n }\n\n private renderFeedbackFormFooter() {\n const buttonClasses =\n 'flex items-center justify-center text-sm leading-4 p-2 rounded-md';\n\n return (\n <div slot=\"footer\" part=\"modal-footer\">\n <div class=\"flex items-center justify-between\">\n <div class=\"required-label text-base\">\n <span class=\"text-error mr-0.5\">*</span>\n {this.bindings.i18n.t('required-fields')}\n </div>\n <div class=\"flex gap-2\">\n <Button\n part=\"cancel-button\"\n style=\"outline-primary\"\n class={buttonClasses}\n ariaLabel={this.bindings.i18n.t('skip')}\n onClick={() => this.close()}\n >\n {this.bindings.i18n.t('skip')}\n </Button>\n <Button\n part=\"submit-button\"\n style=\"primary\"\n type=\"submit\"\n form={this.formId}\n class={buttonClasses}\n ariaLabel={this.bindings.i18n.t('generated-answer-send-feedback')}\n >\n {this.bindings.i18n.t('generated-answer-send-feedback')}\n </Button>\n </div>\n </div>\n </div>\n );\n }\n\n private renderSuccessFormFooter() {\n return (\n <div slot=\"footer\">\n <div class=\"flex justify-end gap-2 p-2\">\n <Button\n part=\"cancel-button\"\n style=\"primary\"\n onClick={() => this.close()}\n class=\"flex justify-center p-2 text-sm leading-4\"\n ariaLabel={this.bindings.i18n.t('modal-done')}\n >\n {this.bindings.i18n.t('modal-done')}\n </Button>\n </div>\n </div>\n );\n }\n\n private renderFooter() {\n if (!this.feedbackSubmitted) {\n return this.renderFeedbackFormFooter();\n } else {\n return this.renderSuccessFormFooter();\n }\n }\n\n public render() {\n this.updateBreakpoints();\n\n return (\n <atomic-modal\n fullscreen={false}\n isOpen={this.isOpen}\n close={() => this.close()}\n container={this.host}\n part=\"generated-answer-feedback-modal\"\n exportparts={ATOMIC_MODAL_EXPORT_PARTS}\n >\n {this.renderHeader()}\n {this.renderBody()}\n {this.renderFooter()}\n </atomic-modal>\n );\n }\n}\n"],"version":3}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-757bc886.js');
|
|
6
|
-
const
|
|
6
|
+
const stencilIconButton = require('./stencil-iconButton-5123b12a.js');
|
|
7
7
|
require('./stencil-button-f6c2410c.js');
|
|
8
8
|
require('./event-utils-9bfcf3c5.js');
|
|
9
9
|
require('./stencil-button-style-ba779fe2.js');
|
|
@@ -29,7 +29,7 @@ const AtomicInsightEditToggle = class {
|
|
|
29
29
|
this.tooltip = '';
|
|
30
30
|
}
|
|
31
31
|
render() {
|
|
32
|
-
return (index.h(
|
|
32
|
+
return (index.h(stencilIconButton.IconButton, { key: 'e6bf43b8c0c07e9956597cc91266d44fc011cc09', partPrefix: "insight-edit-toggle", style: "outline-neutral", icon: EditIcon, ariaLabel: "Edit", onClick: this.clickCallback, title: this.tooltip }));
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
AtomicInsightEditToggle.style = AtomicInsightEditToggleStyle0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-insight-edit-toggle.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;AAAA,MAAM,0BAA0B,GAAG,mgiEAAmgiE,CAAC;AACviiE,sCAAe,0BAA0B;;MCW5B,uBAAuB;;;QACJ,kBAAa,GAAe,SAAQ,CAAC;QAErC,YAAO,GAAG,EAAE,CAAC;6BAFe,SAAQ;uBAE1B,EAAE;;IAEnC,MAAM;QACX,QACEA,QAACC,
|
|
1
|
+
{"file":"atomic-insight-edit-toggle.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;AAAA,MAAM,0BAA0B,GAAG,mgiEAAmgiE,CAAC;AACviiE,sCAAe,0BAA0B;;MCW5B,uBAAuB;;;QACJ,kBAAa,GAAe,SAAQ,CAAC;QAErC,YAAO,GAAG,EAAE,CAAC;6BAFe,SAAQ;uBAE1B,EAAE;;IAEnC,MAAM;QACX,QACEA,QAACC,4BAAU,qDACT,UAAU,EAAC,qBAAqB,EAChC,KAAK,EAAC,iBAAiB,EACvB,IAAI,EAAE,QAAQ,EACd,SAAS,EAAC,MAAM,EAChB,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,KAAK,EAAE,IAAI,CAAC,OAAO,GACnB,EACF;KACH;;;;;;","names":["h","IconButton"],"sources":["src/components/insight/atomic-insight-edit-toggle/atomic-insight-edit-toggle.pcss?tag=atomic-insight-edit-toggle&encapsulation=shadow","src/components/insight/atomic-insight-edit-toggle/atomic-insight-edit-toggle.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n","import {Component, h, Prop} from '@stencil/core';\nimport EditIcon from '../../../images/edit.svg';\nimport {IconButton} from '../../common/stencil-iconButton';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-edit-toggle',\n styleUrl: 'atomic-insight-edit-toggle.pcss',\n shadow: true,\n})\nexport class AtomicInsightEditToggle {\n @Prop({mutable: true}) public clickCallback: () => void = () => {};\n\n @Prop({mutable: true}) public tooltip = '';\n\n public render() {\n return (\n <IconButton\n partPrefix=\"insight-edit-toggle\"\n style=\"outline-neutral\"\n icon={EditIcon}\n ariaLabel=\"Edit\"\n onClick={this.clickCallback}\n title={this.tooltip}\n />\n );\n }\n}\n"],"version":3}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
const index = require('./index-757bc886.js');
|
|
6
6
|
const initializationUtils = require('./initialization-utils-92f1b080.js');
|
|
7
|
-
const
|
|
7
|
+
const stencilIconButton = require('./stencil-iconButton-5123b12a.js');
|
|
8
8
|
require('./dom-utils-d4790328.js');
|
|
9
9
|
require('./event-utils-9bfcf3c5.js');
|
|
10
10
|
require('./init-queue-a18aa323.js');
|
|
@@ -38,7 +38,7 @@ const AtomicInsightFullSearchButton = class {
|
|
|
38
38
|
this.error = undefined;
|
|
39
39
|
}
|
|
40
40
|
render() {
|
|
41
|
-
return (index.h(
|
|
41
|
+
return (index.h(stencilIconButton.IconButton, { key: '069805bc1fe869b46d3ecbad9c4f55493b75645a', partPrefix: "full-search", style: "outline-neutral", icon: ArrowFull, ariaLabel: this.bindings.i18n.t('full-search'), title: this.tooltip }));
|
|
42
42
|
}
|
|
43
43
|
};
|
|
44
44
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-insight-full-search-button.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;AAAA,MAAM,gCAAgC,GAAG,ssjEAAssjE,CAAC;AAChvjE,4CAAe,gCAAgC;;;;;;;;;;;;MCgBlC,6BAA6B;;;QACV,YAAO,GAAG,EAAE,CAAC;uBAAH,EAAE;;;IAKnC,MAAM;QACX,QACEA,QAACC,
|
|
1
|
+
{"file":"atomic-insight-full-search-button.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;AAAA,MAAM,gCAAgC,GAAG,ssjEAAssjE,CAAC;AAChvjE,4CAAe,gCAAgC;;;;;;;;;;;;MCgBlC,6BAA6B;;;QACV,YAAO,GAAG,EAAE,CAAC;uBAAH,EAAE;;;IAKnC,MAAM;QACX,QACEA,QAACC,4BAAU,qDACT,UAAU,EAAC,aAAa,EACxB,KAAK,EAAC,iBAAiB,EACvB,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,EAC9C,KAAK,EAAE,IAAI,CAAC,OAAO,GACnB,EACF;KACH;;AAb4B;IAA5BC,sCAAkB,EAAE;+DAA4B;;;;;","names":["h","IconButton","InitializeBindings"],"sources":["src/components/insight/atomic-insight-full-search-button/atomic-insight-full-search-button.pcss?tag=atomic-insight-full-search-button&encapsulation=shadow","src/components/insight/atomic-insight-full-search-button/atomic-insight-full-search-button.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n\n:host {\n position: absolute;\n right: 0;\n --full-search-background-color: var(--atomic-neutral-dark);\n --full-search-secondary-background-color: #333536;\n &::part(full-search-button) {\n @apply size-[27px] rounded-none border-none;\n background-color: var(--full-search-background-color);\n clip-path: polygon(0 0, 100% 100%, 100% 0);\n }\n\n &::part(full-search-button):hover {\n background-color: var(--full-search-secondary-background-color);\n border-color: var(--full-search-secondary-background-color);\n }\n\n &::part(full-search-icon) {\n @apply absolute top-[4px] left-[15px] h-[9px] w-[9px];\n }\n}\n","import {Component, h, Prop, State} from '@stencil/core';\nimport ArrowFull from '../../../images/arrow-full.svg';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {IconButton} from '../../common/stencil-iconButton';\nimport {Bindings} from '../../search/atomic-search-interface/atomic-search-interface';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-full-search-button',\n styleUrl: 'atomic-insight-full-search-button.pcss',\n shadow: true,\n})\nexport class AtomicInsightFullSearchButton implements InitializableComponent {\n @Prop({mutable: true}) public tooltip = '';\n\n @InitializeBindings() public bindings!: Bindings;\n @State() public error!: Error;\n\n public render() {\n return (\n <IconButton\n partPrefix=\"full-search\"\n style=\"outline-neutral\"\n icon={ArrowFull}\n ariaLabel={this.bindings.i18n.t('full-search')}\n title={this.tooltip}\n />\n );\n }\n}\n"],"version":3}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
const index = require('./index-757bc886.js');
|
|
6
6
|
const clock = require('./clock-f03ff827.js');
|
|
7
|
-
const
|
|
7
|
+
const stencilIconButton = require('./stencil-iconButton-5123b12a.js');
|
|
8
8
|
require('./stencil-button-f6c2410c.js');
|
|
9
9
|
require('./event-utils-9bfcf3c5.js');
|
|
10
10
|
require('./stencil-button-style-ba779fe2.js');
|
|
@@ -21,7 +21,7 @@ const AtomicInsightHistoryToggle = class {
|
|
|
21
21
|
this.tooltip = '';
|
|
22
22
|
}
|
|
23
23
|
render() {
|
|
24
|
-
return (index.h(
|
|
24
|
+
return (index.h(stencilIconButton.IconButton, { key: 'ce5f65168f945bc4512ace6eb1edd8c6ab58da27', partPrefix: "insight-history-toggle", style: "outline-neutral", icon: clock.Clock, ariaLabel: "history", onClick: this.clickCallback, title: this.tooltip }));
|
|
25
25
|
}
|
|
26
26
|
};
|
|
27
27
|
AtomicInsightHistoryToggle.style = AtomicInsightHistoryToggleStyle0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-insight-history-toggle.entry.cjs.js","mappings":";;;;;;;;;;;AAAA,MAAM,6BAA6B,GAAG,mgiEAAmgiE,CAAC;AAC1iiE,yCAAe,6BAA6B;;MCW/B,0BAA0B;;;QACP,kBAAa,GAAe,SAAQ,CAAC;QAErC,YAAO,GAAG,EAAE,CAAC;6BAFe,SAAQ;uBAE1B,EAAE;;IAEnC,MAAM;QACX,QACEA,QAACC,
|
|
1
|
+
{"file":"atomic-insight-history-toggle.entry.cjs.js","mappings":";;;;;;;;;;;AAAA,MAAM,6BAA6B,GAAG,mgiEAAmgiE,CAAC;AAC1iiE,yCAAe,6BAA6B;;MCW/B,0BAA0B;;;QACP,kBAAa,GAAe,SAAQ,CAAC;QAErC,YAAO,GAAG,EAAE,CAAC;6BAFe,SAAQ;uBAE1B,EAAE;;IAEnC,MAAM;QACX,QACEA,QAACC,4BAAU,qDACT,UAAU,EAAC,wBAAwB,EACnC,KAAK,EAAC,iBAAiB,EACvB,IAAI,EAAEC,WAAS,EACf,SAAS,EAAC,SAAS,EACnB,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,KAAK,EAAE,IAAI,CAAC,OAAO,GACnB,EACF;KACH;;;;;;","names":["h","IconButton","Clockicon"],"sources":["src/components/insight/atomic-insight-history-toggle/atomic-insight-history-toggle.pcss?tag=atomic-insight-history-toggle&encapsulation=shadow","src/components/insight/atomic-insight-history-toggle/atomic-insight-history-toggle.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n","import {Component, h, Prop} from '@stencil/core';\nimport Clockicon from '../../../images/clock.svg';\nimport {IconButton} from '../../common/stencil-iconButton';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-history-toggle',\n styleUrl: 'atomic-insight-history-toggle.pcss',\n shadow: true,\n})\nexport class AtomicInsightHistoryToggle {\n @Prop({mutable: true}) public clickCallback: () => void = () => {};\n\n @Prop({mutable: true}) public tooltip = '';\n\n public render() {\n return (\n <IconButton\n partPrefix=\"insight-history-toggle\"\n style=\"outline-neutral\"\n icon={Clockicon}\n ariaLabel=\"history\"\n onClick={this.clickCallback}\n title={this.tooltip}\n />\n );\n }\n}\n"],"version":3}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
const index = require('./index-757bc886.js');
|
|
6
6
|
const initQueue = require('./init-queue-a18aa323.js');
|
|
7
7
|
const insight = require('@coveo/headless/insight');
|
|
8
|
-
const analyticsConfig = require('./analytics-config-
|
|
8
|
+
const analyticsConfig = require('./analytics-config-1453426c.js');
|
|
9
9
|
const propsUtils = require('./props-utils-1e4ba1b0.js');
|
|
10
10
|
const replaceBreakpoint = require('./replace-breakpoint-9e1c0efa.js');
|
|
11
11
|
const store = require('./store-82abd941.js');
|
|
@@ -6,7 +6,7 @@ const index = require('./index-757bc886.js');
|
|
|
6
6
|
const insight = require('@coveo/headless/insight');
|
|
7
7
|
const filter = require('./filter-52d344d2.js');
|
|
8
8
|
const initializationUtils = require('./initialization-utils-92f1b080.js');
|
|
9
|
-
const
|
|
9
|
+
const stencilIconButton = require('./stencil-iconButton-5123b12a.js');
|
|
10
10
|
require('./dom-utils-d4790328.js');
|
|
11
11
|
require('./event-utils-9bfcf3c5.js');
|
|
12
12
|
require('./init-queue-a18aa323.js');
|
|
@@ -59,7 +59,7 @@ const AtomicInsightRefineToggle = class {
|
|
|
59
59
|
this.modalRef.openButton = this.buttonRef;
|
|
60
60
|
}
|
|
61
61
|
render() {
|
|
62
|
-
return (index.h(
|
|
62
|
+
return (index.h(stencilIconButton.IconButton, { key: '2ea061d4eebdc4c30e598cbcd50ceb8321282104', partPrefix: "insight-refine-toggle", style: "outline-neutral", title: this.bindings.i18n.t('filters'), icon: filter.FilterIcon, disabled: !this.searchStatusState.hasResults && !this.numberOfBreadcrumbs, ariaLabel: this.bindings.i18n.t('sort'), onClick: () => {
|
|
63
63
|
this.bindings.store.waitUntilAppLoaded(() => {
|
|
64
64
|
this.enableModal();
|
|
65
65
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-insight-refine-toggle.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;AAAA,MAAM,4BAA4B,GAAG,mgiEAAmgiE,CAAC;AACziiE,wCAAe,4BAA4B;;;;;;;;;;;;MCwB9B,yBAAyB;;;;;;;IAmBpC,IAAY,mBAAmB;QAC7B,OAAO;YACL,GAAG,IAAI,CAAC,sBAAsB,CAAC,gBAAgB;YAC/C,GAAG,IAAI,CAAC,sBAAsB,CAAC,wBAAwB;YACvD,GAAG,IAAI,CAAC,sBAAsB,CAAC,uBAAuB;YACtD,GAAG,IAAI,CAAC,sBAAsB,CAAC,oBAAoB;YACnD,GAAG,IAAI,CAAC,sBAAsB,CAAC,uBAAuB;SACvD,CAAC,MAAM,CAAC;KACV;IAEM,UAAU;QACf,IAAI,CAAC,iBAAiB,GAAGA,8BAA6B,CACpD,IAAI,CAAC,QAAQ,CAAC,MAAM,CACrB,CAAC;QACF,IAAI,CAAC,YAAY,GAAGC,yBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KACpE;IAEO,WAAW;QACjB,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;KAChD;IAEO,SAAS;QACf,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,qBAAqB,CAC5C,aAAa,EACb,IAAI,CAAC,QAAQ,CACd,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;KAC3C;IAEM,MAAM;QACX,QACEC,QAACC,
|
|
1
|
+
{"file":"atomic-insight-refine-toggle.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;AAAA,MAAM,4BAA4B,GAAG,mgiEAAmgiE,CAAC;AACziiE,wCAAe,4BAA4B;;;;;;;;;;;;MCwB9B,yBAAyB;;;;;;;IAmBpC,IAAY,mBAAmB;QAC7B,OAAO;YACL,GAAG,IAAI,CAAC,sBAAsB,CAAC,gBAAgB;YAC/C,GAAG,IAAI,CAAC,sBAAsB,CAAC,wBAAwB;YACvD,GAAG,IAAI,CAAC,sBAAsB,CAAC,uBAAuB;YACtD,GAAG,IAAI,CAAC,sBAAsB,CAAC,oBAAoB;YACnD,GAAG,IAAI,CAAC,sBAAsB,CAAC,uBAAuB;SACvD,CAAC,MAAM,CAAC;KACV;IAEM,UAAU;QACf,IAAI,CAAC,iBAAiB,GAAGA,8BAA6B,CACpD,IAAI,CAAC,QAAQ,CAAC,MAAM,CACrB,CAAC;QACF,IAAI,CAAC,YAAY,GAAGC,yBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KACpE;IAEO,WAAW;QACjB,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;KAChD;IAEO,SAAS;QACf,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,qBAAqB,CAC5C,aAAa,EACb,IAAI,CAAC,QAAQ,CACd,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;KAC3C;IAEM,MAAM;QACX,QACEC,QAACC,4BAAU,qDACT,UAAU,EAAC,uBAAuB,EAClC,KAAK,EAAC,iBAAiB,EACvB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EACtC,IAAI,EAAEC,iBAAU,EAChB,QAAQ,EACN,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAEjE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EACvC,OAAO,EAAE;gBACP,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC;oBACrC,IAAI,CAAC,WAAW,EAAE,CAAC;iBACpB,CAAC,CAAC;aACJ,EACD,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,EACD,KAAK,EACH,IAAI,CAAC,sBAAsB,CAAC,cAAc,IACxCF,sBAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAQ,IAChD,SAAS,GAEf,EACF;KACH;;;AAlF4B;IAA5BG,sCAAkB,EAAE;2DAAmC;AAOhD;IAFPC,yCAAqB,CAAC,mBAAmB,CAAC;yEAEoB;AAIvD;IAFPA,yCAAqB,CAAC,cAAc,CAAC;oEAEe;;;;;","names":["buildInsightBreadcrumbManager","buildInsightSearchStatus","h","IconButton","FilterIcon","InitializeBindings","BindStateToController"],"sources":["src/components/insight/atomic-insight-refine-toggle/atomic-insight-refine-toggle.pcss?tag=atomic-insight-refine-toggle&encapsulation=shadow","src/components/insight/atomic-insight-refine-toggle/atomic-insight-refine-toggle.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n","import {\n buildBreadcrumbManager as buildInsightBreadcrumbManager,\n buildSearchStatus as buildInsightSearchStatus,\n BreadcrumbManager as InsightBreadcrumbManager,\n BreadcrumbManagerState as InsightBreadcrumbManagerState,\n SearchStatus as InsightSearchStatus,\n SearchStatusState as InsightSearchStatusState,\n} from '@coveo/headless/insight';\nimport {Component, h, State, Element} from '@stencil/core';\nimport FilterIcon from '../../../images/filter.svg';\nimport {\n InitializeBindings,\n BindStateToController,\n} from '../../../utils/initialization-utils';\nimport {IconButton} from '../../common/stencil-iconButton';\nimport {InsightBindings} from '../atomic-insight-interface/atomic-insight-interface';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-refine-toggle',\n styleUrl: 'atomic-insight-refine-toggle.pcss',\n shadow: true,\n})\nexport class AtomicInsightRefineToggle {\n @InitializeBindings() public bindings!: InsightBindings;\n @Element() public host!: HTMLElement;\n\n @State() public error!: Error;\n\n @BindStateToController('breadcrumbManager')\n @State()\n private breadcrumbManagerState!: InsightBreadcrumbManagerState;\n\n @BindStateToController('searchStatus')\n @State()\n private searchStatusState!: InsightSearchStatusState;\n\n public breadcrumbManager!: InsightBreadcrumbManager;\n public searchStatus!: InsightSearchStatus;\n private modalRef?: HTMLAtomicInsightRefineModalElement;\n private buttonRef?: HTMLButtonElement;\n\n private get numberOfBreadcrumbs(): number {\n return [\n ...this.breadcrumbManagerState.facetBreadcrumbs,\n ...this.breadcrumbManagerState.categoryFacetBreadcrumbs,\n ...this.breadcrumbManagerState.numericFacetBreadcrumbs,\n ...this.breadcrumbManagerState.dateFacetBreadcrumbs,\n ...this.breadcrumbManagerState.staticFilterBreadcrumbs,\n ].length;\n }\n\n public initialize() {\n this.breadcrumbManager = buildInsightBreadcrumbManager(\n this.bindings.engine\n );\n this.searchStatus = buildInsightSearchStatus(this.bindings.engine);\n }\n\n private enableModal() {\n this.modalRef && (this.modalRef.isOpen = true);\n }\n\n private loadModal() {\n if (this.modalRef) {\n return;\n }\n\n this.modalRef = document.createElement('atomic-insight-refine-modal');\n this.host.parentElement?.insertAdjacentElement(\n 'beforebegin',\n this.modalRef\n );\n this.modalRef.openButton = this.buttonRef;\n }\n\n public render() {\n return (\n <IconButton\n partPrefix=\"insight-refine-toggle\"\n style=\"outline-neutral\"\n title={this.bindings.i18n.t('filters')}\n icon={FilterIcon}\n disabled={\n !this.searchStatusState.hasResults && !this.numberOfBreadcrumbs\n }\n ariaLabel={this.bindings.i18n.t('sort')}\n onClick={() => {\n this.bindings.store.waitUntilAppLoaded(() => {\n this.enableModal();\n });\n }}\n buttonRef={(button?: HTMLButtonElement) => {\n if (!button) {\n return;\n }\n this.buttonRef = button;\n this.loadModal();\n }}\n badge={\n this.breadcrumbManagerState.hasBreadcrumbs ? (\n <slot>{this.numberOfBreadcrumbs.toString()}</slot>\n ) : undefined\n }\n />\n );\n }\n}\n"],"version":3}
|
|
@@ -7,7 +7,7 @@ const insight = require('@coveo/headless/insight');
|
|
|
7
7
|
const attach = require('./attach-19283bec.js');
|
|
8
8
|
const preview = require('./preview-8eebe5d5.js');
|
|
9
9
|
const initializationUtils = require('./initialization-utils-92f1b080.js');
|
|
10
|
-
const
|
|
10
|
+
const stencilIconButton = require('./stencil-iconButton-5123b12a.js');
|
|
11
11
|
const resultTemplateDecorators = require('./result-template-decorators-432d11a9.js');
|
|
12
12
|
require('./dom-utils-d4790328.js');
|
|
13
13
|
require('./event-utils-9bfcf3c5.js');
|
|
@@ -124,7 +124,7 @@ const AtomicInsightResultAction = class {
|
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
render() {
|
|
127
|
-
return (index.h(
|
|
127
|
+
return (index.h(stencilIconButton.IconButton, { key: '5c3d19b10cad3a6579ef6c43d39ece8ce0c44dde', partPrefix: "result-action", style: "outline-neutral", icon: this.getIcon(), title: this.tooltip, onClick: () => this.onClick() }));
|
|
128
128
|
}
|
|
129
129
|
};
|
|
130
130
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-insight-result-action.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,4BAA4B,GAAG,4qiEAA4qiE,CAAC;AACltiE,wCAAe,4BAA4B;;;;;;;;;;;;ACuB3C,IAAY,OAMX;AAND,WAAY,OAAO;IACjB,8CAAmC,CAAA;IACnC,wCAA6B,CAAA;IAC7B,kCAAuB,CAAA;IACvB,oCAAyB,CAAA;IACzB,sCAA2B,CAAA;AAC7B,CAAC,EANW,OAAO,KAAP,OAAO,QAMlB;MASY,yBAAyB;;;;;;;QAkBN,SAAI,GAAG,EAAE,CAAC;;;;QAKV,YAAO,GAAG,EAAE,CAAC;;;;QAKb,mBAAc,GAAG,EAAE,CAAC;;;;QAKpB,WAAM,GAAqB,EAAE,CAAC;;oBAfvB,EAAE;uBAKC,EAAE;8BAKK,EAAE;sBAKQ,EAAE;;IAIpD,UAAU;QACf,IAAI,CAAC,OAAO,GAAGA,mCAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KAClE;IAEO,OAAO;QACb,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;YACrC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;YACnC,UAAU,CAAC;gBACT,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC;aAChC,EAAE,IAAI,CAAC,CAAC;SACV;QAED,QAAQ,IAAI,CAAC,MAAM;YACjB,KAAK,OAAO,CAAC,eAAe;gBAC1B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAC3B,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAC7C,CAAC;gBACF,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACrD,MAAM;YACR,KAAK,OAAO,CAAC,UAAU;gBACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAC3B,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAC9C,CAAC;gBACF,MAAM;YACR,KAAK,OAAO,CAAC,WAAW;gBACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAC3B,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAC3C,CAAC;gBACF,MAAM;SACT;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;KACrE;IAEO,OAAO;QACb,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,OAAO,IAAI,CAAC,IAAI,CAAC;SAClB;QAED,QAAQ,IAAI,CAAC,MAAM;YACjB,KAAK,OAAO,CAAC,eAAe;gBAC1B,OAAO,QAAQ,CAAC;YAClB,KAAK,OAAO,CAAC,YAAY;gBACvB,OAAOC,iBAAU,CAAC;YACpB,KAAK,OAAO,CAAC,SAAS;gBACpB,OAAOC,qBAAa,CAAC;YACvB,KAAK,OAAO,CAAC,UAAU;gBACrB,OAAO,QAAQ,CAAC;YAClB,KAAK,OAAO,CAAC,WAAW;gBACtB,OAAO,SAAS,CAAC;YACnB;gBACE,OAAOA,qBAAa,CAAC;SACxB;KACF;IAEM,MAAM;QACX,QACEC,QAACC,
|
|
1
|
+
{"file":"atomic-insight-result-action.entry.cjs.js","mappings":"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","names":["loadInsightAnalyticsActions","AttachIcon","QuickviewIcon","h","IconButton","InitializeBindings","ResultContext"],"sources":["src/components/insight/atomic-insight-result-action/atomic-insight-result-action.pcss?tag=atomic-insight-result-action","src/components/insight/atomic-insight-result-action/atomic-insight-result-action.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n\n:host {\n &::part(result-action-button) {\n @apply flex items-center justify-center;\n @apply h-8 w-8;\n }\n}\n","import {Result} from '@coveo/headless';\nimport {\n InsightAnalyticsActionCreators,\n loadInsightAnalyticsActions,\n} from '@coveo/headless/insight';\nimport {Component, Event, EventEmitter, Prop, State, h} from '@stencil/core';\nimport AttachIcon from '../../../images/attach.svg';\nimport CopyIcon from '../../../images/copy-dark.svg';\nimport EmailIcon from '../../../images/email.svg';\nimport QuickviewIcon from '../../../images/preview.svg';\nimport FeedIcon from '../../../images/share-post.svg';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {IconButton} from '../../common/stencil-iconButton';\nimport {ResultContext} from '../../search/result-template-components/result-template-decorators';\nimport {InsightBindings} from '../atomic-insight-interface/atomic-insight-interface';\n\nexport interface InsightResultActionClickedEvent {\n action: string;\n result: Result;\n}\n\nexport enum Actions {\n CopyToClipboard = 'copyToClipboard',\n AttachToCase = 'attachToCase',\n Quickview = 'quickview',\n PostToFeed = 'postToFeed',\n SendAsEmail = 'sendAsEmail',\n}\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-result-action',\n styleUrl: 'atomic-insight-result-action.pcss',\n})\nexport class AtomicInsightResultAction\n implements InitializableComponent<InsightBindings>\n{\n @InitializeBindings() public bindings!: InsightBindings;\n @ResultContext() private result!: Result;\n @State() public error!: Error;\n\n @Event({\n eventName: 'atomicInsightResultActionClicked',\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n private actionClicked!: EventEmitter<InsightResultActionClickedEvent>;\n\n /**\n * Specify the result action icon to display.\n */\n @Prop({mutable: true}) public icon = '';\n\n /**\n * The text tooltip to show on the result action icon.\n */\n @Prop({mutable: true}) public tooltip = '';\n\n /**\n * The text tooltip to show on the result action icon for some time after clicking the button.\n */\n @Prop({mutable: true}) public tooltipOnClick = '';\n\n /**\n * The type of action to perform when the result action is clicked. This will be sent along the event fired when the button is clicked.\n */\n @Prop({mutable: true}) public action: Actions | string = '';\n\n private actions!: InsightAnalyticsActionCreators;\n\n public initialize() {\n this.actions = loadInsightAnalyticsActions(this.bindings.engine);\n }\n\n private onClick() {\n if (this.tooltipOnClick) {\n const originalTooltip = this.tooltip;\n this.tooltip = this.tooltipOnClick;\n setTimeout(() => {\n this.tooltip = originalTooltip;\n }, 1000);\n }\n\n switch (this.action) {\n case Actions.CopyToClipboard:\n this.bindings.engine.dispatch(\n this.actions.logCopyToClipboard(this.result)\n );\n navigator.clipboard.writeText(this.result?.clickUri);\n break;\n case Actions.PostToFeed:\n this.bindings.engine.dispatch(\n this.actions.logFeedItemTextPost(this.result)\n );\n break;\n case Actions.SendAsEmail:\n this.bindings.engine.dispatch(\n this.actions.logCaseSendEmail(this.result)\n );\n break;\n }\n\n this.actionClicked.emit({action: this.action, result: this.result});\n }\n\n private getIcon() {\n if (this.icon) {\n return this.icon;\n }\n\n switch (this.action) {\n case Actions.CopyToClipboard:\n return CopyIcon;\n case Actions.AttachToCase:\n return AttachIcon;\n case Actions.Quickview:\n return QuickviewIcon;\n case Actions.PostToFeed:\n return FeedIcon;\n case Actions.SendAsEmail:\n return EmailIcon;\n default:\n return QuickviewIcon;\n }\n }\n\n public render() {\n return (\n <IconButton\n partPrefix=\"result-action\"\n style=\"outline-neutral\"\n icon={this.getIcon()}\n title={this.tooltip}\n onClick={() => this.onClick()}\n />\n );\n }\n}\n"],"version":3}
|
|
@@ -6,7 +6,7 @@ const index = require('./index-757bc886.js');
|
|
|
6
6
|
const insight = require('@coveo/headless/insight');
|
|
7
7
|
const attach = require('./attach-19283bec.js');
|
|
8
8
|
const initializationUtils = require('./initialization-utils-92f1b080.js');
|
|
9
|
-
const
|
|
9
|
+
const stencilIconButton = require('./stencil-iconButton-5123b12a.js');
|
|
10
10
|
const resultTemplateDecorators = require('./result-template-decorators-432d11a9.js');
|
|
11
11
|
require('./dom-utils-d4790328.js');
|
|
12
12
|
require('./event-utils-9bfcf3c5.js');
|
|
@@ -74,7 +74,7 @@ const AtomicInsightResultAttachToCaseAction = class {
|
|
|
74
74
|
: this.bindings.i18n.t('attach-to-case');
|
|
75
75
|
}
|
|
76
76
|
render() {
|
|
77
|
-
return (index.h(
|
|
77
|
+
return (index.h(stencilIconButton.IconButton, { key: 'a1a5f3bffb3c84c386ad66a62d1f3d82fa7c2253', partPrefix: "result-action", style: "outline-neutral", icon: this.getIcon(), title: this.getTooltip(), onClick: () => this.onClick() }));
|
|
78
78
|
}
|
|
79
79
|
get host() { return index.getElement(this); }
|
|
80
80
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-insight-result-attach-to-case-action.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,wCAAwC,GAAG,mgiEAAmgiE,CAAC;AACrjiE,oDAAe,wCAAwC;;;;;;;;;;;;MC4B1C,qCAAqC;;;;;;;;IA+BzC,UAAU;QACf,MAAM,MAAM,GACV,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,MAAM,IAAI,EAAE,CAAC;QAC9D,IAAI,CAAC,YAAY,GAAGA,yBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC1D,OAAO,EAAE;gBACP,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,MAAM;aACf;SACF,CAAC,CAAC;KACJ;IAEO,OAAO;QACb,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;gBAClC,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;gBAClC,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;SACJ;KACF;IAEO,OAAO;QACb,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,UAAU,GAAGC,iBAAU,CAAC;KACjE;IAEO,UAAU;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;cACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC;cACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;KAC5C;IAEM,MAAM;QACX,QACEC,QAACC,
|
|
1
|
+
{"file":"atomic-insight-result-attach-to-case-action.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,wCAAwC,GAAG,mgiEAAmgiE,CAAC;AACrjiE,oDAAe,wCAAwC;;;;;;;;;;;;MC4B1C,qCAAqC;;;;;;;;IA+BzC,UAAU;QACf,MAAM,MAAM,GACV,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,MAAM,IAAI,EAAE,CAAC;QAC9D,IAAI,CAAC,YAAY,GAAGA,yBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC1D,OAAO,EAAE;gBACP,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,MAAM;aACf;SACF,CAAC,CAAC;KACJ;IAEO,OAAO;QACb,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;gBAClC,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;gBAClC,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;SACJ;KACF;IAEO,OAAO;QACb,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,UAAU,GAAGC,iBAAU,CAAC;KACjE;IAEO,UAAU;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;cACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC;cACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;KAC5C;IAEM,MAAM;QACX,QACEC,QAACC,4BAAU,qDACT,UAAU,EAAC,eAAe,EAC1B,KAAK,EAAC,iBAAiB,EACvB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,EACpB,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EACxB,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE,GAC7B,EACF;KACH;;;AAzE4B;IAA5BC,sCAAkB,EAAE;uEAAmC;AAC/B;IAAxBC,sCAAa,EAAE;qEAAyB;AASlC;IAFNC,yCAAqB,CAAC,cAAc,CAAC;gFAER;;;;;","names":["buildAttachToCase","AttachIcon","h","IconButton","InitializeBindings","ResultContext","BindStateToController"],"sources":["src/components/insight/atomic-insight-result-attach-to-case-action/atomic-insight-result-attach-to-case-action.pcss?tag=atomic-insight-result-attach-to-case-action","src/components/insight/atomic-insight-result-attach-to-case-action/atomic-insight-result-attach-to-case-action.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n","import {AttachToCase, buildAttachToCase, Result} from '@coveo/headless/insight';\nimport {Component, Event, State, h, Element, EventEmitter} from '@stencil/core';\nimport AttachIcon from '../../../images/attach.svg';\nimport DetachIcon from '../../../images/detach.svg';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {IconButton} from '../../common/stencil-iconButton';\nimport {ResultContext} from '../../search/result-template-components/result-template-decorators';\nimport {InsightBindings} from '../atomic-insight-interface/atomic-insight-interface';\n\nexport interface InsightResultAttachToCaseEvent {\n callback: () => void;\n result: Result;\n}\n/**\n * @internal\n * The `atomic-insight-result-attach-to-case-action` component can be nested inside a `atomic-insight-result-actions` to render an interactive button that will emit an `atomic/insight/attachToCase/attach` or `atomic/insight/attachToCase/detach` JavaScript event, based on its current state, when clicked.\n *\n * @part result-action-container - The result action container\n * @part result-action-button - The result action button\n * @part result-action-icon - The result action icon\n */\n@Component({\n tag: 'atomic-insight-result-attach-to-case-action',\n styleUrl: 'atomic-insight-result-attach-to-case-action.pcss',\n})\nexport class AtomicInsightResultAttachToCaseAction\n implements InitializableComponent<InsightBindings>\n{\n @InitializeBindings() public bindings!: InsightBindings;\n @ResultContext() private result!: Result;\n\n @Element() host!: HTMLElement;\n @State() public error!: Error;\n\n public attachToCase!: AttachToCase;\n\n @BindStateToController('attachToCase')\n @State()\n public attachToCaseState!: {};\n\n @Event({\n eventName: 'atomic/insight/attachToCase/attach',\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n private attach!: EventEmitter<InsightResultAttachToCaseEvent>;\n\n @Event({\n eventName: 'atomic/insight/attachToCase/detach',\n composed: true,\n cancelable: true,\n bubbles: true,\n })\n private detach!: EventEmitter<InsightResultAttachToCaseEvent>;\n\n public initialize() {\n const caseId: string =\n this.bindings.engine.state.insightCaseContext?.caseId || '';\n this.attachToCase = buildAttachToCase(this.bindings.engine, {\n options: {\n result: this.result,\n caseId: caseId,\n },\n });\n }\n\n private onClick() {\n if (this.attachToCase.isAttached()) {\n this.detach.emit({\n callback: this.attachToCase.detach,\n result: this.result,\n });\n } else {\n this.attach.emit({\n callback: this.attachToCase.attach,\n result: this.result,\n });\n }\n }\n\n private getIcon() {\n return this.attachToCase.isAttached() ? DetachIcon : AttachIcon;\n }\n\n private getTooltip() {\n return this.attachToCase.isAttached()\n ? this.bindings.i18n.t('detach-from-case')\n : this.bindings.i18n.t('attach-to-case');\n }\n\n public render() {\n return (\n <IconButton\n partPrefix=\"result-action\"\n style=\"outline-neutral\"\n icon={this.getIcon()}\n title={this.getTooltip()}\n onClick={() => this.onClick()}\n />\n );\n }\n}\n"],"version":3}
|
|
@@ -8,7 +8,7 @@ const headless = require('@coveo/headless');
|
|
|
8
8
|
const preview = require('./preview-8eebe5d5.js');
|
|
9
9
|
const initializationUtils = require('./initialization-utils-92f1b080.js');
|
|
10
10
|
const stencilAccessibilityUtils = require('./stencil-accessibility-utils-aa4c9f6c.js');
|
|
11
|
-
const
|
|
11
|
+
const stencilIconButton = require('./stencil-iconButton-5123b12a.js');
|
|
12
12
|
const resultTemplateDecorators = require('./result-template-decorators-432d11a9.js');
|
|
13
13
|
require('./dom-utils-d4790328.js');
|
|
14
14
|
require('./event-utils-9bfcf3c5.js');
|
|
@@ -118,7 +118,7 @@ const AtomicInsightResultQuickviewAction = class {
|
|
|
118
118
|
this.addQuickviewModalIfNeeded();
|
|
119
119
|
this.updateModalContent();
|
|
120
120
|
if (this.shouldRenderQuickview) {
|
|
121
|
-
return (index.h(
|
|
121
|
+
return (index.h(stencilIconButton.IconButton, { key: '698105b2d499265382912ab9404da93dd4a78f90', partPrefix: "result-action", style: "outline-neutral", ref: this.focusTarget.setTarget, icon: preview.QuickviewIcon, title: this.bindings.i18n.t('quickview'), onClick: () => this.onClick() }));
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
get host() { return index.getElement(this); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-insight-result-quickview-action.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,qCAAqC,GAAG,mgiEAAmgiE,CAAC;AACljiE,iDAAe,qCAAqC;;;;;;;;;;;;MC4BvC,kCAAkC;;;;;;;;;;;;;;QA6BtC,YAAO,GAAG,qDAAqD,CAAC;;;uBAAtD,qDAAqD;;IAM/D,eAAe,CAAC,GAAU;QAC/B,GAAG,CAAC,wBAAwB,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;KACvB;IAGM,mBAAmB,CAAC,GAAU;QACnC,GAAG,CAAC,wBAAwB,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KAC3B;IAID,IAAW,WAAW;QACpB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAIA,+CAAqB,CAAC,IAAI,CAAC,CAAC;SAC1D;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;KAC/B;IAEM,UAAU;QACf,IAAI,CAAC,SAAS,GAAGC,uBAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACpD,OAAO,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC;SAC/B,CAAC,CAAC;QACH,IAAIC,YAAM,CAAC;YACT,OAAO,EAAE,IAAIC,iBAAW,CAAC;gBACvB,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,mBAAmB;aAC3B,CAAC;SACH,CAAC,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAC,CAAC,CAAC;KACtC;IAEO,yBAAyB;QAC/B,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,OAAO;SACR;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CACjE,wBAAwB,CACzB,CAAC;QACF,IAAI,cAAc,EAAE;YAClB,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC;YACxC,OAAO;SACR;QACD,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;QAC1E,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KACpE;IAEO,kBAAkB;QACxB,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE;YAC1D,IAAI,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;YAC9D,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC5C,IAAI,CAAC,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;YAChE,IAAI,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;YACnE,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,GAAG,MAC1C,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YAE3B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS;kBACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC;kBACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE;oBACvC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa;oBACxC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,YAAY;oBACtC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;iBACzB,CAAC,CAAC;SACR;KACF;IAEO,OAAO,CAAC,KAAkB;QAChC,KAAK,EAAE,eAAe,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;KACrC;IAED,IAAY,qBAAqB;QAC/B,OAAO,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;KAC7C;IAEM,MAAM;QACX,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9B,QACEC,QAACC,
|
|
1
|
+
{"file":"atomic-insight-result-quickview-action.entry.cjs.js","mappings":"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","names":["FocusTargetController","buildQuickview","Schema","StringValue","h","IconButton","QuickviewIcon","InitializeBindings","ResultContext","BindStateToController","AriaLiveRegion"],"sources":["src/components/insight/atomic-insight-result-quickview-action/atomic-insight-result-quickview-action.pcss?tag=atomic-insight-result-quickview-action","src/components/insight/atomic-insight-result-quickview-action/atomic-insight-result-quickview-action.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n","import {Schema, StringValue} from '@coveo/bueno';\nimport {\n buildQuickview,\n QuickviewState,\n Quickview,\n Result,\n} from '@coveo/headless';\nimport {Component, Listen, Prop, State, h, Element} from '@stencil/core';\nimport QuickviewIcon from '../../../images/preview.svg';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {\n AriaLiveRegion,\n FocusTargetController,\n} from '../../../utils/stencil-accessibility-utils';\nimport {IconButton} from '../../common/stencil-iconButton';\nimport {Bindings} from '../../search/atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../../search/result-template-components/result-template-decorators';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-result-quickview-action',\n styleUrl: 'atomic-insight-result-quickview-action.pcss',\n})\nexport class AtomicInsightResultQuickviewAction\n implements InitializableComponent\n{\n @InitializeBindings() public bindings!: Bindings;\n @ResultContext() private result!: Result;\n\n private buttonFocusTarget?: FocusTargetController;\n\n @Element() host!: HTMLElement;\n @State() public error!: Error;\n\n public quickview!: Quickview;\n\n @BindStateToController('quickview')\n @State()\n public quickviewState!: QuickviewState;\n\n /**\n * The `sandbox` attribute to apply to the quickview iframe.\n *\n * The quickview is loaded inside an iframe with a [`sandbox`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-sandbox) attribute for security reasons.\n *\n * This attribute exists primarily to protect against potential XSS attacks that could originate from the document being displayed.\n *\n * By default, the sandbox attributes are: `allow-popups allow-top-navigation allow-same-origin`.\n *\n * `allow-same-origin` is not optional, and must always be included in the list of allowed capabilities for the component to function properly.\n */\n @Prop()\n public sandbox = 'allow-popups allow-top-navigation allow-same-origin';\n\n @AriaLiveRegion('quickview')\n protected quickviewAriaMessage!: string;\n\n @Listen('atomic/quickview/next', {target: 'body'})\n public onNextQuickview(evt: Event) {\n evt.stopImmediatePropagation();\n this.quickview.next();\n }\n\n @Listen('atomic/quickview/previous', {target: 'body'})\n public onPreviousQuickview(evt: Event) {\n evt.stopImmediatePropagation();\n this.quickview.previous();\n }\n\n private quickviewModalRef?: HTMLAtomicQuickviewModalElement;\n\n public get focusTarget() {\n if (!this.buttonFocusTarget) {\n this.buttonFocusTarget = new FocusTargetController(this);\n }\n return this.buttonFocusTarget;\n }\n\n public initialize() {\n this.quickview = buildQuickview(this.bindings.engine, {\n options: {result: this.result},\n });\n new Schema({\n sandbox: new StringValue({\n required: true,\n regex: /allow-same-origin/,\n }),\n }).validate({sandbox: this.sandbox});\n }\n\n private addQuickviewModalIfNeeded() {\n if (this.quickviewModalRef) {\n return;\n }\n\n const quickviewModal = this.bindings.interfaceElement.querySelector(\n 'atomic-quickview-modal'\n );\n if (quickviewModal) {\n this.quickviewModalRef = quickviewModal;\n return;\n }\n this.quickviewModalRef = document.createElement('atomic-quickview-modal');\n this.quickviewModalRef.setAttribute('sandbox', this.sandbox);\n this.bindings.interfaceElement.appendChild(this.quickviewModalRef);\n }\n\n private updateModalContent() {\n if (this.quickviewModalRef && this.quickview.state.content) {\n this.quickviewModalRef.content = this.quickview.state.content;\n this.quickviewModalRef.result = this.result;\n this.quickviewModalRef.total = this.quickviewState.totalResults;\n this.quickviewModalRef.current = this.quickviewState.currentResult;\n this.quickviewModalRef.modalCloseCallback = () =>\n this.focusTarget.focus();\n\n this.quickviewAriaMessage = this.quickviewState.isLoading\n ? this.bindings.i18n.t('quickview-loading')\n : this.bindings.i18n.t('quickview-loaded', {\n first: this.quickviewState.currentResult,\n last: this.quickviewState.totalResults,\n title: this.result.title,\n });\n }\n }\n\n private onClick(event?: MouseEvent) {\n event?.stopPropagation();\n this.quickview.fetchResultContent();\n }\n\n private get shouldRenderQuickview() {\n return this.quickviewState.resultHasPreview;\n }\n\n public render() {\n this.addQuickviewModalIfNeeded();\n this.updateModalContent();\n if (this.shouldRenderQuickview) {\n return (\n <IconButton\n partPrefix=\"result-action\"\n style=\"outline-neutral\"\n ref={this.focusTarget.setTarget}\n icon={QuickviewIcon}\n title={this.bindings.i18n.t('quickview')}\n onClick={() => this.onClick()}\n />\n );\n }\n }\n}\n"],"version":3}
|
|
@@ -6,7 +6,7 @@ const index = require('./index-757bc886.js');
|
|
|
6
6
|
const insight = require('@coveo/headless/insight');
|
|
7
7
|
const clock = require('./clock-f03ff827.js');
|
|
8
8
|
const initializationUtils = require('./initialization-utils-92f1b080.js');
|
|
9
|
-
const
|
|
9
|
+
const stencilIconButton = require('./stencil-iconButton-5123b12a.js');
|
|
10
10
|
require('./dom-utils-d4790328.js');
|
|
11
11
|
require('./event-utils-9bfcf3c5.js');
|
|
12
12
|
require('./init-queue-a18aa323.js');
|
|
@@ -64,7 +64,7 @@ const AtomicInsightUserActionsToggle = class {
|
|
|
64
64
|
this.modalRef.excludedCustomActions = this.excludedCustomActions;
|
|
65
65
|
}
|
|
66
66
|
render() {
|
|
67
|
-
return (index.h(
|
|
67
|
+
return (index.h(stencilIconButton.IconButton, { key: 'a9c224231c49774724f19129eaec127eab7abd5a', partPrefix: "insight-user-actions-toggle", style: "outline-neutral", icon: clock.Clock, ariaLabel: this.bindings.i18n.t('user-actions'), onClick: () => {
|
|
68
68
|
this.enableModal();
|
|
69
69
|
}, title: this.bindings.i18n.t('user-actions'), buttonRef: (button) => {
|
|
70
70
|
if (!button) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-insight-user-actions-toggle.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;AAAA,MAAM,iCAAiC,GAAG,mgiEAAmgiE,CAAC;AAC9iiE,6CAAe,iCAAiC;;;;;;;;;;;;MCuBnC,8BAA8B;;;;;;QAsB1B,0BAAqB,GAAa,EAAE,CAAC;;;;;qCAAH,EAAE;;IAE5C,UAAU;QACf,IAAI,CAAC,WAAW,GAAGA,wBAAuB,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,QACEC,QAACC,
|
|
1
|
+
{"file":"atomic-insight-user-actions-toggle.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;AAAA,MAAM,iCAAiC,GAAG,mgiEAAmgiE,CAAC;AAC9iiE,6CAAe,iCAAiC;;;;;;;;;;;;MCuBnC,8BAA8B;;;;;;QAsB1B,0BAAqB,GAAa,EAAE,CAAC;;;;;qCAAH,EAAE;;IAE5C,UAAU;QACf,IAAI,CAAC,WAAW,GAAGA,wBAAuB,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,QACEC,QAACC,4BAAU,qDACT,UAAU,EAAC,6BAA6B,EACxC,KAAK,EAAC,iBAAiB,EACvB,IAAI,EAAEC,WAAS,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;IAA5BC,sCAAkB,EAAE;gEAAmC;AAIjD;IAFNC,yCAAqB,CAAC,aAAa,CAAC;wEAEa;;;;;","names":["buildInsightUserActions","h","IconButton","Clockicon","InitializeBindings","BindStateToController"],"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/stencil-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}
|
|
@@ -6,7 +6,7 @@ const index = require('./index-757bc886.js');
|
|
|
6
6
|
const headless = require('@coveo/headless');
|
|
7
7
|
const filter = require('./filter-52d344d2.js');
|
|
8
8
|
const initializationUtils = require('./initialization-utils-92f1b080.js');
|
|
9
|
-
const
|
|
9
|
+
const stencilIconButton = require('./stencil-iconButton-5123b12a.js');
|
|
10
10
|
require('./dom-utils-d4790328.js');
|
|
11
11
|
require('./event-utils-9bfcf3c5.js');
|
|
12
12
|
require('./init-queue-a18aa323.js');
|
|
@@ -68,7 +68,7 @@ const AtomicIPXRefineToggle = class {
|
|
|
68
68
|
this.modalRef.collapseFacetsAfter = this.collapseFacetsAfter;
|
|
69
69
|
}
|
|
70
70
|
render() {
|
|
71
|
-
return (index.h(
|
|
71
|
+
return (index.h(stencilIconButton.IconButton, { key: 'e1e001a72088b2826693d280565c6548712d72dc', partPrefix: "ipx-refine-toggle", class: "icon-button", style: "outline-neutral", title: this.bindings.i18n.t('filters'), icon: filter.FilterIcon, disabled: !this.searchStatusState.hasResults && !this.numberOfBreadcrumbs, ariaLabel: this.bindings.i18n.t('sort'), onClick: () => {
|
|
72
72
|
this.bindings.store.waitUntilAppLoaded(() => {
|
|
73
73
|
this.enableModal();
|
|
74
74
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"atomic-ipx-refine-toggle.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;AAAA,MAAM,wBAAwB,GAAG,g6iEAAg6iE,CAAC;AACl8iE,oCAAe,wBAAwB;;;;;;;;;;;;MCwB1B,qBAAqB;;;;;;;;;QAoBF,wBAAmB,GAAG,CAAC,CAAC;;;;mCAAF,CAAC;;IAOrD,IAAY,mBAAmB;QAC7B,OAAO;YACL,GAAG,IAAI,CAAC,sBAAsB,CAAC,gBAAgB;YAC/C,GAAG,IAAI,CAAC,sBAAsB,CAAC,wBAAwB;YACvD,GAAG,IAAI,CAAC,sBAAsB,CAAC,uBAAuB;YACtD,GAAG,IAAI,CAAC,sBAAsB,CAAC,oBAAoB;YACnD,GAAG,IAAI,CAAC,sBAAsB,CAAC,uBAAuB;SACvD,CAAC,MAAM,CAAC;KACV;IAEM,UAAU;QACf,IAAI,CAAC,iBAAiB,GAAGA,+BAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,GAAGC,0BAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KAC7D;IAEO,WAAW;QACjB,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;KAChD;IAEO,SAAS;QACf,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,qBAAqB,CAC5C,aAAa,EACb,IAAI,CAAC,QAAQ,CACd,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;KAC9D;IAEM,MAAM;QACX,QACEC,QAACC,
|
|
1
|
+
{"file":"atomic-ipx-refine-toggle.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;AAAA,MAAM,wBAAwB,GAAG,g6iEAAg6iE,CAAC;AACl8iE,oCAAe,wBAAwB;;;;;;;;;;;;MCwB1B,qBAAqB;;;;;;;;;QAoBF,wBAAmB,GAAG,CAAC,CAAC;;;;mCAAF,CAAC;;IAOrD,IAAY,mBAAmB;QAC7B,OAAO;YACL,GAAG,IAAI,CAAC,sBAAsB,CAAC,gBAAgB;YAC/C,GAAG,IAAI,CAAC,sBAAsB,CAAC,wBAAwB;YACvD,GAAG,IAAI,CAAC,sBAAsB,CAAC,uBAAuB;YACtD,GAAG,IAAI,CAAC,sBAAsB,CAAC,oBAAoB;YACnD,GAAG,IAAI,CAAC,sBAAsB,CAAC,uBAAuB;SACvD,CAAC,MAAM,CAAC;KACV;IAEM,UAAU;QACf,IAAI,CAAC,iBAAiB,GAAGA,+BAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,GAAGC,0BAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KAC7D;IAEO,WAAW;QACjB,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;KAChD;IAEO,SAAS;QACf,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,qBAAqB,CAC5C,aAAa,EACb,IAAI,CAAC,QAAQ,CACd,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;KAC9D;IAEM,MAAM;QACX,QACEC,QAACC,4BAAU,qDACT,UAAU,EAAC,mBAAmB,EAC9B,KAAK,EAAC,aAAa,EACnB,KAAK,EAAC,iBAAiB,EACvB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EACtC,IAAI,EAAEC,iBAAU,EAChB,QAAQ,EACN,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAEjE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EACvC,OAAO,EAAE;gBACP,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC;oBACrC,IAAI,CAAC,WAAW,EAAE,CAAC;iBACpB,CAAC,CAAC;aACJ,EACD,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,EACD,KAAK,EACH,IAAI,CAAC,sBAAsB,CAAC,cAAc,IACxCF,sBAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAQ,IAChD,SAAS,GAEf,EACF;KACH;;;AA1F4B;IAA5BG,sCAAkB,EAAE;uDAA4B;AAOzC;IAFPC,yCAAqB,CAAC,mBAAmB,CAAC;qEAEa;AAIhD;IAFPA,yCAAqB,CAAC,cAAc,CAAC;gEAEQ;;;;;","names":["buildBreadcrumbManager","buildSearchStatus","h","IconButton","FilterIcon","InitializeBindings","BindStateToController"],"sources":["src/components/ipx/atomic-ipx-refine-toggle/atomic-ipx-refine-toggle.pcss?tag=atomic-ipx-refine-toggle&encapsulation=shadow","src/components/ipx/atomic-ipx-refine-toggle/atomic-ipx-refine-toggle.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n\n[part='ipx-refine-toggle-button'] {\n @apply h-full w-auto;\n}\n\n[part='ipx-refine-toggle-badge'] {\n @apply h-5 w-5 text-xs leading-5;\n}\n\n[part='ipx-refine-toggle-icon'] {\n @apply h-5 w-5;\n}\n","import {\n BreadcrumbManager,\n BreadcrumbManagerState,\n buildBreadcrumbManager,\n buildSearchStatus,\n SearchStatus,\n SearchStatusState,\n} from '@coveo/headless';\nimport {Component, h, State, Element, Prop} from '@stencil/core';\nimport FilterIcon from '../../../images/filter.svg';\nimport {\n InitializeBindings,\n BindStateToController,\n} from '../../../utils/initialization-utils';\nimport {IconButton} from '../../common/stencil-iconButton';\nimport {Bindings} from '../../search/atomic-search-interface/atomic-search-interface';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-ipx-refine-toggle',\n styleUrl: 'atomic-ipx-refine-toggle.pcss',\n shadow: true,\n})\nexport class AtomicIPXRefineToggle {\n @InitializeBindings() public bindings!: Bindings;\n @Element() public host!: HTMLElement;\n\n @State() public error!: Error;\n\n @BindStateToController('breadcrumbManager')\n @State()\n private breadcrumbManagerState!: BreadcrumbManagerState;\n\n @BindStateToController('searchStatus')\n @State()\n private searchStatusState!: SearchStatusState;\n\n /**\n * The number of expanded facets inside the refine modal.\n * Remaining facets are automatically collapsed.\n *\n * Using the value `0` collapses all facets.\n */\n @Prop({reflect: true}) public collapseFacetsAfter = 0;\n\n public breadcrumbManager!: BreadcrumbManager;\n public searchStatus!: SearchStatus;\n private modalRef?: HTMLAtomicIpxRefineModalElement;\n private buttonRef?: HTMLButtonElement;\n\n private get numberOfBreadcrumbs(): number {\n return [\n ...this.breadcrumbManagerState.facetBreadcrumbs,\n ...this.breadcrumbManagerState.categoryFacetBreadcrumbs,\n ...this.breadcrumbManagerState.numericFacetBreadcrumbs,\n ...this.breadcrumbManagerState.dateFacetBreadcrumbs,\n ...this.breadcrumbManagerState.staticFilterBreadcrumbs,\n ].length;\n }\n\n public initialize() {\n this.breadcrumbManager = buildBreadcrumbManager(this.bindings.engine);\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n }\n\n private enableModal() {\n this.modalRef && (this.modalRef.isOpen = true);\n }\n\n private loadModal() {\n if (this.modalRef) {\n return;\n }\n\n this.modalRef = document.createElement('atomic-ipx-refine-modal');\n this.host.parentElement?.insertAdjacentElement(\n 'beforebegin',\n this.modalRef\n );\n this.modalRef.openButton = this.buttonRef;\n this.modalRef.collapseFacetsAfter = this.collapseFacetsAfter;\n }\n\n public render() {\n return (\n <IconButton\n partPrefix=\"ipx-refine-toggle\"\n class=\"icon-button\"\n style=\"outline-neutral\"\n title={this.bindings.i18n.t('filters')}\n icon={FilterIcon}\n disabled={\n !this.searchStatusState.hasResults && !this.numberOfBreadcrumbs\n }\n ariaLabel={this.bindings.i18n.t('sort')}\n onClick={() => {\n this.bindings.store.waitUntilAppLoaded(() => {\n this.enableModal();\n });\n }}\n buttonRef={(button?: HTMLButtonElement) => {\n if (!button) {\n return;\n }\n this.buttonRef = button;\n this.loadModal();\n }}\n badge={\n this.breadcrumbManagerState.hasBreadcrumbs ? (\n <slot>{this.numberOfBreadcrumbs.toString()}</slot>\n ) : undefined\n }\n />\n );\n }\n}\n"],"version":3}
|