@patternfly/chatbot 2.2.0-prerelease.7 → 2.2.0-prerelease.8

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.
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { ExtraProps } from 'react-markdown';
3
- declare const OrderedListMessage: ({ children }: JSX.IntrinsicElements["ol"] & ExtraProps) => React.JSX.Element;
3
+ declare const OrderedListMessage: ({ children, start }: JSX.IntrinsicElements["ol"] & ExtraProps) => React.JSX.Element;
4
4
  export default OrderedListMessage;
@@ -8,6 +8,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  const react_1 = __importDefault(require("react"));
10
10
  const react_core_1 = require("@patternfly/react-core");
11
- const OrderedListMessage = ({ children }) => (react_1.default.createElement("div", { className: "pf-chatbot__message-ordered-list" },
12
- react_1.default.createElement(react_core_1.List, { component: react_core_1.ListComponent.ol, type: react_core_1.OrderType.number }, children)));
11
+ const OrderedListMessage = ({ children, start }) => (react_1.default.createElement("div", { className: "pf-chatbot__message-ordered-list" },
12
+ react_1.default.createElement(react_core_1.List, { component: react_core_1.ListComponent.ol, type: react_core_1.OrderType.number, start: start }, children)));
13
13
  exports.default = OrderedListMessage;
@@ -56,7 +56,7 @@ const Message = (_a) => {
56
56
  p: TextMessage_1.default,
57
57
  code: ({ children }) => react_1.default.createElement(CodeBlockMessage_1.default, Object.assign({}, codeBlockProps), children),
58
58
  ul: UnorderedListMessage_1.default,
59
- ol: OrderedListMessage_1.default,
59
+ ol: (props) => react_1.default.createElement(OrderedListMessage_1.default, Object.assign({}, props)),
60
60
  li: ListItemMessage_1.default
61
61
  }, remarkPlugins: [remark_gfm_1.default] }, content)),
62
62
  !isLoading && sources && react_1.default.createElement(SourcesCard_1.default, Object.assign({}, sources)),
@@ -60,6 +60,21 @@ spec:
60
60
  url: https://raw.githubusercontent.com/Azure-Samples/helm-charts/master/docs
61
61
  `;
62
62
  const INLINE_CODE = `Here is an inline code - \`() => void\``;
63
+ const ORDERED_LIST_WITH_CODE = `
64
+ 1. Item 1
65
+ 2. Item 2
66
+
67
+ \`\`\`yaml
68
+ - name: Hello World Playbook
69
+ hosts: localhost
70
+ tasks:
71
+ - name: Print Hello World
72
+ ansible.builtin.debug:
73
+ msg: "Hello, World!"
74
+ \`\`\`
75
+
76
+ 3. Item 3
77
+ `;
63
78
  const checkListItemsRendered = () => {
64
79
  const items = ['Item 1', 'Item 2', 'Item 3'];
65
80
  expect(react_2.screen.getAllByRole('listitem')).toHaveLength(3);
@@ -280,6 +295,12 @@ describe('Message', () => {
280
295
  expect(react_2.screen.getByText('Here is an ordered list:')).toBeTruthy();
281
296
  checkListItemsRendered();
282
297
  });
298
+ it('should render ordered lists correctly if there is interstitial content', () => {
299
+ (0, react_2.render)(react_1.default.createElement(Message_1.default, { avatar: "./img", role: "user", name: "User", content: ORDERED_LIST_WITH_CODE }));
300
+ checkListItemsRendered();
301
+ const list = react_2.screen.getAllByRole('list')[1];
302
+ expect(list).toHaveAttribute('start', '3');
303
+ });
283
304
  it('should render inline code', () => {
284
305
  (0, react_2.render)(react_1.default.createElement(Message_1.default, { avatar: "./img", role: "user", name: "User", content: INLINE_CODE }));
285
306
  expect(react_2.screen.getByText(/() => void/i)).toBeTruthy();
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { ExtraProps } from 'react-markdown';
3
- declare const OrderedListMessage: ({ children }: JSX.IntrinsicElements["ol"] & ExtraProps) => React.JSX.Element;
3
+ declare const OrderedListMessage: ({ children, start }: JSX.IntrinsicElements["ol"] & ExtraProps) => React.JSX.Element;
4
4
  export default OrderedListMessage;
@@ -3,6 +3,6 @@
3
3
  // ============================================================================
4
4
  import React from 'react';
5
5
  import { List, ListComponent, OrderType } from '@patternfly/react-core';
6
- const OrderedListMessage = ({ children }) => (React.createElement("div", { className: "pf-chatbot__message-ordered-list" },
7
- React.createElement(List, { component: ListComponent.ol, type: OrderType.number }, children)));
6
+ const OrderedListMessage = ({ children, start }) => (React.createElement("div", { className: "pf-chatbot__message-ordered-list" },
7
+ React.createElement(List, { component: ListComponent.ol, type: OrderType.number, start: start }, children)));
8
8
  export default OrderedListMessage;
@@ -50,7 +50,7 @@ export const Message = (_a) => {
50
50
  p: TextMessage,
51
51
  code: ({ children }) => React.createElement(CodeBlockMessage, Object.assign({}, codeBlockProps), children),
52
52
  ul: UnorderedListMessage,
53
- ol: OrderedListMessage,
53
+ ol: (props) => React.createElement(OrderedListMessage, Object.assign({}, props)),
54
54
  li: ListItemMessage
55
55
  }, remarkPlugins: [remarkGfm] }, content)),
56
56
  !isLoading && sources && React.createElement(SourcesCard, Object.assign({}, sources)),
@@ -55,6 +55,21 @@ spec:
55
55
  url: https://raw.githubusercontent.com/Azure-Samples/helm-charts/master/docs
56
56
  `;
57
57
  const INLINE_CODE = `Here is an inline code - \`() => void\``;
58
+ const ORDERED_LIST_WITH_CODE = `
59
+ 1. Item 1
60
+ 2. Item 2
61
+
62
+ \`\`\`yaml
63
+ - name: Hello World Playbook
64
+ hosts: localhost
65
+ tasks:
66
+ - name: Print Hello World
67
+ ansible.builtin.debug:
68
+ msg: "Hello, World!"
69
+ \`\`\`
70
+
71
+ 3. Item 3
72
+ `;
58
73
  const checkListItemsRendered = () => {
59
74
  const items = ['Item 1', 'Item 2', 'Item 3'];
60
75
  expect(screen.getAllByRole('listitem')).toHaveLength(3);
@@ -275,6 +290,12 @@ describe('Message', () => {
275
290
  expect(screen.getByText('Here is an ordered list:')).toBeTruthy();
276
291
  checkListItemsRendered();
277
292
  });
293
+ it('should render ordered lists correctly if there is interstitial content', () => {
294
+ render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: ORDERED_LIST_WITH_CODE }));
295
+ checkListItemsRendered();
296
+ const list = screen.getAllByRole('list')[1];
297
+ expect(list).toHaveAttribute('start', '3');
298
+ });
278
299
  it('should render inline code', () => {
279
300
  render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: INLINE_CODE }));
280
301
  expect(screen.getByText(/() => void/i)).toBeTruthy();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/chatbot",
3
- "version": "2.2.0-prerelease.7",
3
+ "version": "2.2.0-prerelease.8",
4
4
  "description": "This library provides React components based on PatternFly 6 that can be used to build chatbots.",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -6,9 +6,9 @@ import React from 'react';
6
6
  import { ExtraProps } from 'react-markdown';
7
7
  import { List, ListComponent, OrderType } from '@patternfly/react-core';
8
8
 
9
- const OrderedListMessage = ({ children }: JSX.IntrinsicElements['ol'] & ExtraProps) => (
9
+ const OrderedListMessage = ({ children, start }: JSX.IntrinsicElements['ol'] & ExtraProps) => (
10
10
  <div className="pf-chatbot__message-ordered-list">
11
- <List component={ListComponent.ol} type={OrderType.number}>
11
+ <List component={ListComponent.ol} type={OrderType.number} start={start}>
12
12
  {children}
13
13
  </List>
14
14
  </div>
@@ -53,6 +53,22 @@ spec:
53
53
 
54
54
  const INLINE_CODE = `Here is an inline code - \`() => void\``;
55
55
 
56
+ const ORDERED_LIST_WITH_CODE = `
57
+ 1. Item 1
58
+ 2. Item 2
59
+
60
+ \`\`\`yaml
61
+ - name: Hello World Playbook
62
+ hosts: localhost
63
+ tasks:
64
+ - name: Print Hello World
65
+ ansible.builtin.debug:
66
+ msg: "Hello, World!"
67
+ \`\`\`
68
+
69
+ 3. Item 3
70
+ `;
71
+
56
72
  const checkListItemsRendered = () => {
57
73
  const items = ['Item 1', 'Item 2', 'Item 3'];
58
74
  expect(screen.getAllByRole('listitem')).toHaveLength(3);
@@ -344,6 +360,12 @@ describe('Message', () => {
344
360
  expect(screen.getByText('Here is an ordered list:')).toBeTruthy();
345
361
  checkListItemsRendered();
346
362
  });
363
+ it('should render ordered lists correctly if there is interstitial content', () => {
364
+ render(<Message avatar="./img" role="user" name="User" content={ORDERED_LIST_WITH_CODE} />);
365
+ checkListItemsRendered();
366
+ const list = screen.getAllByRole('list')[1];
367
+ expect(list).toHaveAttribute('start', '3');
368
+ });
347
369
  it('should render inline code', () => {
348
370
  render(<Message avatar="./img" role="user" name="User" content={INLINE_CODE} />);
349
371
  expect(screen.getByText(/() => void/i)).toBeTruthy();
@@ -156,7 +156,7 @@ export const Message: React.FunctionComponent<MessageProps> = ({
156
156
  p: TextMessage,
157
157
  code: ({ children }) => <CodeBlockMessage {...codeBlockProps}>{children}</CodeBlockMessage>,
158
158
  ul: UnorderedListMessage,
159
- ol: OrderedListMessage,
159
+ ol: (props) => <OrderedListMessage {...props} />,
160
160
  li: ListItemMessage
161
161
  }}
162
162
  remarkPlugins={[remarkGfm]}