@patternfly/chatbot 2.2.0-prerelease.11 → 2.2.0-prerelease.13
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/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +3 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.js +3 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.js +3 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +3 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +3 -1
- package/dist/cjs/ChatbotToggle/ChatbotToggle.js +3 -1
- package/dist/cjs/Message/Message.d.ts +12 -1
- package/dist/cjs/Message/Message.js +11 -6
- package/dist/cjs/Message/QuickResponse/QuickResponse.d.ts +3 -1
- package/dist/cjs/Message/QuickResponse/QuickResponse.js +2 -1
- package/dist/cjs/Message/UserFeedback/CloseButton.d.ts +10 -0
- package/dist/cjs/Message/UserFeedback/CloseButton.js +14 -0
- package/dist/cjs/Message/UserFeedback/UserFeedback.d.ts +39 -0
- package/dist/cjs/Message/UserFeedback/UserFeedback.js +55 -0
- package/dist/cjs/Message/UserFeedback/UserFeedback.test.d.ts +1 -0
- package/dist/cjs/Message/UserFeedback/UserFeedback.test.js +146 -0
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.d.ts +42 -0
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.js +117 -0
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.d.ts +1 -0
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.js +249 -0
- package/dist/cjs/MessageBar/AttachButton.js +3 -1
- package/dist/cjs/MessageBar/SendButton.js +3 -1
- package/dist/cjs/MessageBar/StopButton.js +3 -1
- package/dist/cjs/ResponseActions/ResponseActionButton.d.ts +4 -1
- package/dist/cjs/ResponseActions/ResponseActionButton.js +21 -6
- package/dist/cjs/ResponseActions/ResponseActions.d.ts +8 -2
- package/dist/cjs/ResponseActions/ResponseActions.js +7 -7
- package/dist/css/main.css +69 -11
- package/dist/css/main.css.map +1 -1
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +3 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.js +3 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.js +3 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +3 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +3 -1
- package/dist/esm/ChatbotToggle/ChatbotToggle.js +3 -1
- package/dist/esm/Message/Message.d.ts +12 -1
- package/dist/esm/Message/Message.js +8 -3
- package/dist/esm/Message/QuickResponse/QuickResponse.d.ts +3 -1
- package/dist/esm/Message/QuickResponse/QuickResponse.js +2 -1
- package/dist/esm/Message/UserFeedback/CloseButton.d.ts +10 -0
- package/dist/esm/Message/UserFeedback/CloseButton.js +9 -0
- package/dist/esm/Message/UserFeedback/UserFeedback.d.ts +39 -0
- package/dist/esm/Message/UserFeedback/UserFeedback.js +50 -0
- package/dist/esm/Message/UserFeedback/UserFeedback.test.d.ts +1 -0
- package/dist/esm/Message/UserFeedback/UserFeedback.test.js +141 -0
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.d.ts +42 -0
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.js +112 -0
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.d.ts +1 -0
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.js +244 -0
- package/dist/esm/MessageBar/AttachButton.js +3 -1
- package/dist/esm/MessageBar/SendButton.js +3 -1
- package/dist/esm/MessageBar/StopButton.js +3 -1
- package/dist/esm/ResponseActions/ResponseActionButton.d.ts +4 -1
- package/dist/esm/ResponseActions/ResponseActionButton.js +18 -3
- package/dist/esm/ResponseActions/ResponseActions.d.ts +8 -2
- package/dist/esm/ResponseActions/ResponseActions.js +7 -7
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedback.tsx +71 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedbackTimeout.tsx +27 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +37 -7
- package/patternfly-docs/content/extensions/chatbot/examples/UI/UI.md +3 -6
- package/patternfly-docs/content/extensions/chatbot/examples/demos/AttachmentDemos.md +14 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Feedback.tsx +104 -0
- package/src/AttachMenu/AttachMenu.scss +1 -1
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.tsx +7 -1
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.scss +8 -1
- package/src/ChatbotHeader/ChatbotHeaderCloseButton.tsx +7 -1
- package/src/ChatbotHeader/ChatbotHeaderMenu.tsx +7 -1
- package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.tsx +8 -1
- package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.tsx +8 -1
- package/src/ChatbotModal/ChatbotModal.scss +1 -1
- package/src/ChatbotToggle/ChatbotToggle.tsx +6 -1
- package/src/CodeModal/CodeModal.scss +1 -1
- package/src/FileDetails/FileDetails.scss +1 -1
- package/src/Message/CodeBlockMessage/CodeBlockMessage.scss +1 -1
- package/src/Message/Message.scss +1 -1
- package/src/Message/Message.tsx +24 -2
- package/src/Message/QuickResponse/QuickResponse.tsx +6 -2
- package/src/Message/UserFeedback/CloseButton.tsx +21 -0
- package/src/Message/UserFeedback/UserFeedback.scss +53 -0
- package/src/Message/UserFeedback/UserFeedback.test.tsx +257 -0
- package/src/Message/UserFeedback/UserFeedback.tsx +132 -0
- package/src/Message/UserFeedback/UserFeedbackComplete.test.tsx +255 -0
- package/src/Message/UserFeedback/UserFeedbackComplete.tsx +211 -0
- package/src/MessageBar/AttachButton.tsx +2 -0
- package/src/MessageBar/SendButton.tsx +2 -0
- package/src/MessageBar/StopButton.tsx +2 -0
- package/src/ResponseActions/ResponseActionButton.tsx +14 -2
- package/src/ResponseActions/ResponseActions.tsx +26 -2
- package/src/Settings/Settings.scss +2 -2
- package/src/SourceDetailsMenuItem/SourceDetailsMenuItem.scss +1 -1
- package/src/main.scss +1 -0
package/dist/css/main.css
CHANGED
@@ -47,7 +47,7 @@
|
|
47
47
|
width: 21px;
|
48
48
|
}
|
49
49
|
.pf-chatbot__menu .pf-v6-c-menu__item-description {
|
50
|
-
font-weight:
|
50
|
+
font-weight: var(--pf-t--global--font--weight--body--bold);
|
51
51
|
}
|
52
52
|
.pf-chatbot__menu .pf-v6-c-divider {
|
53
53
|
padding: 0 var(--pf-t--global--spacer--md) 0 var(--pf-t--global--spacer--md);
|
@@ -189,7 +189,7 @@
|
|
189
189
|
}
|
190
190
|
.pf-chatbot__history .pf-chatbot__menu-item-header > .pf-v6-c-menu__group-title {
|
191
191
|
color: var(--pf-t--global--text--color--subtle);
|
192
|
-
font-weight:
|
192
|
+
font-weight: var(--pf-t--global--font--weight--body--bold);
|
193
193
|
font-size: var(--pf-t--global--icon--size--font--sm);
|
194
194
|
--pf-v6-c-menu__group-title--PaddingInlineStart: var(--pf-t--global--spacer--sm);
|
195
195
|
--pf-v6-c-menu__group-title--PaddingInlineEnd: var(--pf-t--global--spacer--sm);
|
@@ -276,6 +276,9 @@
|
|
276
276
|
flex-direction: column;
|
277
277
|
height: 70vh;
|
278
278
|
}
|
279
|
+
.pf-chatbot__history.pf-v6-c-drawer .pf-v6-c-drawer__panel.pf-m-resizable .pf-v6-c-drawer__panel-main {
|
280
|
+
row-gap: var(--pf-v6-c-drawer__panel--RowGap);
|
281
|
+
}
|
279
282
|
|
280
283
|
.pf-chatbot--docked .pf-chatbot__history.pf-v6-c-drawer {
|
281
284
|
height: 100vh;
|
@@ -489,7 +492,7 @@
|
|
489
492
|
}
|
490
493
|
.pf-chatbot__chatbot-modal .pf-v6-c-button.pf-m-primary.pf-m-block,
|
491
494
|
.pf-chatbot__chatbot-modal .pf-v6-c-button.pf-m-link.pf-m-block {
|
492
|
-
--pf-v6-c-button--FontWeight:
|
495
|
+
--pf-v6-c-button--FontWeight: var(--pf-t--global--font--weight--body--bold);
|
493
496
|
}
|
494
497
|
.pf-chatbot__chatbot-modal .pf-v6-c-modal-box__footer {
|
495
498
|
padding-block-start: var(--pf-t--global--spacer--xl);
|
@@ -661,7 +664,7 @@
|
|
661
664
|
border: none;
|
662
665
|
--pf-v6-c-code-editor__tab--BorderStartEndRadius: 0;
|
663
666
|
border-start-start-radius: var(--pf-t--global--border--radius--small);
|
664
|
-
--pf-t--global--font--weight--body--default:
|
667
|
+
--pf-t--global--font--weight--body--default: var(--pf-t--global--font--weight--body--bold);
|
665
668
|
}
|
666
669
|
.pf-chatbot__code-modal .pf-v6-c-code-editor__tab-icon {
|
667
670
|
display: none;
|
@@ -777,7 +780,7 @@
|
|
777
780
|
color: var(--pf-t--global--text--color--subtle);
|
778
781
|
display: flex;
|
779
782
|
font-size: var(--pf-t--global--icon--size--font--xs);
|
780
|
-
font-weight:
|
783
|
+
font-weight: var(--pf-t--global--font--weight--body--bold);
|
781
784
|
}
|
782
785
|
|
783
786
|
.pf-chatbot__code-icon {
|
@@ -955,7 +958,7 @@
|
|
955
958
|
.pf-chatbot__message-meta .pf-v6-c-label {
|
956
959
|
--pf-v6-c-label--m-outline--BorderColor: var(--pf-t--chatbot-message--meta--label--color);
|
957
960
|
--pf-v6-c-label--FontSize: var(--pf-t--global--font--size--xs);
|
958
|
-
font-weight:
|
961
|
+
font-weight: var(--pf-t--global--font--weight--body--bold);
|
959
962
|
}
|
960
963
|
.pf-chatbot__message-meta .pf-v6-c-label .pf-v6-c-label__content {
|
961
964
|
--pf-v6-c-label--Color: var(--pf-t--chatbot-message--meta--label--color);
|
@@ -1061,7 +1064,7 @@
|
|
1061
1064
|
justify-content: space-between;
|
1062
1065
|
width: 100%;
|
1063
1066
|
font-size: var(--pf-t--global--font--size--sm);
|
1064
|
-
font-weight:
|
1067
|
+
font-weight: var(--pf-t--global--font--weight--body--bold);
|
1065
1068
|
}
|
1066
1069
|
.pf-chatbot__message-code-block .pf-v6-c-code-block__header .pf-chatbot__button--copy.pf-v6-c-button {
|
1067
1070
|
color: var(--pf-t--color--white);
|
@@ -1164,7 +1167,7 @@
|
|
1164
1167
|
justify-content: space-between;
|
1165
1168
|
width: 100%;
|
1166
1169
|
font-size: var(--pf-t--global--font--size--sm);
|
1167
|
-
font-weight:
|
1170
|
+
font-weight: var(--pf-t--global--font--weight--body--bold);
|
1168
1171
|
}
|
1169
1172
|
.pf-chatbot__message-code-block .pf-v6-c-code-block__header .pf-chatbot__button--copy.pf-v6-c-button {
|
1170
1173
|
color: var(--pf-t--color--white);
|
@@ -1353,6 +1356,61 @@
|
|
1353
1356
|
--pf-v6-c-label--m-clickable--hover--BorderWidth: 0;
|
1354
1357
|
}
|
1355
1358
|
|
1359
|
+
.pf-chatbot__feedback-card {
|
1360
|
+
box-shadow: var(--pf-t--global--box-shadow--sm);
|
1361
|
+
--pf-v6-c-card--BorderWidth: 0;
|
1362
|
+
max-width: 27.5rem;
|
1363
|
+
}
|
1364
|
+
|
1365
|
+
.pf-chatbot__feedback-complete-body {
|
1366
|
+
display: flex;
|
1367
|
+
flex-direction: column;
|
1368
|
+
gap: var(--pf-t--global--spacer--lg);
|
1369
|
+
align-items: center;
|
1370
|
+
}
|
1371
|
+
|
1372
|
+
.pf-chatbot__feedback-complete-text {
|
1373
|
+
display: flex;
|
1374
|
+
align-items: center;
|
1375
|
+
justify-content: center;
|
1376
|
+
flex-direction: column;
|
1377
|
+
gap: var(--pf-t--global--spacer--sm);
|
1378
|
+
--pf-v6-c-card--first-child--PaddingBlockStart: 0;
|
1379
|
+
--pf-v6-c-card__title--not--last-child--PaddingBlockEnd: 0;
|
1380
|
+
}
|
1381
|
+
|
1382
|
+
.pf-chatbot__feedback-complete-image {
|
1383
|
+
display: flex;
|
1384
|
+
align-items: center;
|
1385
|
+
justify-content: center;
|
1386
|
+
}
|
1387
|
+
|
1388
|
+
.pf-chatbot__feedback-complete-body {
|
1389
|
+
text-align: center;
|
1390
|
+
}
|
1391
|
+
|
1392
|
+
.pf-chatbot__feedback-complete-title {
|
1393
|
+
font-family: var(--pf-t--global--font--family--heading);
|
1394
|
+
font-size: var(--pf-t--global--font--size--lg);
|
1395
|
+
font-weight: var(--pf-t--global--font--weight--body--bold);
|
1396
|
+
line-height: var(--pf-t--global--font--line-height--heading);
|
1397
|
+
}
|
1398
|
+
|
1399
|
+
.pf-chatbot__feedback-card-title {
|
1400
|
+
font-family: var(--pf-t--global--font--family--heading);
|
1401
|
+
font-size: var(--pf-t--global--font--size--md);
|
1402
|
+
font-weight: var(--pf-t--global--font--weight--body--bold);
|
1403
|
+
line-height: var(--pf-t--global--font--line-height--heading);
|
1404
|
+
}
|
1405
|
+
|
1406
|
+
.pf-chatbot__feedback-card-form {
|
1407
|
+
--pf-v6-c-form__group--m-action--MarginBlockStart: 0;
|
1408
|
+
}
|
1409
|
+
|
1410
|
+
.pf-chatbot__feedback-card-optional {
|
1411
|
+
font-weight: initial;
|
1412
|
+
}
|
1413
|
+
|
1356
1414
|
.pf-v6-c-button.pf-chatbot__button--attach {
|
1357
1415
|
border-radius: var(--pf-t--global--border--radius--pill);
|
1358
1416
|
padding: var(--pf-t--global--spacer--md);
|
@@ -1683,7 +1741,7 @@
|
|
1683
1741
|
justify-content: space-between;
|
1684
1742
|
border-bottom: 1px solid var(--pf-t--global--border--color--default);
|
1685
1743
|
padding: var(--pf-t--global--spacer--lg);
|
1686
|
-
font-weight:
|
1744
|
+
font-weight: var(--pf-t--global--font--weight--body--bold);
|
1687
1745
|
}
|
1688
1746
|
|
1689
1747
|
.pf-chatbot__settings-form-row:last-of-type {
|
@@ -1693,7 +1751,7 @@
|
|
1693
1751
|
.pf-chatbot__settings--title {
|
1694
1752
|
font-family: var(--pf-t--global--font--family--heading);
|
1695
1753
|
font-size: var(--pf-t--global--font--size--xl);
|
1696
|
-
font-weight:
|
1754
|
+
font-weight: var(--pf-t--global--font--weight--body--bold);
|
1697
1755
|
text-align: center;
|
1698
1756
|
}
|
1699
1757
|
|
@@ -1767,7 +1825,7 @@
|
|
1767
1825
|
.pf-chatbot__source-details-subhead {
|
1768
1826
|
color: var(--pf-t--global--text--color--subtle);
|
1769
1827
|
font-size: var(--pf-t--global--icon--size--font--xs);
|
1770
|
-
font-weight:
|
1828
|
+
font-weight: var(--pf-t--global--font--weight--body--bold);
|
1771
1829
|
}
|
1772
1830
|
|
1773
1831
|
.pf-chatbot__source-details-heading {
|
package/dist/css/main.css.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../src/AttachMenu/AttachMenu.scss","../../src/Chatbot/Chatbot.scss","../../src/ChatbotAlert/ChatbotAlert.scss","../../src/ChatbotContent/ChatbotContent.scss","../../src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.scss","../../src/ChatbotFooter/ChatbotFootnote.scss","../../src/ChatbotFooter/ChatbotFooter.scss","../../src/ChatbotHeader/ChatbotHeader.scss","../../src/ChatbotModal/ChatbotModal.scss","../../src/ChatbotPopover/ChatbotPopover.scss","../../src/ChatbotToggle/ChatbotToggle.scss","../../src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.scss","../../src/CodeModal/CodeModal.scss","../../src/Compare/Compare.scss","../../src/FileDetails/FileDetails.scss","../../src/FileDetailsLabel/FileDetailsLabel.scss","../../src/FileDropZone/FileDropZone.scss","../../src/Message/Message.scss","../../src/Message/MessageLoading.scss","../../src/Message/CodeBlockMessage/CodeBlockMessage.scss","../../src/Message/TextMessage/TextMessage.scss","../../src/Message/ListMessage/ListMessage.scss","../../src/Message/QuickStarts/QuickStartTile.scss","../../src/Message/QuickResponse/QuickResponse.scss","../../src/MessageBar/AttachButton.scss","../../src/MessageBar/MicrophoneButton.scss","../../src/MessageBar/SendButton.scss","../../src/MessageBar/StopButton.scss","../../src/MessageBar/MessageBar.scss","../../src/MessageBox/JumpButton.scss","../../src/MessageBox/MessageBox.scss","../../src/ResponseActions/ResponseActions.scss","../../src/Settings/Settings.scss","../../src/SourcesCard/SourcesCard.scss","../../src/SourceDetailsMenuItem/SourceDetailsMenuItem.scss","../../src/TermsOfUse/TermsOfUse.scss","../../src/main.scss"],"names":[],"mappings":"AAAA;EACE;EACA;;;AAGF;AACE;AAsBA;AASA;;AA9BA;EACE;EACA;EACA;EACA;;AAEF;EACE;;AAGF;AACE;;AACA;EACE;EACA;EACA;EACA;EACA;;AAKJ;EACE;;AAGF;EACE;;AAIF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;;ACxDJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;;AAKF;EAvBF;IAwBI;IACA;;;AAIF;EA7BF;IA8BI;;;;AAOJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIA;EAXF;IAYI;;;;AAOJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAMF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;;AAIF;EAdF;IAeI;;;;AAIJ;EACE;;;AAGF;AAAA;AAAA;EAGE;;;AC1GF;EACE;EACA;EACA;;;ACAF;EACE;EACA;EACA;EACA;EACA;;AAGA;EARF;IASI;;;;AAOJ;EAGI;AAAA;IACE;IACA;;;ACpBJ;EACE;EACA;;AAIF;EACE;EACA;;AAKF;EACE;EACA;EACA;EACA;;AAEF;EACE;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAEF;EACE;;AAGF;EACE;;AAGF;EACE;;;AAMJ;EACE;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;;AAIF;EACE;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAKA;EACE;EACA;EACA;EACA;EACA;EACA;;AAKJ;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;;;
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../src/AttachMenu/AttachMenu.scss","../../src/Chatbot/Chatbot.scss","../../src/ChatbotAlert/ChatbotAlert.scss","../../src/ChatbotContent/ChatbotContent.scss","../../src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.scss","../../src/ChatbotFooter/ChatbotFootnote.scss","../../src/ChatbotFooter/ChatbotFooter.scss","../../src/ChatbotHeader/ChatbotHeader.scss","../../src/ChatbotModal/ChatbotModal.scss","../../src/ChatbotPopover/ChatbotPopover.scss","../../src/ChatbotToggle/ChatbotToggle.scss","../../src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.scss","../../src/CodeModal/CodeModal.scss","../../src/Compare/Compare.scss","../../src/FileDetails/FileDetails.scss","../../src/FileDetailsLabel/FileDetailsLabel.scss","../../src/FileDropZone/FileDropZone.scss","../../src/Message/Message.scss","../../src/Message/MessageLoading.scss","../../src/Message/CodeBlockMessage/CodeBlockMessage.scss","../../src/Message/TextMessage/TextMessage.scss","../../src/Message/ListMessage/ListMessage.scss","../../src/Message/QuickStarts/QuickStartTile.scss","../../src/Message/QuickResponse/QuickResponse.scss","../../src/Message/UserFeedback/UserFeedback.scss","../../src/MessageBar/AttachButton.scss","../../src/MessageBar/MicrophoneButton.scss","../../src/MessageBar/SendButton.scss","../../src/MessageBar/StopButton.scss","../../src/MessageBar/MessageBar.scss","../../src/MessageBox/JumpButton.scss","../../src/MessageBox/MessageBox.scss","../../src/ResponseActions/ResponseActions.scss","../../src/Settings/Settings.scss","../../src/SourcesCard/SourcesCard.scss","../../src/SourceDetailsMenuItem/SourceDetailsMenuItem.scss","../../src/TermsOfUse/TermsOfUse.scss","../../src/main.scss"],"names":[],"mappings":"AAAA;EACE;EACA;;;AAGF;AACE;AAsBA;AASA;;AA9BA;EACE;EACA;EACA;EACA;;AAEF;EACE;;AAGF;AACE;;AACA;EACE;EACA;EACA;EACA;EACA;;AAKJ;EACE;;AAGF;EACE;;AAIF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;;ACxDJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;;AAKF;EAvBF;IAwBI;IACA;;;AAIF;EA7BF;IA8BI;;;;AAOJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIA;EAXF;IAYI;;;;AAOJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAMF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;;AAIF;EAdF;IAeI;;;;AAIJ;EACE;;;AAGF;AAAA;AAAA;EAGE;;;AC1GF;EACE;EACA;EACA;;;ACAF;EACE;EACA;EACA;EACA;EACA;;AAGA;EARF;IASI;;;;AAOJ;EAGI;AAAA;IACE;IACA;;;ACpBJ;EACE;EACA;;AAIF;EACE;EACA;;AAKF;EACE;EACA;EACA;EACA;;AAEF;EACE;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAEF;EACE;;AAGF;EACE;;AAGF;EACE;;;AAMJ;EACE;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;;AAIF;EACE;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAKA;EACE;EACA;EACA;EACA;EACA;EACA;;AAKJ;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;;AAKA;EACE;;;AASJ;EACE;;;AAQF;EACE;;AACA;EACE;;;AASJ;EACE;;AACA;EACE;EACA;;AAEF;EACE;;;AASF;AAAA;AAAA;EACE;;;ACvLN;EACE;;AAEA;EACE;EACA;;;ACHJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAMF;EAGI;AAAA;IACE;;EACA;AAAA;IACE;;EAGJ;AAAA;IACE;IACA;IACA;;;AAUF;EACE;;AAGJ;EACE;;;ACjDJ;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;;AAKJ;EACE;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;;;AAQN;EAGI;AAAA;IACE;;EAEF;AAAA;IACE;;;AASJ;EACE;;AAEF;EACE;;;AAOJ;AAAA;EAEE;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;;AAGF;AAAA;AAAA;AAAA;EAEE;EACA;EACA;;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;;;AAOJ;EACE;;;AAOJ;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;;;AC1IF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAEF;AAAA;EAEE;;AAEF;EACE;EACA;;AAEF;EACE;;;AAOJ;EACE;AAAA;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;;;AAGJ;EACE;AAAA;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;;;AAOJ;EACE;;;AAMF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAQE;EACE;;;AAQN;EACE;;;ACvFA;EAA0B;;AAMxB;EAAM;;AACN;EAAuB;;AACvB;EACE;;AAIF;EACE;EACA;;AAEF;EACE;;;ACnBN;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;;AAGF;EACE;;AAIF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;;AC3BF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;;AAOJ;EAIM;AAAA;IACE;IACA;;;AC1CN;EACE;EACA;EACA;EACA;;AAEF;EACE;AACA;EACA;EACA;;AAEF;EACE;;AAEF;EACE;EACA;;AAEF;EACE;;AAEF;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;;AAEF;EACE;EACA;EACA;;AAEF;EACE;;AAEF;EACE;EACA;;AAEF;EACE;;AAEF;EACE;;;AASA;EACE;EACA;;;AAKN;EACE;;;AAGF;EACE;;;AClFF;EACE;EACA;EACA;EACA;;;AAEF;EACE;;AAEA;EACE;EACA;EACA;;;AAGJ;EACE;EACA;EACA;;AAEA;EALF;IAMI;;;AAGF;EACE;;AAEA;EAHF;IAII;;;;AAKN;EACE;;AAEA;EACE;;AAGF;EACE;;AAIA;EADF;IAEI;;;;AAIN;EACE;;AAEA;EAHF;IAII;;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EARF;IASI;IACA;IACA;;;;ACrEJ;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAIF;EACE;EACA;EACA;EACA;EACA;;;ACvBF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EAEA;EACA;EACA;;AACA;EACE;;AAGF;AAAA;EAEE;EACA;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;;;AAKF;EACE;;AAGF;EACE;;;AAIJ;AAAA;EAEE;EACA;;AAEA;AAAA;EACE;;;AAKF;EACE;;;AAMF;AAAA;EACE;;;AC/DJ;EACE;EACA;;;AAGF;EACE;EACA;EACA;;AAGA;EANF;IAOI;;;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;AACA;EACE;EACA;EACA;EACA;;;AAME;EADF;IAEI;IACA;IACA;;EAEA;IACE;;;;AChDR;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;;AAIA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAKF;EACE;EACA;;AAKF;EACE;EACA;EACA;EACA;;AAKF;EACE;EACA;EACA;;AAGA;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;;AAEA;EACE;;AAKJ;EACE;;AAEF;EACE;;AAMJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;;AAMJ;EACE;EACA;EACA;;;ACrGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EAEE;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;IACE;;EAEF;IAEE;;;;AC9CN;EACE;EACA;EACA;EACA;;AAGA;EACE;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAEA;EAEE;;AAMN;EACE;EACA;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;EACA;;AAEF;EACE;EACA;EACA;;AAGF;EACE;EACA;;;AAKN;EACE;EACA;;;AC1EE;EACE;;;AAMN;EACE;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;EAKE;;AAGF;EACE;EACA;;;AAKF;EACE;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;EAKE;;AAGF;EACE;;;AD5CN;EACE;EACA;EACA;EACA;;AAGA;EACE;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAEA;EAEE;;AAMN;EACE;EACA;EACA;EACA;EACA;;AAEA;AAAA;EAEE;EACA;EACA;;AAEF;EACE;EACA;EACA;;AAGF;EACE;EACA;;;AAKN;EACE;EACA;;;AC1EE;EACE;;;AAMN;EACE;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;EAKE;;AAGF;EACE;EACA;;;AAKF;EACE;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;EAKE;;AAGF;EACE;;;AC3CN;AAAA;EAEE;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;;;AAKF;AAAA;EAEE;EACA;EACA;;;AHnBJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EAEE;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;IACE;;EAEF;IAEE;;;;AIjDN;EACE;EACA;EACA;;AAEA;EALF;IAMI;IACA;;;AAKA;EACE;;;AAOF;EACE;;;ACpBJ;EACE;;AAEA;EAHF;IAII;;;AAGF;EAPF;IAQI;;;AAKF;EACE;EACA;;AAIJ;AAAA;EAEE;EACA;;AAIF;EACE;EACA;EACA;;;AC7BJ;EACE;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AChDF;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAKA;EACE;;;ACbN;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAMA;EACE;;AAKJ;EACE;EACA;;AAGA;EACE;;AAKA;EACE;;;AAMR;EACE;IACE;;EAEF;IACE;;;AC1CJ;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EAEE;EACA;;AAEA;EACE;;;AAMJ;EACE;;AACA;EACE;;AAIJ;EACE;EACA;;AAGF;AAAA;EAEE;;;AAIJ;EACE;IACE;IACA;;EAEF;IACE;IACA;;;AC/CJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EAEE;;;ACTJ;EACE;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACxEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;EAIF;;AAEA;EACE;;AAGF;EAEE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAIF;EA3CF;IA4CI;;;;AC9CJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAIA;EAVF;IAWI;;;AAGF;EAdF;IAeI;;;;AAIJ;EACE;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EAGI;AAAA;IACE;IACA;;;ADtCN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACE;EAIF;;AAEA;EACE;;AAGF;EAEE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAIF;EA3CF;IA4CI;;;;AEhDJ;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAEF;EACE;EACA;;;AAKN;EACE;EACA;;;AC1BF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AChCF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIA;AAAA;EACE;;AAGJ;EACE;EACA;;AAKA;AAAA;EACE;;AAGJ;EACE;;;ACrER;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAIF;EACE;EACA;;;AAGA;EACE;;;AAIJ;EACE;;;AAGF;EACE;;;AC9BA;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;;AAIF;EACE;IACE;IACA;;;;AAKN;AAAA;EAGE;;AAGE;AAAA;EACE;;AAIJ;AAAA;EACE;;;AC9BJ;EAKE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EASA;EACA;EAEA;EAEA;EAEA;AAAA;AAAA;AAAA;AAAA;AAAA;EAMA;EAKA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAEA;;;AAMF;EACE;EACA;EAEA;EAEA;EACA;;;AAGF;EACE;EACA","file":"main.css"}
|
@@ -7,7 +7,9 @@ import { Tooltip, MenuToggle, Dropdown } from '@patternfly/react-core';
|
|
7
7
|
import EllipsisIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
|
8
8
|
export const ChatbotConversationHistoryDropdown = ({ menuItems, menuClassName, onSelect, label }) => {
|
9
9
|
const [isOpen, setIsOpen] = React.useState(false);
|
10
|
-
const toggle = (toggleRef) => (React.createElement(Tooltip, { className: "pf-chatbot__tooltip", content: label !== null && label !== void 0 ? label : 'Conversation options', position: "bottom"
|
10
|
+
const toggle = (toggleRef) => (React.createElement(Tooltip, { className: "pf-chatbot__tooltip", content: label !== null && label !== void 0 ? label : 'Conversation options', position: "bottom",
|
11
|
+
// prevents VO announcements of both aria label and tooltip
|
12
|
+
aria: "none" },
|
11
13
|
React.createElement(MenuToggle, { className: "pf-chatbot__history-actions", variant: "plain", "aria-label": label !== null && label !== void 0 ? label : 'Conversation options', ref: toggleRef, isExpanded: isOpen, onClick: () => setIsOpen(!isOpen), role: "menuitem" },
|
12
14
|
React.createElement(EllipsisIcon, null))));
|
13
15
|
return (React.createElement(Dropdown, { className: `pf-chatbot__selections ${menuClassName !== null && menuClassName !== void 0 ? menuClassName : ''}`, isOpen: isOpen, onSelect: (props) => {
|
@@ -2,7 +2,9 @@ import React from 'react';
|
|
2
2
|
import { Button, Icon, Tooltip } from '@patternfly/react-core';
|
3
3
|
import { CloseIcon } from '@patternfly/react-icons';
|
4
4
|
const ChatbotHeaderCloseButtonBase = ({ className, onClick, tooltipProps, menuAriaLabel = 'Close', innerRef, tooltipContent = 'Close' }) => (React.createElement("div", { className: `pf-chatbot__menu ${className}` },
|
5
|
-
React.createElement(Tooltip, Object.assign({ content: tooltipContent, position: "bottom"
|
5
|
+
React.createElement(Tooltip, Object.assign({ content: tooltipContent, position: "bottom",
|
6
|
+
// prevents VO announcements of both aria label and tooltip
|
7
|
+
aria: "none" }, tooltipProps),
|
6
8
|
React.createElement(Button, { className: "pf-chatbot__button--toggle-menu", variant: "plain", onClick: onClick, "aria-label": menuAriaLabel, ref: innerRef, icon: React.createElement(Icon, { size: "xl", isInline: true },
|
7
9
|
React.createElement(CloseIcon, null)) }))));
|
8
10
|
export const ChatbotHeaderCloseButton = React.forwardRef((props, ref) => (React.createElement(ChatbotHeaderCloseButtonBase, Object.assign({ innerRef: ref }, props))));
|
@@ -2,7 +2,9 @@ import React from 'react';
|
|
2
2
|
import { Button, Icon, Tooltip } from '@patternfly/react-core';
|
3
3
|
import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
|
4
4
|
const ChatbotHeaderMenuBase = ({ className, onMenuToggle, tooltipProps, menuAriaLabel = 'Toggle menu', innerRef, tooltipContent = 'Menu' }) => (React.createElement("div", { className: `pf-chatbot__menu ${className}` },
|
5
|
-
React.createElement(Tooltip, Object.assign({ content: tooltipContent, position: "bottom"
|
5
|
+
React.createElement(Tooltip, Object.assign({ content: tooltipContent, position: "bottom",
|
6
|
+
// prevents VO announcements of both aria label and tooltip
|
7
|
+
aria: "none" }, tooltipProps),
|
6
8
|
React.createElement(Button, { className: "pf-chatbot__button--toggle-menu", variant: "plain", onClick: onMenuToggle, "aria-label": menuAriaLabel, ref: innerRef, icon: React.createElement(Icon, { size: "xl", isInline: true },
|
7
9
|
React.createElement(BarsIcon, null)) }))));
|
8
10
|
export const ChatbotHeaderMenu = React.forwardRef((props, ref) => (React.createElement(ChatbotHeaderMenuBase, Object.assign({ innerRef: ref }, props))));
|
@@ -15,7 +15,9 @@ import EllipsisIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon
|
|
15
15
|
export const ChatbotHeaderOptionsDropdown = (_a) => {
|
16
16
|
var { className, children, onSelect, tooltipProps, menuToggleAriaLabel = 'Chatbot options' } = _a, props = __rest(_a, ["className", "children", "onSelect", "tooltipProps", "menuToggleAriaLabel"]);
|
17
17
|
const [isOptionsMenuOpen, setIsOptionsMenuOpen] = React.useState(false);
|
18
|
-
const toggle = (toggleRef) => (React.createElement(Tooltip, Object.assign({ className: "pf-chatbot__tooltip", content: "Chatbot options", position: "bottom"
|
18
|
+
const toggle = (toggleRef) => (React.createElement(Tooltip, Object.assign({ className: "pf-chatbot__tooltip", content: "Chatbot options", position: "bottom",
|
19
|
+
// prevents VO announcements of both aria label and tooltip
|
20
|
+
aria: "none" }, tooltipProps),
|
19
21
|
React.createElement(MenuToggle, { className: "pf-chatbot__button--toggle-options", variant: "plain", "aria-label": menuToggleAriaLabel, ref: toggleRef, icon: React.createElement(Icon, { iconSize: "xl", isInline: true },
|
20
22
|
React.createElement(EllipsisIcon, null)), isExpanded: isOptionsMenuOpen, onClick: () => setIsOptionsMenuOpen(!isOptionsMenuOpen) })));
|
21
23
|
return (React.createElement(Dropdown, Object.assign({ className: `pf-chatbot__options ${className !== null && className !== void 0 ? className : ''}`, isOpen: isOptionsMenuOpen, onSelect: (e, value) => {
|
@@ -15,7 +15,9 @@ export const ChatbotHeaderSelectorDropdown = (_a) => {
|
|
15
15
|
var { value, className, children, onSelect, tooltipProps, tooltipContent = 'Chatbot selector', menuToggleAriaLabel } = _a, props = __rest(_a, ["value", "className", "children", "onSelect", "tooltipProps", "tooltipContent", "menuToggleAriaLabel"]);
|
16
16
|
const [isOptionsMenuOpen, setIsOptionsMenuOpen] = React.useState(false);
|
17
17
|
const [defaultAriaLabel, setDefaultAriaLabel] = React.useState('Chatbot selector');
|
18
|
-
const toggle = (toggleRef) => (React.createElement(Tooltip, Object.assign({ className: "pf-chatbot__tooltip", content: tooltipContent, position: "bottom"
|
18
|
+
const toggle = (toggleRef) => (React.createElement(Tooltip, Object.assign({ className: "pf-chatbot__tooltip", content: tooltipContent, position: "bottom",
|
19
|
+
// prevents VO announcements of both aria label and tooltip
|
20
|
+
aria: "none" }, tooltipProps),
|
19
21
|
React.createElement(MenuToggle, { variant: "secondary", "aria-label": menuToggleAriaLabel !== null && menuToggleAriaLabel !== void 0 ? menuToggleAriaLabel : defaultAriaLabel, ref: toggleRef, isExpanded: isOptionsMenuOpen, onClick: () => setIsOptionsMenuOpen(!isOptionsMenuOpen) }, value)));
|
20
22
|
return (React.createElement(Dropdown, Object.assign({ className: `pf-chatbot__selections ${className !== null && className !== void 0 ? className : ''}`, isOpen: isOptionsMenuOpen, onSelect: (e, value) => {
|
21
23
|
onSelect && onSelect(e, value);
|
@@ -23,7 +23,9 @@ const ChatbotToggleBase = (_a) => {
|
|
23
23
|
// Configure icon
|
24
24
|
const closedIcon = ClosedToggleIcon ? React.createElement(ClosedToggleIcon, null) : React.createElement(ChatIcon, null);
|
25
25
|
const icon = isChatbotVisible ? React.createElement(AngleDownIcon, { "data-testid": openIconTestId }) : closedIcon;
|
26
|
-
return (React.createElement(Tooltip, Object.assign({ content: tooltipLabel
|
26
|
+
return (React.createElement(Tooltip, Object.assign({ content: tooltipLabel,
|
27
|
+
// prevents VO announcements of both aria label and tooltip
|
28
|
+
aria: "none" }, tooltipProps),
|
27
29
|
React.createElement(Button, Object.assign({ className: `pf-chatbot__button ${isChatbotVisible ? 'pf-chatbot__button--active' : ''} ${isRound ? 'pf-chatbot__button--round' : ''} ${className ? className : ''}`, variant: "plain", "aria-label": toggleButtonLabel || `${tooltipLabel} toggle`, onClick: onToggleChatbot, "aria-expanded": isChatbotVisible, icon: React.createElement(Icon, { isInline: true }, icon), ref: innerRef }, props))));
|
28
30
|
};
|
29
31
|
const ChatbotToggle = React.forwardRef((props, ref) => (React.createElement(ChatbotToggleBase, Object.assign({ innerRef: ref }, props))));
|
@@ -4,6 +4,8 @@ import { ActionProps } from '../ResponseActions/ResponseActions';
|
|
4
4
|
import { SourcesCardProps } from '../SourcesCard';
|
5
5
|
import { QuickStart, QuickstartAction } from './QuickStarts/types';
|
6
6
|
import QuickResponse from './QuickResponse/QuickResponse';
|
7
|
+
import { UserFeedbackProps } from './UserFeedback/UserFeedback';
|
8
|
+
import { UserFeedbackCompleteProps } from './UserFeedback/UserFeedbackComplete';
|
7
9
|
export interface MessageAttachment {
|
8
10
|
/** Name of file attached to the message */
|
9
11
|
name: string;
|
@@ -57,6 +59,10 @@ export interface MessageProps extends Omit<React.HTMLProps<HTMLDivElement>, 'rol
|
|
57
59
|
quickResponses?: QuickResponse[];
|
58
60
|
/** Props for quick responses container */
|
59
61
|
quickResponseContainerProps?: Omit<LabelGroupProps, 'ref'>;
|
62
|
+
/** Props for user feedback card */
|
63
|
+
userFeedbackForm?: Omit<UserFeedbackProps, 'ref'>;
|
64
|
+
/** Props for user feedback response */
|
65
|
+
userFeedbackComplete?: Omit<UserFeedbackCompleteProps, 'ref'>;
|
60
66
|
/** Whether avatar is round */
|
61
67
|
hasRoundAvatar?: boolean;
|
62
68
|
/** Any additional props applied to the avatar, for additional customization */
|
@@ -74,6 +80,11 @@ export interface MessageProps extends Omit<React.HTMLProps<HTMLDivElement>, 'rol
|
|
74
80
|
onClick?: () => void;
|
75
81
|
action?: QuickstartAction;
|
76
82
|
};
|
83
|
+
/** Turns the container into a live region so that changes to content within the Message, such as appending a feedback card, are reliably announced to assistive technology. */
|
84
|
+
isLiveRegion?: boolean;
|
85
|
+
/** Ref applied to message */
|
86
|
+
innerRef?: React.Ref<HTMLDivElement>;
|
77
87
|
}
|
78
|
-
export declare const
|
88
|
+
export declare const MessageBase: React.FunctionComponent<MessageProps>;
|
89
|
+
declare const Message: React.ForwardRefExoticComponent<Omit<MessageProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
79
90
|
export default Message;
|
@@ -27,8 +27,10 @@ import UnorderedListMessage from './ListMessage/UnorderedListMessage';
|
|
27
27
|
import OrderedListMessage from './ListMessage/OrderedListMessage';
|
28
28
|
import QuickStartTile from './QuickStarts/QuickStartTile';
|
29
29
|
import QuickResponse from './QuickResponse/QuickResponse';
|
30
|
-
|
31
|
-
|
30
|
+
import UserFeedback from './UserFeedback/UserFeedback';
|
31
|
+
import UserFeedbackComplete from './UserFeedback/UserFeedbackComplete';
|
32
|
+
export const MessageBase = (_a) => {
|
33
|
+
var { role, content, name, avatar, timestamp, isLoading, actions, sources, botWord = 'AI', loadingWord = 'Loading message', codeBlockProps, quickResponses, quickResponseContainerProps = { numLabels: 5 }, attachments, hasRoundAvatar = true, avatarProps, quickStarts, userFeedbackForm, userFeedbackComplete, isLiveRegion = true, innerRef } = _a, props = __rest(_a, ["role", "content", "name", "avatar", "timestamp", "isLoading", "actions", "sources", "botWord", "loadingWord", "codeBlockProps", "quickResponses", "quickResponseContainerProps", "attachments", "hasRoundAvatar", "avatarProps", "quickStarts", "userFeedbackForm", "userFeedbackComplete", "isLiveRegion", "innerRef"]);
|
32
34
|
let avatarClassName;
|
33
35
|
if (avatarProps && 'className' in avatarProps) {
|
34
36
|
const { className } = avatarProps, rest = __rest(avatarProps, ["className"]);
|
@@ -38,7 +40,7 @@ export const Message = (_a) => {
|
|
38
40
|
// Keep timestamps consistent between Timestamp component and aria-label
|
39
41
|
const date = new Date();
|
40
42
|
const dateString = timestamp !== null && timestamp !== void 0 ? timestamp : `${date.toLocaleDateString()} ${date.toLocaleTimeString()}`;
|
41
|
-
return (React.createElement("section", Object.assign({ "aria-label": `Message from ${role} - ${dateString}`, className: `pf-chatbot__message pf-chatbot__message--${role}
|
43
|
+
return (React.createElement("section", Object.assign({ "aria-label": `Message from ${role} - ${dateString}`, className: `pf-chatbot__message pf-chatbot__message--${role}`, "aria-live": isLiveRegion ? 'polite' : undefined, "aria-atomic": isLiveRegion ? false : undefined, ref: innerRef }, props),
|
42
44
|
React.createElement(Avatar, Object.assign({ className: `pf-chatbot__message-avatar ${hasRoundAvatar ? 'pf-chatbot__message-avatar--round' : ''} ${avatarClassName ? avatarClassName : ''}`, src: avatar, alt: "" }, avatarProps)),
|
43
45
|
React.createElement("div", { className: "pf-chatbot__message-contents" },
|
44
46
|
React.createElement("div", { className: "pf-chatbot__message-meta" },
|
@@ -58,6 +60,8 @@ export const Message = (_a) => {
|
|
58
60
|
!isLoading && sources && React.createElement(SourcesCard, Object.assign({}, sources)),
|
59
61
|
quickStarts && quickStarts.quickStart && (React.createElement(QuickStartTile, { quickStart: quickStarts.quickStart, onSelectQuickStart: quickStarts.onSelectQuickStart, minuteWord: quickStarts.minuteWord, minuteWordPlural: quickStarts.minuteWordPlural, prerequisiteWord: quickStarts.prerequisiteWord, prerequisiteWordPlural: quickStarts.prerequisiteWordPlural, quickStartButtonAriaLabel: quickStarts.quickStartButtonAriaLabel })),
|
60
62
|
!isLoading && actions && React.createElement(ResponseActions, { actions: actions }),
|
63
|
+
userFeedbackForm && React.createElement(UserFeedback, Object.assign({}, userFeedbackForm, { timestamp: dateString })),
|
64
|
+
userFeedbackComplete && React.createElement(UserFeedbackComplete, Object.assign({}, userFeedbackComplete, { timestamp: dateString })),
|
61
65
|
!isLoading && quickResponses && (React.createElement(QuickResponse, { quickResponses: quickResponses, quickResponseContainerProps: quickResponseContainerProps }))),
|
62
66
|
attachments && (React.createElement("div", { className: "pf-chatbot__message-attachments-container" }, attachments.map((attachment) => {
|
63
67
|
var _a;
|
@@ -65,4 +69,5 @@ export const Message = (_a) => {
|
|
65
69
|
React.createElement(FileDetailsLabel, { fileName: attachment.name, fileId: attachment.id, onClose: attachment.onClose, onClick: attachment.onClick, isLoading: attachment.isLoading, closeButtonAriaLabel: attachment.closeButtonAriaLabel, languageTestId: attachment.languageTestId, spinnerTestId: attachment.spinnerTestId })));
|
66
70
|
})))))));
|
67
71
|
};
|
72
|
+
const Message = React.forwardRef((props, ref) => (React.createElement(MessageBase, Object.assign({ innerRef: ref }, props))));
|
68
73
|
export default Message;
|
@@ -3,13 +3,15 @@ import { LabelGroupProps, LabelProps } from '@patternfly/react-core';
|
|
3
3
|
export interface QuickResponse extends Omit<LabelProps, 'children'> {
|
4
4
|
content: string;
|
5
5
|
id: string;
|
6
|
-
onClick
|
6
|
+
onClick?: () => void;
|
7
7
|
}
|
8
8
|
export interface QuickResponseProps {
|
9
9
|
/** Props for quick responses */
|
10
10
|
quickResponses: QuickResponse[];
|
11
11
|
/** Props for quick responses container */
|
12
12
|
quickResponseContainerProps?: Omit<LabelGroupProps, 'ref'>;
|
13
|
+
/** Callback when a response is clicked; used in feedback cards */
|
14
|
+
onSelect?: (id: string) => void;
|
13
15
|
}
|
14
16
|
export declare const QuickResponse: React.FunctionComponent<QuickResponseProps>;
|
15
17
|
export default QuickResponse;
|
@@ -12,11 +12,12 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
12
12
|
import React from 'react';
|
13
13
|
import { Label, LabelGroup } from '@patternfly/react-core';
|
14
14
|
import { CheckIcon } from '@patternfly/react-icons';
|
15
|
-
export const QuickResponse = ({ quickResponses, quickResponseContainerProps = { numLabels: 5 } }) => {
|
15
|
+
export const QuickResponse = ({ quickResponses, quickResponseContainerProps = { numLabels: 5 }, onSelect }) => {
|
16
16
|
const [selectedQuickResponse, setSelectedQuickResponse] = React.useState();
|
17
17
|
const handleQuickResponseClick = (id, onClick) => {
|
18
18
|
setSelectedQuickResponse(id);
|
19
19
|
onClick && onClick();
|
20
|
+
onSelect && onSelect(id);
|
20
21
|
};
|
21
22
|
return (React.createElement(LabelGroup, Object.assign({ className: `pf-chatbot__message-quick-response ${quickResponseContainerProps === null || quickResponseContainerProps === void 0 ? void 0 : quickResponseContainerProps.className}` }, quickResponseContainerProps), quickResponses.map((_a) => {
|
22
23
|
var { id, onClick, content, className } = _a, props = __rest(_a, ["id", "onClick", "content", "className"]);
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { ButtonProps } from '@patternfly/react-core';
|
3
|
+
export interface CloseButtonProps extends ButtonProps {
|
4
|
+
/** Callback function for when close button is clicked */
|
5
|
+
onClose?: () => void;
|
6
|
+
/** Aria-label for button */
|
7
|
+
ariaLabel?: string;
|
8
|
+
}
|
9
|
+
declare const CloseButton: React.FunctionComponent<CloseButtonProps>;
|
10
|
+
export default CloseButton;
|
@@ -0,0 +1,9 @@
|
|
1
|
+
// ============================================================================
|
2
|
+
// Chatbot Main - Messages - Close Button
|
3
|
+
// ============================================================================
|
4
|
+
import React from 'react';
|
5
|
+
// Import PatternFly components
|
6
|
+
import { Button } from '@patternfly/react-core';
|
7
|
+
import { CloseIcon } from '@patternfly/react-icons';
|
8
|
+
const CloseButton = ({ onClose, ariaLabel }) => (React.createElement(Button, { variant: "plain", onClick: onClose, icon: React.createElement(CloseIcon, null), "aria-label": ariaLabel }));
|
9
|
+
export default CloseButton;
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { CardProps, LabelGroupProps, OUIAProps } from '@patternfly/react-core';
|
3
|
+
import QuickResponse from '../QuickResponse/QuickResponse';
|
4
|
+
export interface UserFeedbackProps extends Omit<CardProps, 'onSubmit'>, OUIAProps {
|
5
|
+
/** Additional classes for the pagination navigation container. */
|
6
|
+
className?: string;
|
7
|
+
/** Quick responses a user can select */
|
8
|
+
quickResponses?: QuickResponse[];
|
9
|
+
/** Props for quick responses container */
|
10
|
+
quickResponseContainerProps?: Omit<LabelGroupProps, 'ref'>;
|
11
|
+
/** Whether form includes text area */
|
12
|
+
hasTextArea?: boolean;
|
13
|
+
/** Placeholder of text area */
|
14
|
+
textAreaPlaceholder?: string;
|
15
|
+
/** Aria label for text area */
|
16
|
+
textAreaAriaLabel?: string;
|
17
|
+
/** Callback function for when text area changes */
|
18
|
+
onTextAreaChange?: (event: React.ChangeEvent<HTMLTextAreaElement>, value: string) => void;
|
19
|
+
/** Callback function for when form is submitted */
|
20
|
+
onSubmit: (selectedResponse?: string, additionalFeedback?: string) => void;
|
21
|
+
/** Callback function for when close button is clicked */
|
22
|
+
onClose: () => void;
|
23
|
+
/** Aria label for close button */
|
24
|
+
closeButtonAriaLabel?: string;
|
25
|
+
/** Label for the English word "Submit." */
|
26
|
+
submitWord?: string;
|
27
|
+
/** Label for the English word "Cancel." */
|
28
|
+
cancelWord?: string;
|
29
|
+
/** Uniquely identifies the card. */
|
30
|
+
id?: string;
|
31
|
+
/** The heading level to use, default is h1 */
|
32
|
+
headingLevel?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
|
33
|
+
/** Whether to focus card on load */
|
34
|
+
focusOnLoad?: boolean;
|
35
|
+
/** Timestamp passed in by Message for more context in aria announcements */
|
36
|
+
timestamp?: string;
|
37
|
+
}
|
38
|
+
declare const UserFeedback: React.FunctionComponent<UserFeedbackProps>;
|
39
|
+
export default UserFeedback;
|
@@ -0,0 +1,50 @@
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
2
|
+
var t = {};
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
4
|
+
t[p] = s[p];
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
8
|
+
t[p[i]] = s[p[i]];
|
9
|
+
}
|
10
|
+
return t;
|
11
|
+
};
|
12
|
+
// ============================================================================
|
13
|
+
// Chatbot Main - Messages - Feedback Card
|
14
|
+
// ============================================================================
|
15
|
+
import React from 'react';
|
16
|
+
// Import PatternFly components
|
17
|
+
import { ActionGroup, Button, Card, CardBody, CardHeader, Form, TextArea } from '@patternfly/react-core';
|
18
|
+
import QuickResponse from '../QuickResponse/QuickResponse';
|
19
|
+
import CloseButton from './CloseButton';
|
20
|
+
const UserFeedback = (_a) => {
|
21
|
+
var { className, timestamp, title = 'Why did you choose this rating?', hasTextArea, textAreaAriaLabel = `Provide optional additional feedback for message received at ${timestamp}`, textAreaPlaceholder = 'Provide optional additional feedback', onTextAreaChange, submitWord = 'Submit', quickResponses, quickResponseContainerProps = { 'aria-label': `Quick feedback for message received at ${timestamp}` }, onSubmit, onClose, closeButtonAriaLabel = `Close feedback for message received at ${timestamp}`, id, headingLevel: HeadingLevel = 'h1', focusOnLoad = true, cancelWord = 'Cancel' } = _a, props = __rest(_a, ["className", "timestamp", "title", "hasTextArea", "textAreaAriaLabel", "textAreaPlaceholder", "onTextAreaChange", "submitWord", "quickResponses", "quickResponseContainerProps", "onSubmit", "onClose", "closeButtonAriaLabel", "id", "headingLevel", "focusOnLoad", "cancelWord"]);
|
22
|
+
const [selectedResponse, setSelectedResponse] = React.useState();
|
23
|
+
const [value, setValue] = React.useState('');
|
24
|
+
const divRef = React.useRef(null);
|
25
|
+
React.useEffect(() => {
|
26
|
+
var _a;
|
27
|
+
if (focusOnLoad) {
|
28
|
+
(_a = divRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
29
|
+
}
|
30
|
+
}, []);
|
31
|
+
return (
|
32
|
+
/* card does not have ref forwarding; hence wrapper div */
|
33
|
+
React.createElement("div", { ref: divRef, id: id, tabIndex: 0, "aria-label": title },
|
34
|
+
React.createElement(Card, Object.assign({ className: `pf-chatbot__feedback-card ${className ? className : ''}` }, props),
|
35
|
+
React.createElement(CardHeader, { actions: {
|
36
|
+
actions: React.createElement(CloseButton, { onClose: onClose, ariaLabel: closeButtonAriaLabel })
|
37
|
+
} },
|
38
|
+
React.createElement(HeadingLevel, { className: "pf-chatbot__feedback-card-title" }, title)),
|
39
|
+
React.createElement(CardBody, null,
|
40
|
+
React.createElement(Form, { className: "pf-chatbot__feedback-card-form" },
|
41
|
+
quickResponses && (React.createElement(QuickResponse, { quickResponses: quickResponses, quickResponseContainerProps: quickResponseContainerProps, onSelect: (id) => setSelectedResponse(id) })),
|
42
|
+
hasTextArea && (React.createElement(TextArea, { value: value, onChange: (_event, value) => {
|
43
|
+
setValue(value);
|
44
|
+
onTextAreaChange && onTextAreaChange(_event, value);
|
45
|
+
}, placeholder: textAreaPlaceholder, "aria-label": textAreaAriaLabel, resizeOrientation: "vertical" })),
|
46
|
+
React.createElement(ActionGroup, null,
|
47
|
+
React.createElement(Button, { onClick: () => onSubmit(selectedResponse, value) }, submitWord),
|
48
|
+
React.createElement(Button, { variant: "link", onClick: onClose }, cancelWord)))))));
|
49
|
+
};
|
50
|
+
export default UserFeedback;
|
@@ -0,0 +1 @@
|
|
1
|
+
import '@testing-library/jest-dom';
|