@constructor-io/constructorio-ui-pia 2.6.4 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constructorio-ui-pia-bundled.js +53 -60
- package/lib/cjs/components/CioPia/CioPia.js +2 -1
- package/lib/cjs/components/ConversationHistory/ConversationHistory.js +1 -1
- package/lib/cjs/components/LoadingSkeleton/LoadingSkeleton.js +7 -5
- package/lib/cjs/components/LoadingSkeleton/LoadingSkeletonStyles.css +1 -2
- package/lib/cjs/hooks/useAnswerResults.js +1 -0
- package/lib/cjs/version.js +1 -1
- package/lib/mjs/components/CioPia/CioPia.js +2 -1
- package/lib/mjs/components/ConversationHistory/ConversationHistory.js +1 -1
- package/lib/mjs/components/LoadingSkeleton/LoadingSkeleton.js +7 -5
- package/lib/mjs/components/LoadingSkeleton/LoadingSkeletonStyles.css +1 -2
- package/lib/mjs/hooks/useAnswerResults.js +1 -0
- package/lib/mjs/version.js +1 -1
- package/lib/types/components/LoadingSkeleton/LoadingSkeleton.d.ts +7 -1
- package/lib/types/types.d.ts +5 -1
- package/lib/types/version.d.ts +1 -1
- package/package.json +2 -2
|
@@ -14,6 +14,7 @@ const translate_1 = require("../../utils/translate");
|
|
|
14
14
|
const PiaInlineAnswer_1 = tslib_1.__importDefault(require("../PiaInlineAnswer/PiaInlineAnswer"));
|
|
15
15
|
const PiaModal_1 = tslib_1.__importDefault(require("../PiaConversation/PiaModal"));
|
|
16
16
|
const PiaConversation_1 = tslib_1.__importDefault(require("../PiaConversation/PiaConversation"));
|
|
17
|
+
// eslint-disable-next-line complexity
|
|
17
18
|
function CioPia(props) {
|
|
18
19
|
const { apiKey, itemId, threadId, variationId, cioClient, displayConfigs, componentOverrides, callbacks, formatters, children, translations, suggestedQuestionsParameters, } = props;
|
|
19
20
|
const { learnMoreUrl, showFeedback, mode = 'default', type = 'inline', showPreviousItems, disclaimerPosition = 'bottom', } = displayConfigs || {};
|
|
@@ -68,7 +69,7 @@ function CioPia(props) {
|
|
|
68
69
|
react_1.default.createElement(constructorio_ui_components_1.RenderPropsWrapper, { props: renderProps, override: children || (componentOverrides === null || componentOverrides === void 0 ? void 0 : componentOverrides.reactNode) },
|
|
69
70
|
react_1.default.createElement("p", { className: 'cio-pia-title', "data-testid": 'cio-pia-title' }, (0, translate_1.translate)('Any questions about this product?', translations)),
|
|
70
71
|
react_1.default.createElement(Input_1.default, { onSubmit: handleSubmitQuestion, onFocus: handleInputFocus, value: currentQuestion, translations: translations }),
|
|
71
|
-
isLoading && react_1.default.createElement(LoadingSkeleton_1.default, null),
|
|
72
|
+
isLoading && react_1.default.createElement(LoadingSkeleton_1.default, { componentOverride: componentOverrides === null || componentOverrides === void 0 ? void 0 : componentOverrides.loading }),
|
|
72
73
|
!isLoading && error && react_1.default.createElement(ErrorBlock_1.default, { message: (error === null || error === void 0 ? void 0 : error.message) || 'Unexpected error' }),
|
|
73
74
|
!isLoading && !error && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
74
75
|
currentAnswer && (react_1.default.createElement(PiaInlineAnswer_1.default, { currentAnswer: currentAnswer, currentItems: currentItems, showFeedback: showFeedback, learnMoreUrl: learnMoreUrl, disclaimerPosition: disclaimerPosition, translations: translations, callbacks: callbacks, componentOverrides: componentOverrides })),
|
|
@@ -30,7 +30,7 @@ function ConversationHistory({ conversationHistory, isLoading, error, currentIte
|
|
|
30
30
|
return (react_1.default.createElement("div", { key: entry.id, className: 'cio-pia-conversation-entry' },
|
|
31
31
|
react_1.default.createElement("div", { className: 'cio-pia-chat-question' }, entry.question),
|
|
32
32
|
isLast && isLoading && (react_1.default.createElement("div", { className: 'cio-pia-conversation-loading', "aria-live": 'polite' },
|
|
33
|
-
react_1.default.createElement(LoadingSkeleton_1.default, null))),
|
|
33
|
+
react_1.default.createElement(LoadingSkeleton_1.default, { componentOverride: componentOverrides === null || componentOverrides === void 0 ? void 0 : componentOverrides.loading }))),
|
|
34
34
|
isLast && !isLoading && error && (react_1.default.createElement(ErrorBlock_1.default, { message: error.message || 'Unexpected error' })),
|
|
35
35
|
entry.answer && (react_1.default.createElement("div", { className: 'cio-pia-answer-container' },
|
|
36
36
|
react_1.default.createElement(Answer_1.default, { text: entry.answer, componentOverride: componentOverrides === null || componentOverrides === void 0 ? void 0 : componentOverrides.answer }),
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
const constructorio_ui_components_1 = require("@constructor-io/constructorio-ui-components");
|
|
6
|
+
const skeleton = (react_1.default.createElement("div", { className: 'cio-pia-loading-skeleton', "data-testid": 'loading-skeleton' },
|
|
7
|
+
react_1.default.createElement("div", { className: 'skeleton-bar' }),
|
|
8
|
+
react_1.default.createElement("div", { className: 'skeleton-bar' }),
|
|
9
|
+
react_1.default.createElement("div", { className: 'skeleton-bar skeleton-short' })));
|
|
10
|
+
function LoadingSkeleton({ componentOverride } = {}) {
|
|
11
|
+
return (react_1.default.createElement(constructorio_ui_components_1.RenderPropsWrapper, { props: { skeleton }, override: componentOverride === null || componentOverride === void 0 ? void 0 : componentOverride.reactNode }, skeleton));
|
|
10
12
|
}
|
|
11
13
|
exports.default = LoadingSkeleton;
|
|
@@ -36,6 +36,7 @@ function useAnswerResults({ itemId, variationId, threadId, cioClient, formatImag
|
|
|
36
36
|
return;
|
|
37
37
|
setIsLoading(true);
|
|
38
38
|
setError(null);
|
|
39
|
+
setAnswerResults(null);
|
|
39
40
|
fetchAnswerResults({ client: cioClient, itemId, question, variationId, threadId })
|
|
40
41
|
.then((fetchedAnswerResults) => {
|
|
41
42
|
setAnswerResults(fetchedAnswerResults);
|
package/lib/cjs/version.js
CHANGED
|
@@ -11,6 +11,7 @@ import { translate } from '../../utils/translate';
|
|
|
11
11
|
import PiaInlineAnswer from '../PiaInlineAnswer/PiaInlineAnswer';
|
|
12
12
|
import PiaModal from '../PiaConversation/PiaModal';
|
|
13
13
|
import PiaConversation from '../PiaConversation/PiaConversation';
|
|
14
|
+
// eslint-disable-next-line complexity
|
|
14
15
|
export default function CioPia(props) {
|
|
15
16
|
const { apiKey, itemId, threadId, variationId, cioClient, displayConfigs, componentOverrides, callbacks, formatters, children, translations, suggestedQuestionsParameters, } = props;
|
|
16
17
|
const { learnMoreUrl, showFeedback, mode = 'default', type = 'inline', showPreviousItems, disclaimerPosition = 'bottom', } = displayConfigs || {};
|
|
@@ -65,7 +66,7 @@ export default function CioPia(props) {
|
|
|
65
66
|
React.createElement(RenderPropsWrapper, { props: renderProps, override: children || componentOverrides?.reactNode },
|
|
66
67
|
React.createElement("p", { className: 'cio-pia-title', "data-testid": 'cio-pia-title' }, translate('Any questions about this product?', translations)),
|
|
67
68
|
React.createElement(Input, { onSubmit: handleSubmitQuestion, onFocus: handleInputFocus, value: currentQuestion, translations: translations }),
|
|
68
|
-
isLoading && React.createElement(LoadingSkeleton,
|
|
69
|
+
isLoading && React.createElement(LoadingSkeleton, { componentOverride: componentOverrides?.loading }),
|
|
69
70
|
!isLoading && error && React.createElement(ErrorBlock, { message: error?.message || 'Unexpected error' }),
|
|
70
71
|
!isLoading && !error && (React.createElement(React.Fragment, null,
|
|
71
72
|
currentAnswer && (React.createElement(PiaInlineAnswer, { currentAnswer: currentAnswer, currentItems: currentItems, showFeedback: showFeedback, learnMoreUrl: learnMoreUrl, disclaimerPosition: disclaimerPosition, translations: translations, callbacks: callbacks, componentOverrides: componentOverrides })),
|
|
@@ -27,7 +27,7 @@ export default function ConversationHistory({ conversationHistory, isLoading, er
|
|
|
27
27
|
return (React.createElement("div", { key: entry.id, className: 'cio-pia-conversation-entry' },
|
|
28
28
|
React.createElement("div", { className: 'cio-pia-chat-question' }, entry.question),
|
|
29
29
|
isLast && isLoading && (React.createElement("div", { className: 'cio-pia-conversation-loading', "aria-live": 'polite' },
|
|
30
|
-
React.createElement(LoadingSkeleton,
|
|
30
|
+
React.createElement(LoadingSkeleton, { componentOverride: componentOverrides?.loading }))),
|
|
31
31
|
isLast && !isLoading && error && (React.createElement(ErrorBlock, { message: error.message || 'Unexpected error' })),
|
|
32
32
|
entry.answer && (React.createElement("div", { className: 'cio-pia-answer-container' },
|
|
33
33
|
React.createElement(Answer, { text: entry.answer, componentOverride: componentOverrides?.answer }),
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
import { RenderPropsWrapper, } from '@constructor-io/constructorio-ui-components';
|
|
3
|
+
const skeleton = (React.createElement("div", { className: 'cio-pia-loading-skeleton', "data-testid": 'loading-skeleton' },
|
|
4
|
+
React.createElement("div", { className: 'skeleton-bar' }),
|
|
5
|
+
React.createElement("div", { className: 'skeleton-bar' }),
|
|
6
|
+
React.createElement("div", { className: 'skeleton-bar skeleton-short' })));
|
|
7
|
+
export default function LoadingSkeleton({ componentOverride } = {}) {
|
|
8
|
+
return (React.createElement(RenderPropsWrapper, { props: { skeleton }, override: componentOverride?.reactNode }, skeleton));
|
|
7
9
|
}
|
|
@@ -32,6 +32,7 @@ export default function useAnswerResults({ itemId, variationId, threadId, cioCli
|
|
|
32
32
|
return;
|
|
33
33
|
setIsLoading(true);
|
|
34
34
|
setError(null);
|
|
35
|
+
setAnswerResults(null);
|
|
35
36
|
fetchAnswerResults({ client: cioClient, itemId, question, variationId, threadId })
|
|
36
37
|
.then((fetchedAnswerResults) => {
|
|
37
38
|
setAnswerResults(fetchedAnswerResults);
|
package/lib/mjs/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default '2.
|
|
1
|
+
export default '2.7.0';
|
|
@@ -1,2 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
2
|
+
import { ComponentOverrideProps } from '@constructor-io/constructorio-ui-components';
|
|
3
|
+
import { LoadingRenderProps } from '../../types';
|
|
4
|
+
interface LoadingSkeletonProps {
|
|
5
|
+
componentOverride?: ComponentOverrideProps<LoadingRenderProps>;
|
|
6
|
+
}
|
|
7
|
+
export default function LoadingSkeleton({ componentOverride }?: LoadingSkeletonProps): React.JSX.Element;
|
|
8
|
+
export {};
|
package/lib/types/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
2
|
import { Product, CarouselOverrides, ComponentOverrideProps } from '@constructor-io/constructorio-ui-components';
|
|
3
3
|
import { ConstructorClientOptions, Nullable } from '@constructor-io/constructorio-client-javascript';
|
|
4
4
|
import { Question } from './hooks/mocks/types';
|
|
@@ -128,6 +128,9 @@ export interface FeedbackRenderProps {
|
|
|
128
128
|
translations?: Translations;
|
|
129
129
|
onFeedback?: (type: FeedbackType) => void;
|
|
130
130
|
}
|
|
131
|
+
export interface LoadingRenderProps {
|
|
132
|
+
skeleton: ReactNode;
|
|
133
|
+
}
|
|
131
134
|
/**
|
|
132
135
|
* Component overrides for CioPia.
|
|
133
136
|
* Allows customization of sub-components via reactNode or render props functions.
|
|
@@ -138,5 +141,6 @@ export interface CioPiaComponentOverrides extends ComponentOverrideProps<CioPiaR
|
|
|
138
141
|
suggestedQuestions?: ComponentOverrideProps<SuggestedQuestionsRenderProps>;
|
|
139
142
|
disclaimer?: ComponentOverrideProps<DisclaimerRenderProps>;
|
|
140
143
|
feedback?: ComponentOverrideProps<FeedbackRenderProps>;
|
|
144
|
+
loading?: ComponentOverrideProps<LoadingRenderProps>;
|
|
141
145
|
}
|
|
142
146
|
export * from './hooks/mocks/types';
|
package/lib/types/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "2.
|
|
1
|
+
declare const _default: "2.7.0";
|
|
2
2
|
export default _default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@constructor-io/constructorio-ui-pia",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.7.0",
|
|
4
4
|
"description": "Constructor.io AI Product Insights Agent UI library for web applications",
|
|
5
5
|
"author": "Constructor.io Corporation",
|
|
6
6
|
"license": "MIT",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
},
|
|
70
70
|
"peerDependencies": {
|
|
71
71
|
"@constructor-io/constructorio-client-javascript": "^2.71.1",
|
|
72
|
-
"@constructor-io/constructorio-ui-components": "^1.
|
|
72
|
+
"@constructor-io/constructorio-ui-components": "^1.5.0",
|
|
73
73
|
"react": ">=16.12.0",
|
|
74
74
|
"react-dom": ">=16.12.0",
|
|
75
75
|
"tslib": "^2.4.0"
|