@patternfly/chatbot 2.1.0-prerelease.23 → 2.1.0-prerelease.25

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.
Files changed (36) hide show
  1. package/dist/cjs/MessageBar/MessageBar.d.ts +1 -0
  2. package/dist/cjs/MessageBar/MessageBar.js +4 -3
  3. package/dist/cjs/MessageBar/MicrophoneButton.d.ts +2 -0
  4. package/dist/cjs/MessageBar/MicrophoneButton.js +4 -2
  5. package/dist/css/main.css +1 -0
  6. package/dist/css/main.css.map +1 -1
  7. package/dist/esm/MessageBar/MessageBar.d.ts +1 -0
  8. package/dist/esm/MessageBar/MessageBar.js +4 -3
  9. package/dist/esm/MessageBar/MicrophoneButton.d.ts +2 -0
  10. package/dist/esm/MessageBar/MicrophoneButton.js +4 -2
  11. package/package.json +1 -1
  12. package/patternfly-docs/content/extensions/chatbot/design-guidelines.md +216 -0
  13. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarLanguage.tsx +17 -0
  14. package/patternfly-docs/content/extensions/chatbot/examples/UI/UI.md +10 -0
  15. package/patternfly-docs/content/extensions/chatbot/images.css +6 -0
  16. package/patternfly-docs/content/extensions/chatbot/img/attached-file.svg +46 -0
  17. package/patternfly-docs/content/extensions/chatbot/img/attachment-error.svg +12 -0
  18. package/patternfly-docs/content/extensions/chatbot/img/attachment-menu.svg +150 -0
  19. package/patternfly-docs/content/extensions/chatbot/img/attachment-unsent.svg +88 -0
  20. package/patternfly-docs/content/extensions/chatbot/img/chatbot-elements.svg +136 -0
  21. package/patternfly-docs/content/extensions/chatbot/img/chatbot-toggle-notification.svg +8 -0
  22. package/patternfly-docs/content/extensions/chatbot/img/chatbot-toggle.svg +10 -0
  23. package/patternfly-docs/content/extensions/chatbot/img/conversation-history.svg +154 -0
  24. package/patternfly-docs/content/extensions/chatbot/img/display-menu.svg +82 -0
  25. package/patternfly-docs/content/extensions/chatbot/img/docked.svg +350 -0
  26. package/patternfly-docs/content/extensions/chatbot/img/embedded.svg +156 -0
  27. package/patternfly-docs/content/extensions/chatbot/img/footnote.svg +75 -0
  28. package/patternfly-docs/content/extensions/chatbot/img/fullscreen.svg +109 -0
  29. package/patternfly-docs/content/extensions/chatbot/img/listening.svg +65 -0
  30. package/patternfly-docs/content/extensions/chatbot/img/message-bar-elements.svg +23 -0
  31. package/patternfly-docs/content/extensions/chatbot/img/message-elements.svg +162 -0
  32. package/patternfly-docs/content/extensions/chatbot/img/overlay.svg +276 -0
  33. package/patternfly-docs/content/extensions/chatbot/img/stop-button.svg +64 -0
  34. package/src/MessageBar/MessageBar.scss +1 -0
  35. package/src/MessageBar/MessageBar.tsx +3 -0
  36. package/src/MessageBar/MicrophoneButton.tsx +6 -1
@@ -61,6 +61,7 @@ export interface MessageBarProps {
61
61
  active?: string;
62
62
  inactive?: string;
63
63
  };
64
+ language?: string;
64
65
  props?: ButtonProps;
65
66
  };
66
67
  };
@@ -84,17 +84,18 @@ const MessageBar = (_a) => {
84
84
  textarea.focus();
85
85
  textarea.textContent = dompurify_1.default.sanitize(message);
86
86
  }
87
+ onChange && onChange({}, message);
87
88
  };
88
89
  const renderButtons = () => {
89
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
90
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
90
91
  if (hasStopButton && handleStopButton) {
91
92
  return (react_1.default.createElement(StopButton_1.default, Object.assign({ onClick: handleStopButton, tooltipContent: (_a = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.stop) === null || _a === void 0 ? void 0 : _a.tooltipContent }, (_b = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.stop) === null || _b === void 0 ? void 0 : _b.props)));
92
93
  }
93
94
  return (react_1.default.createElement(react_1.default.Fragment, null,
94
95
  attachMenuProps && (react_1.default.createElement(AttachButton_1.AttachButton, Object.assign({ ref: attachButtonRef, onClick: handleAttachMenuToggle, isDisabled: isListeningMessage, tooltipContent: (_c = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.attach) === null || _c === void 0 ? void 0 : _c.tooltipContent }, (_d = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.attach) === null || _d === void 0 ? void 0 : _d.props))),
95
96
  !attachMenuProps && hasAttachButton && (react_1.default.createElement(AttachButton_1.AttachButton, Object.assign({ onAttachAccepted: handleAttach, isDisabled: isListeningMessage, tooltipContent: (_e = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.attach) === null || _e === void 0 ? void 0 : _e.tooltipContent, inputTestId: (_f = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.attach) === null || _f === void 0 ? void 0 : _f.inputTestId }, (_g = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.attach) === null || _g === void 0 ? void 0 : _g.props))),
96
- hasMicrophoneButton && (react_1.default.createElement(MicrophoneButton_1.default, Object.assign({ isListening: isListeningMessage, onIsListeningChange: setIsListeningMessage, onSpeechRecognition: handleSpeechRecognition, tooltipContent: (_h = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.microphone) === null || _h === void 0 ? void 0 : _h.tooltipContent }, (_j = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.microphone) === null || _j === void 0 ? void 0 : _j.props))),
97
- (alwayShowSendButton || message) && (react_1.default.createElement(SendButton_1.default, Object.assign({ value: message, onClick: handleSend, isDisabled: isSendButtonDisabled, tooltipContent: (_k = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.send) === null || _k === void 0 ? void 0 : _k.tooltipContent }, (_l = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.send) === null || _l === void 0 ? void 0 : _l.props)))));
97
+ hasMicrophoneButton && (react_1.default.createElement(MicrophoneButton_1.default, Object.assign({ isListening: isListeningMessage, onIsListeningChange: setIsListeningMessage, onSpeechRecognition: handleSpeechRecognition, tooltipContent: (_h = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.microphone) === null || _h === void 0 ? void 0 : _h.tooltipContent, language: (_j = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.microphone) === null || _j === void 0 ? void 0 : _j.language }, (_k = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.microphone) === null || _k === void 0 ? void 0 : _k.props))),
98
+ (alwayShowSendButton || message) && (react_1.default.createElement(SendButton_1.default, Object.assign({ value: message, onClick: handleSend, isDisabled: isSendButtonDisabled, tooltipContent: (_l = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.send) === null || _l === void 0 ? void 0 : _l.tooltipContent }, (_m = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.send) === null || _m === void 0 ? void 0 : _m.props)))));
98
99
  };
99
100
  const placeholder = isListeningMessage ? 'Listening' : 'Send a message...';
100
101
  const messageBarContents = (react_1.default.createElement(react_1.default.Fragment, null,
@@ -16,6 +16,8 @@ export interface MicrophoneButtonProps extends ButtonProps {
16
16
  active?: string;
17
17
  inactive?: string;
18
18
  };
19
+ /** Locale code for language speech recognition is conducted in. This should be in the format 'en-US', a.k.a. the ISO 639-1 code, a dash, and the ISO_3166-1 code. */
20
+ language?: string;
19
21
  }
20
22
  export declare const MicrophoneButton: React.FunctionComponent<MicrophoneButtonProps>;
21
23
  export default MicrophoneButton;
@@ -24,7 +24,7 @@ const react_core_1 = require("@patternfly/react-core");
24
24
  // Import FontAwesome icons
25
25
  const microphone_icon_1 = require("@patternfly/react-icons/dist/esm/icons/microphone-icon");
26
26
  const MicrophoneButton = (_a) => {
27
- var { isListening, onIsListeningChange, onSpeechRecognition, className, tooltipProps, tooltipContent = { active: 'Stop listening', inactive: 'Use microphone' } } = _a, props = __rest(_a, ["isListening", "onIsListeningChange", "onSpeechRecognition", "className", "tooltipProps", "tooltipContent"]);
27
+ var { isListening, onIsListeningChange, onSpeechRecognition, className, tooltipProps, tooltipContent = { active: 'Stop listening', inactive: 'Use microphone' }, language = 'en-US' } = _a, props = __rest(_a, ["isListening", "onIsListeningChange", "onSpeechRecognition", "className", "tooltipProps", "tooltipContent", "language"]);
28
28
  // Microphone
29
29
  // --------------------------------------------------------------------------
30
30
  const [speechRecognition, setSpeechRecognition] = react_1.default.useState();
@@ -49,11 +49,13 @@ const MicrophoneButton = (_a) => {
49
49
  const recognition = new (window.SpeechRecognition || window.webkitSpeechRecognition)();
50
50
  recognition.continuous = false;
51
51
  recognition.interimResults = false;
52
- recognition.lang = 'en-US';
52
+ recognition.lang = language;
53
53
  recognition.onresult = (event) => {
54
54
  const result = event.results[0][0].transcript;
55
55
  onSpeechRecognition(result);
56
56
  recognition.stop();
57
+ // turn button off
58
+ onIsListeningChange(false);
57
59
  };
58
60
  recognition.onerror = (event) => {
59
61
  // eslint-disable-next-line no-console
package/dist/css/main.css CHANGED
@@ -1357,6 +1357,7 @@ html.pf-chatbot-allow--docked {
1357
1357
  left: 16px;
1358
1358
  color: var(--pf-t--global--text--color--placeholder);
1359
1359
  pointer-events: none;
1360
+ font-size: var(--pf-t--chatbot--font-size);
1360
1361
  }
1361
1362
 
1362
1363
  .pf-chatbot__message-textarea {
@@ -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/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/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/SourcesCard/SourcesCard.scss","../../src/SourceDetailsMenuItem/SourceDetailsMenuItem.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;;;;AAIJ;EACE;;AAIA;EALF;IAMI;;;;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;;;ACpHF;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;;AAEF;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;;AAKJ;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;;;AAQF;EACE;;;AAQF;EACE;;AACA;EACE;;;AASJ;EACE;;AACA;EACE;EACA;;AAEF;EACE;;;AASF;AAAA;AAAA;EACE;;;AClKN;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;;;AAUF;EACE;;AAGJ;EACE;;;AChDJ;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;;;ACxEN;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;;AAIA;EACE;;AAEA;EAHF;IAII;;;AAGF;EAPF;IAQI;;;;AAQR;EACE;EACA;EACA;;;ACnHF;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;;;;AI9CN;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;EAEE;;AAEA;EACE;;;AAKN;EACE;IACE;IACA;;EAEF;IACE;IACA;;;ACvBJ;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;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;ACvEF;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;;AAEA;EACE;;AAMA;EACE;;;ACrBR;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;;;ACJF;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"}
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/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/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/SourcesCard/SourcesCard.scss","../../src/SourceDetailsMenuItem/SourceDetailsMenuItem.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;;;;AAIJ;EACE;;AAIA;EALF;IAMI;;;;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;;;ACpHF;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;;AAEF;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;;AAKJ;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;;;AAQF;EACE;;;AAQF;EACE;;AACA;EACE;;;AASJ;EACE;;AACA;EACE;EACA;;AAEF;EACE;;;AASF;AAAA;AAAA;EACE;;;AClKN;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;;;AAUF;EACE;;AAGJ;EACE;;;AChDJ;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;;;ACxEN;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;;AAIA;EACE;;AAEA;EAHF;IAII;;;AAGF;EAPF;IAQI;;;;AAQR;EACE;EACA;EACA;;;ACnHF;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;;;;AI9CN;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;EAEE;;AAEA;EACE;;;AAKN;EACE;IACE;IACA;;EAEF;IACE;IACA;;;ACvBJ;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;;AAEA;EACE;;AAMA;EACE;;;ACrBR;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;;;ACJF;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"}
@@ -61,6 +61,7 @@ export interface MessageBarProps {
61
61
  active?: string;
62
62
  inactive?: string;
63
63
  };
64
+ language?: string;
64
65
  props?: ButtonProps;
65
66
  };
66
67
  };
@@ -78,17 +78,18 @@ export const MessageBar = (_a) => {
78
78
  textarea.focus();
79
79
  textarea.textContent = DOMPurify.sanitize(message);
80
80
  }
81
+ onChange && onChange({}, message);
81
82
  };
82
83
  const renderButtons = () => {
83
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
84
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
84
85
  if (hasStopButton && handleStopButton) {
85
86
  return (React.createElement(StopButton, Object.assign({ onClick: handleStopButton, tooltipContent: (_a = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.stop) === null || _a === void 0 ? void 0 : _a.tooltipContent }, (_b = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.stop) === null || _b === void 0 ? void 0 : _b.props)));
86
87
  }
87
88
  return (React.createElement(React.Fragment, null,
88
89
  attachMenuProps && (React.createElement(AttachButton, Object.assign({ ref: attachButtonRef, onClick: handleAttachMenuToggle, isDisabled: isListeningMessage, tooltipContent: (_c = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.attach) === null || _c === void 0 ? void 0 : _c.tooltipContent }, (_d = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.attach) === null || _d === void 0 ? void 0 : _d.props))),
89
90
  !attachMenuProps && hasAttachButton && (React.createElement(AttachButton, Object.assign({ onAttachAccepted: handleAttach, isDisabled: isListeningMessage, tooltipContent: (_e = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.attach) === null || _e === void 0 ? void 0 : _e.tooltipContent, inputTestId: (_f = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.attach) === null || _f === void 0 ? void 0 : _f.inputTestId }, (_g = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.attach) === null || _g === void 0 ? void 0 : _g.props))),
90
- hasMicrophoneButton && (React.createElement(MicrophoneButton, Object.assign({ isListening: isListeningMessage, onIsListeningChange: setIsListeningMessage, onSpeechRecognition: handleSpeechRecognition, tooltipContent: (_h = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.microphone) === null || _h === void 0 ? void 0 : _h.tooltipContent }, (_j = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.microphone) === null || _j === void 0 ? void 0 : _j.props))),
91
- (alwayShowSendButton || message) && (React.createElement(SendButton, Object.assign({ value: message, onClick: handleSend, isDisabled: isSendButtonDisabled, tooltipContent: (_k = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.send) === null || _k === void 0 ? void 0 : _k.tooltipContent }, (_l = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.send) === null || _l === void 0 ? void 0 : _l.props)))));
91
+ hasMicrophoneButton && (React.createElement(MicrophoneButton, Object.assign({ isListening: isListeningMessage, onIsListeningChange: setIsListeningMessage, onSpeechRecognition: handleSpeechRecognition, tooltipContent: (_h = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.microphone) === null || _h === void 0 ? void 0 : _h.tooltipContent, language: (_j = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.microphone) === null || _j === void 0 ? void 0 : _j.language }, (_k = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.microphone) === null || _k === void 0 ? void 0 : _k.props))),
92
+ (alwayShowSendButton || message) && (React.createElement(SendButton, Object.assign({ value: message, onClick: handleSend, isDisabled: isSendButtonDisabled, tooltipContent: (_l = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.send) === null || _l === void 0 ? void 0 : _l.tooltipContent }, (_m = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.send) === null || _m === void 0 ? void 0 : _m.props)))));
92
93
  };
93
94
  const placeholder = isListeningMessage ? 'Listening' : 'Send a message...';
94
95
  const messageBarContents = (React.createElement(React.Fragment, null,
@@ -16,6 +16,8 @@ export interface MicrophoneButtonProps extends ButtonProps {
16
16
  active?: string;
17
17
  inactive?: string;
18
18
  };
19
+ /** Locale code for language speech recognition is conducted in. This should be in the format 'en-US', a.k.a. the ISO 639-1 code, a dash, and the ISO_3166-1 code. */
20
+ language?: string;
19
21
  }
20
22
  export declare const MicrophoneButton: React.FunctionComponent<MicrophoneButtonProps>;
21
23
  export default MicrophoneButton;
@@ -18,7 +18,7 @@ import { Button, Tooltip, Icon } from '@patternfly/react-core';
18
18
  // Import FontAwesome icons
19
19
  import { MicrophoneIcon } from '@patternfly/react-icons/dist/esm/icons/microphone-icon';
20
20
  export const MicrophoneButton = (_a) => {
21
- var { isListening, onIsListeningChange, onSpeechRecognition, className, tooltipProps, tooltipContent = { active: 'Stop listening', inactive: 'Use microphone' } } = _a, props = __rest(_a, ["isListening", "onIsListeningChange", "onSpeechRecognition", "className", "tooltipProps", "tooltipContent"]);
21
+ var { isListening, onIsListeningChange, onSpeechRecognition, className, tooltipProps, tooltipContent = { active: 'Stop listening', inactive: 'Use microphone' }, language = 'en-US' } = _a, props = __rest(_a, ["isListening", "onIsListeningChange", "onSpeechRecognition", "className", "tooltipProps", "tooltipContent", "language"]);
22
22
  // Microphone
23
23
  // --------------------------------------------------------------------------
24
24
  const [speechRecognition, setSpeechRecognition] = React.useState();
@@ -43,11 +43,13 @@ export const MicrophoneButton = (_a) => {
43
43
  const recognition = new (window.SpeechRecognition || window.webkitSpeechRecognition)();
44
44
  recognition.continuous = false;
45
45
  recognition.interimResults = false;
46
- recognition.lang = 'en-US';
46
+ recognition.lang = language;
47
47
  recognition.onresult = (event) => {
48
48
  const result = event.results[0][0].transcript;
49
49
  onSpeechRecognition(result);
50
50
  recognition.stop();
51
+ // turn button off
52
+ onIsListeningChange(false);
51
53
  };
52
54
  recognition.onerror = (event) => {
53
55
  // eslint-disable-next-line no-console
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/chatbot",
3
- "version": "2.1.0-prerelease.23",
3
+ "version": "2.1.0-prerelease.25",
4
4
  "description": "This library provides React components based on PatternFly 6 that can be used to build chatbots.",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -0,0 +1,216 @@
1
+ ---
2
+ section: PatternFly-AI
3
+ subsection: ChatBot
4
+ id: Overview
5
+ sortValue: 1
6
+ source: design-guidelines
7
+ ---
8
+
9
+ import "./images.css"
10
+
11
+ ## Elements
12
+
13
+ <div class="ws-docs-content-img">
14
+ ![Main elements of a ChatBot.](./img/chatbot-elements.svg)
15
+ </div>
16
+
17
+ 1. **Container:** The window that contains the entire ChatBot experience and all of its components.
18
+ 1. **Header:** A persistent region at the top of the ChatBot window that contains navigation, branding, and actions.
19
+ 1. **Navigation:** A menu that contains navigational options, including access to the conversation history.
20
+ 1. **Options menu:** Contains display options and other settings. More details can be found in the [ChatBot variations section](#variations).
21
+ 1. **Messages:** Elements of the conversation between a ChatBot and user. More details can be found in the [message guidelines](#messages).
22
+ 1. **Attachments:** Details about files that a user has uploaded to the ChatBot.
23
+ 1. **Footer:** A persistent region at the bottom of the ChatBot window that contains the message bar and the footnote.
24
+ 1. **Footnote (optional):** A persistent, short message that contains any legal disclaimers or important information about the ChatBot. Footnotes are optional, but strongly recommended. More details can be found in the [footnote guidelines](#footnotes).
25
+ 1. **Toggle:** The button that allows users to open and close the ChatBot window. When the ChatBot is opened, the toggle should appear below the ChatBot window. The toggle shape and icon can be customized as needed, as shown in these [ChatBot toggle examples](/patternfly-ai/chatbot/ui#custom-toggle-icon). More details can be found in the [guidelines for accessing a ChatBot](#accessing-a-chatbot).
26
+
27
+ ### Messages
28
+
29
+ <div class="ws-docs-content-img">
30
+ ![A basic user message, bot message, and quick reply buttons.](./img/message-elements.svg)
31
+ </div>
32
+
33
+ 1. **User message:** Messages that the user has sent to the ChatBot.
34
+ 1. **Bot message:** Messages from the ChatBot, which are marked with an "AI" label to communicate the use of AI to users. You should choose a descriptive name for your ChatBot.
35
+ 1. **Avatar:** Representative image for your ChatBot and the user. ChatBot avatars should align with your product's brand and any existing brand standards.
36
+ 1. **Name:** Identifier for your ChatBot and the user. Choose a name for your ChatBot that users can easily identify as a bot.
37
+ 1. **Timestamp:** The relative or absolute time that a message was sent.
38
+ 1. **Label:** Labels ChatBot messages as "AI."
39
+ 1. **Quick responses:** Programmable, clickable actions that allow users to quickly answer questions from the ChatBot.
40
+ 1. **Sources:** Cards that link to documentation or other external resources. When multiple sources are included, users can paginate through the different options.
41
+ 1. **Response actions:** Actions that allow users to interact with a bot message. these typically include providing feedback, copying, sharing, or reading aloud, but [custom message actions](/patternfly-ai/chatbot/messages#custom-message-actions) are also supported.
42
+
43
+ ### Message bar
44
+
45
+ To message the ChatBot, users can type directly into the message bar in the footer or click any included actions.
46
+
47
+ <div class="ws-docs-content-img">
48
+ ![Elements of a message bar, including input actions.](./img/message-bar-elements.svg)
49
+ </div>
50
+
51
+ 1. **Attach button:** Allows users to upload files from their computer.
52
+ 1. **Use microphone button:** Supports speech recognition to allow users to use voice input. This feature is currently only available in Chrome and Safari.
53
+ 1. **Send button:** Allows users to send a typed message. This button should be disabled until a user has input text.
54
+
55
+ When a user chooses to use speech input via the microphone button, the button will display an animation to indicate that the ChatBot is listening to the user (as shown in [this speech recognition example](/patternfly-ai/chatbot/ui#message-bar-with-speech-recognition-and-file-attachment)).
56
+
57
+ <div class="ws-docs-content-img">
58
+ ![Active listening button in the message bar.](./img/listening.svg)
59
+ </div>
60
+
61
+ When a bot is responding (or "streaming") to the user, a stop button will be displayed as the only action in the message bar. Selecting this button will halt the bot's message where it's at.
62
+
63
+ <div class="ws-docs-content-img">
64
+ ![Stop button in the message bar.](./img/stop-button.svg)
65
+ </div>
66
+
67
+ ### Footnotes
68
+
69
+ The footnote provides a persistent space to display messaging about your product's Terms and Conditions, which focus on the rules of using the service, and Privacy Policy, which focuses on the handling of personal data.
70
+
71
+ Though footnotes are not required, they are highly recommended to ensure legal compliance, establish user trust, and clearly define the usage guidelines and data handling practices.
72
+
73
+ When users select the footnote, you can display a popover that provides more information than would fit in the footnote:
74
+
75
+ <div class="ws-docs-content-img">
76
+ ![Selected footnote, with an informative popover.](./img/footnote.svg)
77
+ </div>
78
+
79
+ ## Usage
80
+
81
+ When ChatBots are designed to meet the needs of your users, they can improve the overall UX of your product by offering convenient, efficient, and persistent support. When your ChatBot cannot find an answer for your users, you must provide them with a method to contact human support.
82
+
83
+ Before building a ChatBot, make sure that you have justified it as an appropriate solution by asking yourself these questions:
84
+
85
+ - What are the users’ goals?
86
+ - How in-depth is the assistance the user will need?
87
+ - Does human assistance better serve your users?
88
+ - How is a ChatBot superior to online documentation, contextual support or wizards?
89
+ - What data sources or abilities can this ChatBot leverage to assist your users?
90
+
91
+ Do not create a ChatBot simply for the sake of novelty.
92
+
93
+ ### When to use a ChatBot
94
+
95
+ Use a ChatBot to offer your users on-demand help at any time, including:
96
+
97
+ - Technical support and troubleshooting.
98
+ - Product information and documentation.
99
+ - Sales and product recommendations.
100
+ - Training and onboarding.
101
+ - System monitoring and alerts.
102
+ - Community engagement.
103
+ - Feedback collection and surveys.
104
+
105
+ ### When not to use a ChatBot
106
+
107
+ Do not use a ChatBot when:
108
+
109
+ - A task could be accomplished more efficiently through the UI.
110
+ - A process is very complex or could take a long time.
111
+ - A real human is needed for sensitive or emotional topics.
112
+
113
+ ## Behavior
114
+
115
+ ### Accessing a ChatBot
116
+
117
+ Users can enter a conversation with a ChatBot by clicking on the toggle. Once the ChatBot window opens, the toggle will change to display an "angle down" icon to indicate that clicking the toggle again will minimize the ChatBot. Users can select the toggle at any point in their journey to open and close the ChatBot as needed.
118
+
119
+ <div class="ws-docs-content-img">
120
+ ![2 toggles with open and closed icons.](./img/chatbot-toggle.svg)
121
+ </div>
122
+
123
+ When there is an unread message from the ChatBot, a notification badge should be placed on the toggle.
124
+
125
+ <div class="ws-docs-content-img">
126
+ ![Toggle with notification badge.](./img/chatbot-toggle-notification.svg)
127
+ </div>
128
+
129
+ ### Using the navigation menu
130
+
131
+ The ChatBot navigation menu primarily contains a users' conversation history with the ChatBot. Clicking the menu icon opens a side drawer in the ChatBot window.
132
+
133
+ By clicking into the navigation menu, users can search through previous conversations and perform additional actions, such as sharing a conversation with others.
134
+
135
+ <div class="ws-docs-content-img">
136
+ ![Conversation history with an options menu opened on a previous conversation.](./img/conversation-history.svg)
137
+ </div>
138
+
139
+ ### Attaching files
140
+
141
+ Using [the attach button](/patternfly-ai/chatbot/overview/design-guidelines#message-bar) in the message bar, users can [attach files](/patternfly-ai/chatbot/messages#file-attachments) to their message to share with the ChatBot.
142
+
143
+ The attach button can follow a couple of patterns, including:
144
+
145
+ - Opening the file explorer for a user's operating system
146
+ - Opening a menu with attachment options that are chosen by designers and developers
147
+
148
+ <div class="ws-docs-content-img">
149
+ ![Menu with file attachment options.](./img/attachment-menu.svg)
150
+ </div>
151
+
152
+ When users attach a file to a message that they're drafting, it will be displayed in the ChatBot footer, above the message bar. This allows them to remove an attachment before sending if necessary:
153
+
154
+ <div class="ws-docs-content-img">
155
+ ![Attachment in message bar, before a user has sent the message.](./img/attachment-unsent.svg)
156
+ </div>
157
+
158
+ If a message attachment is successful, a label with the file details will be displayed in the message:
159
+
160
+ <div class="ws-docs-content-img">
161
+ ![File attached to user message.](./img/attached-file.svg)
162
+ </div>
163
+
164
+ Users can select the file label to either preview or edit their attachment, as shown in these [attachment examples](/patternfly-ai/chatbot/messages#attachment-preview).
165
+
166
+ If a message attachment fails, an error message should share the reason for failure:
167
+
168
+ <div class="ws-docs-content-img">
169
+ ![Error alert for failed attachment.](./img/attachment-error.svg)
170
+ </div>
171
+
172
+ ## Variations
173
+
174
+ ### Display modes
175
+
176
+ There are a few display modes that users can choose when interacting with a ChatBot.
177
+
178
+ <div class="ws-docs-content-img">
179
+ ![Menu of display options.](./img/display-menu.svg)
180
+ </div>
181
+
182
+ 1. **Overlay:** The default display mode, which floats the ChatBot window on top of a product's UI. In overlay mode, the ChatBot can be opened and minimized with the toggle.
183
+
184
+ <div class="ws-docs-content-img">
185
+ ![ChatBot in overlay mode.](./img/overlay.svg)
186
+ </div>
187
+
188
+ 2. **Docked:** Anchors the ChatBot to the side of the page content. When docked, the ChatBot window is persistent, and cannot be toggled.
189
+
190
+ <div class="ws-docs-content-img">
191
+ ![ChatBot in docked mode.](./img/docked.svg)
192
+ </div>
193
+
194
+ 3. **Full screen:** Fills the screen with the ChatBot window.
195
+
196
+ <div class="ws-docs-content-img">
197
+ ![ChatBot in full-screen mode.](./img/fullscreen.svg)
198
+ </div>
199
+
200
+ 4. **Embedded:** Places the ChatBot within a product as its own page. An embedded ChatBot could be displayed in the product's navigation menu.
201
+
202
+ <div class="ws-docs-content-img">
203
+ ![ChatBot embedded in a product.](./img/embedded.svg)
204
+ </div>
205
+
206
+ ## Placement
207
+
208
+ Your users will expect your ChatBot to be in a reliable, permanent location. Overlay displays are placed in the bottom right of the screen by default. If you're using a full screen or embedded ChatBot, stick to a consistent access location, like a button in the masthead or an item in the navigation menu.
209
+
210
+ ## Content considerations
211
+
212
+ For guidance on writing ChatBot content, refer to our [conversation design guidelines](/patternfly-ai/conversation-design).
213
+
214
+ ## Accessibility
215
+
216
+ Although accessibility has been integrated into the design of our ChatBot components, it is important to ensure that your implementation is inclusive of all users. For more guidance, refer to [our accessibility guidelines](/accessibility/about-accessibility).
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { MessageBar } from '@patternfly/chatbot/dist/dynamic/MessageBar';
3
+
4
+ export const ChatbotMessageBarExample: React.FunctionComponent = () => {
5
+ const handleSend = (message) => alert(message);
6
+
7
+ return (
8
+ <MessageBar
9
+ hasAttachButton={false}
10
+ onSendMessage={handleSend}
11
+ hasMicrophoneButton
12
+ buttonProps={{
13
+ microphone: { language: 'ja-JP' }
14
+ }}
15
+ />
16
+ );
17
+ };
@@ -247,6 +247,16 @@ By default the message bar supports file uploads via an attach button. Setting `
247
247
 
248
248
  ```
249
249
 
250
+ ### Message bar with speech recognition in a different language
251
+
252
+ Speech recognition defaults to en-US. You can update the locale as needed. Locale codes are a combination of the [ISO 639-1 language code](https://www.iso.org/iso-639-language-code) and the [ISO 3166-1 country code](https://www.iso.org/iso-3166-country-codes.html), separated by a hyphen.
253
+
254
+ In this example, the locale is set to to ja-JP. You can try it out by saying "hajimemashite" (初めまして).
255
+
256
+ ```js file="./ChatbotMessageBarLanguage.tsx"
257
+
258
+ ```
259
+
250
260
  ### Message bar with attach menu appended to attach button
251
261
 
252
262
  You can change the behavior of the attach button to open a menu, rather than the default file viewer for your operating system. This menu can display different actions related to attachments.
@@ -0,0 +1,6 @@
1
+ .ws-docs-content-img {
2
+ text-align: center;
3
+ margin-inline: auto;
4
+ width: 100%;
5
+ max-width: 700px;
6
+ }
@@ -0,0 +1,46 @@
1
+ <svg width="346" height="155" viewBox="0 0 346 155" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_329_54389)">
3
+ <rect width="346" height="155" fill="white"/>
4
+ <g clip-path="url(#clip1_329_54389)">
5
+ <g clip-path="url(#clip2_329_54389)">
6
+ <circle cx="43" cy="35" r="24" fill="#F2F2F2"/>
7
+ <mask id="mask0_329_54389" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="19" y="11" width="48" height="48">
8
+ <circle cx="43" cy="35" r="24" fill="white"/>
9
+ </mask>
10
+ <g mask="url(#mask0_329_54389)">
11
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M42.5255 37.8076C37.8588 37.8076 33.9922 33.9422 33.9922 29.2772C33.9922 24.6121 37.8588 20.7468 42.5255 20.7468C47.1921 20.7468 51.0588 24.6121 51.0588 29.2772C51.0588 33.9422 47.3255 37.8076 42.5255 37.8076Z" fill="#C7C7C7"/>
12
+ <path d="M36.6573 58.9849V50.0547C33.9906 50.5878 32.7906 51.9207 32.524 54.7197L32.3906 58.9849H36.6573Z" fill="#C7C7C7"/>
13
+ <path d="M32.3916 59L32.525 54.7348C32.7916 51.9358 33.9916 50.6029 36.6583 50.0698V59H49.1916V50.0698C51.8582 50.6029 53.0582 51.9358 53.3249 54.7348L53.4582 59H59.7249C59.1915 53.8018 57.9915 47.0042 55.8582 44.3384C54.3915 42.4724 52.7916 41.4061 51.1916 40.873C49.5916 40.3398 48.7916 40.0732 42.7916 40.0732C36.7916 40.0732 34.6583 41.0063 34.6583 41.0063C33.0583 41.5394 31.4583 42.6057 30.125 44.4717C27.8583 47.0042 26.6583 53.9351 26.125 59H32.3916Z" fill="#C7C7C7"/>
14
+ <path d="M53.4594 58.9849L53.3261 54.7197C53.0594 51.9207 51.8594 50.5878 49.1927 50.0547V58.9849H53.4594Z" fill="#C7C7C7"/>
15
+ <path d="M66.5 34.9918C66.5 47.9657 55.9789 58.4835 43 58.4835C30.0211 58.4835 19.5 47.9657 19.5 34.9918C19.5 22.0178 30.0211 11.5 43 11.5C55.9789 11.5 66.5 22.0178 66.5 34.9918Z" stroke="#C7C7C7"/>
16
+ </g>
17
+ </g>
18
+ </g>
19
+ <path d="M96.096 26.154C95.2653 26.154 94.5373 25.9767 93.912 25.622C93.296 25.2673 92.82 24.7633 92.484 24.11C92.148 23.4567 91.98 22.6867 91.98 21.8V16.2H93.66V21.8C93.66 22.3787 93.758 22.878 93.954 23.298C94.1593 23.718 94.444 24.0493 94.808 24.292C95.172 24.5253 95.6013 24.642 96.096 24.642C96.5907 24.642 97.02 24.5253 97.384 24.292C97.7573 24.0493 98.042 23.718 98.238 23.298C98.434 22.878 98.532 22.3787 98.532 21.8V16.2H100.212V21.8C100.212 22.6867 100.044 23.4567 99.708 24.11C99.3813 24.7633 98.91 25.2673 98.294 25.622C97.678 25.9767 96.9453 26.154 96.096 26.154ZM104.614 26.14C104.017 26.14 103.457 26.0607 102.934 25.902C102.421 25.734 101.977 25.496 101.604 25.188L102.346 24.138C102.813 24.4273 103.214 24.6327 103.55 24.754C103.895 24.8753 104.245 24.936 104.6 24.936C105.02 24.936 105.361 24.8473 105.622 24.67C105.883 24.4927 106.014 24.264 106.014 23.984C106.014 23.7693 105.935 23.6013 105.776 23.48C105.627 23.3493 105.379 23.2513 105.034 23.186L103.802 22.976C103.121 22.8453 102.612 22.6213 102.276 22.304C101.94 21.9867 101.772 21.5667 101.772 21.044C101.772 20.6053 101.884 20.2273 102.108 19.91C102.341 19.5833 102.659 19.3313 103.06 19.154C103.471 18.9673 103.947 18.874 104.488 18.874C104.973 18.874 105.445 18.944 105.902 19.084C106.359 19.224 106.807 19.434 107.246 19.714L106.504 20.764C106.149 20.5307 105.795 20.3627 105.44 20.26C105.095 20.148 104.745 20.092 104.39 20.092C104.026 20.092 103.732 20.1667 103.508 20.316C103.293 20.456 103.186 20.652 103.186 20.904C103.186 21.128 103.256 21.3007 103.396 21.422C103.545 21.534 103.802 21.618 104.166 21.674L105.412 21.912C106.112 22.0333 106.63 22.2573 106.966 22.584C107.311 22.9013 107.484 23.326 107.484 23.858C107.484 24.2873 107.358 24.6747 107.106 25.02C106.854 25.3653 106.513 25.6407 106.084 25.846C105.655 26.042 105.165 26.14 104.614 26.14ZM112.263 26.14C111.591 26.14 110.985 25.9813 110.443 25.664C109.902 25.3373 109.473 24.9033 109.155 24.362C108.838 23.8113 108.679 23.1907 108.679 22.5C108.679 21.8093 108.829 21.1933 109.127 20.652C109.426 20.1107 109.832 19.6813 110.345 19.364C110.868 19.0373 111.447 18.874 112.081 18.874C112.735 18.874 113.309 19.0327 113.803 19.35C114.307 19.6673 114.699 20.0967 114.979 20.638C115.269 21.1793 115.413 21.8 115.413 22.5V22.878H110.233C110.289 23.2607 110.411 23.6013 110.597 23.9C110.793 24.1893 111.041 24.418 111.339 24.586C111.647 24.754 111.979 24.838 112.333 24.838C112.66 24.838 112.968 24.782 113.257 24.67C113.556 24.5487 113.803 24.3853 113.999 24.18L115.035 25.118C114.606 25.4727 114.167 25.734 113.719 25.902C113.281 26.0607 112.795 26.14 112.263 26.14ZM110.247 21.898H113.915C113.859 21.562 113.743 21.2633 113.565 21.002C113.397 20.7407 113.183 20.5353 112.921 20.386C112.669 20.2367 112.389 20.162 112.081 20.162C111.773 20.162 111.489 20.2367 111.227 20.386C110.975 20.526 110.765 20.7267 110.597 20.988C110.429 21.2493 110.313 21.5527 110.247 21.898ZM117.027 26V18.986H118.609V20.498C118.814 19.966 119.08 19.56 119.407 19.28C119.734 19 120.112 18.86 120.541 18.86C120.672 18.8693 120.788 18.8833 120.891 18.902C120.994 18.9113 121.106 18.944 121.227 19V20.386C121.106 20.33 120.966 20.288 120.807 20.26C120.658 20.232 120.508 20.218 120.359 20.218C119.976 20.218 119.631 20.3207 119.323 20.526C119.024 20.7313 118.786 21.016 118.609 21.38V26H117.027Z" fill="#151515"/>
20
+ <path d="M131.836 25.5V18.036L130.492 18.636V17.844L132.16 17.1H132.7V25.5H131.836ZM135.18 25.596C135.004 25.596 134.852 25.532 134.724 25.404C134.604 25.276 134.544 25.124 134.544 24.948C134.544 24.764 134.604 24.612 134.724 24.492C134.852 24.364 135.004 24.3 135.18 24.3C135.356 24.3 135.504 24.364 135.624 24.492C135.752 24.612 135.816 24.764 135.816 24.948C135.816 25.124 135.752 25.276 135.624 25.404C135.504 25.532 135.356 25.596 135.18 25.596ZM135.18 20.832C135.004 20.832 134.852 20.768 134.724 20.64C134.604 20.512 134.544 20.36 134.544 20.184C134.544 20 134.604 19.848 134.724 19.728C134.852 19.6 135.004 19.536 135.18 19.536C135.356 19.536 135.504 19.6 135.624 19.728C135.752 19.848 135.816 20 135.816 20.184C135.816 20.36 135.752 20.512 135.624 20.64C135.504 20.768 135.356 20.832 135.18 20.832ZM140.064 25.632C139.488 25.632 138.948 25.532 138.444 25.332C137.948 25.132 137.508 24.836 137.124 24.444L137.7 23.88C138.052 24.232 138.412 24.488 138.78 24.648C139.156 24.8 139.58 24.876 140.052 24.876C140.46 24.876 140.82 24.804 141.132 24.66C141.452 24.516 141.7 24.316 141.876 24.06C142.052 23.804 142.14 23.512 142.14 23.184C142.14 22.872 142.06 22.596 141.9 22.356C141.748 22.108 141.536 21.916 141.264 21.78C140.992 21.644 140.68 21.576 140.328 21.576H139.332V20.832H140.292C140.748 20.832 141.116 20.692 141.396 20.412C141.684 20.132 141.828 19.768 141.828 19.32C141.828 19.024 141.748 18.756 141.588 18.516C141.428 18.276 141.208 18.088 140.928 17.952C140.656 17.808 140.348 17.736 140.004 17.736C139.572 17.736 139.184 17.816 138.84 17.976C138.504 18.128 138.16 18.388 137.808 18.756L137.232 18.18C137.608 17.78 138.032 17.48 138.504 17.28C138.976 17.072 139.48 16.968 140.016 16.968C140.528 16.968 140.984 17.068 141.384 17.268C141.792 17.468 142.112 17.744 142.344 18.096C142.576 18.44 142.692 18.832 142.692 19.272C142.692 19.712 142.548 20.108 142.26 20.46C141.972 20.804 141.592 21.044 141.12 21.18C141.688 21.308 142.144 21.556 142.488 21.924C142.832 22.292 143.004 22.72 143.004 23.208C143.004 23.672 142.876 24.088 142.62 24.456C142.372 24.824 142.024 25.112 141.576 25.32C141.136 25.528 140.632 25.632 140.064 25.632ZM147.554 25.632C146.914 25.632 146.346 25.448 145.85 25.08C145.362 24.712 144.978 24.204 144.698 23.556C144.418 22.9 144.278 22.148 144.278 21.3C144.278 20.444 144.418 19.692 144.698 19.044C144.978 18.396 145.362 17.888 145.85 17.52C146.346 17.152 146.914 16.968 147.554 16.968C148.194 16.968 148.758 17.152 149.246 17.52C149.742 17.888 150.13 18.396 150.41 19.044C150.69 19.692 150.83 20.444 150.83 21.3C150.83 22.148 150.69 22.9 150.41 23.556C150.13 24.204 149.742 24.712 149.246 25.08C148.758 25.448 148.194 25.632 147.554 25.632ZM147.554 24.852C148.042 24.852 148.462 24.708 148.814 24.42C149.174 24.124 149.454 23.712 149.654 23.184C149.854 22.648 149.954 22.02 149.954 21.3C149.954 20.58 149.854 19.956 149.654 19.428C149.454 18.892 149.174 18.48 148.814 18.192C148.462 17.896 148.042 17.748 147.554 17.748C147.074 17.748 146.654 17.896 146.294 18.192C145.934 18.48 145.654 18.892 145.454 19.428C145.254 19.956 145.154 20.58 145.154 21.3C145.154 22.02 145.254 22.648 145.454 23.184C145.654 23.712 145.934 24.124 146.294 24.42C146.654 24.708 147.074 24.852 147.554 24.852ZM155.384 25.5V17.1H158.852C159.396 17.1 159.868 17.204 160.268 17.412C160.668 17.612 160.976 17.9 161.192 18.276C161.416 18.644 161.528 19.08 161.528 19.584C161.528 20.08 161.416 20.516 161.192 20.892C160.976 21.268 160.668 21.56 160.268 21.768C159.868 21.968 159.396 22.068 158.852 22.068H156.308V25.5H155.384ZM156.308 21.276H158.744C159.328 21.276 159.784 21.124 160.112 20.82C160.44 20.516 160.604 20.104 160.604 19.584C160.604 19.064 160.44 18.656 160.112 18.36C159.784 18.064 159.328 17.916 158.744 17.916H156.308V21.276ZM163.236 25.5V17.1H164.52L167.328 23.076L170.136 17.1H171.42V25.5H170.544V18.192L167.328 24.9L164.1 18.168V25.5H163.236Z" fill="#151515"/>
21
+ <path d="M91 46C91 42.6863 93.6863 40 97 40H308C311.314 40 314 42.6863 314 46V74C314 77.3137 311.314 80 308 80H97C93.6863 80 91 77.3137 91 74V46Z" fill="#0066CC"/>
22
+ <path d="M100.408 66V54.8H101.64V59.808H108.072V54.8H109.304V66H108.072V60.912H101.64V66H100.408ZM115.439 66.16C114.713 66.16 114.057 65.984 113.471 65.632C112.884 65.2693 112.42 64.784 112.079 64.176C111.737 63.5573 111.567 62.864 111.567 62.096C111.567 61.328 111.727 60.64 112.047 60.032C112.377 59.424 112.82 58.944 113.375 58.592C113.929 58.24 114.548 58.064 115.231 58.064C115.924 58.064 116.537 58.24 117.071 58.592C117.615 58.9333 118.041 59.4027 118.351 60C118.671 60.5867 118.831 61.2533 118.831 62V62.352H112.703C112.745 62.8853 112.889 63.3653 113.135 63.792C113.391 64.208 113.721 64.5387 114.127 64.784C114.543 65.0187 114.996 65.136 115.487 65.136C115.892 65.136 116.281 65.0667 116.655 64.928C117.039 64.7787 117.364 64.5813 117.631 64.336L118.367 65.12C117.919 65.472 117.455 65.7333 116.975 65.904C116.495 66.0747 115.983 66.16 115.439 66.16ZM112.735 61.52H117.679C117.625 61.0507 117.481 60.6347 117.247 60.272C117.023 59.8987 116.735 59.6053 116.383 59.392C116.041 59.1787 115.657 59.072 115.231 59.072C114.804 59.072 114.415 59.1787 114.063 59.392C113.711 59.5947 113.417 59.8827 113.183 60.256C112.959 60.6187 112.809 61.04 112.735 61.52ZM120.825 66V58.192H121.993V59.792C122.196 59.248 122.484 58.8267 122.857 58.528C123.241 58.2187 123.678 58.064 124.169 58.064C124.308 58.064 124.436 58.0747 124.553 58.096C124.67 58.1067 124.788 58.1333 124.905 58.176V59.232C124.777 59.1893 124.638 59.1573 124.489 59.136C124.35 59.104 124.217 59.088 124.089 59.088C123.609 59.088 123.188 59.2267 122.825 59.504C122.473 59.7813 122.196 60.1707 121.993 60.672V66H120.825ZM129.486 66.16C128.76 66.16 128.104 65.984 127.518 65.632C126.931 65.2693 126.467 64.784 126.126 64.176C125.784 63.5573 125.614 62.864 125.614 62.096C125.614 61.328 125.774 60.64 126.094 60.032C126.424 59.424 126.867 58.944 127.422 58.592C127.976 58.24 128.595 58.064 129.278 58.064C129.971 58.064 130.584 58.24 131.118 58.592C131.662 58.9333 132.088 59.4027 132.398 60C132.718 60.5867 132.878 61.2533 132.878 62V62.352H126.75C126.792 62.8853 126.936 63.3653 127.182 63.792C127.438 64.208 127.768 64.5387 128.174 64.784C128.59 65.0187 129.043 65.136 129.534 65.136C129.939 65.136 130.328 65.0667 130.702 64.928C131.086 64.7787 131.411 64.5813 131.678 64.336L132.414 65.12C131.966 65.472 131.502 65.7333 131.022 65.904C130.542 66.0747 130.03 66.16 129.486 66.16ZM126.782 61.52H131.726C131.672 61.0507 131.528 60.6347 131.294 60.272C131.07 59.8987 130.782 59.6053 130.43 59.392C130.088 59.1787 129.704 59.072 129.278 59.072C128.851 59.072 128.462 59.1787 128.11 59.392C127.758 59.5947 127.464 59.8827 127.23 60.256C127.006 60.6187 126.856 61.04 126.782 61.52ZM138.59 66V58.192H139.758V66H138.59ZM139.182 56.256C138.948 56.256 138.745 56.176 138.574 56.016C138.414 55.8453 138.334 55.648 138.334 55.424C138.334 55.2 138.414 55.008 138.574 54.848C138.745 54.6773 138.948 54.592 139.182 54.592C139.417 54.592 139.614 54.6773 139.774 54.848C139.945 55.008 140.03 55.2 140.03 55.424C140.03 55.648 139.945 55.8453 139.774 56.016C139.614 56.176 139.417 56.256 139.182 56.256ZM144.569 66.16C143.929 66.16 143.337 66.064 142.793 65.872C142.249 65.6693 141.785 65.3813 141.401 65.008L142.025 64.24C142.494 64.5813 142.926 64.832 143.321 64.992C143.716 65.1413 144.121 65.216 144.537 65.216C145.102 65.216 145.572 65.0827 145.945 64.816C146.318 64.5493 146.505 64.208 146.505 63.792C146.505 63.472 146.393 63.2213 146.169 63.04C145.956 62.8587 145.598 62.72 145.097 62.624L143.817 62.4C143.06 62.2613 142.5 62.0267 142.137 61.696C141.785 61.3653 141.609 60.9173 141.609 60.352C141.609 59.904 141.726 59.5093 141.961 59.168C142.206 58.8267 142.542 58.56 142.969 58.368C143.396 58.1653 143.881 58.064 144.425 58.064C144.958 58.064 145.465 58.144 145.945 58.304C146.425 58.4533 146.91 58.6987 147.401 59.04L146.825 59.856C146.42 59.568 146.014 59.36 145.609 59.232C145.204 59.0933 144.793 59.024 144.377 59.024C143.865 59.024 143.454 59.136 143.145 59.36C142.836 59.584 142.681 59.888 142.681 60.272C142.681 60.592 142.777 60.8373 142.969 61.008C143.172 61.1787 143.524 61.3067 144.025 61.392L145.337 61.632C146.126 61.7707 146.702 62.0107 147.065 62.352C147.428 62.6933 147.609 63.152 147.609 63.728C147.609 64.1867 147.476 64.6027 147.209 64.976C146.942 65.3387 146.58 65.6267 146.121 65.84C145.662 66.0533 145.145 66.16 144.569 66.16ZM153.122 66V58.192H154.29V59.408C154.589 58.96 154.93 58.624 155.314 58.4C155.698 58.176 156.13 58.064 156.61 58.064C157.165 58.064 157.65 58.2027 158.066 58.48C158.482 58.7467 158.797 59.1147 159.01 59.584C159.319 59.0827 159.687 58.704 160.114 58.448C160.551 58.192 161.053 58.064 161.618 58.064C162.141 58.064 162.599 58.1867 162.994 58.432C163.399 58.6773 163.714 59.0187 163.938 59.456C164.162 59.8827 164.274 60.384 164.274 60.96V66H163.106V61.248C163.106 60.5653 162.935 60.0267 162.594 59.632C162.253 59.2373 161.783 59.04 161.186 59.04C160.781 59.04 160.413 59.1413 160.082 59.344C159.762 59.5467 159.479 59.856 159.234 60.272C159.255 60.3787 159.271 60.4907 159.282 60.608C159.293 60.7253 159.298 60.8427 159.298 60.96V66H158.13V61.248C158.13 60.5653 157.954 60.0267 157.602 59.632C157.261 59.2373 156.791 59.04 156.194 59.04C155.394 59.04 154.759 59.424 154.29 60.192V66H153.122ZM166.817 69.504C166.572 69.504 166.321 69.4667 166.065 69.392V68.352C166.172 68.3733 166.284 68.3893 166.401 68.4C166.519 68.4107 166.62 68.416 166.705 68.416C167.004 68.416 167.249 68.336 167.441 68.176C167.644 68.016 167.815 67.7653 167.953 67.424L168.529 66L165.521 58.192H166.817L169.185 64.608L171.697 58.192H172.993L169.057 67.776C168.887 68.192 168.7 68.528 168.497 68.784C168.295 69.04 168.06 69.2213 167.793 69.328C167.527 69.4453 167.201 69.504 166.817 69.504ZM180.6 66.144C180.046 66.144 179.555 66.0427 179.128 65.84C178.702 65.6373 178.366 65.36 178.12 65.008C177.886 64.6453 177.768 64.2293 177.768 63.76C177.768 63.2907 177.891 62.8853 178.136 62.544C178.382 62.192 178.723 61.92 179.16 61.728C179.598 61.536 180.11 61.44 180.696 61.44C181.144 61.44 181.566 61.488 181.96 61.584C182.366 61.68 182.739 61.8347 183.08 62.048V60.976C183.08 60.336 182.91 59.856 182.568 59.536C182.227 59.2053 181.726 59.04 181.064 59.04C180.702 59.04 180.328 59.0933 179.944 59.2C179.571 59.3067 179.155 59.4773 178.696 59.712L178.264 58.816C179.31 58.3147 180.291 58.064 181.208 58.064C182.179 58.064 182.926 58.304 183.448 58.784C183.971 59.2533 184.232 59.9307 184.232 60.816V66H183.08V65.088C182.739 65.44 182.36 65.7067 181.944 65.888C181.528 66.0587 181.08 66.144 180.6 66.144ZM178.888 63.728C178.888 64.1867 179.064 64.5547 179.416 64.832C179.779 65.1093 180.254 65.248 180.84 65.248C181.278 65.248 181.678 65.1733 182.04 65.024C182.414 64.8747 182.76 64.6507 183.08 64.352V62.848C182.75 62.656 182.408 62.5173 182.056 62.432C181.704 62.336 181.31 62.288 180.872 62.288C180.275 62.288 179.795 62.4213 179.432 62.688C179.07 62.944 178.888 63.2907 178.888 63.728ZM189.312 66.128C188.757 66.128 188.267 66.0053 187.84 65.76C187.413 65.5147 187.077 65.1733 186.832 64.736C186.597 64.2987 186.48 63.7973 186.48 63.232V58.192H187.664V62.896C187.664 63.5893 187.851 64.1387 188.224 64.544C188.597 64.9493 189.104 65.152 189.744 65.152C190.181 65.152 190.571 65.0507 190.912 64.848C191.264 64.6453 191.557 64.352 191.792 63.968V58.192H192.96V66H191.792V64.736C191.493 65.1947 191.136 65.5413 190.72 65.776C190.315 66.0107 189.845 66.128 189.312 66.128ZM198.332 66.16C197.66 66.16 197.148 66 196.796 65.68C196.455 65.3493 196.284 64.8747 196.284 64.256V59.152H194.668V58.192H196.284V56.048L197.452 55.776V58.192H199.692V59.152H197.452V63.952C197.452 64.368 197.538 64.6667 197.708 64.848C197.89 65.0293 198.183 65.12 198.588 65.12C198.791 65.12 198.972 65.104 199.132 65.072C199.292 65.04 199.479 64.9867 199.692 64.912V65.952C199.479 66.0267 199.255 66.08 199.02 66.112C198.786 66.144 198.556 66.16 198.332 66.16ZM201.403 66V54.448L202.571 54.208V59.456C202.87 58.9867 203.227 58.64 203.643 58.416C204.059 58.1813 204.528 58.064 205.051 58.064C205.616 58.064 206.107 58.1867 206.523 58.432C206.95 58.6667 207.28 59.0027 207.515 59.44C207.76 59.8667 207.883 60.368 207.883 60.944V66H206.715V61.28C206.715 60.5867 206.523 60.0427 206.139 59.648C205.766 59.2427 205.259 59.04 204.619 59.04C204.192 59.04 203.803 59.1413 203.451 59.344C203.099 59.5467 202.806 59.8453 202.571 60.24V66H201.403ZM213.751 66.16C213.026 66.16 212.37 65.984 211.783 65.632C211.197 65.2693 210.733 64.784 210.391 64.176C210.05 63.5573 209.879 62.864 209.879 62.096C209.879 61.328 210.039 60.64 210.359 60.032C210.69 59.424 211.133 58.944 211.687 58.592C212.242 58.24 212.861 58.064 213.543 58.064C214.237 58.064 214.85 58.24 215.383 58.592C215.927 58.9333 216.354 59.4027 216.663 60C216.983 60.5867 217.143 61.2533 217.143 62V62.352H211.015C211.058 62.8853 211.202 63.3653 211.447 63.792C211.703 64.208 212.034 64.5387 212.439 64.784C212.855 65.0187 213.309 65.136 213.799 65.136C214.205 65.136 214.594 65.0667 214.967 64.928C215.351 64.7787 215.677 64.5813 215.943 64.336L216.679 65.12C216.231 65.472 215.767 65.7333 215.287 65.904C214.807 66.0747 214.295 66.16 213.751 66.16ZM211.047 61.52H215.991C215.938 61.0507 215.794 60.6347 215.559 60.272C215.335 59.8987 215.047 59.6053 214.695 59.392C214.354 59.1787 213.97 59.072 213.543 59.072C213.117 59.072 212.727 59.1787 212.375 59.392C212.023 59.5947 211.73 59.8827 211.495 60.256C211.271 60.6187 211.122 61.04 211.047 61.52ZM219.138 66V58.192H220.306V59.456C220.604 58.9867 220.962 58.64 221.378 58.416C221.794 58.1813 222.263 58.064 222.786 58.064C223.351 58.064 223.842 58.1867 224.258 58.432C224.684 58.6667 225.015 59.0027 225.25 59.44C225.495 59.8667 225.618 60.368 225.618 60.944V66H224.45V61.28C224.45 60.5867 224.258 60.0427 223.874 59.648C223.5 59.2427 222.994 59.04 222.354 59.04C221.927 59.04 221.538 59.1413 221.186 59.344C220.834 59.5467 220.54 59.8453 220.306 60.24V66H219.138ZM230.707 66.16C230.035 66.16 229.523 66 229.171 65.68C228.83 65.3493 228.659 64.8747 228.659 64.256V59.152H227.043V58.192H228.659V56.048L229.827 55.776V58.192H232.067V59.152H229.827V63.952C229.827 64.368 229.913 64.6667 230.083 64.848C230.265 65.0293 230.558 65.12 230.963 65.12C231.166 65.12 231.347 65.104 231.507 65.072C231.667 65.04 231.854 64.9867 232.067 64.912V65.952C231.854 66.0267 231.63 66.08 231.395 66.112C231.161 66.144 230.931 66.16 230.707 66.16ZM233.762 66V58.192H234.93V66H233.762ZM234.354 56.256C234.119 56.256 233.917 56.176 233.746 56.016C233.586 55.8453 233.506 55.648 233.506 55.424C233.506 55.2 233.586 55.008 233.746 54.848C233.917 54.6773 234.119 54.592 234.354 54.592C234.589 54.592 234.786 54.6773 234.946 54.848C235.117 55.008 235.202 55.2 235.202 55.424C235.202 55.648 235.117 55.8453 234.946 56.016C234.786 56.176 234.589 56.256 234.354 56.256ZM240.829 66.128C240.104 66.128 239.448 65.952 238.861 65.6C238.285 65.2373 237.826 64.752 237.485 64.144C237.144 63.5253 236.973 62.8427 236.973 62.096C236.973 61.3387 237.144 60.656 237.485 60.048C237.826 59.44 238.285 58.96 238.861 58.608C239.448 58.2453 240.104 58.064 240.829 58.064C241.405 58.064 241.954 58.1707 242.477 58.384C243 58.5973 243.453 58.896 243.837 59.28L243.085 60.096C242.808 59.7867 242.472 59.5467 242.077 59.376C241.682 59.2053 241.282 59.12 240.877 59.12C240.365 59.12 239.901 59.2533 239.485 59.52C239.08 59.7867 238.754 60.144 238.509 60.592C238.264 61.04 238.141 61.5413 238.141 62.096C238.141 62.6507 238.264 63.152 238.509 63.6C238.754 64.048 239.08 64.4053 239.485 64.672C239.901 64.9387 240.365 65.072 240.877 65.072C241.282 65.072 241.682 64.9867 242.077 64.816C242.472 64.6347 242.808 64.3947 243.085 64.096L243.837 64.912C243.453 65.296 243 65.5947 242.477 65.808C241.954 66.0213 241.405 66.128 240.829 66.128ZM247.882 66.144C247.327 66.144 246.836 66.0427 246.41 65.84C245.983 65.6373 245.647 65.36 245.402 65.008C245.167 64.6453 245.05 64.2293 245.05 63.76C245.05 63.2907 245.172 62.8853 245.418 62.544C245.663 62.192 246.004 61.92 246.442 61.728C246.879 61.536 247.391 61.44 247.978 61.44C248.426 61.44 248.847 61.488 249.242 61.584C249.647 61.68 250.02 61.8347 250.362 62.048V60.976C250.362 60.336 250.191 59.856 249.85 59.536C249.508 59.2053 249.007 59.04 248.346 59.04C247.983 59.04 247.61 59.0933 247.226 59.2C246.852 59.3067 246.436 59.4773 245.978 59.712L245.546 58.816C246.591 58.3147 247.572 58.064 248.49 58.064C249.46 58.064 250.207 58.304 250.73 58.784C251.252 59.2533 251.514 59.9307 251.514 60.816V66H250.362V65.088C250.02 65.44 249.642 65.7067 249.226 65.888C248.81 66.0587 248.362 66.144 247.882 66.144ZM246.17 63.728C246.17 64.1867 246.346 64.5547 246.698 64.832C247.06 65.1093 247.535 65.248 248.122 65.248C248.559 65.248 248.959 65.1733 249.322 65.024C249.695 64.8747 250.042 64.6507 250.362 64.352V62.848C250.031 62.656 249.69 62.5173 249.338 62.432C248.986 62.336 248.591 62.288 248.154 62.288C247.556 62.288 247.076 62.4213 246.714 62.688C246.351 62.944 246.17 63.2907 246.17 63.728ZM256.629 66.16C255.957 66.16 255.445 66 255.093 65.68C254.752 65.3493 254.581 64.8747 254.581 64.256V59.152H252.965V58.192H254.581V56.048L255.749 55.776V58.192H257.989V59.152H255.749V63.952C255.749 64.368 255.834 64.6667 256.005 64.848C256.186 65.0293 256.48 65.12 256.885 65.12C257.088 65.12 257.269 65.104 257.429 65.072C257.589 65.04 257.776 64.9867 257.989 64.912V65.952C257.776 66.0267 257.552 66.08 257.317 66.112C257.082 66.144 256.853 66.16 256.629 66.16ZM259.684 66V58.192H260.852V66H259.684ZM260.276 56.256C260.041 56.256 259.839 56.176 259.668 56.016C259.508 55.8453 259.428 55.648 259.428 55.424C259.428 55.2 259.508 55.008 259.668 54.848C259.839 54.6773 260.041 54.592 260.276 54.592C260.511 54.592 260.708 54.6773 260.868 54.848C261.039 55.008 261.124 55.2 261.124 55.424C261.124 55.648 261.039 55.8453 260.868 56.016C260.708 56.176 260.511 56.256 260.276 56.256ZM266.703 66.128C265.978 66.128 265.327 65.952 264.751 65.6C264.175 65.248 263.722 64.768 263.391 64.16C263.06 63.552 262.895 62.864 262.895 62.096C262.895 61.328 263.06 60.64 263.391 60.032C263.722 59.424 264.175 58.944 264.751 58.592C265.327 58.24 265.978 58.064 266.703 58.064C267.418 58.064 268.058 58.24 268.623 58.592C269.199 58.944 269.652 59.424 269.983 60.032C270.314 60.64 270.479 61.328 270.479 62.096C270.479 62.864 270.314 63.552 269.983 64.16C269.652 64.768 269.199 65.248 268.623 65.6C268.058 65.952 267.418 66.128 266.703 66.128ZM266.687 65.104C267.199 65.104 267.652 64.976 268.047 64.72C268.442 64.4533 268.751 64.0907 268.975 63.632C269.21 63.1733 269.327 62.6613 269.327 62.096C269.327 61.52 269.21 61.008 268.975 60.56C268.751 60.1013 268.442 59.744 268.047 59.488C267.652 59.2213 267.199 59.088 266.687 59.088C266.175 59.088 265.722 59.2213 265.327 59.488C264.932 59.744 264.618 60.1013 264.383 60.56C264.159 61.008 264.047 61.52 264.047 62.096C264.047 62.6613 264.159 63.1733 264.383 63.632C264.618 64.0907 264.932 64.4533 265.327 64.72C265.722 64.976 266.175 65.104 266.687 65.104ZM272.528 66V58.192H273.696V59.456C273.995 58.9867 274.352 58.64 274.768 58.416C275.184 58.1813 275.653 58.064 276.176 58.064C276.741 58.064 277.232 58.1867 277.648 58.432C278.075 58.6667 278.405 59.0027 278.64 59.44C278.885 59.8667 279.008 60.368 279.008 60.944V66H277.84V61.28C277.84 60.5867 277.648 60.0427 277.264 59.648C276.891 59.2427 276.384 59.04 275.744 59.04C275.317 59.04 274.928 59.1413 274.576 59.344C274.224 59.5467 273.931 59.8453 273.696 60.24V66H272.528ZM286.083 66V59.152H284.339V58.192H286.083V56.56C286.083 55.792 286.285 55.2 286.691 54.784C287.096 54.368 287.672 54.16 288.419 54.16C288.632 54.16 288.824 54.1707 288.995 54.192C289.176 54.2133 289.336 54.2507 289.475 54.304V55.36C289.304 55.3067 289.149 55.2693 289.011 55.248C288.872 55.2267 288.712 55.216 288.531 55.216C288.083 55.216 287.757 55.328 287.555 55.552C287.352 55.7653 287.251 56.1067 287.251 56.576V58.192H289.475V59.152H287.251V66H286.083ZM290.997 66V58.192H292.164V66H290.997ZM291.589 56.256C291.354 56.256 291.151 56.176 290.981 56.016C290.821 55.8453 290.741 55.648 290.741 55.424C290.741 55.2 290.821 55.008 290.981 54.848C291.151 54.6773 291.354 54.592 291.589 54.592C291.823 54.592 292.021 54.6773 292.181 54.848C292.351 55.008 292.437 55.2 292.437 55.424C292.437 55.648 292.351 55.8453 292.181 56.016C292.021 56.176 291.823 56.256 291.589 56.256ZM294.559 66V54.448L295.727 54.208V66H294.559ZM301.642 66.16C300.917 66.16 300.261 65.984 299.674 65.632C299.087 65.2693 298.623 64.784 298.282 64.176C297.941 63.5573 297.77 62.864 297.77 62.096C297.77 61.328 297.93 60.64 298.25 60.032C298.581 59.424 299.023 58.944 299.578 58.592C300.133 58.24 300.751 58.064 301.434 58.064C302.127 58.064 302.741 58.24 303.274 58.592C303.818 58.9333 304.245 59.4027 304.554 60C304.874 60.5867 305.034 61.2533 305.034 62V62.352H298.906C298.949 62.8853 299.093 63.3653 299.338 63.792C299.594 64.208 299.925 64.5387 300.33 64.784C300.746 65.0187 301.199 65.136 301.69 65.136C302.095 65.136 302.485 65.0667 302.858 64.928C303.242 64.7787 303.567 64.5813 303.834 64.336L304.57 65.12C304.122 65.472 303.658 65.7333 303.178 65.904C302.698 66.0747 302.186 66.16 301.642 66.16ZM298.938 61.52H303.882C303.829 61.0507 303.685 60.6347 303.45 60.272C303.226 59.8987 302.938 59.6053 302.586 59.392C302.245 59.1787 301.861 59.072 301.434 59.072C301.007 59.072 300.618 59.1787 300.266 59.392C299.914 59.5947 299.621 59.8827 299.386 60.256C299.162 60.6187 299.013 61.04 298.938 61.52Z" fill="white"/>
23
+ <path d="M91 94C91 90.6863 93.6863 88 97 88H283C286.314 88 289 90.6863 289 94V137C289 140.314 286.314 143 283 143H97C93.6863 143 91 140.314 91 137V94Z" fill="white"/>
24
+ <path d="M107 107.5C107 105.291 108.791 103.5 111 103.5H127C129.209 103.5 131 105.291 131 107.5V123.5C131 125.709 129.209 127.5 127 127.5H111C108.791 127.5 107 125.709 107 123.5V107.5Z" fill="#147878"/>
25
+ <g clip-path="url(#clip3_329_54389)">
26
+ <path d="M120.82 109.13C120.395 109.007 119.952 109.255 119.83 109.68L116.63 120.88C116.507 121.305 116.755 121.747 117.18 121.87C117.605 121.992 118.047 121.745 118.17 121.32L121.37 110.12C121.492 109.695 121.245 109.252 120.82 109.13ZM122.835 112.132C122.522 112.445 122.522 112.952 122.835 113.265L125.067 115.5L122.832 117.735C122.52 118.047 122.52 118.555 122.832 118.867C123.145 119.18 123.652 119.18 123.965 118.867L126.765 116.067C127.077 115.755 127.077 115.247 126.765 114.935L123.965 112.135C123.652 111.822 123.145 111.822 122.832 112.135L122.835 112.132ZM115.167 112.132C114.855 111.82 114.347 111.82 114.035 112.132L111.235 114.932C110.922 115.245 110.922 115.752 111.235 116.065L114.035 118.865C114.347 119.177 114.855 119.177 115.167 118.865C115.48 118.552 115.48 118.045 115.167 117.732L112.932 115.5L115.167 113.265C115.48 112.952 115.48 112.445 115.167 112.132Z" fill="white"/>
27
+ </g>
28
+ <path d="M142.164 111.126C141.679 111.126 141.249 111.037 140.876 110.86C140.503 110.683 140.209 110.44 139.994 110.132C139.789 109.815 139.686 109.451 139.686 109.04C139.686 108.629 139.793 108.275 140.008 107.976C140.223 107.668 140.521 107.43 140.904 107.262C141.287 107.094 141.735 107.01 142.248 107.01C142.64 107.01 143.009 107.052 143.354 107.136C143.709 107.22 144.035 107.355 144.334 107.542V106.604C144.334 106.044 144.185 105.624 143.886 105.344C143.587 105.055 143.149 104.91 142.57 104.91C142.253 104.91 141.926 104.957 141.59 105.05C141.263 105.143 140.899 105.293 140.498 105.498L140.12 104.714C141.035 104.275 141.893 104.056 142.696 104.056C143.545 104.056 144.199 104.266 144.656 104.686C145.113 105.097 145.342 105.689 145.342 106.464V111H144.334V110.202C144.035 110.51 143.704 110.743 143.34 110.902C142.976 111.051 142.584 111.126 142.164 111.126ZM140.666 109.012C140.666 109.413 140.82 109.735 141.128 109.978C141.445 110.221 141.861 110.342 142.374 110.342C142.757 110.342 143.107 110.277 143.424 110.146C143.751 110.015 144.054 109.819 144.334 109.558V108.242C144.045 108.074 143.746 107.953 143.438 107.878C143.13 107.794 142.785 107.752 142.402 107.752C141.879 107.752 141.459 107.869 141.142 108.102C140.825 108.326 140.666 108.629 140.666 109.012ZM149.787 111.112C149.301 111.112 148.872 111.005 148.499 110.79C148.125 110.575 147.831 110.277 147.617 109.894C147.411 109.511 147.309 109.073 147.309 108.578V104.168H148.345V108.284C148.345 108.891 148.508 109.371 148.835 109.726C149.161 110.081 149.605 110.258 150.165 110.258C150.547 110.258 150.888 110.169 151.187 109.992C151.495 109.815 151.751 109.558 151.957 109.222V104.168H152.979V111H151.957V109.894C151.695 110.295 151.383 110.599 151.019 110.804C150.664 111.009 150.253 111.112 149.787 111.112ZM157.679 111.14C157.091 111.14 156.643 111 156.335 110.72C156.037 110.431 155.887 110.015 155.887 109.474V105.008H154.473V104.168H155.887V102.292L156.909 102.054V104.168H158.869V105.008H156.909V109.208C156.909 109.572 156.984 109.833 157.133 109.992C157.292 110.151 157.549 110.23 157.903 110.23C158.081 110.23 158.239 110.216 158.379 110.188C158.519 110.16 158.683 110.113 158.869 110.048V110.958C158.683 111.023 158.487 111.07 158.281 111.098C158.076 111.126 157.875 111.14 157.679 111.14ZM160.366 111V100.892L161.388 100.682V105.274C161.65 104.863 161.962 104.56 162.326 104.364C162.69 104.159 163.101 104.056 163.558 104.056C164.053 104.056 164.482 104.163 164.846 104.378C165.22 104.583 165.509 104.877 165.714 105.26C165.929 105.633 166.036 106.072 166.036 106.576V111H165.014V106.87C165.014 106.263 164.846 105.787 164.51 105.442C164.184 105.087 163.74 104.91 163.18 104.91C162.807 104.91 162.466 104.999 162.158 105.176C161.85 105.353 161.594 105.615 161.388 105.96V111H160.366ZM167.895 107.5V106.618H172.557V107.5H167.895ZM177.623 111.112C176.988 111.112 176.419 110.958 175.915 110.65C175.411 110.342 175.014 109.922 174.725 109.39C174.435 108.858 174.291 108.256 174.291 107.584C174.291 106.912 174.435 106.31 174.725 105.778C175.014 105.246 175.411 104.826 175.915 104.518C176.419 104.21 176.988 104.056 177.623 104.056C178.248 104.056 178.808 104.21 179.303 104.518C179.807 104.826 180.203 105.246 180.493 105.778C180.782 106.31 180.927 106.912 180.927 107.584C180.927 108.256 180.782 108.858 180.493 109.39C180.203 109.922 179.807 110.342 179.303 110.65C178.808 110.958 178.248 111.112 177.623 111.112ZM177.609 110.216C178.057 110.216 178.453 110.104 178.799 109.88C179.144 109.647 179.415 109.329 179.611 108.928C179.816 108.527 179.919 108.079 179.919 107.584C179.919 107.08 179.816 106.632 179.611 106.24C179.415 105.839 179.144 105.526 178.799 105.302C178.453 105.069 178.057 104.952 177.609 104.952C177.161 104.952 176.764 105.069 176.419 105.302C176.073 105.526 175.798 105.839 175.593 106.24C175.397 106.632 175.299 107.08 175.299 107.584C175.299 108.079 175.397 108.527 175.593 108.928C175.798 109.329 176.073 109.647 176.419 109.88C176.764 110.104 177.161 110.216 177.609 110.216ZM182.72 113.926V104.168H183.728V105.148C183.989 104.803 184.307 104.541 184.68 104.364C185.063 104.177 185.483 104.084 185.94 104.084C186.537 104.084 187.069 104.243 187.536 104.56C188.012 104.868 188.39 105.288 188.67 105.82C188.95 106.343 189.09 106.931 189.09 107.584C189.09 108.237 188.945 108.83 188.656 109.362C188.376 109.894 187.993 110.319 187.508 110.636C187.032 110.944 186.491 111.098 185.884 111.098C185.455 111.098 185.058 111.019 184.694 110.86C184.33 110.692 184.013 110.454 183.742 110.146V113.926H182.72ZM185.688 110.216C186.145 110.216 186.551 110.104 186.906 109.88C187.27 109.647 187.555 109.334 187.76 108.942C187.975 108.541 188.082 108.093 188.082 107.598C188.082 107.094 187.975 106.646 187.76 106.254C187.555 105.862 187.27 105.554 186.906 105.33C186.551 105.097 186.145 104.98 185.688 104.98C185.287 104.98 184.913 105.064 184.568 105.232C184.232 105.391 183.957 105.619 183.742 105.918V109.264C183.966 109.563 184.246 109.796 184.582 109.964C184.927 110.132 185.296 110.216 185.688 110.216ZM193.962 111.14C193.327 111.14 192.753 110.986 192.24 110.678C191.727 110.361 191.321 109.936 191.022 109.404C190.723 108.863 190.574 108.256 190.574 107.584C190.574 106.912 190.714 106.31 190.994 105.778C191.283 105.246 191.671 104.826 192.156 104.518C192.641 104.21 193.183 104.056 193.78 104.056C194.387 104.056 194.923 104.21 195.39 104.518C195.866 104.817 196.239 105.227 196.51 105.75C196.79 106.263 196.93 106.847 196.93 107.5V107.808H191.568C191.605 108.275 191.731 108.695 191.946 109.068C192.17 109.432 192.459 109.721 192.814 109.936C193.178 110.141 193.575 110.244 194.004 110.244C194.359 110.244 194.699 110.183 195.026 110.062C195.362 109.931 195.647 109.759 195.88 109.544L196.524 110.23C196.132 110.538 195.726 110.767 195.306 110.916C194.886 111.065 194.438 111.14 193.962 111.14ZM191.596 107.08H195.922C195.875 106.669 195.749 106.305 195.544 105.988C195.348 105.661 195.096 105.405 194.788 105.218C194.489 105.031 194.153 104.938 193.78 104.938C193.407 104.938 193.066 105.031 192.758 105.218C192.45 105.395 192.193 105.647 191.988 105.974C191.792 106.291 191.661 106.66 191.596 107.08ZM198.675 111V104.168H199.697V105.568C199.874 105.092 200.126 104.723 200.453 104.462C200.789 104.191 201.172 104.056 201.601 104.056C201.722 104.056 201.834 104.065 201.937 104.084C202.04 104.093 202.142 104.117 202.245 104.154V105.078C202.133 105.041 202.012 105.013 201.881 104.994C201.76 104.966 201.643 104.952 201.531 104.952C201.111 104.952 200.742 105.073 200.425 105.316C200.117 105.559 199.874 105.899 199.697 106.338V111H198.675ZM205.424 111.126C204.938 111.126 204.509 111.037 204.136 110.86C203.762 110.683 203.468 110.44 203.254 110.132C203.048 109.815 202.946 109.451 202.946 109.04C202.946 108.629 203.053 108.275 203.268 107.976C203.482 107.668 203.781 107.43 204.164 107.262C204.546 107.094 204.994 107.01 205.508 107.01C205.9 107.01 206.268 107.052 206.614 107.136C206.968 107.22 207.295 107.355 207.594 107.542V106.604C207.594 106.044 207.444 105.624 207.146 105.344C206.847 105.055 206.408 104.91 205.83 104.91C205.512 104.91 205.186 104.957 204.85 105.05C204.523 105.143 204.159 105.293 203.758 105.498L203.38 104.714C204.294 104.275 205.153 104.056 205.956 104.056C206.805 104.056 207.458 104.266 207.916 104.686C208.373 105.097 208.602 105.689 208.602 106.464V111H207.594V110.202C207.295 110.51 206.964 110.743 206.6 110.902C206.236 111.051 205.844 111.126 205.424 111.126ZM203.926 109.012C203.926 109.413 204.08 109.735 204.388 109.978C204.705 110.221 205.12 110.342 205.634 110.342C206.016 110.342 206.366 110.277 206.684 110.146C207.01 110.015 207.314 109.819 207.594 109.558V108.242C207.304 108.074 207.006 107.953 206.698 107.878C206.39 107.794 206.044 107.752 205.662 107.752C205.139 107.752 204.719 107.869 204.402 108.102C204.084 108.326 203.926 108.629 203.926 109.012ZM213.078 111.14C212.49 111.14 212.042 111 211.734 110.72C211.435 110.431 211.286 110.015 211.286 109.474V105.008H209.872V104.168H211.286V102.292L212.308 102.054V104.168H214.268V105.008H212.308V109.208C212.308 109.572 212.382 109.833 212.532 109.992C212.69 110.151 212.947 110.23 213.302 110.23C213.479 110.23 213.638 110.216 213.778 110.188C213.918 110.16 214.081 110.113 214.268 110.048V110.958C214.081 111.023 213.885 111.07 213.68 111.098C213.474 111.126 213.274 111.14 213.078 111.14ZM218.652 111.112C218.017 111.112 217.448 110.958 216.944 110.65C216.44 110.342 216.043 109.922 215.754 109.39C215.465 108.858 215.32 108.256 215.32 107.584C215.32 106.912 215.465 106.31 215.754 105.778C216.043 105.246 216.44 104.826 216.944 104.518C217.448 104.21 218.017 104.056 218.652 104.056C219.277 104.056 219.837 104.21 220.332 104.518C220.836 104.826 221.233 105.246 221.522 105.778C221.811 106.31 221.956 106.912 221.956 107.584C221.956 108.256 221.811 108.858 221.522 109.39C221.233 109.922 220.836 110.342 220.332 110.65C219.837 110.958 219.277 111.112 218.652 111.112ZM218.638 110.216C219.086 110.216 219.483 110.104 219.828 109.88C220.173 109.647 220.444 109.329 220.64 108.928C220.845 108.527 220.948 108.079 220.948 107.584C220.948 107.08 220.845 106.632 220.64 106.24C220.444 105.839 220.173 105.526 219.828 105.302C219.483 105.069 219.086 104.952 218.638 104.952C218.19 104.952 217.793 105.069 217.448 105.302C217.103 105.526 216.827 105.839 216.622 106.24C216.426 106.632 216.328 107.08 216.328 107.584C216.328 108.079 216.426 108.527 216.622 108.928C216.827 109.329 217.103 109.647 217.448 109.88C217.793 110.104 218.19 110.216 218.638 110.216ZM223.749 111V104.168H224.771V105.568C224.949 105.092 225.201 104.723 225.527 104.462C225.863 104.191 226.246 104.056 226.675 104.056C226.797 104.056 226.909 104.065 227.011 104.084C227.114 104.093 227.217 104.117 227.319 104.154V105.078C227.207 105.041 227.086 105.013 226.955 104.994C226.834 104.966 226.717 104.952 226.605 104.952C226.185 104.952 225.817 105.073 225.499 105.316C225.191 105.559 224.949 105.899 224.771 106.338V111H223.749Z" fill="#151515"/>
29
+ <path d="M142.408 130V126.688L139.072 121.6H140.74L143.164 125.44L145.612 121.6H147.184L143.848 126.688V130H142.408ZM145.963 130L149.263 121.6H150.931L154.183 130H152.635L151.771 127.648H148.327L147.463 130H145.963ZM148.747 126.52H151.375L150.055 122.968L148.747 126.52ZM155.266 130V121.6H157.138L159.598 126.7L162.046 121.6H163.918V130H162.562V123.424L159.586 129.4L156.598 123.388V130H155.266ZM165.93 130V121.6H167.37V128.752H171.846V130H165.93Z" fill="#151515"/>
30
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M258.333 119.922L258.922 119.333C259.248 119.007 259.248 118.479 258.922 118.153L256.269 115.5L258.922 112.847C259.248 112.521 259.248 111.993 258.922 111.667L258.333 111.077C258.007 110.752 257.479 110.752 257.153 111.077L254.5 113.731L251.847 111.077C251.521 110.752 250.993 110.752 250.667 111.077L250.078 111.667C249.752 111.993 249.752 112.521 250.078 112.847L252.731 115.5L250.078 118.153C249.752 118.479 249.752 119.007 250.078 119.333L250.667 119.922C250.993 120.248 251.521 120.248 251.847 119.922L254.5 117.269L257.153 119.922C257.479 120.248 258.007 120.248 258.333 119.922Z" fill="#1F1F1F"/>
31
+ </g>
32
+ <defs>
33
+ <clipPath id="clip0_329_54389">
34
+ <rect width="346" height="155" fill="white"/>
35
+ </clipPath>
36
+ <clipPath id="clip1_329_54389">
37
+ <path d="M19 35C19 21.7452 29.7452 11 43 11V11C56.2548 11 67 21.7452 67 35V35C67 48.2548 56.2548 59 43 59V59C29.7452 59 19 48.2548 19 35V35Z" fill="white"/>
38
+ </clipPath>
39
+ <clipPath id="clip2_329_54389">
40
+ <rect width="48" height="48" fill="white" transform="translate(19 11)"/>
41
+ </clipPath>
42
+ <clipPath id="clip3_329_54389">
43
+ <rect width="16" height="12.8" fill="white" transform="translate(111 109.1)"/>
44
+ </clipPath>
45
+ </defs>
46
+ </svg>