@pingux/astro 2.112.0-alpha.2 → 2.112.0-alpha.4
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/lib/cjs/components/AIComponents/PromptInput/PromptInput.js +56 -14
- package/lib/cjs/components/AIComponents/PromptInput/PromptInput.test.js +73 -15
- package/lib/cjs/components/AIComponents/PromptInput/PromptUploadButton.js +1 -1
- package/lib/cjs/components/AIComponents/PromptInput/PromptUploadButton.test.d.ts +1 -0
- package/lib/cjs/components/AIComponents/PromptInput/PromptUploadButton.test.js +68 -0
- package/lib/cjs/components/AIComponents/Response/Response.stories.js +24 -24
- package/lib/cjs/components/AIComponents/Response/Response.test.jsx +40 -70
- package/lib/cjs/components/AIComponents/Response/ResponseAttachment.js +3 -2
- package/lib/cjs/components/AIComponents/Response/ResponseToolbar.js +23 -35
- package/lib/cjs/components/AIComponents/Response/ResponseToolbarIcon.d.ts +4 -0
- package/lib/cjs/components/AIComponents/Response/ResponseToolbarIcon.js +57 -0
- package/lib/cjs/components/AIComponents/Response/index.d.ts +1 -0
- package/lib/cjs/components/AIComponents/Response/index.js +8 -1
- package/lib/cjs/index.d.ts +1 -0
- package/lib/cjs/index.js +8 -0
- package/lib/cjs/styles/themes/next-gen/next-gen.d.ts +33 -0
- package/lib/cjs/styles/themes/next-gen/variants/button.d.ts +33 -0
- package/lib/cjs/styles/themes/next-gen/variants/button.js +6 -0
- package/lib/cjs/styles/themes/next-gen/variants/input.js +25 -3
- package/lib/cjs/types/promptInput.d.ts +3 -0
- package/lib/cjs/types/response.d.ts +10 -3
- package/lib/components/AIComponents/PromptInput/PromptInput.js +57 -15
- package/lib/components/AIComponents/PromptInput/PromptInput.test.js +73 -15
- package/lib/components/AIComponents/PromptInput/PromptUploadButton.js +1 -1
- package/lib/components/AIComponents/PromptInput/PromptUploadButton.test.js +65 -0
- package/lib/components/AIComponents/Response/Response.stories.js +24 -24
- package/lib/components/AIComponents/Response/Response.test.jsx +40 -70
- package/lib/components/AIComponents/Response/ResponseAttachment.js +3 -2
- package/lib/components/AIComponents/Response/ResponseToolbar.js +25 -37
- package/lib/components/AIComponents/Response/ResponseToolbarIcon.js +43 -0
- package/lib/components/AIComponents/Response/index.js +2 -1
- package/lib/index.js +1 -0
- package/lib/styles/themes/next-gen/variants/button.js +6 -0
- package/lib/styles/themes/next-gen/variants/input.js +25 -3
- package/package.json +1 -1
@@ -1,9 +1,9 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import
|
3
|
-
import
|
4
|
-
import
|
5
|
-
import
|
6
|
-
import
|
2
|
+
import CopyIcon from '@pingux/mdi-react/ContentCopyIcon';
|
3
|
+
import TextIcon from '@pingux/mdi-react/TextIcon';
|
4
|
+
import ThumbDownOutlineIcon from '@pingux/mdi-react/ThumbDownOutlineIcon';
|
5
|
+
import ThumbUpOutlineIcon from '@pingux/mdi-react/ThumbUpOutlineIcon';
|
6
|
+
import VolumeHighIcon from '@pingux/mdi-react/VolumeHighIcon';
|
7
7
|
|
8
8
|
import { act, render, screen } from '../../../utils/testUtils/testWrapper';
|
9
9
|
|
@@ -12,6 +12,7 @@ import ResponseAttachment from './ResponseAttachment';
|
|
12
12
|
import ResponseList from './ResponseList';
|
13
13
|
import ResponseText from './ResponseText';
|
14
14
|
import ResponseToolbar from './ResponseToolbar';
|
15
|
+
import ResponseToolBarIcon from './ResponseToolbarIcon';
|
15
16
|
|
16
17
|
const delay = 100;
|
17
18
|
|
@@ -24,28 +25,24 @@ const nextText = 'nextText';
|
|
24
25
|
const attachmentWrapperId = 'wrapper-id';
|
25
26
|
const toolbarId = 'id';
|
26
27
|
|
27
|
-
const
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
title: 'Rephrase Answer test',
|
46
|
-
icon: TagIcon,
|
47
|
-
},
|
48
|
-
};
|
28
|
+
const attachmentText = 'Attachment Text';
|
29
|
+
|
30
|
+
const icons = [{
|
31
|
+
title: 'Read aloud test',
|
32
|
+
icon: VolumeHighIcon,
|
33
|
+
}, {
|
34
|
+
title: 'Copy test',
|
35
|
+
icon: CopyIcon,
|
36
|
+
}, {
|
37
|
+
title: 'Good Response test',
|
38
|
+
icon: ThumbUpOutlineIcon,
|
39
|
+
}, {
|
40
|
+
title: 'Bad Response test',
|
41
|
+
icon: ThumbDownOutlineIcon,
|
42
|
+
}, {
|
43
|
+
title: 'Rephrase Answer test',
|
44
|
+
icon: TextIcon,
|
45
|
+
}];
|
49
46
|
|
50
47
|
const defaultProps = {
|
51
48
|
containerProps: {
|
@@ -80,25 +77,25 @@ const getComponentWithList = props => render(
|
|
80
77
|
const getComponentWithToolbar = props => render(
|
81
78
|
<Response {...defaultProps} {...props}>
|
82
79
|
<ResponseText text={defaultProps.text} />
|
83
|
-
<ResponseToolbar data-testid={toolbarId}
|
80
|
+
<ResponseToolbar data-testid={toolbarId}>
|
81
|
+
{icons.map(icon => {
|
82
|
+
return (
|
83
|
+
<ResponseToolBarIcon key={icon.title} {...icon} />
|
84
|
+
);
|
85
|
+
})}
|
86
|
+
</ResponseToolbar>
|
87
|
+
<ResponseText text={defaultProps.text} />
|
84
88
|
</Response>,
|
85
89
|
);
|
86
90
|
|
87
91
|
const getComponentWithAttachment = props => render(
|
88
92
|
<Response {...defaultProps} {...props}>
|
89
93
|
<ResponseText text={defaultProps.text} />
|
90
|
-
<ResponseAttachment wrapperProps={{ 'data-testid': attachmentWrapperId }} />
|
94
|
+
<ResponseAttachment text={attachmentText} wrapperProps={{ 'data-testid': attachmentWrapperId }} />
|
91
95
|
<ResponseText text={defaultProps.text} />
|
92
96
|
</Response>,
|
93
97
|
);
|
94
98
|
|
95
|
-
const getComponentWithToolbarCustomProps = props => render(
|
96
|
-
<Response {...defaultProps} {...props}>
|
97
|
-
<ResponseText text={defaultProps.text} />
|
98
|
-
<ResponseToolbar data-testid={toolbarId} {...customProps} />
|
99
|
-
</Response>,
|
100
|
-
);
|
101
|
-
|
102
99
|
test('component renders', () => {
|
103
100
|
getComponent();
|
104
101
|
const container = screen.getByTestId('container');
|
@@ -166,13 +163,19 @@ test('ResponseToolbar renders correctly', async () => {
|
|
166
163
|
act(() => { jest.advanceTimersByTime(100); });
|
167
164
|
}
|
168
165
|
expect(toolbar).not.toHaveClass('is-not-loaded');
|
166
|
+
for (let i = 1; i < icons.length + 1; i += 1) {
|
167
|
+
act(() => { jest.advanceTimersByTime(100); });
|
168
|
+
expect(screen.getByTitle(icons[i - 1].title)).toBeInTheDocument();
|
169
|
+
expect(screen.getByTitle(icons[i - 1].title)).not.toHaveClass('is-not-loaded');
|
170
|
+
}
|
171
|
+
act(() => { jest.advanceTimersByTime(2000); });
|
169
172
|
});
|
170
173
|
|
171
174
|
test('ResponseAttachment renders correctly', async () => {
|
172
175
|
getComponentWithAttachment();
|
173
176
|
act(() => { jest.advanceTimersByTime(10); });
|
174
177
|
|
175
|
-
expect(screen.getByText(
|
178
|
+
expect(screen.getByText(attachmentText)).toBeInTheDocument();
|
176
179
|
const wrapper = screen.getByTestId(attachmentWrapperId);
|
177
180
|
expect(wrapper).toHaveClass('is-not-loaded');
|
178
181
|
for (let i = 1; i < defaultProps.text.length + 1; i += 1) {
|
@@ -180,36 +183,3 @@ test('ResponseAttachment renders correctly', async () => {
|
|
180
183
|
}
|
181
184
|
expect(wrapper).not.toHaveClass('is-not-loaded');
|
182
185
|
});
|
183
|
-
|
184
|
-
test('ResponseAttachment renders correctly, with custom props', async () => {
|
185
|
-
getComponentWithToolbarCustomProps();
|
186
|
-
act(() => { jest.advanceTimersByTime(10); });
|
187
|
-
|
188
|
-
expect(screen.getByTitle('Read aloud test')).toBeInTheDocument();
|
189
|
-
expect(screen.getByTitle('Copy test')).toBeInTheDocument();
|
190
|
-
expect(screen.getByTitle('Good Response test')).toBeInTheDocument();
|
191
|
-
expect(screen.getByTitle('Bad Response test')).toBeInTheDocument();
|
192
|
-
expect(screen.getByTitle('Rephrase Answer test')).toBeInTheDocument();
|
193
|
-
});
|
194
|
-
|
195
|
-
test('ResponseToolbar conditional rendering of IconButton based on title prop', async () => {
|
196
|
-
render(
|
197
|
-
<Response {...defaultProps}>
|
198
|
-
<ResponseText text={defaultProps.text} />
|
199
|
-
<ResponseToolbar
|
200
|
-
data-testid={toolbarId}
|
201
|
-
readButtonProps={{ title: 'Read aloud' }}
|
202
|
-
copyButtonProps={{ title: '' }}
|
203
|
-
goodButtonProps={{ title: 'Good Response' }}
|
204
|
-
badButtonProps={{ title: '' }}
|
205
|
-
rephraseButtonProps={{ title: 'Rephrase Answer' }}
|
206
|
-
/>
|
207
|
-
</Response>,
|
208
|
-
);
|
209
|
-
|
210
|
-
expect(screen.getByTitle('Read aloud')).toBeInTheDocument();
|
211
|
-
expect(screen.queryByTitle('Copy')).not.toBeInTheDocument();
|
212
|
-
expect(screen.getByTitle('Good Response')).toBeInTheDocument();
|
213
|
-
expect(screen.queryByTitle('Bad Response')).not.toBeInTheDocument();
|
214
|
-
expect(screen.getByTitle('Rephrase Answer')).toBeInTheDocument();
|
215
|
-
});
|
@@ -25,7 +25,8 @@ var ResponseAttachment = function ResponseAttachment(props) {
|
|
25
25
|
iconProps = props.iconProps,
|
26
26
|
className = props.className,
|
27
27
|
animationIndex = props.animationIndex,
|
28
|
-
shouldStartAnimation = props.shouldStartAnimation
|
28
|
+
shouldStartAnimation = props.shouldStartAnimation,
|
29
|
+
text = props.text;
|
29
30
|
var isLoaded = (0, _react.useRef)(false);
|
30
31
|
(0, _react.useEffect)(function () {
|
31
32
|
if (shouldStartAnimation && setAnimationIndex && animationIndex !== undefined && isLoaded.current === false) {
|
@@ -48,7 +49,7 @@ var ResponseAttachment = function ResponseAttachment(props) {
|
|
48
49
|
title: {
|
49
50
|
name: 'attachment icon'
|
50
51
|
}
|
51
|
-
}, iconProps)), (0, _react2.jsx)(_index.Text, textProps,
|
52
|
+
}, iconProps)), (0, _react2.jsx)(_index.Text, textProps, text));
|
52
53
|
};
|
53
54
|
var _default = ResponseAttachment;
|
54
55
|
exports["default"] = _default;
|
@@ -9,49 +9,40 @@ _Object$defineProperty(exports, "__esModule", {
|
|
9
9
|
value: true
|
10
10
|
});
|
11
11
|
exports["default"] = void 0;
|
12
|
+
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
12
13
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
13
15
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
14
16
|
var _react = _interopRequireWildcard(require("react"));
|
15
|
-
var _ContentCopyIcon = _interopRequireDefault(require("@pingux/mdi-react/ContentCopyIcon"));
|
16
|
-
var _TextIcon = _interopRequireDefault(require("@pingux/mdi-react/TextIcon"));
|
17
|
-
var _ThumbDownOutlineIcon = _interopRequireDefault(require("@pingux/mdi-react/ThumbDownOutlineIcon"));
|
18
|
-
var _ThumbUpOutlineIcon = _interopRequireDefault(require("@pingux/mdi-react/ThumbUpOutlineIcon"));
|
19
|
-
var _VolumeHighIcon = _interopRequireDefault(require("@pingux/mdi-react/VolumeHighIcon"));
|
20
17
|
var _hooks = require("../../../hooks");
|
21
18
|
var _index = require("../../../index");
|
22
19
|
var _react2 = require("@emotion/react");
|
23
|
-
var _excluded = ["parentIndex", "setAnimationIndex", "
|
20
|
+
var _excluded = ["parentIndex", "setAnimationIndex", "children", "className", "shouldStartAnimation", "animationIndex", "delay"];
|
24
21
|
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
25
22
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
26
|
-
var ResponseToolbarIcon = function ResponseToolbarIcon(props) {
|
27
|
-
var title = props.title,
|
28
|
-
icon = props.icon;
|
29
|
-
return (0, _react2.jsx)(_index.IconButton, {
|
30
|
-
title: title
|
31
|
-
}, (0, _react2.jsx)(_index.Icon, {
|
32
|
-
icon: icon,
|
33
|
-
title: {
|
34
|
-
name: title
|
35
|
-
}
|
36
|
-
}));
|
37
|
-
};
|
38
23
|
var ResponseToolbar = function ResponseToolbar(props) {
|
39
24
|
var parentIndex = props.parentIndex,
|
40
25
|
setAnimationIndex = props.setAnimationIndex,
|
41
|
-
|
42
|
-
copyButtonProps = props.copyButtonProps,
|
43
|
-
goodButtonProps = props.goodButtonProps,
|
44
|
-
badButtonProps = props.badButtonProps,
|
45
|
-
rephraseButtonProps = props.rephraseButtonProps,
|
26
|
+
children = props.children,
|
46
27
|
className = props.className,
|
47
28
|
shouldStartAnimation = props.shouldStartAnimation,
|
48
29
|
animationIndex = props.animationIndex,
|
30
|
+
delay = props.delay,
|
49
31
|
others = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
50
32
|
var isLoaded = (0, _react.useRef)(false);
|
33
|
+
var _useState = (0, _react.useState)(-1),
|
34
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
35
|
+
index = _useState2[0],
|
36
|
+
setIndex = _useState2[1];
|
37
|
+
(0, _react.useEffect)(function () {
|
38
|
+
if (index === (children === null || children === void 0 ? void 0 : children.length) && animationIndex !== undefined && setAnimationIndex) {
|
39
|
+
setAnimationIndex(animationIndex + 1);
|
40
|
+
}
|
41
|
+
}, [setAnimationIndex, index, shouldStartAnimation, animationIndex, children === null || children === void 0 ? void 0 : children.length]);
|
51
42
|
(0, _react.useEffect)(function () {
|
52
43
|
if (shouldStartAnimation && setAnimationIndex && animationIndex !== undefined && isLoaded.current === false) {
|
53
44
|
isLoaded.current = true;
|
54
|
-
|
45
|
+
setIndex(0);
|
55
46
|
}
|
56
47
|
}, [setAnimationIndex, parentIndex, shouldStartAnimation, animationIndex]);
|
57
48
|
var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
|
@@ -63,17 +54,14 @@ var ResponseToolbar = function ResponseToolbar(props) {
|
|
63
54
|
gap: "sm",
|
64
55
|
variant: "response.toolbar",
|
65
56
|
className: classNames
|
66
|
-
}, others), (
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
}, badButtonProps)), (rephraseButtonProps === null || rephraseButtonProps === void 0 ? void 0 : rephraseButtonProps.title) && (0, _react2.jsx)(ResponseToolbarIcon, (0, _extends2["default"])({
|
75
|
-
icon: _TextIcon["default"]
|
76
|
-
}, rephraseButtonProps)));
|
57
|
+
}, others), (0, _map["default"])(_react.Children).call(_react.Children, children, function (child, i) {
|
58
|
+
return (0, _react2.jsx)(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].cloneElement(child, {
|
59
|
+
setAnimationIndex: setIndex,
|
60
|
+
animationIndex: i,
|
61
|
+
parentIndex: index,
|
62
|
+
delay: delay
|
63
|
+
}));
|
64
|
+
}));
|
77
65
|
};
|
78
66
|
var _default = ResponseToolbar;
|
79
67
|
exports["default"] = _default;
|
@@ -0,0 +1,57 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
4
|
+
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
5
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
6
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
7
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
8
|
+
_Object$defineProperty(exports, "__esModule", {
|
9
|
+
value: true
|
10
|
+
});
|
11
|
+
exports["default"] = void 0;
|
12
|
+
var _setTimeout2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set-timeout"));
|
13
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
14
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
15
|
+
var _react = _interopRequireWildcard(require("react"));
|
16
|
+
var _hooks = require("../../../hooks");
|
17
|
+
var _index = require("../../../index");
|
18
|
+
var _react2 = require("@emotion/react");
|
19
|
+
var _excluded = ["title", "icon", "className", "parentIndex", "animationIndex", "setAnimationIndex", "delay", "iconProps"];
|
20
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
21
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
22
|
+
var ResponseToolbarIcon = function ResponseToolbarIcon(props) {
|
23
|
+
var title = props.title,
|
24
|
+
icon = props.icon,
|
25
|
+
className = props.className,
|
26
|
+
parentIndex = props.parentIndex,
|
27
|
+
animationIndex = props.animationIndex,
|
28
|
+
setAnimationIndex = props.setAnimationIndex,
|
29
|
+
delay = props.delay,
|
30
|
+
iconProps = props.iconProps,
|
31
|
+
others = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
32
|
+
var isLoaded = (0, _react.useRef)(false);
|
33
|
+
(0, _react.useEffect)(function () {
|
34
|
+
if (parentIndex === animationIndex && setAnimationIndex && parentIndex !== undefined) {
|
35
|
+
(0, _setTimeout2["default"])(function () {
|
36
|
+
isLoaded.current = true;
|
37
|
+
setAnimationIndex(parentIndex + 1);
|
38
|
+
}, delay);
|
39
|
+
}
|
40
|
+
}, [parentIndex, animationIndex, setAnimationIndex, delay]);
|
41
|
+
var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
|
42
|
+
isNotLoaded: !isLoaded.current
|
43
|
+
}),
|
44
|
+
classNames = _useStatusClasses.classNames;
|
45
|
+
return (0, _react2.jsx)(_index.IconButton, (0, _extends2["default"])({
|
46
|
+
title: title,
|
47
|
+
className: classNames,
|
48
|
+
variant: "responseToolbar"
|
49
|
+
}, others), (0, _react2.jsx)(_index.Icon, (0, _extends2["default"])({
|
50
|
+
icon: icon,
|
51
|
+
title: {
|
52
|
+
name: title
|
53
|
+
}
|
54
|
+
}, iconProps)));
|
55
|
+
};
|
56
|
+
var _default = ResponseToolbarIcon;
|
57
|
+
exports["default"] = _default;
|
@@ -3,3 +3,4 @@ export { default as ResponseAttachment } from './ResponseAttachment';
|
|
3
3
|
export { default as ResponseList } from './ResponseList';
|
4
4
|
export { default as ResponseText } from './ResponseText';
|
5
5
|
export { default as ResponseToolbar } from './ResponseToolbar';
|
6
|
+
export { default as ResponseToolbarIcon } from './ResponseToolbarIcon';
|
@@ -29,6 +29,12 @@ _Object$defineProperty(exports, "ResponseToolbar", {
|
|
29
29
|
return _ResponseToolbar["default"];
|
30
30
|
}
|
31
31
|
});
|
32
|
+
_Object$defineProperty(exports, "ResponseToolbarIcon", {
|
33
|
+
enumerable: true,
|
34
|
+
get: function get() {
|
35
|
+
return _ResponseToolbarIcon["default"];
|
36
|
+
}
|
37
|
+
});
|
32
38
|
_Object$defineProperty(exports, "default", {
|
33
39
|
enumerable: true,
|
34
40
|
get: function get() {
|
@@ -39,4 +45,5 @@ var _Response = _interopRequireDefault(require("./Response"));
|
|
39
45
|
var _ResponseAttachment = _interopRequireDefault(require("./ResponseAttachment"));
|
40
46
|
var _ResponseList = _interopRequireDefault(require("./ResponseList"));
|
41
47
|
var _ResponseText = _interopRequireDefault(require("./ResponseText"));
|
42
|
-
var _ResponseToolbar = _interopRequireDefault(require("./ResponseToolbar"));
|
48
|
+
var _ResponseToolbar = _interopRequireDefault(require("./ResponseToolbar"));
|
49
|
+
var _ResponseToolbarIcon = _interopRequireDefault(require("./ResponseToolbarIcon"));
|
package/lib/cjs/index.d.ts
CHANGED
@@ -16,6 +16,7 @@ export { default as ResponseAttachment } from './components/AIComponents/Respons
|
|
16
16
|
export { default as ResponseList } from './components/AIComponents/Response/ResponseList';
|
17
17
|
export { default as ResponseText } from './components/AIComponents/Response/ResponseText';
|
18
18
|
export { default as ResponseToolbar } from './components/AIComponents/Response/ResponseToolbar';
|
19
|
+
export { default as ResponseToolbarIcon } from './components/AIComponents/Response/ResponseToolbarIcon';
|
19
20
|
export { default as Suggestions } from './components/AIComponents/Suggestions';
|
20
21
|
export { default as Suggestion } from './components/AIComponents/Suggestions/Suggestion';
|
21
22
|
export { default as ArrayField } from './components/ArrayField';
|
package/lib/cjs/index.js
CHANGED
@@ -26,6 +26,7 @@ var _exportNames = {
|
|
26
26
|
ResponseList: true,
|
27
27
|
ResponseText: true,
|
28
28
|
ResponseToolbar: true,
|
29
|
+
ResponseToolbarIcon: true,
|
29
30
|
Suggestions: true,
|
30
31
|
Suggestion: true,
|
31
32
|
ArrayField: true,
|
@@ -798,6 +799,12 @@ _Object$defineProperty(exports, "ResponseToolbar", {
|
|
798
799
|
return _ResponseToolbar["default"];
|
799
800
|
}
|
800
801
|
});
|
802
|
+
_Object$defineProperty(exports, "ResponseToolbarIcon", {
|
803
|
+
enumerable: true,
|
804
|
+
get: function get() {
|
805
|
+
return _ResponseToolbarIcon["default"];
|
806
|
+
}
|
807
|
+
});
|
801
808
|
_Object$defineProperty(exports, "RockerButton", {
|
802
809
|
enumerable: true,
|
803
810
|
get: function get() {
|
@@ -1072,6 +1079,7 @@ var _ResponseAttachment = _interopRequireDefault(require("./components/AICompone
|
|
1072
1079
|
var _ResponseList = _interopRequireDefault(require("./components/AIComponents/Response/ResponseList"));
|
1073
1080
|
var _ResponseText = _interopRequireDefault(require("./components/AIComponents/Response/ResponseText"));
|
1074
1081
|
var _ResponseToolbar = _interopRequireDefault(require("./components/AIComponents/Response/ResponseToolbar"));
|
1082
|
+
var _ResponseToolbarIcon = _interopRequireDefault(require("./components/AIComponents/Response/ResponseToolbarIcon"));
|
1075
1083
|
var _Suggestions = _interopRequireDefault(require("./components/AIComponents/Suggestions"));
|
1076
1084
|
var _Suggestion = _interopRequireDefault(require("./components/AIComponents/Suggestions/Suggestion"));
|
1077
1085
|
var _ArrayField = _interopRequireWildcard(require("./components/ArrayField"));
|
@@ -783,6 +783,39 @@ declare const _default: {
|
|
783
783
|
transition: string;
|
784
784
|
outline: string;
|
785
785
|
};
|
786
|
+
responseToolbar: {
|
787
|
+
'&.is-not-loaded': {
|
788
|
+
display: string;
|
789
|
+
};
|
790
|
+
display: string;
|
791
|
+
cursor: string;
|
792
|
+
transition: string;
|
793
|
+
outline: string;
|
794
|
+
borderRadius: string;
|
795
|
+
border: string;
|
796
|
+
borderColor: string;
|
797
|
+
path: {
|
798
|
+
fill: string;
|
799
|
+
};
|
800
|
+
'&.is-focused': {
|
801
|
+
outline: string;
|
802
|
+
outlineColor: string;
|
803
|
+
outlineOffset: string;
|
804
|
+
};
|
805
|
+
'&.is-hovered': {
|
806
|
+
backgroundColor: string;
|
807
|
+
path: {
|
808
|
+
fill: string;
|
809
|
+
};
|
810
|
+
};
|
811
|
+
'&.is-pressed': {
|
812
|
+
backgroundColor: string;
|
813
|
+
borderColor: string;
|
814
|
+
path: {
|
815
|
+
fill: string;
|
816
|
+
};
|
817
|
+
};
|
818
|
+
};
|
786
819
|
modalCloseButton: {
|
787
820
|
position: string;
|
788
821
|
top: number;
|
@@ -550,6 +550,39 @@ declare const buttons: {
|
|
550
550
|
transition: string;
|
551
551
|
outline: string;
|
552
552
|
};
|
553
|
+
responseToolbar: {
|
554
|
+
'&.is-not-loaded': {
|
555
|
+
display: string;
|
556
|
+
};
|
557
|
+
display: string;
|
558
|
+
cursor: string;
|
559
|
+
transition: string;
|
560
|
+
outline: string;
|
561
|
+
borderRadius: string;
|
562
|
+
border: string;
|
563
|
+
borderColor: string;
|
564
|
+
path: {
|
565
|
+
fill: string;
|
566
|
+
};
|
567
|
+
'&.is-focused': {
|
568
|
+
outline: string;
|
569
|
+
outlineColor: string;
|
570
|
+
outlineOffset: string;
|
571
|
+
};
|
572
|
+
'&.is-hovered': {
|
573
|
+
backgroundColor: string;
|
574
|
+
path: {
|
575
|
+
fill: string;
|
576
|
+
};
|
577
|
+
};
|
578
|
+
'&.is-pressed': {
|
579
|
+
backgroundColor: string;
|
580
|
+
borderColor: string;
|
581
|
+
path: {
|
582
|
+
fill: string;
|
583
|
+
};
|
584
|
+
};
|
585
|
+
};
|
553
586
|
modalCloseButton: {
|
554
587
|
position: string;
|
555
588
|
top: number;
|
@@ -250,6 +250,12 @@ var iconButtons = {
|
|
250
250
|
base: _objectSpread({}, baseIconButton),
|
251
251
|
nextGen: _objectSpread({}, onyxIconButton),
|
252
252
|
onyx: _objectSpread({}, onyxIconButton),
|
253
|
+
responseToolbar: _objectSpread(_objectSpread({}, baseIconButton), {}, {
|
254
|
+
'&.is-not-loaded': {
|
255
|
+
display: 'none'
|
256
|
+
},
|
257
|
+
display: 'inline-flex'
|
258
|
+
}),
|
253
259
|
modalCloseButton: modalCloseButton,
|
254
260
|
badge: {
|
255
261
|
deleteButton: _objectSpread(_objectSpread({}, baseIconButton), {}, {
|
@@ -35,14 +35,20 @@ var input = {
|
|
35
35
|
'&.is-focused': _objectSpread({}, defaultFocus),
|
36
36
|
borderRadius: '4px',
|
37
37
|
fontWeight: 1,
|
38
|
-
height: '50px',
|
39
38
|
'&::placeholder': _text.text.placeholder
|
40
39
|
};
|
41
40
|
exports.input = input;
|
42
41
|
input.promptInput = _objectSpread(_objectSpread({}, input), {}, {
|
42
|
+
position: 'absolute',
|
43
43
|
pl: '0px',
|
44
44
|
border: 'none',
|
45
45
|
outline: 'none !important',
|
46
|
+
overflowY: 'hidden',
|
47
|
+
resize: 'none',
|
48
|
+
lineHeight: '24px',
|
49
|
+
minHeight: '26px',
|
50
|
+
height: '26px',
|
51
|
+
p: '0px',
|
46
52
|
'&.is-focused': {
|
47
53
|
border: 'none !important',
|
48
54
|
outline: 'none !important'
|
@@ -121,8 +127,8 @@ input.fieldControlWrapper = _objectSpread({}, fieldControlWrapper);
|
|
121
127
|
input.promptInputWrapper = _objectSpread(_objectSpread({}, fieldControlWrapper), {}, {
|
122
128
|
border: '1px solid',
|
123
129
|
borderColor: 'border.input',
|
124
|
-
px: '.75rem',
|
125
130
|
borderRadius: '4px',
|
131
|
+
minHeight: '50px',
|
126
132
|
'&.is-focused': {
|
127
133
|
boxShadow: '0 1px 1px rgba(0,0,0,.075), 0 0 0 .0625rem blue'
|
128
134
|
}
|
@@ -158,4 +164,20 @@ input.multivaluesWrapper = _objectSpread(_objectSpread({}, fieldControlWrapper),
|
|
158
164
|
});
|
159
165
|
input.numberField = _objectSpread(_objectSpread({}, input), {}, {
|
160
166
|
pr: '28px'
|
161
|
-
});
|
167
|
+
});
|
168
|
+
input.promptInputRow = {
|
169
|
+
alignItems: 'center',
|
170
|
+
position: 'relative',
|
171
|
+
justifyContent: 'center',
|
172
|
+
flexGrow: '1',
|
173
|
+
overflowX: 'hidden',
|
174
|
+
overflowY: 'auto',
|
175
|
+
py: '12px'
|
176
|
+
};
|
177
|
+
input.promptInputAttachmentWrapper = {
|
178
|
+
gap: '1.5rem',
|
179
|
+
overflowX: 'auto',
|
180
|
+
overflowY: 'hidden',
|
181
|
+
whiteSpace: 'nowrap',
|
182
|
+
px: '.75rem'
|
183
|
+
};
|
@@ -1,3 +1,4 @@
|
|
1
|
+
/// <reference types="react" />
|
1
2
|
import type { PressEvent } from '@react-types/shared';
|
2
3
|
import { IconTypeExtended } from './icon';
|
3
4
|
import { IconButtonProps } from './iconButton';
|
@@ -15,6 +16,8 @@ export interface PromptProps {
|
|
15
16
|
isFullScreen?: boolean;
|
16
17
|
}
|
17
18
|
export interface PromptInputProps extends TextFieldProps, PromptProps {
|
19
|
+
onKeyUp?: (e: React.KeyboardEvent, value?: string) => void;
|
20
|
+
onKeyDown?: (e: React.KeyboardEvent, value?: string) => void;
|
18
21
|
}
|
19
22
|
export interface AttachmentProps {
|
20
23
|
title: string;
|
@@ -20,22 +20,22 @@ export interface ResponseAttachmentProps extends SharedResponseProps {
|
|
20
20
|
iconProps?: IconProps;
|
21
21
|
parentIndex?: number;
|
22
22
|
className?: string;
|
23
|
+
text: string;
|
23
24
|
}
|
24
25
|
export interface ResponseListProps extends SharedResponseProps, BoxProps {
|
25
26
|
children: ReactNode[];
|
26
27
|
parentIndex?: number;
|
27
28
|
delay?: number;
|
28
29
|
}
|
29
|
-
export interface ResponseProps {
|
30
|
+
export interface ResponseProps extends BoxProps {
|
30
31
|
containerProps?: BoxProps;
|
31
32
|
iconProps?: IconProps;
|
32
33
|
textProps?: ResponseTextProps;
|
33
34
|
iconWrapperProps?: IconWrapperProps;
|
34
35
|
shouldStartAnimation?: boolean;
|
35
|
-
children: ReactNode[];
|
36
36
|
delay?: number;
|
37
37
|
}
|
38
|
-
export interface ResponseToolbarProps extends SharedResponseProps {
|
38
|
+
export interface ResponseToolbarProps extends BoxProps, SharedResponseProps {
|
39
39
|
readButtonProps?: IconButtonProps;
|
40
40
|
copyButtonProps?: IconButtonProps;
|
41
41
|
goodButtonProps?: IconButtonProps;
|
@@ -44,5 +44,12 @@ export interface ResponseToolbarProps extends SharedResponseProps {
|
|
44
44
|
containerProps?: BoxProps;
|
45
45
|
parentIndex?: number;
|
46
46
|
className?: string;
|
47
|
+
delay?: number;
|
48
|
+
children: ReactNode[];
|
49
|
+
}
|
50
|
+
export interface ResponseToolbarIconProps extends IconButtonProps, SharedResponseProps {
|
51
|
+
delay?: number;
|
52
|
+
parentIndex?: number;
|
53
|
+
iconProps?: IconProps;
|
47
54
|
}
|
48
55
|
export {};
|