@patternfly/chatbot 2.2.0-prerelease.12 → 2.2.0-prerelease.14
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 +66 -17
- 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 +1 -1
- package/src/ChatbotFooter/ChatbotFooter.scss +0 -5
- package/src/ChatbotHeader/ChatbotHeader.scss +0 -3
- 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);
|
@@ -349,9 +349,6 @@
|
|
349
349
|
padding: var(--pf-t--global--spacer--sm) 0;
|
350
350
|
}
|
351
351
|
}
|
352
|
-
.pf-chatbot--docked .pf-chatbot__footer .pf-v6-c-divider {
|
353
|
-
display: none;
|
354
|
-
}
|
355
352
|
.pf-chatbot--docked .pf-chatbot__footer-container {
|
356
353
|
padding: var(--pf-t--global--spacer--sm) var(--pf-t--global--spacer--lg);
|
357
354
|
}
|
@@ -415,9 +412,6 @@
|
|
415
412
|
.pf-chatbot--docked .pf-chatbot__header {
|
416
413
|
background-color: var(--pf-t--chatbot--background);
|
417
414
|
}
|
418
|
-
.pf-chatbot--docked .pf-chatbot__header__divider {
|
419
|
-
display: none;
|
420
|
-
}
|
421
415
|
|
422
416
|
.pf-chatbot__button--toggle-options,
|
423
417
|
.pf-chatbot__button--toggle-menu {
|
@@ -492,7 +486,7 @@
|
|
492
486
|
}
|
493
487
|
.pf-chatbot__chatbot-modal .pf-v6-c-button.pf-m-primary.pf-m-block,
|
494
488
|
.pf-chatbot__chatbot-modal .pf-v6-c-button.pf-m-link.pf-m-block {
|
495
|
-
--pf-v6-c-button--FontWeight:
|
489
|
+
--pf-v6-c-button--FontWeight: var(--pf-t--global--font--weight--body--bold);
|
496
490
|
}
|
497
491
|
.pf-chatbot__chatbot-modal .pf-v6-c-modal-box__footer {
|
498
492
|
padding-block-start: var(--pf-t--global--spacer--xl);
|
@@ -664,7 +658,7 @@
|
|
664
658
|
border: none;
|
665
659
|
--pf-v6-c-code-editor__tab--BorderStartEndRadius: 0;
|
666
660
|
border-start-start-radius: var(--pf-t--global--border--radius--small);
|
667
|
-
--pf-t--global--font--weight--body--default:
|
661
|
+
--pf-t--global--font--weight--body--default: var(--pf-t--global--font--weight--body--bold);
|
668
662
|
}
|
669
663
|
.pf-chatbot__code-modal .pf-v6-c-code-editor__tab-icon {
|
670
664
|
display: none;
|
@@ -780,7 +774,7 @@
|
|
780
774
|
color: var(--pf-t--global--text--color--subtle);
|
781
775
|
display: flex;
|
782
776
|
font-size: var(--pf-t--global--icon--size--font--xs);
|
783
|
-
font-weight:
|
777
|
+
font-weight: var(--pf-t--global--font--weight--body--bold);
|
784
778
|
}
|
785
779
|
|
786
780
|
.pf-chatbot__code-icon {
|
@@ -958,7 +952,7 @@
|
|
958
952
|
.pf-chatbot__message-meta .pf-v6-c-label {
|
959
953
|
--pf-v6-c-label--m-outline--BorderColor: var(--pf-t--chatbot-message--meta--label--color);
|
960
954
|
--pf-v6-c-label--FontSize: var(--pf-t--global--font--size--xs);
|
961
|
-
font-weight:
|
955
|
+
font-weight: var(--pf-t--global--font--weight--body--bold);
|
962
956
|
}
|
963
957
|
.pf-chatbot__message-meta .pf-v6-c-label .pf-v6-c-label__content {
|
964
958
|
--pf-v6-c-label--Color: var(--pf-t--chatbot-message--meta--label--color);
|
@@ -1064,7 +1058,7 @@
|
|
1064
1058
|
justify-content: space-between;
|
1065
1059
|
width: 100%;
|
1066
1060
|
font-size: var(--pf-t--global--font--size--sm);
|
1067
|
-
font-weight:
|
1061
|
+
font-weight: var(--pf-t--global--font--weight--body--bold);
|
1068
1062
|
}
|
1069
1063
|
.pf-chatbot__message-code-block .pf-v6-c-code-block__header .pf-chatbot__button--copy.pf-v6-c-button {
|
1070
1064
|
color: var(--pf-t--color--white);
|
@@ -1167,7 +1161,7 @@
|
|
1167
1161
|
justify-content: space-between;
|
1168
1162
|
width: 100%;
|
1169
1163
|
font-size: var(--pf-t--global--font--size--sm);
|
1170
|
-
font-weight:
|
1164
|
+
font-weight: var(--pf-t--global--font--weight--body--bold);
|
1171
1165
|
}
|
1172
1166
|
.pf-chatbot__message-code-block .pf-v6-c-code-block__header .pf-chatbot__button--copy.pf-v6-c-button {
|
1173
1167
|
color: var(--pf-t--color--white);
|
@@ -1356,6 +1350,61 @@
|
|
1356
1350
|
--pf-v6-c-label--m-clickable--hover--BorderWidth: 0;
|
1357
1351
|
}
|
1358
1352
|
|
1353
|
+
.pf-chatbot__feedback-card {
|
1354
|
+
box-shadow: var(--pf-t--global--box-shadow--sm);
|
1355
|
+
--pf-v6-c-card--BorderWidth: 0;
|
1356
|
+
max-width: 27.5rem;
|
1357
|
+
}
|
1358
|
+
|
1359
|
+
.pf-chatbot__feedback-complete-body {
|
1360
|
+
display: flex;
|
1361
|
+
flex-direction: column;
|
1362
|
+
gap: var(--pf-t--global--spacer--lg);
|
1363
|
+
align-items: center;
|
1364
|
+
}
|
1365
|
+
|
1366
|
+
.pf-chatbot__feedback-complete-text {
|
1367
|
+
display: flex;
|
1368
|
+
align-items: center;
|
1369
|
+
justify-content: center;
|
1370
|
+
flex-direction: column;
|
1371
|
+
gap: var(--pf-t--global--spacer--sm);
|
1372
|
+
--pf-v6-c-card--first-child--PaddingBlockStart: 0;
|
1373
|
+
--pf-v6-c-card__title--not--last-child--PaddingBlockEnd: 0;
|
1374
|
+
}
|
1375
|
+
|
1376
|
+
.pf-chatbot__feedback-complete-image {
|
1377
|
+
display: flex;
|
1378
|
+
align-items: center;
|
1379
|
+
justify-content: center;
|
1380
|
+
}
|
1381
|
+
|
1382
|
+
.pf-chatbot__feedback-complete-body {
|
1383
|
+
text-align: center;
|
1384
|
+
}
|
1385
|
+
|
1386
|
+
.pf-chatbot__feedback-complete-title {
|
1387
|
+
font-family: var(--pf-t--global--font--family--heading);
|
1388
|
+
font-size: var(--pf-t--global--font--size--lg);
|
1389
|
+
font-weight: var(--pf-t--global--font--weight--body--bold);
|
1390
|
+
line-height: var(--pf-t--global--font--line-height--heading);
|
1391
|
+
}
|
1392
|
+
|
1393
|
+
.pf-chatbot__feedback-card-title {
|
1394
|
+
font-family: var(--pf-t--global--font--family--heading);
|
1395
|
+
font-size: var(--pf-t--global--font--size--md);
|
1396
|
+
font-weight: var(--pf-t--global--font--weight--body--bold);
|
1397
|
+
line-height: var(--pf-t--global--font--line-height--heading);
|
1398
|
+
}
|
1399
|
+
|
1400
|
+
.pf-chatbot__feedback-card-form {
|
1401
|
+
--pf-v6-c-form__group--m-action--MarginBlockStart: 0;
|
1402
|
+
}
|
1403
|
+
|
1404
|
+
.pf-chatbot__feedback-card-optional {
|
1405
|
+
font-weight: initial;
|
1406
|
+
}
|
1407
|
+
|
1359
1408
|
.pf-v6-c-button.pf-chatbot__button--attach {
|
1360
1409
|
border-radius: var(--pf-t--global--border--radius--pill);
|
1361
1410
|
padding: var(--pf-t--global--spacer--md);
|
@@ -1686,7 +1735,7 @@
|
|
1686
1735
|
justify-content: space-between;
|
1687
1736
|
border-bottom: 1px solid var(--pf-t--global--border--color--default);
|
1688
1737
|
padding: var(--pf-t--global--spacer--lg);
|
1689
|
-
font-weight:
|
1738
|
+
font-weight: var(--pf-t--global--font--weight--body--bold);
|
1690
1739
|
}
|
1691
1740
|
|
1692
1741
|
.pf-chatbot__settings-form-row:last-of-type {
|
@@ -1696,7 +1745,7 @@
|
|
1696
1745
|
.pf-chatbot__settings--title {
|
1697
1746
|
font-family: var(--pf-t--global--font--family--heading);
|
1698
1747
|
font-size: var(--pf-t--global--font--size--xl);
|
1699
|
-
font-weight:
|
1748
|
+
font-weight: var(--pf-t--global--font--weight--body--bold);
|
1700
1749
|
text-align: center;
|
1701
1750
|
}
|
1702
1751
|
|
@@ -1770,7 +1819,7 @@
|
|
1770
1819
|
.pf-chatbot__source-details-subhead {
|
1771
1820
|
color: var(--pf-t--global--text--color--subtle);
|
1772
1821
|
font-size: var(--pf-t--global--icon--size--font--xs);
|
1773
|
-
font-weight:
|
1822
|
+
font-weight: var(--pf-t--global--font--weight--body--bold);
|
1774
1823
|
}
|
1775
1824
|
|
1776
1825
|
.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;;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;;;
|
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;;;AASJ;EACE;;;AC5CJ;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;;;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;;;ACvIF;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';
|