@coveo/atomic 3.33.0 → 3.33.1-pre.3b2f3850a0
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/atomic.esm.js.map +1 -1
- package/dist/atomic/components/analytics-config.js +1 -1
- package/dist/atomic/components/analytics-config.js.map +1 -1
- package/dist/atomic/components/atomic-citation.js +1 -547
- package/dist/atomic/components/atomic-citation.js.map +1 -1
- package/dist/{esm/atomic-citation.entry.js → atomic/components/atomic-citation2.js} +35 -13
- package/dist/atomic/components/atomic-citation2.js.map +1 -0
- package/dist/atomic/components/atomic-generated-answer-feedback-modal.js +1 -440
- package/dist/atomic/components/atomic-generated-answer-feedback-modal.js.map +1 -1
- package/dist/{esm/atomic-generated-answer-feedback-modal.entry.js → atomic/components/atomic-generated-answer-feedback-modal2.js} +55 -25
- package/dist/atomic/components/atomic-generated-answer-feedback-modal2.js.map +1 -0
- package/dist/atomic/components/atomic-generated-answer.js +88 -28
- package/dist/atomic/components/atomic-generated-answer.js.map +1 -1
- package/dist/atomic/components/atomic-insight-generated-answer.js +95 -34
- package/dist/atomic/components/atomic-insight-generated-answer.js.map +1 -1
- package/dist/atomic/components/atomic-ipx-result-link.js +1 -1
- package/dist/atomic/components/atomic-popover.js +1 -1
- package/dist/atomic/components/atomic-result-link.js +1 -1
- package/dist/atomic/components/attributes-slot.js +1 -1
- package/dist/atomic/components/createPopper.js +1 -1
- package/dist/atomic/components/generated-answer-common.js +146 -238
- package/dist/atomic/components/generated-answer-common.js.map +1 -1
- package/dist/atomic/components/global/environment.js +1 -1
- package/dist/atomic/components/popper-lite.js +1 -1
- package/dist/atomic/components/slot-utils.js +1 -1
- package/dist/atomic/components/tab-popover.js +1 -1
- package/dist/atomic/p-01531448.entry.js +2 -0
- package/dist/atomic/p-01531448.entry.js.map +1 -0
- package/dist/atomic/p-027b85e5.js +2 -0
- package/dist/atomic/{p-bed5a86b.js.map → p-027b85e5.js.map} +1 -1
- package/dist/atomic/{p-7b9026d7.js → p-07f25674.js} +2 -2
- package/dist/atomic/{p-75b863ea.entry.js → p-0ff341d5.entry.js} +2 -2
- package/dist/atomic/{p-eb026d69.entry.js → p-129799b2.entry.js} +2 -2
- package/dist/atomic/p-284f3c50.js +2 -0
- package/dist/atomic/p-284f3c50.js.map +1 -0
- package/dist/atomic/p-33201620.entry.js +2 -0
- package/dist/atomic/p-33201620.entry.js.map +1 -0
- package/dist/atomic/{p-8b6aaeed.entry.js → p-333be187.entry.js} +2 -2
- package/dist/atomic/{p-ba67a16b.js → p-3b58a34d.js} +2 -2
- package/dist/atomic/{p-ba67a16b.js.map → p-3b58a34d.js.map} +1 -1
- package/dist/atomic/{p-946fe85f.js → p-4aaffb59.js} +2 -2
- package/dist/atomic/{p-48c8a766.entry.js → p-5730dec7.entry.js} +2 -2
- package/dist/atomic/p-5d785d02.entry.js +2 -0
- package/dist/atomic/p-5d785d02.entry.js.map +1 -0
- package/dist/atomic/{p-9da1c516.entry.js → p-6481379f.entry.js} +2 -2
- package/dist/atomic/{p-bfdecd0f.entry.js → p-6f5d26cb.entry.js} +2 -2
- package/dist/atomic/{p-ca0a32dc.entry.js → p-dd93ae9a.entry.js} +2 -2
- package/dist/cjs/_loader.cjs.js +1 -1
- package/dist/cjs/{analytics-config-f34a68ee.js → analytics-config-de09a791.js} +2 -2
- package/dist/cjs/analytics-config-de09a791.js.map +1 -0
- package/dist/cjs/{atomic-generated-answer-feedback-modal.cjs.entry.js → atomic-citation_2.cjs.entry.js} +526 -1
- package/dist/cjs/atomic-citation_2.cjs.entry.js.map +1 -0
- package/dist/cjs/atomic-generated-answer.cjs.entry.js +62 -27
- package/dist/cjs/atomic-generated-answer.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +68 -32
- package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic-search-interface.cjs.entry.js +1 -1
- package/dist/cjs/atomic.cjs.js +1 -1
- package/dist/cjs/{generated-answer-common-4cd4b7c6.js → generated-answer-common-469ad0e8.js} +152 -237
- package/dist/cjs/generated-answer-common-469ad0e8.js.map +1 -0
- package/dist/cjs/index-757bc886.js +4 -8
- package/dist/cjs/version.cjs.js +2 -2
- package/dist/esm/_loader.js +1 -1
- package/dist/esm/{analytics-config-672b6eba.js → analytics-config-19fa5599.js} +2 -2
- package/dist/esm/analytics-config-19fa5599.js.map +1 -0
- package/dist/esm/atomic-citation_2.entry.js +938 -0
- package/dist/esm/atomic-citation_2.entry.js.map +1 -0
- package/dist/esm/atomic-generated-answer.entry.js +64 -29
- package/dist/esm/atomic-generated-answer.entry.js.map +1 -1
- package/dist/esm/atomic-insight-generated-answer.entry.js +71 -35
- package/dist/esm/atomic-insight-generated-answer.entry.js.map +1 -1
- package/dist/esm/atomic-insight-interface.entry.js +1 -1
- package/dist/esm/atomic-popover.entry.js +2 -2
- package/dist/esm/atomic-recs-interface.entry.js +1 -1
- package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +1 -1
- package/dist/esm/atomic-search-box.entry.js +1 -1
- package/dist/esm/atomic-search-interface.entry.js +2 -2
- package/dist/esm/atomic-tab-bar_2.entry.js +2 -2
- package/dist/esm/atomic.js +1 -1
- package/dist/esm/{createPopper-a633eb88.js → createPopper-ed15cfea.js} +2 -2
- package/dist/esm/{createPopper-a633eb88.js.map → createPopper-ed15cfea.js.map} +1 -1
- package/dist/esm/{generated-answer-common-06146290.js → generated-answer-common-184a3c08.js} +147 -239
- package/dist/esm/generated-answer-common-184a3c08.js.map +1 -0
- package/dist/esm/index-3f35faca.js +4 -8
- package/dist/esm/{local-storage-utils-410269e6.js → local-storage-utils-a4bf8fba.js} +2 -2
- package/dist/esm/{local-storage-utils-410269e6.js.map → local-storage-utils-a4bf8fba.js.map} +1 -1
- package/dist/esm/{popper-lite-2035100c.js → popper-lite-4b6382b2.js} +2 -2
- package/dist/esm/{popper-lite-2035100c.js.map → popper-lite-4b6382b2.js.map} +1 -1
- package/dist/esm/version.js +2 -2
- package/dist/types/components/common/generated-answer/generated-answer-common.d.ts +30 -50
- package/dist/types/components/insight/atomic-insight-generated-answer/atomic-insight-generated-answer.d.ts +11 -3
- package/dist/types/components/search/atomic-generated-answer/atomic-generated-answer.d.ts +9 -1
- package/docs/atomic-docs.json +17 -3
- package/package.json +3 -3
- package/dist/atomic/p-0c076058.entry.js +0 -2
- package/dist/atomic/p-0c076058.entry.js.map +0 -1
- package/dist/atomic/p-421850f9.entry.js +0 -2
- package/dist/atomic/p-421850f9.entry.js.map +0 -1
- package/dist/atomic/p-579c5b46.entry.js +0 -2
- package/dist/atomic/p-579c5b46.entry.js.map +0 -1
- package/dist/atomic/p-5fca1435.js +0 -2
- package/dist/atomic/p-5fca1435.js.map +0 -1
- package/dist/atomic/p-bed5a86b.js +0 -2
- package/dist/atomic/p-e27e1e46.entry.js +0 -2
- package/dist/atomic/p-e27e1e46.entry.js.map +0 -1
- package/dist/cjs/analytics-config-f34a68ee.js.map +0 -1
- package/dist/cjs/atomic-citation.cjs.entry.js +0 -533
- package/dist/cjs/atomic-citation.cjs.entry.js.map +0 -1
- package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js.map +0 -1
- package/dist/cjs/generated-answer-common-4cd4b7c6.js.map +0 -1
- package/dist/esm/analytics-config-672b6eba.js.map +0 -1
- package/dist/esm/atomic-citation.entry.js.map +0 -1
- package/dist/esm/atomic-generated-answer-feedback-modal.entry.js.map +0 -1
- package/dist/esm/generated-answer-common-06146290.js.map +0 -1
- /package/dist/atomic/{p-7b9026d7.js.map → p-07f25674.js.map} +0 -0
- /package/dist/atomic/{p-75b863ea.entry.js.map → p-0ff341d5.entry.js.map} +0 -0
- /package/dist/atomic/{p-eb026d69.entry.js.map → p-129799b2.entry.js.map} +0 -0
- /package/dist/atomic/{p-8b6aaeed.entry.js.map → p-333be187.entry.js.map} +0 -0
- /package/dist/atomic/{p-946fe85f.js.map → p-4aaffb59.js.map} +0 -0
- /package/dist/atomic/{p-48c8a766.entry.js.map → p-5730dec7.entry.js.map} +0 -0
- /package/dist/atomic/{p-9da1c516.entry.js.map → p-6481379f.entry.js.map} +0 -0
- /package/dist/atomic/{p-bfdecd0f.entry.js.map → p-6f5d26cb.entry.js.map} +0 -0
- /package/dist/atomic/{p-ca0a32dc.entry.js.map → p-dd93ae9a.entry.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"atomic-citation.entry.js","mappings":"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","names":["hash","allPlacements","placements","offset","flip","arrow","hide"],"sources":["../../node_modules/@popperjs/core/lib/modifiers/arrow.js","../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../../node_modules/@popperjs/core/lib/modifiers/flip.js","../../node_modules/@popperjs/core/lib/modifiers/hide.js","../../node_modules/@popperjs/core/lib/modifiers/offset.js","../../node_modules/@popperjs/core/lib/popper.js","src/components/common/generated-answer/atomic-citation/citation-anchoring-utils.ts","src/components/common/generated-answer/atomic-citation/atomic-citation.pcss?tag=atomic-citation","src/components/common/generated-answer/atomic-citation/atomic-citation.tsx"],"sourcesContent":["import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","export function extractTextToHighlight(text: string) {\n text = text.trim();\n const sentenceRegex =\n /(?<=^|\\p{P}\\s)\\p{P}?\\p{Lu}.*?[.!?]+(?=\\s+(?:\\p{Lu}|\\d)|$)/gu;\n const fallbackWordCount = 5;\n const sentences = text.match(sentenceRegex);\n if (sentences?.length) {\n return sentences[0].trim();\n }\n return text.split(/\\s+/).slice(0, fallbackWordCount).join(' ');\n}\n\nexport function generateTextFragmentUrl(\n uri: string,\n text?: string,\n filetype?: string\n) {\n if (filetype !== 'html' || !text) {\n return uri;\n }\n const highlight = extractTextToHighlight(text);\n const encodedTextFragment = encodeURIComponent(highlight).replace(\n /-/g,\n '%2D'\n );\n return `${uri}#:~:text=${encodedTextFragment}`;\n}\n\nexport function generatePdfPageUrl(uri: string, pageNumber?: number) {\n if (!pageNumber || pageNumber <= 0) {\n return uri;\n }\n return `${uri}#page=${pageNumber}`;\n}\n","@import '../../../../global/global.pcss';\n\n@import '../../../../utils/tailwind-utilities/set-font-size.tw.css';\n\n[part='citation'] {\n --height: 2.2em;\n --index-height: 1.1em;\n --max-citation-width: 400px;\n\n max-width: var(--max-citation-width);\n height: var(--height);\n}\n\n[part='citation-popover'] {\n --popover-width: 350px;\n\n width: var(--popover-width);\n\n p {\n @apply set-font-size-sm;\n }\n}\n","import {GeneratedAnswerCitation, InteractiveCitation} from '@coveo/headless';\nimport {\n createPopper,\n preventOverflow,\n Instance as PopperInstance,\n} from '@popperjs/core';\nimport {Component, h, State, Prop, Element, Watch} from '@stencil/core';\nimport {LinkWithItemAnalytics} from '../../item-link/stencil-item-link';\nimport {Heading} from '../../stencil-heading';\nimport {generateTextFragmentUrl, generatePdfPageUrl} from './citation-anchoring-utils';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-citation',\n styleUrl: 'atomic-citation.pcss',\n})\nexport class AtomicCitation {\n @Element() public host!: HTMLElement;\n\n /**\n * The citation item information.\n */\n @Prop() citation!: GeneratedAnswerCitation;\n /**\n * The citation index.\n */\n @Prop() index!: number;\n /**\n * Callback function invoked when the user stops hovering over a citation. `citationHoverTimeMs` is the amount of time over which the citation has been hovered.\n */\n @Prop() sendHoverEndEvent!: (citationHoverTimeMs: number) => void;\n /**\n * An `InteractiveCitation` controller instance. It is used when the user interacts with the citation by selecting or hovering over it.\n */\n @Prop() interactiveCitation!: InteractiveCitation;\n /**\n * Option to disable citation anchoring.\n * @default false\n */\n @Prop() disableCitationAnchoring: boolean = false;\n\n @State() public isOpen = false;\n\n private citationRef!: HTMLElement;\n private popupRef!: HTMLElement;\n private popperInstance?: PopperInstance;\n private stopPropagation?: boolean;\n\n private hoverStart?: number;\n private hoverAnalyticsTimeout = 1000;\n\n private hoverTimeout?: ReturnType<typeof setTimeout>;\n private hoverDebounceTimeoutMs = 200;\n\n @Watch('isOpen')\n sendHoverAnalytics() {\n if (this.isOpen) {\n this.hoverStart = new Date().getTime();\n return;\n }\n if (!this.hoverStart) {\n return;\n }\n const difference = new Date().getTime() - this.hoverStart;\n if (difference > this.hoverAnalyticsTimeout) {\n this.sendHoverEndEvent(difference);\n }\n this.hoverStart = undefined;\n }\n\n public componentDidRender() {\n if (this.popperInstance || !this.citationRef || !this.popupRef) {\n return;\n }\n\n this.popperInstance = createPopper(this.citationRef, this.popupRef, {\n placement: 'top-start',\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 6],\n },\n },\n preventOverflow,\n ],\n });\n }\n\n public componentDidUpdate() {\n this.popperInstance?.forceUpdate();\n }\n\n private getTruncatedText() {\n return (\n this.citation.text &&\n `${this.citation.text?.trim().slice(0, 200)}${\n this.citation.text.length > 200 ? '...' : ''\n }`\n );\n }\n\n private anchorUrl(\n uri: string,\n text?: string,\n filetype?: string, \n pageNumber?: number\n ) {\n if (this.disableCitationAnchoring) {\n return uri;\n }\n\n switch (filetype) {\n case 'html':\n return generateTextFragmentUrl(uri, text, filetype);\n case 'pdf':\n return generatePdfPageUrl(uri, pageNumber);\n default:\n return uri;\n }\n }\n\n private openPopover = () => {\n this.isOpen = true;\n };\n\n private closePopover = () => {\n clearTimeout(this.hoverTimeout);\n this.isOpen = false;\n };\n\n private delayedPopoverOpen = () => {\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = setTimeout(\n this.openPopover,\n this.hoverDebounceTimeoutMs\n );\n };\n\n private renderPopover() {\n return (\n <div\n part=\"citation-popover\"\n class={`border-neutral bg-background z-10 rounded-md border p-4 shadow ${\n this.isOpen ? 'desktop-only:flex' : 'hidden'\n } mobile-only:hidden flex-col gap-3`}\n ref={(el) => (this.popupRef = el!)}\n role=\"dialog\"\n >\n <div class=\"text-neutral-dark truncate text-sm\">\n {this.citation.uri}\n </div>\n <Heading level={0} class=\"text-md font-bold\">\n {this.citation.title}\n </Heading>\n <p class=\"text-on-background text-sm\">{this.getTruncatedText()}</p>\n </div>\n );\n }\n\n public render() {\n return (\n <div class=\"relative\">\n <LinkWithItemAnalytics\n href={this.anchorUrl(\n this.citation.clickUri ?? this.citation.uri,\n this.citation.text,\n this.citation.fields?.filetype,\n )}\n ref={(el) => (this.citationRef = el!)}\n part=\"citation\"\n target=\"_blank\"\n rel=\"noopener\"\n aria-haspopup=\"dialog\"\n className=\"bg-background btn-outline-primary border-neutral text-on-background flex items-center rounded-full border p-1\"\n onSelect={() => this.interactiveCitation.select()}\n onBeginDelayedSelect={() =>\n this.interactiveCitation.beginDelayedSelect()\n }\n onCancelPendingSelect={() =>\n this.interactiveCitation.cancelPendingSelect()\n }\n stopPropagation={this.stopPropagation}\n onMouseLeave={this.closePopover}\n onMouseOver={this.delayedPopoverOpen}\n onFocus={this.openPopover}\n onBlur={this.closePopover}\n >\n <span class=\"citation-title mx-1 truncate\">\n {this.citation.title}\n </span>\n </LinkWithItemAnalytics>\n {this.renderPopover()}\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"atomic-generated-answer-feedback-modal.entry.js","mappings":"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","names":[],"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\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}
|