@pingux/astro 2.113.0-alpha.1 → 2.113.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/lib/cjs/components/AIComponents/Response/Response.js +5 -4
- package/lib/cjs/components/AIComponents/Response/Response.stories.d.ts +1 -0
- package/lib/cjs/components/AIComponents/Response/Response.stories.js +26 -15
- package/lib/cjs/components/AIComponents/Response/ResponseList.js +19 -17
- package/lib/cjs/components/AIComponents/Response/ResponseMarkdown/MarkdownContainer.d.ts +4 -0
- package/lib/cjs/components/AIComponents/Response/ResponseMarkdown/MarkdownContainer.js +64 -0
- package/lib/cjs/components/AIComponents/Response/ResponseMarkdown/MarkdownListWrapper.d.ts +4 -0
- package/lib/cjs/components/AIComponents/Response/ResponseMarkdown/MarkdownListWrapper.js +37 -0
- package/lib/cjs/components/AIComponents/Response/ResponseMarkdown/MarkdownTextContainer.d.ts +5 -0
- package/lib/cjs/components/AIComponents/Response/ResponseMarkdown/MarkdownTextContainer.js +94 -0
- package/lib/cjs/components/AIComponents/Response/ResponseMarkdown/MarkdownTextWrapper.d.ts +4 -0
- package/lib/cjs/components/AIComponents/Response/ResponseMarkdown/MarkdownTextWrapper.js +63 -0
- package/lib/cjs/components/AIComponents/Response/ResponseMarkdown/MarkdownWrapper.d.ts +4 -0
- package/lib/cjs/components/AIComponents/Response/ResponseMarkdown/MarkdownWrapper.js +45 -0
- package/lib/cjs/components/AIComponents/Response/ResponseMarkdown/ResponseListItem.d.ts +4 -0
- package/lib/cjs/components/AIComponents/Response/ResponseMarkdown/ResponseListItem.js +64 -0
- package/lib/cjs/components/AIComponents/Response/ResponseMarkdown/ResponseMarkdown.d.ts +5 -0
- package/lib/cjs/components/AIComponents/Response/ResponseMarkdown/ResponseMarkdown.js +158 -0
- package/lib/cjs/components/AIComponents/Response/ResponseMarkdown/ResponseMarkdown.test.d.ts +1 -0
- package/lib/cjs/components/AIComponents/Response/ResponseMarkdown/ResponseMarkdown.test.js +85 -0
- package/lib/cjs/components/AIComponents/Response/ResponseMarkdown/index.d.ts +1 -0
- package/lib/cjs/components/AIComponents/Response/ResponseMarkdown/index.js +14 -0
- package/lib/cjs/components/AIComponents/Response/ResponseText.js +8 -5
- package/lib/cjs/components/AIComponents/Response/index.d.ts +1 -0
- package/lib/cjs/components/AIComponents/Response/index.js +7 -0
- package/lib/cjs/components/Text/Text.stories.js +2 -1
- package/lib/cjs/hooks/useTypeAnimation/useTypeAnimation.d.ts +3 -1
- package/lib/cjs/hooks/useTypeAnimation/useTypeAnimation.js +3 -1
- package/lib/cjs/hooks/useTypeAnimation/useTypeAnimation.test.js +6 -6
- package/lib/cjs/hooks/useTypeAnimationWrapper/index.d.ts +1 -0
- package/lib/cjs/hooks/useTypeAnimationWrapper/index.js +14 -0
- package/lib/cjs/hooks/useTypeAnimationWrapper/useTypeAnimationWrapper.d.ts +5 -0
- package/lib/cjs/hooks/useTypeAnimationWrapper/useTypeAnimationWrapper.js +48 -0
- package/lib/cjs/hooks/useTypeAnimationWrapper/useTypeAnimationWrapper.test.d.ts +1 -0
- package/lib/cjs/hooks/useTypeAnimationWrapper/useTypeAnimationWrapper.test.js +93 -0
- 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 +39 -0
- package/lib/cjs/styles/themes/next-gen/variants/response.d.ts +35 -0
- package/lib/cjs/styles/themes/next-gen/variants/response.js +41 -3
- package/lib/cjs/styles/themes/next-gen/variants/text.d.ts +4 -0
- package/lib/cjs/styles/themes/next-gen/variants/text.js +4 -0
- package/lib/cjs/styles/themes/next-gen/variants/variants.d.ts +35 -0
- package/lib/cjs/types/response.d.ts +39 -6
- package/lib/components/AIComponents/Response/Response.js +5 -4
- package/lib/components/AIComponents/Response/Response.stories.js +23 -13
- package/lib/components/AIComponents/Response/ResponseList.js +19 -17
- package/lib/components/AIComponents/Response/ResponseMarkdown/MarkdownContainer.js +50 -0
- package/lib/components/AIComponents/Response/ResponseMarkdown/MarkdownListWrapper.js +29 -0
- package/lib/components/AIComponents/Response/ResponseMarkdown/MarkdownTextContainer.js +79 -0
- package/lib/components/AIComponents/Response/ResponseMarkdown/MarkdownTextWrapper.js +55 -0
- package/lib/components/AIComponents/Response/ResponseMarkdown/MarkdownWrapper.js +31 -0
- package/lib/components/AIComponents/Response/ResponseMarkdown/ResponseListItem.js +50 -0
- package/lib/components/AIComponents/Response/ResponseMarkdown/ResponseMarkdown.js +145 -0
- package/lib/components/AIComponents/Response/ResponseMarkdown/ResponseMarkdown.test.js +82 -0
- package/lib/components/AIComponents/Response/ResponseMarkdown/index.js +1 -0
- package/lib/components/AIComponents/Response/ResponseText.js +7 -4
- package/lib/components/AIComponents/Response/index.js +1 -0
- package/lib/components/Text/Text.stories.js +2 -1
- package/lib/hooks/useTypeAnimation/useTypeAnimation.js +3 -1
- package/lib/hooks/useTypeAnimation/useTypeAnimation.test.js +6 -6
- package/lib/hooks/useTypeAnimationWrapper/index.js +1 -0
- package/lib/hooks/useTypeAnimationWrapper/useTypeAnimationWrapper.js +39 -0
- package/lib/hooks/useTypeAnimationWrapper/useTypeAnimationWrapper.test.js +90 -0
- package/lib/index.js +1 -0
- package/lib/styles/themes/next-gen/variants/response.js +41 -3
- package/lib/styles/themes/next-gen/variants/text.js +4 -0
- package/package.json +2 -1
@@ -0,0 +1,158 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
|
4
|
+
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
5
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
6
|
+
var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
7
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
8
|
+
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
9
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
|
10
|
+
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
|
11
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
12
|
+
var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
|
13
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
14
|
+
_Object$defineProperty(exports, "__esModule", {
|
15
|
+
value: true
|
16
|
+
});
|
17
|
+
exports["default"] = exports.ResponseMarkdownContext = void 0;
|
18
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
19
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
20
|
+
var _react = _interopRequireWildcard(require("react"));
|
21
|
+
var _markdownToJsx = require("markdown-to-jsx");
|
22
|
+
var _MarkdownContainer = _interopRequireDefault(require("./MarkdownContainer"));
|
23
|
+
var _MarkdownListWrapper = _interopRequireDefault(require("./MarkdownListWrapper"));
|
24
|
+
var _MarkdownTextWrapper = _interopRequireDefault(require("./MarkdownTextWrapper"));
|
25
|
+
var _react2 = require("@emotion/react");
|
26
|
+
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); }
|
27
|
+
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; }
|
28
|
+
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
29
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
30
|
+
var ResponseMarkdownContext = /*#__PURE__*/(0, _react.createContext)({
|
31
|
+
stateIndex: -1
|
32
|
+
});
|
33
|
+
exports.ResponseMarkdownContext = ResponseMarkdownContext;
|
34
|
+
var ResponseMarkdown = function ResponseMarkdown(componentProps) {
|
35
|
+
var _useState = (0, _react.useState)(-1),
|
36
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
37
|
+
index = _useState2[0],
|
38
|
+
setIndex = _useState2[1];
|
39
|
+
var parentIndex = componentProps.parentIndex,
|
40
|
+
setAnimationIndex = componentProps.setAnimationIndex,
|
41
|
+
shouldStartAnimation = componentProps.shouldStartAnimation,
|
42
|
+
delay = componentProps.delay,
|
43
|
+
str = componentProps.str;
|
44
|
+
(0, _react.useEffect)(function () {
|
45
|
+
if (shouldStartAnimation) {
|
46
|
+
setIndex(0);
|
47
|
+
}
|
48
|
+
}, [shouldStartAnimation]);
|
49
|
+
var commonProps = {
|
50
|
+
setAnimationIndex: setIndex,
|
51
|
+
delay: delay,
|
52
|
+
parentIndex: index,
|
53
|
+
stateIndex: index
|
54
|
+
};
|
55
|
+
var markdown = (0, _markdownToJsx.compiler)(str, {
|
56
|
+
wrapper: _MarkdownContainer["default"],
|
57
|
+
forceWrapper: true,
|
58
|
+
overrides: {
|
59
|
+
h1: {
|
60
|
+
component: _MarkdownTextWrapper["default"],
|
61
|
+
props: _objectSpread({}, commonProps)
|
62
|
+
},
|
63
|
+
h2: {
|
64
|
+
component: _MarkdownTextWrapper["default"],
|
65
|
+
props: _objectSpread({}, commonProps)
|
66
|
+
},
|
67
|
+
h3: {
|
68
|
+
component: _MarkdownTextWrapper["default"],
|
69
|
+
props: _objectSpread({}, commonProps)
|
70
|
+
},
|
71
|
+
h4: {
|
72
|
+
component: _MarkdownTextWrapper["default"],
|
73
|
+
props: _objectSpread({}, commonProps)
|
74
|
+
},
|
75
|
+
h5: {
|
76
|
+
component: _MarkdownTextWrapper["default"],
|
77
|
+
props: _objectSpread({}, commonProps)
|
78
|
+
},
|
79
|
+
h6: {
|
80
|
+
component: _MarkdownTextWrapper["default"],
|
81
|
+
props: _objectSpread({}, commonProps)
|
82
|
+
},
|
83
|
+
p: {
|
84
|
+
component: _MarkdownTextWrapper["default"],
|
85
|
+
props: _objectSpread(_objectSpread({}, commonProps), {}, {
|
86
|
+
as: 'p'
|
87
|
+
})
|
88
|
+
},
|
89
|
+
li: {
|
90
|
+
component: _MarkdownTextWrapper["default"],
|
91
|
+
props: {
|
92
|
+
setAnimationIndex: setIndex,
|
93
|
+
delay: delay,
|
94
|
+
as: 'li'
|
95
|
+
}
|
96
|
+
},
|
97
|
+
ul: {
|
98
|
+
component: _MarkdownListWrapper["default"],
|
99
|
+
props: {
|
100
|
+
setAnimationIndex: setIndex,
|
101
|
+
delay: delay,
|
102
|
+
stateIndex: index,
|
103
|
+
as: 'ul'
|
104
|
+
}
|
105
|
+
},
|
106
|
+
strong: {
|
107
|
+
component: _MarkdownTextWrapper["default"],
|
108
|
+
props: _objectSpread(_objectSpread({}, commonProps), {}, {
|
109
|
+
as: 'strong'
|
110
|
+
})
|
111
|
+
},
|
112
|
+
em: {
|
113
|
+
component: _MarkdownTextWrapper["default"],
|
114
|
+
props: _objectSpread(_objectSpread({}, commonProps), {}, {
|
115
|
+
as: 'em'
|
116
|
+
})
|
117
|
+
},
|
118
|
+
i: {
|
119
|
+
component: _MarkdownTextWrapper["default"],
|
120
|
+
props: {
|
121
|
+
setAnimationIndex: setIndex,
|
122
|
+
delay: delay,
|
123
|
+
stateIndex: index,
|
124
|
+
as: 'i'
|
125
|
+
}
|
126
|
+
},
|
127
|
+
ol: {
|
128
|
+
component: _MarkdownListWrapper["default"],
|
129
|
+
props: {
|
130
|
+
setAnimationIndex: setIndex,
|
131
|
+
delay: delay,
|
132
|
+
stateIndex: index,
|
133
|
+
as: 'ol'
|
134
|
+
}
|
135
|
+
}
|
136
|
+
}
|
137
|
+
});
|
138
|
+
(0, _react.useEffect)(function () {
|
139
|
+
if (index === markdown.props.children.length) {
|
140
|
+
setAnimationIndex(parentIndex + 1);
|
141
|
+
}
|
142
|
+
}, [index, markdown.props.children.length]);
|
143
|
+
var setAnimationCallback = (0, _react.useCallback)(function (val) {
|
144
|
+
setIndex(val);
|
145
|
+
}, [index, setIndex]);
|
146
|
+
var contextValues = (0, _react.useMemo)(function () {
|
147
|
+
return {
|
148
|
+
setAnimationIndex: setAnimationCallback,
|
149
|
+
stateIndex: index,
|
150
|
+
delay: delay
|
151
|
+
};
|
152
|
+
}, [setAnimationCallback, index, delay]);
|
153
|
+
return (0, _react2.jsx)(ResponseMarkdownContext.Provider, {
|
154
|
+
value: contextValues
|
155
|
+
}, markdown);
|
156
|
+
};
|
157
|
+
var _default = ResponseMarkdown;
|
158
|
+
exports["default"] = _default;
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,85 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
6
|
+
var _testWrapper = require("../../../../utils/testUtils/testWrapper");
|
7
|
+
var _Response = _interopRequireDefault(require("../Response"));
|
8
|
+
var _ResponseMarkdown = _interopRequireDefault(require("./ResponseMarkdown"));
|
9
|
+
var _react2 = require("@emotion/react");
|
10
|
+
var markdownString = '#Heading\n\n1. First item\n\n - Unordered item\n\n **bold**:not bold';
|
11
|
+
var italics = '*Italics* regular';
|
12
|
+
var secondMarkDownString = 'begin\n\n1. **Timestamp:** 2025-02-13T09:25:55.946Z\n - **User:** bbludis476@gmail.com\n - **Action:** User Access Allowed\n - **Status:** SUCCESS\n\n2. **Timestamp:** 2025-02-13T09:25:52.377Z\n - **User:** bbludis476@gmail.com\n - **Action:** User Access Allowed\n - **What:** SUCCESS';
|
13
|
+
var getComponent = function getComponent() {
|
14
|
+
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
15
|
+
return (0, _testWrapper.render)((0, _react2.jsx)(_Response["default"], (0, _extends2["default"])({}, props, {
|
16
|
+
delay: 10
|
17
|
+
}), (0, _react2.jsx)(_ResponseMarkdown["default"], {
|
18
|
+
str: markdownString
|
19
|
+
})));
|
20
|
+
};
|
21
|
+
var getComponentWithNesting = function getComponentWithNesting() {
|
22
|
+
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
23
|
+
return (0, _testWrapper.render)((0, _react2.jsx)(_Response["default"], (0, _extends2["default"])({}, props, {
|
24
|
+
delay: 10
|
25
|
+
}), (0, _react2.jsx)(_ResponseMarkdown["default"], {
|
26
|
+
str: secondMarkDownString
|
27
|
+
})));
|
28
|
+
};
|
29
|
+
var getComponentItalics = function getComponentItalics() {
|
30
|
+
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
31
|
+
return (0, _testWrapper.render)((0, _react2.jsx)(_Response["default"], (0, _extends2["default"])({}, props, {
|
32
|
+
delay: 10
|
33
|
+
}), (0, _react2.jsx)(_ResponseMarkdown["default"], {
|
34
|
+
str: italics
|
35
|
+
})));
|
36
|
+
};
|
37
|
+
beforeEach(function () {
|
38
|
+
jest.useFakeTimers();
|
39
|
+
});
|
40
|
+
test('renders markdown content correctly', function () {
|
41
|
+
getComponent();
|
42
|
+
for (var i = 0; i < 8 + 1; i += 1) {
|
43
|
+
(0, _testWrapper.act)(function () {
|
44
|
+
jest.advanceTimersByTime(10);
|
45
|
+
});
|
46
|
+
}
|
47
|
+
expect(_testWrapper.screen.queryByText('Heading')).toBeInTheDocument();
|
48
|
+
for (var _i = 0; _i < 10 + 1; _i += 1) {
|
49
|
+
(0, _testWrapper.act)(function () {
|
50
|
+
jest.advanceTimersByTime(10);
|
51
|
+
});
|
52
|
+
}
|
53
|
+
expect(_testWrapper.screen.getByText('First item')).toBeInTheDocument();
|
54
|
+
for (var _i2 = 0; _i2 < 15; _i2 += 1) {
|
55
|
+
(0, _testWrapper.act)(function () {
|
56
|
+
jest.advanceTimersByTime(10);
|
57
|
+
});
|
58
|
+
}
|
59
|
+
expect(_testWrapper.screen.getByText('Unordered item')).toBeInTheDocument();
|
60
|
+
for (var _i3 = 0; _i3 < 13; _i3 += 1) {
|
61
|
+
(0, _testWrapper.act)(function () {
|
62
|
+
jest.advanceTimersByTime(10);
|
63
|
+
});
|
64
|
+
}
|
65
|
+
expect(_testWrapper.screen.getByText('bold')).toBeInTheDocument();
|
66
|
+
expect(_testWrapper.screen.getByText(':not bold')).toBeInTheDocument();
|
67
|
+
});
|
68
|
+
test('renders nested markdown content correctly', function () {
|
69
|
+
getComponentWithNesting();
|
70
|
+
for (var i = 0; i < 300; i += 1) {
|
71
|
+
(0, _testWrapper.act)(function () {
|
72
|
+
jest.advanceTimersByTime(10);
|
73
|
+
});
|
74
|
+
}
|
75
|
+
expect(_testWrapper.screen.getByText('What:')).toBeInTheDocument();
|
76
|
+
});
|
77
|
+
test('renders nested markdown content correctly', function () {
|
78
|
+
getComponentItalics();
|
79
|
+
for (var i = 0; i < 15; i += 1) {
|
80
|
+
(0, _testWrapper.act)(function () {
|
81
|
+
jest.advanceTimersByTime(10);
|
82
|
+
});
|
83
|
+
}
|
84
|
+
expect(_testWrapper.screen.getByText('Italics')).toBeInTheDocument();
|
85
|
+
});
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default } from './ResponseMarkdown';
|
@@ -0,0 +1,14 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
4
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
_Object$defineProperty(exports, "default", {
|
9
|
+
enumerable: true,
|
10
|
+
get: function get() {
|
11
|
+
return _ResponseMarkdown["default"];
|
12
|
+
}
|
13
|
+
});
|
14
|
+
var _ResponseMarkdown = _interopRequireDefault(require("./ResponseMarkdown"));
|
@@ -10,12 +10,13 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/e
|
|
10
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
|
11
11
|
var _react = _interopRequireDefault(require("react"));
|
12
12
|
var _hooks = require("../../../hooks");
|
13
|
-
var
|
13
|
+
var _useTypeAnimation2 = _interopRequireDefault(require("../../../hooks/useTypeAnimation/useTypeAnimation"));
|
14
14
|
var _index = require("../../../index");
|
15
15
|
var _react2 = require("@emotion/react");
|
16
16
|
var _excluded = ["delay", "text", "shouldStartAnimation", "setAnimationIndex", "animationIndex", "isListItem", "className"];
|
17
17
|
var ResponseText = function ResponseText(props) {
|
18
|
-
var delay = props.delay,
|
18
|
+
var _props$delay = props.delay,
|
19
|
+
delay = _props$delay === void 0 ? 10 : _props$delay,
|
19
20
|
text = props.text,
|
20
21
|
shouldStartAnimation = props.shouldStartAnimation,
|
21
22
|
setAnimationIndex = props.setAnimationIndex,
|
@@ -30,17 +31,19 @@ var ResponseText = function ResponseText(props) {
|
|
30
31
|
animationIndex: animationIndex,
|
31
32
|
shouldStartAnimation: shouldStartAnimation
|
32
33
|
};
|
33
|
-
var
|
34
|
-
|
34
|
+
var _useTypeAnimation = (0, _useTypeAnimation2["default"])(animationProps),
|
35
|
+
currentText = _useTypeAnimation.currentText;
|
36
|
+
var hasBullet = isListItem === true && currentText.length > 0;
|
35
37
|
var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
|
36
38
|
hasBullet: hasBullet
|
37
39
|
}),
|
38
40
|
classNames = _useStatusClasses.classNames;
|
41
|
+
var renderText = "".concat(currentText);
|
39
42
|
return (0, _react2.jsx)(_index.Text, (0, _extends2["default"])({}, others, {
|
40
43
|
role: isListItem ? 'listitem' : '',
|
41
44
|
variant: "response",
|
42
45
|
className: classNames
|
43
|
-
}),
|
46
|
+
}), renderText);
|
44
47
|
};
|
45
48
|
var _default = ResponseText;
|
46
49
|
exports["default"] = _default;
|
@@ -1,6 +1,7 @@
|
|
1
1
|
export { default } from './Response';
|
2
2
|
export { default as ResponseAttachment } from './ResponseAttachment';
|
3
3
|
export { default as ResponseList } from './ResponseList';
|
4
|
+
export { default as ResponseMarkdown } from './ResponseMarkdown';
|
4
5
|
export { default as ResponseText } from './ResponseText';
|
5
6
|
export { default as ResponseToolbar } from './ResponseToolbar';
|
6
7
|
export { default as ResponseToolbarIcon } from './ResponseToolbarIcon';
|
@@ -17,6 +17,12 @@ _Object$defineProperty(exports, "ResponseList", {
|
|
17
17
|
return _ResponseList["default"];
|
18
18
|
}
|
19
19
|
});
|
20
|
+
_Object$defineProperty(exports, "ResponseMarkdown", {
|
21
|
+
enumerable: true,
|
22
|
+
get: function get() {
|
23
|
+
return _ResponseMarkdown["default"];
|
24
|
+
}
|
25
|
+
});
|
20
26
|
_Object$defineProperty(exports, "ResponseText", {
|
21
27
|
enumerable: true,
|
22
28
|
get: function get() {
|
@@ -44,6 +50,7 @@ _Object$defineProperty(exports, "default", {
|
|
44
50
|
var _Response = _interopRequireDefault(require("./Response"));
|
45
51
|
var _ResponseAttachment = _interopRequireDefault(require("./ResponseAttachment"));
|
46
52
|
var _ResponseList = _interopRequireDefault(require("./ResponseList"));
|
53
|
+
var _ResponseMarkdown = _interopRequireDefault(require("./ResponseMarkdown"));
|
47
54
|
var _ResponseText = _interopRequireDefault(require("./ResponseText"));
|
48
55
|
var _ResponseToolbar = _interopRequireDefault(require("./ResponseToolbar"));
|
49
56
|
var _ResponseToolbarIcon = _interopRequireDefault(require("./ResponseToolbarIcon"));
|
@@ -430,7 +430,8 @@ var CustomWidth = function CustomWidth() {
|
|
430
430
|
return (0, _react2.jsx)(_index.Box, {
|
431
431
|
width: 200
|
432
432
|
}, (0, _react2.jsx)(_index.Text, {
|
433
|
-
p: "xl"
|
433
|
+
p: "xl",
|
434
|
+
color: "text.secondary"
|
434
435
|
}, "superlongtextinonelinewithnowhitespacessoitcanbelongerthatanywidth"));
|
435
436
|
};
|
436
437
|
exports.CustomWidth = CustomWidth;
|
@@ -44,7 +44,9 @@ var useTypeAnimation = function useTypeAnimation(_ref) {
|
|
44
44
|
return null;
|
45
45
|
};
|
46
46
|
}, [currentIndex, delay, text, shouldStartAnimation, setAnimationIndex, animationIndex]);
|
47
|
-
return
|
47
|
+
return {
|
48
|
+
currentText: currentText
|
49
|
+
};
|
48
50
|
};
|
49
51
|
var _default = useTypeAnimation;
|
50
52
|
exports["default"] = _default;
|
@@ -38,14 +38,14 @@ describe('useTypeAnimation', function () {
|
|
38
38
|
return (0, _useTypeAnimation["default"])(defaultProps);
|
39
39
|
}),
|
40
40
|
result = _renderHook.result;
|
41
|
-
expect(result.current).toBe('');
|
41
|
+
expect(result.current.currentText).toBe('');
|
42
42
|
for (var i = 0; i < text.length; i += 1) {
|
43
43
|
(0, _reactHooks.act)(function () {
|
44
44
|
jest.advanceTimersByTime(delay);
|
45
45
|
});
|
46
|
-
expect(result.current).toBe((0, _slice["default"])(text).call(text, 0, i + 1));
|
46
|
+
expect(result.current.currentText).toBe((0, _slice["default"])(text).call(text, 0, i + 1));
|
47
47
|
}
|
48
|
-
expect(result.current).toBe(text);
|
48
|
+
expect(result.current.currentText).toBe(text);
|
49
49
|
});
|
50
50
|
it('should NOT render text when shouldStartAnimation = false', function () {
|
51
51
|
var _renderHook2 = (0, _reactHooks.renderHook)(function () {
|
@@ -54,13 +54,13 @@ describe('useTypeAnimation', function () {
|
|
54
54
|
}));
|
55
55
|
}),
|
56
56
|
result = _renderHook2.result;
|
57
|
-
expect(result.current).toBe('');
|
57
|
+
expect(result.current.currentText).toBe('');
|
58
58
|
for (var i = 0; i < text.length; i += 1) {
|
59
59
|
(0, _reactHooks.act)(function () {
|
60
60
|
jest.advanceTimersByTime(delay);
|
61
61
|
});
|
62
|
-
expect(result.current).toBe('');
|
62
|
+
expect(result.current.currentText).toBe('');
|
63
63
|
}
|
64
|
-
expect(result.current).toBe('');
|
64
|
+
expect(result.current.currentText).toBe('');
|
65
65
|
});
|
66
66
|
});
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default } from './useTypeAnimationWrapper';
|
@@ -0,0 +1,14 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
4
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
_Object$defineProperty(exports, "default", {
|
9
|
+
enumerable: true,
|
10
|
+
get: function get() {
|
11
|
+
return _useTypeAnimationWrapper["default"];
|
12
|
+
}
|
13
|
+
});
|
14
|
+
var _useTypeAnimationWrapper = _interopRequireDefault(require("./useTypeAnimationWrapper"));
|
@@ -0,0 +1,48 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
4
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
5
|
+
_Object$defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
exports["default"] = void 0;
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
10
|
+
var _react = require("react");
|
11
|
+
var useTypeAnimationWrapper = function useTypeAnimationWrapper(props) {
|
12
|
+
var animationIndex = props.animationIndex,
|
13
|
+
stateIndex = props.stateIndex,
|
14
|
+
isTopLevel = props.isTopLevel,
|
15
|
+
shouldStartAnimation = props.shouldStartAnimation,
|
16
|
+
children = props.children;
|
17
|
+
var _useState = (0, _react.useState)(false),
|
18
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
19
|
+
shouldStart = _useState2[0],
|
20
|
+
setShouldStart = _useState2[1];
|
21
|
+
var _useState3 = (0, _react.useState)(false),
|
22
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
23
|
+
hasList = _useState4[0],
|
24
|
+
setHasList = _useState4[1];
|
25
|
+
(0, _react.useEffect)(function () {
|
26
|
+
var shouldSetShouldStart = animationIndex === stateIndex && isTopLevel || shouldStartAnimation === true;
|
27
|
+
if (shouldSetShouldStart) {
|
28
|
+
setShouldStart(true);
|
29
|
+
} else {
|
30
|
+
setShouldStart(false);
|
31
|
+
}
|
32
|
+
}, [animationIndex, stateIndex, isTopLevel, shouldStartAnimation]);
|
33
|
+
(0, _react.useEffect)(function () {
|
34
|
+
if (!children || children.length < 0) return;
|
35
|
+
for (var i = 0; i < children.length; i += 1) {
|
36
|
+
var _children$i;
|
37
|
+
if ((_children$i = children[i]) !== null && _children$i !== void 0 && _children$i.props && (children[i].props.as === 'ul' || children[i].props.as === 'ol')) {
|
38
|
+
setHasList(true);
|
39
|
+
}
|
40
|
+
}
|
41
|
+
}, [children]);
|
42
|
+
return {
|
43
|
+
shouldStart: shouldStart,
|
44
|
+
hasList: hasList
|
45
|
+
};
|
46
|
+
};
|
47
|
+
var _default = useTypeAnimationWrapper;
|
48
|
+
exports["default"] = _default;
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,93 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
4
|
+
var _reactHooks = require("@testing-library/react-hooks");
|
5
|
+
var _useTypeAnimationWrapper = _interopRequireDefault(require("./useTypeAnimationWrapper"));
|
6
|
+
var animationIndex = 0;
|
7
|
+
var stateIndex = 1;
|
8
|
+
var isTopLevel = false;
|
9
|
+
var shouldStartAnimation = false;
|
10
|
+
var children = [{
|
11
|
+
props: {
|
12
|
+
as: 'ul'
|
13
|
+
}
|
14
|
+
}, {
|
15
|
+
props: {
|
16
|
+
as: 'li'
|
17
|
+
}
|
18
|
+
}, {
|
19
|
+
props: {
|
20
|
+
as: 'ol'
|
21
|
+
}
|
22
|
+
}];
|
23
|
+
describe('useTypeAnimationWrapper', function () {
|
24
|
+
it('should not start animation if animationIndex does not match stateIndex and isTopLevel is false', function () {
|
25
|
+
var _renderHook = (0, _reactHooks.renderHook)(function () {
|
26
|
+
return (0, _useTypeAnimationWrapper["default"])({
|
27
|
+
animationIndex: animationIndex,
|
28
|
+
stateIndex: stateIndex,
|
29
|
+
isTopLevel: isTopLevel,
|
30
|
+
shouldStartAnimation: shouldStartAnimation,
|
31
|
+
children: children
|
32
|
+
});
|
33
|
+
}),
|
34
|
+
result = _renderHook.result;
|
35
|
+
expect(result.current.shouldStart).toBe(false);
|
36
|
+
});
|
37
|
+
it('should start animation if animationIndex matches stateIndex and isTopLevel is true', function () {
|
38
|
+
var _renderHook2 = (0, _reactHooks.renderHook)(function () {
|
39
|
+
return (0, _useTypeAnimationWrapper["default"])({
|
40
|
+
animationIndex: 1,
|
41
|
+
stateIndex: 1,
|
42
|
+
isTopLevel: true,
|
43
|
+
shouldStartAnimation: shouldStartAnimation,
|
44
|
+
children: children
|
45
|
+
});
|
46
|
+
}),
|
47
|
+
result = _renderHook2.result;
|
48
|
+
expect(result.current.shouldStart).toBe(true);
|
49
|
+
});
|
50
|
+
it('should start animation if shouldStartAnimation is true', function () {
|
51
|
+
var _renderHook3 = (0, _reactHooks.renderHook)(function () {
|
52
|
+
return (0, _useTypeAnimationWrapper["default"])({
|
53
|
+
animationIndex: animationIndex,
|
54
|
+
stateIndex: stateIndex,
|
55
|
+
isTopLevel: isTopLevel,
|
56
|
+
shouldStartAnimation: true,
|
57
|
+
children: children
|
58
|
+
});
|
59
|
+
}),
|
60
|
+
result = _renderHook3.result;
|
61
|
+
expect(result.current.shouldStart).toBe(true);
|
62
|
+
});
|
63
|
+
it('should detect if children contain a list', function () {
|
64
|
+
var _renderHook4 = (0, _reactHooks.renderHook)(function () {
|
65
|
+
return (0, _useTypeAnimationWrapper["default"])({
|
66
|
+
animationIndex: animationIndex,
|
67
|
+
stateIndex: stateIndex,
|
68
|
+
isTopLevel: isTopLevel,
|
69
|
+
shouldStartAnimation: shouldStartAnimation,
|
70
|
+
children: children
|
71
|
+
});
|
72
|
+
}),
|
73
|
+
result = _renderHook4.result;
|
74
|
+
expect(result.current.hasList).toBe(true);
|
75
|
+
});
|
76
|
+
it('should not detect a list if children do not contain a list', function () {
|
77
|
+
var _renderHook5 = (0, _reactHooks.renderHook)(function () {
|
78
|
+
return (0, _useTypeAnimationWrapper["default"])({
|
79
|
+
animationIndex: animationIndex,
|
80
|
+
stateIndex: stateIndex,
|
81
|
+
isTopLevel: isTopLevel,
|
82
|
+
shouldStartAnimation: shouldStartAnimation,
|
83
|
+
children: [{
|
84
|
+
props: {
|
85
|
+
as: 'div'
|
86
|
+
}
|
87
|
+
}]
|
88
|
+
});
|
89
|
+
}),
|
90
|
+
result = _renderHook5.result;
|
91
|
+
expect(result.current.hasList).toBe(false);
|
92
|
+
});
|
93
|
+
});
|
package/lib/cjs/index.d.ts
CHANGED
@@ -14,6 +14,7 @@ export { default as PromptInput } from './components/AIComponents/PromptInput';
|
|
14
14
|
export { default as Response } from './components/AIComponents/Response';
|
15
15
|
export { default as ResponseAttachment } from './components/AIComponents/Response/ResponseAttachment';
|
16
16
|
export { default as ResponseList } from './components/AIComponents/Response/ResponseList';
|
17
|
+
export { default as ResponseMarkdown } from './components/AIComponents/Response/ResponseMarkdown';
|
17
18
|
export { default as ResponseText } from './components/AIComponents/Response/ResponseText';
|
18
19
|
export { default as ResponseToolbar } from './components/AIComponents/Response/ResponseToolbar';
|
19
20
|
export { default as ResponseToolbarIcon } from './components/AIComponents/Response/ResponseToolbarIcon';
|
package/lib/cjs/index.js
CHANGED
@@ -24,6 +24,7 @@ var _exportNames = {
|
|
24
24
|
Response: true,
|
25
25
|
ResponseAttachment: true,
|
26
26
|
ResponseList: true,
|
27
|
+
ResponseMarkdown: true,
|
27
28
|
ResponseText: true,
|
28
29
|
ResponseToolbar: true,
|
29
30
|
ResponseToolbarIcon: true,
|
@@ -787,6 +788,12 @@ _Object$defineProperty(exports, "ResponseList", {
|
|
787
788
|
return _ResponseList["default"];
|
788
789
|
}
|
789
790
|
});
|
791
|
+
_Object$defineProperty(exports, "ResponseMarkdown", {
|
792
|
+
enumerable: true,
|
793
|
+
get: function get() {
|
794
|
+
return _ResponseMarkdown["default"];
|
795
|
+
}
|
796
|
+
});
|
790
797
|
_Object$defineProperty(exports, "ResponseText", {
|
791
798
|
enumerable: true,
|
792
799
|
get: function get() {
|
@@ -1077,6 +1084,7 @@ var _PromptInput = _interopRequireDefault(require("./components/AIComponents/Pro
|
|
1077
1084
|
var _Response = _interopRequireDefault(require("./components/AIComponents/Response"));
|
1078
1085
|
var _ResponseAttachment = _interopRequireDefault(require("./components/AIComponents/Response/ResponseAttachment"));
|
1079
1086
|
var _ResponseList = _interopRequireDefault(require("./components/AIComponents/Response/ResponseList"));
|
1087
|
+
var _ResponseMarkdown = _interopRequireDefault(require("./components/AIComponents/Response/ResponseMarkdown"));
|
1080
1088
|
var _ResponseText = _interopRequireDefault(require("./components/AIComponents/Response/ResponseText"));
|
1081
1089
|
var _ResponseToolbar = _interopRequireDefault(require("./components/AIComponents/Response/ResponseToolbar"));
|
1082
1090
|
var _ResponseToolbarIcon = _interopRequireDefault(require("./components/AIComponents/Response/ResponseToolbarIcon"));
|