@servicetitan/titan-chatbot-ui-anvil2 3.1.2 → 3.1.4

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/CHANGELOG.md CHANGED
@@ -1,3 +1,27 @@
1
+ # v3.1.4 (Fri Aug 22 2025)
2
+
3
+ #### 🐛 Bug Fix
4
+
5
+ - SPA-7126: Small link props improvement [#47](https://github.com/servicetitan/titan-chatbot-client/pull/47) ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
6
+
7
+ #### Authors: 1
8
+
9
+ - Alexandr Yarmolchuk ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
10
+
11
+ ---
12
+
13
+ # v3.1.3 (Fri Aug 22 2025)
14
+
15
+ #### 🐛 Bug Fix
16
+
17
+ - SPA-7126: Removed non-compatible with Anvil2 dependencies [#45](https://github.com/servicetitan/titan-chatbot-client/pull/45) ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
18
+
19
+ #### Authors: 1
20
+
21
+ - Alexandr Yarmolchuk ([@AlexYarmolchuk](https://github.com/AlexYarmolchuk))
22
+
23
+ ---
24
+
1
25
  # v3.1.2 (Fri Aug 15 2025)
2
26
 
3
27
  #### 🐛 Bug Fix
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot-message-feedback-form-guardrail.d.ts","sourceRoot":"","sources":["../../../../src/components/chatbot/feedback/chatbot-message-feedback-form-guardrail.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAe,EAAE,EAAE,MAAM,OAAO,CAAC;AAGxC,eAAO,MAAM,mCAAmC,EAAE,EA8BhD,CAAC"}
1
+ {"version":3,"file":"chatbot-message-feedback-form-guardrail.d.ts","sourceRoot":"","sources":["../../../../src/components/chatbot/feedback/chatbot-message-feedback-form-guardrail.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAe,EAAE,EAAE,MAAM,OAAO,CAAC;AAGxC,eAAO,MAAM,mCAAmC,EAAE,EA+ChD,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Flex, TextField, Textarea } from '@servicetitan/anvil2';
3
- import { FormStateErrorBanner } from '@servicetitan/form';
2
+ import { Alert, Flex, TextField, Textarea } from '@servicetitan/anvil2';
4
3
  import { useDependencies } from '@servicetitan/react-ioc';
5
4
  import { MessageFeedbackGuardrailStore } from '@servicetitan/titan-chatbot-api';
6
5
  import classNames from 'classnames';
@@ -8,9 +7,15 @@ import { observer } from 'mobx-react';
8
7
  import * as Styles from './chatbot-message-feedback-form.module.less';
9
8
  export const ChatbotMessageFeedbackFormGuardrail = observer(() => {
10
9
  const [store] = useDependencies(MessageFeedbackGuardrailStore);
10
+ const errors = store.getFormErrors();
11
+ const status = errors.length === 0 ? 'success' : 'danger';
11
12
  const onLinkUrlChange = (event) => {
12
13
  store.formState.$.linkUrl.onChange(event.target.value);
13
14
  };
14
- return (_jsxs(Flex, { direction: "column", gap: "4", children: [store.formState.error && _jsx(FormStateErrorBanner, { form: store.formState }), _jsxs("form", { "data-cy": "titan-chatbot-message-feedback-form", children: [_jsx(TextField, { label: "Link to correct article", className: classNames(Styles.formItem), error: store.formState.$.linkUrl.error, value: store.formState.$.linkUrl.value, onChange: onLinkUrlChange, "data-cy": "titan-chatbot-message-feedback-form-link-url" }), _jsx(Textarea, { label: "Notes", className: classNames(Styles.formItem, Styles.textArea), value: store.formState.$.comment.value, onChange: store.formState.$.comment.onChangeHandler, onBlur: store.formState.$.comment.enableAutoValidationAndValidate, "data-cy": "titan-chatbot-message-feedback-form-other-comment" })] })] }));
15
+ return (_jsxs(Flex, { direction: "column", gap: "4", children: [store.formState.error && (_jsx(Alert, { status: status, title: "Form Incomplete", "data-cy": "titan-chatbot-message-feedback-form-error", children: _jsx("ul", { children: errors.map((e, index) => (
16
+ // eslint-disable-next-line react/no-array-index-key
17
+ _jsx("li", { children: e }, index))) }) })), _jsxs("form", { "data-cy": "titan-chatbot-message-feedback-form", children: [_jsx(TextField, { label: "Link to correct article", className: classNames(Styles.formItem), error: store.formState.$.linkUrl.error, value: store.formState.$.linkUrl.value, onChange: onLinkUrlChange, "data-cy": "titan-chatbot-message-feedback-form-link-url" }), _jsx(Textarea, { label: "Notes", className: classNames(Styles.formItem, Styles.textArea), value: store.formState.$.comment.value, onChange: (e) => {
18
+ store.formState.$.comment.onChange(e.currentTarget.value);
19
+ }, onBlur: store.formState.$.comment.enableAutoValidationAndValidate, "data-cy": "titan-chatbot-message-feedback-form-other-comment" })] })] }));
15
20
  });
16
21
  //# sourceMappingURL=chatbot-message-feedback-form-guardrail.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot-message-feedback-form-guardrail.js","sourceRoot":"","sources":["../../../../src/components/chatbot/feedback/chatbot-message-feedback-form-guardrail.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,KAAK,MAAM,MAAM,6CAA6C,CAAC;AAEtE,MAAM,CAAC,MAAM,mCAAmC,GAAO,QAAQ,CAAC,GAAG,EAAE;IACjE,MAAM,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,6BAA6B,CAAC,CAAC;IAE/D,MAAM,eAAe,GAAG,CAAC,KAAoC,EAAE,EAAE;QAC7D,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC;IAEF,OAAO,CACH,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAC,GAAG,aAC3B,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,KAAC,oBAAoB,IAAC,IAAI,EAAE,KAAK,CAAC,SAAS,GAAI,EACzE,2BAAc,qCAAqC,aAC/C,KAAC,SAAS,IACN,KAAK,EAAC,yBAAyB,EAC/B,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EACtC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EACtC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EACtC,QAAQ,EAAE,eAAe,aACjB,8CAA8C,GACxD,EACF,KAAC,QAAQ,IACL,KAAK,EAAC,OAAO,EACb,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EACvD,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,EACnD,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,+BAA+B,aACzD,mDAAmD,GAC7D,IACC,IACJ,CACV,CAAC;AACN,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"chatbot-message-feedback-form-guardrail.js","sourceRoot":"","sources":["../../../../src/components/chatbot/feedback/chatbot-message-feedback-form-guardrail.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,KAAK,MAAM,MAAM,6CAA6C,CAAC;AAEtE,MAAM,CAAC,MAAM,mCAAmC,GAAO,QAAQ,CAAC,GAAG,EAAE;IACjE,MAAM,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,6BAA6B,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE1D,MAAM,eAAe,GAAG,CAAC,KAAoC,EAAE,EAAE;QAC7D,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC;IAEF,OAAO,CACH,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAC,GAAG,aAC3B,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,CACtB,KAAC,KAAK,IACF,MAAM,EAAE,MAAM,EACd,KAAK,EAAC,iBAAiB,aACf,2CAA2C,YAEnD,uBACK,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;oBACtB,oDAAoD;oBACpD,uBAAiB,CAAC,IAAT,KAAK,CAAU,CAC3B,CAAC,GACD,GACD,CACX,EACD,2BAAc,qCAAqC,aAC/C,KAAC,SAAS,IACN,KAAK,EAAC,yBAAyB,EAC/B,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EACtC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EACtC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EACtC,QAAQ,EAAE,eAAe,aACjB,8CAA8C,GACxD,EACF,KAAC,QAAQ,IACL,KAAK,EAAC,OAAO,EACb,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EACvD,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EACtC,QAAQ,EAAE,CAAC,CAAmC,EAAE,EAAE;4BAC9C,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBAC9D,CAAC,EACD,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,+BAA+B,aACzD,mDAAmD,GAC7D,IACC,IACJ,CACV,CAAC;AACN,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot-message-feedback-form.d.ts","sourceRoot":"","sources":["../../../../src/components/chatbot/feedback/chatbot-message-feedback-form.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAG3B,eAAO,MAAM,0BAA0B,EAAE,EAkEvC,CAAC"}
1
+ {"version":3,"file":"chatbot-message-feedback-form.d.ts","sourceRoot":"","sources":["../../../../src/components/chatbot/feedback/chatbot-message-feedback-form.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAe,EAAE,EAAE,MAAM,OAAO,CAAC;AAGxC,eAAO,MAAM,0BAA0B,EAAE,EAoEvC,CAAC"}
@@ -13,6 +13,8 @@ export const ChatbotMessageFeedbackForm = observer(() => {
13
13
  fieldState.onChange(!state.checked);
14
14
  };
15
15
  };
16
- return (_jsx("form", { "data-cy": "titan-chatbot-message-feedback-form", children: _jsxs(Flex, { direction: "column", children: [_jsx(Checkbox, { label: "Answer is unrelated to my question", className: Styles.formItem, checked: store.formState.$.unrelated.value, onChange: onCheckboxChange('unrelated'), "data-cy": "titan-chatbot-message-feedback-form-unrelated" }), _jsx(Checkbox, { label: "Answer is unclear, not sure what it means", className: Styles.formItem, checked: store.formState.$.unclear.value, onChange: onCheckboxChange('unclear'), "data-cy": "titan-chatbot-message-feedback-form-unclear" }), _jsx(Checkbox, { label: "Answer doesn\u2019t fully address the question", className: Styles.formItem, checked: store.formState.$.notFull.value, onChange: onCheckboxChange('notFull'), "data-cy": "titan-chatbot-message-feedback-form-not-full" }), _jsx(Checkbox, { label: "Answer is incorrect or doesn\u2019t work", className: Styles.formItem, checked: store.formState.$.incorrect.value, onChange: onCheckboxChange('incorrect'), "data-cy": "titan-chatbot-message-feedback-form-incorrect" }), _jsx(Checkbox, { label: "Other", className: Styles.formItem, checked: store.formState.$.other.value, onChange: onCheckboxChange('other'), "data-cy": "titan-chatbot-message-feedback-form-other" }), store.isTextAreaVisible && (_jsxs("div", { className: "m-inline-start-8", children: [_jsx(Textarea, { className: classNames(Styles.formItem, Styles.textArea), error: store.formState.$.otherComment.error, value: store.formState.$.otherComment.value, onChange: store.formState.$.otherComment.onChangeHandler, onBlur: store.formState.$.otherComment.enableAutoValidationAndValidate, "data-cy": "titan-chatbot-message-feedback-form-other-comment" }), _jsx(Text, { size: "small", subdued: true, className: "m-block-end-2", children: "Tell us more about what can be improved." })] }))] }) }));
16
+ return (_jsx("form", { "data-cy": "titan-chatbot-message-feedback-form", children: _jsxs(Flex, { direction: "column", children: [_jsx(Checkbox, { label: "Answer is unrelated to my question", className: Styles.formItem, checked: store.formState.$.unrelated.value, onChange: onCheckboxChange('unrelated'), "data-cy": "titan-chatbot-message-feedback-form-unrelated" }), _jsx(Checkbox, { label: "Answer is unclear, not sure what it means", className: Styles.formItem, checked: store.formState.$.unclear.value, onChange: onCheckboxChange('unclear'), "data-cy": "titan-chatbot-message-feedback-form-unclear" }), _jsx(Checkbox, { label: "Answer doesn\u2019t fully address the question", className: Styles.formItem, checked: store.formState.$.notFull.value, onChange: onCheckboxChange('notFull'), "data-cy": "titan-chatbot-message-feedback-form-not-full" }), _jsx(Checkbox, { label: "Answer is incorrect or doesn\u2019t work", className: Styles.formItem, checked: store.formState.$.incorrect.value, onChange: onCheckboxChange('incorrect'), "data-cy": "titan-chatbot-message-feedback-form-incorrect" }), _jsx(Checkbox, { label: "Other", className: Styles.formItem, checked: store.formState.$.other.value, onChange: onCheckboxChange('other'), "data-cy": "titan-chatbot-message-feedback-form-other" }), store.isTextAreaVisible && (_jsxs("div", { className: "m-inline-start-8", children: [_jsx(Textarea, { className: classNames(Styles.formItem, Styles.textArea), error: store.formState.$.otherComment.error, value: store.formState.$.otherComment.value, onChange: (e) => {
17
+ store.formState.$.otherComment.onChange(e.currentTarget.value);
18
+ }, onBlur: store.formState.$.otherComment.enableAutoValidationAndValidate, "data-cy": "titan-chatbot-message-feedback-form-other-comment" }), _jsx(Text, { size: "small", subdued: true, className: "m-block-end-2", children: "Tell us more about what can be improved." })] }))] }) }));
17
19
  });
18
20
  //# sourceMappingURL=chatbot-message-feedback-form.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot-message-feedback-form.js","sourceRoot":"","sources":["../../../../src/components/chatbot/feedback/chatbot-message-feedback-form.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatbot-message-feedback-form.js","sourceRoot":"","sources":["../../../../src/components/chatbot/feedback/chatbot-message-feedback-form.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot-session-feedback-modal.d.ts","sourceRoot":"","sources":["../../../../src/components/chatbot/feedback/chatbot-session-feedback-modal.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,EAAE,EAAe,MAAM,OAAO,CAAC;AAExC,eAAO,MAAM,2BAA2B,EAAE,EAAE,CAAC;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAsFnE,CAAC"}
1
+ {"version":3,"file":"chatbot-session-feedback-modal.d.ts","sourceRoot":"","sources":["../../../../src/components/chatbot/feedback/chatbot-session-feedback-modal.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAe,EAAE,EAAe,MAAM,OAAO,CAAC;AAErD,eAAO,MAAM,2BAA2B,EAAE,EAAE,CAAC;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CA0FnE,CAAC"}
@@ -20,6 +20,8 @@ export const ChatbotSessionFeedbackModal = provide({
20
20
  const handleThumbs = useCallback((isThumbsUp) => {
21
21
  chatbotFeedbackStore.formState.$.thumbs.onChange(isThumbsUp ? 1 : -1);
22
22
  }, [chatbotFeedbackStore]);
23
- return (_jsxs(Dialog, { onClose: handleClose, open: true, title: "Give Feedback on Titan", "data-cy": "titan-chatbot-session-feedback-modal", children: [_jsx(Dialog.Content, { children: _jsxs(Flex, { direction: "column", gap: "2", className: "m-block-start-6", children: [_jsx(Text, { children: "Was Titan able to help solve your problem?" }), _jsxs(Flex, { direction: "row", gap: "4", alignItems: "center", children: [_jsx(ButtonToggle, { size: "small", "aria-label": "Thumbs Up", title: "Thumbs Up", icon: IconThumbUp, checked: chatbotFeedbackStore.isThumbsUp, onClick: () => handleThumbs(true), "data-cy": "titan-chatbot-session-feedback-thumbs-up" }), _jsx(ButtonToggle, { size: "small", "aria-label": "Thumbs Down", title: "Thumbs Down", icon: IconThumbDown, checked: chatbotFeedbackStore.isThumbsDown, onClick: () => handleThumbs(false), "data-cy": "titan-chatbot-session-feedback-thumbs-down" })] }), _jsx(Textarea, { className: "m-block-start-4", label: "Tell us more", rows: 3, value: chatbotFeedbackStore.formState.$.comment.value, onChange: chatbotFeedbackStore.formState.$.comment.onChangeHandler, "data-cy": "titan-chatbot-session-feedback-comment" })] }) }), _jsx(Dialog.Footer, { children: _jsxs(Flex, { direction: "row", justifyContent: "flex-end", gap: "3", children: [_jsx(Button, { onClick: handleClose, "data-cy": "titan-chatbot-session-feedback-cancel", children: "Cancel" }), _jsx(Button, { onClick: handleSubmit, appearance: "primary", disabled: !chatbotFeedbackStore.isValid, "data-cy": "titan-chatbot-session-feedback-submit", children: "Submit Feedback" })] }) })] }));
23
+ return (_jsxs(Dialog, { onClose: handleClose, open: true, title: "Give Feedback on Titan", "data-cy": "titan-chatbot-session-feedback-modal", children: [_jsx(Dialog.Content, { children: _jsxs(Flex, { direction: "column", gap: "2", className: "m-block-start-6", children: [_jsx(Text, { children: "Was Titan able to help solve your problem?" }), _jsxs(Flex, { direction: "row", gap: "4", alignItems: "center", children: [_jsx(ButtonToggle, { size: "small", "aria-label": "Thumbs Up", title: "Thumbs Up", icon: IconThumbUp, checked: chatbotFeedbackStore.isThumbsUp, onClick: () => handleThumbs(true), "data-cy": "titan-chatbot-session-feedback-thumbs-up" }), _jsx(ButtonToggle, { size: "small", "aria-label": "Thumbs Down", title: "Thumbs Down", icon: IconThumbDown, checked: chatbotFeedbackStore.isThumbsDown, onClick: () => handleThumbs(false), "data-cy": "titan-chatbot-session-feedback-thumbs-down" })] }), _jsx(Textarea, { className: "m-block-start-4", label: "Tell us more", rows: 3, value: chatbotFeedbackStore.formState.$.comment.value, onChange: (e) => {
24
+ chatbotFeedbackStore.formState.$.comment.onChange(e.currentTarget.value);
25
+ }, "data-cy": "titan-chatbot-session-feedback-comment" })] }) }), _jsx(Dialog.Footer, { children: _jsxs(Flex, { direction: "row", justifyContent: "flex-end", gap: "3", children: [_jsx(Button, { onClick: handleClose, "data-cy": "titan-chatbot-session-feedback-cancel", children: "Cancel" }), _jsx(Button, { onClick: handleSubmit, appearance: "primary", disabled: !chatbotFeedbackStore.isValid, "data-cy": "titan-chatbot-session-feedback-submit", children: "Submit Feedback" })] }) })] }));
24
26
  }));
25
27
  //# sourceMappingURL=chatbot-session-feedback-modal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot-session-feedback-modal.js","sourceRoot":"","sources":["../../../../src/components/chatbot/feedback/chatbot-session-feedback-modal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatbot-session-feedback-modal.js","sourceRoot":"","sources":["../../../../src/components/chatbot/feedback/chatbot-session-feedback-modal.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot-links.d.ts","sourceRoot":"","sources":["../../../../src/components/chatbot/messages/chatbot-links.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAE,EAAE,EAAyB,MAAM,OAAO,CAAC;AAGlD,UAAU,cAAc;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACL;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,cAAc,CAwD3C,CAAC"}
1
+ {"version":3,"file":"chatbot-links.d.ts","sourceRoot":"","sources":["../../../../src/components/chatbot/messages/chatbot-links.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAEzD,OAAO,EAAE,EAAE,EAAyB,MAAM,OAAO,CAAC;AAGlD,UAAU,cAAc;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACL;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,cAAc,CAyD3C,CAAC"}
@@ -1,9 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Details, Link, Text } from '@servicetitan/anvil2';
3
+ import classNames from 'classnames';
3
4
  import { useCallback, useState } from 'react';
4
5
  import * as Styles from './chatbot-links.module.less';
5
6
  export const ChatbotLinks = ({ linkProps, links, onToggle, seeLessLabel, seeMoreLabel, }) => {
6
7
  const [linksCollapsed, setLinksCollapsed] = useState(true);
8
+ const className = linkProps === null || linkProps === void 0 ? void 0 : linkProps.className;
9
+ const primary = Boolean(linkProps === null || linkProps === void 0 ? void 0 : linkProps.primary);
7
10
  const handleToggleCollapsible = useCallback(() => {
8
11
  setLinksCollapsed(!linksCollapsed);
9
12
  setTimeout(() => {
@@ -15,7 +18,7 @@ export const ChatbotLinks = ({ linkProps, links, onToggle, seeLessLabel, seeMore
15
18
  }
16
19
  return (_jsxs(Details, { className: Styles.details, children: [_jsx(Details.Summary, { children: _jsx(Link, { appearance: "secondary", className: "m-inline-start-2", onClick: handleToggleCollapsible, "data-cy": "titan-chatbot-links-more", "data-pendo": "titan-chatbot-links-more", children: linksCollapsed ? seeMoreLabel : seeLessLabel }) }), _jsx(Details.Content, { "data-cy": "titan-chatbot-links-collapsible", children: _jsx("ul", { className: Styles.messageLinkList, children: links.map(u => {
17
20
  var _a, _b;
18
- return (_jsx("li", { children: _jsx(Text, { children: _jsx(Link, { href: u.url, target: "_blank", className: Styles.messageLink, primary: true, "data-cy": "titan-chatbot-links-link", "data-pendo": "titan-chatbot-links-link-secondary", title: (_a = u.title) !== null && _a !== void 0 ? _a : u.url, ...linkProps, children: (_b = u.title) !== null && _b !== void 0 ? _b : u.url }) }) }, u.url));
21
+ return (_jsx("li", { children: _jsx(Text, { children: _jsx(Link, { href: u.url, target: "_blank", className: classNames(Styles.messageLink, className), title: (_a = u.title) !== null && _a !== void 0 ? _a : u.url, appearance: primary ? 'primary' : undefined, "data-cy": "titan-chatbot-links-link", "data-pendo": "titan-chatbot-links-link-secondary", children: (_b = u.title) !== null && _b !== void 0 ? _b : u.url }) }) }, u.url));
19
22
  }) }) })] }));
20
23
  };
21
24
  //# sourceMappingURL=chatbot-links.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot-links.js","sourceRoot":"","sources":["../../../../src/components/chatbot/messages/chatbot-links.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAM,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,MAAM,MAAM,6BAA6B,CAAC;AAatD,MAAM,CAAC,MAAM,YAAY,GAAuB,CAAC,EAC7C,SAAS,EACT,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,GACf,EAAE,EAAE;IACD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE3D,MAAM,uBAAuB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7C,iBAAiB,CAAC,CAAC,cAAc,CAAC,CAAC;QACnC,UAAU,CAAC,GAAG,EAAE;YACZ,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,EAAI,CAAC;QACjB,CAAC,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAE/B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,CACH,MAAC,OAAO,IAAC,SAAS,EAAE,MAAM,CAAC,OAAO,aAC9B,KAAC,OAAO,CAAC,OAAO,cACZ,KAAC,IAAI,IACD,UAAU,EAAC,WAAW,EACtB,SAAS,EAAC,kBAAkB,EAC5B,OAAO,EAAE,uBAAuB,aACxB,0BAA0B,gBACvB,0BAA0B,YAEpC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,GAC1C,GACO,EAClB,KAAC,OAAO,CAAC,OAAO,eAAS,iCAAiC,YACtD,aAAI,SAAS,EAAE,MAAM,CAAC,eAAe,YAChC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;;wBAAC,OAAA,CACZ,uBACI,KAAC,IAAI,cACD,KAAC,IAAI,IACD,IAAI,EAAE,CAAC,CAAC,GAAG,EACX,MAAM,EAAC,QAAQ,EACf,SAAS,EAAE,MAAM,CAAC,WAAW,EAC7B,OAAO,mBACC,0BAA0B,gBACvB,oCAAoC,EAC/C,KAAK,EAAE,MAAA,CAAC,CAAC,KAAK,mCAAI,CAAC,CAAC,GAAG,KACnB,SAAS,YAEZ,MAAA,CAAC,CAAC,KAAK,mCAAI,CAAC,CAAC,GAAG,GACd,GACJ,IAdF,CAAC,CAAC,GAAG,CAeT,CACR,CAAA;qBAAA,CAAC,GACD,GACS,IACZ,CACb,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"chatbot-links.js","sourceRoot":"","sources":["../../../../src/components/chatbot/messages/chatbot-links.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAM,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,MAAM,MAAM,6BAA6B,CAAC;AAatD,MAAM,CAAC,MAAM,YAAY,GAAuB,CAAC,EAC7C,SAAS,EACT,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,GACf,EAAE,EAAE;IACD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,CAAC;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,CAAC;IAE5C,MAAM,uBAAuB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7C,iBAAiB,CAAC,CAAC,cAAc,CAAC,CAAC;QACnC,UAAU,CAAC,GAAG,EAAE;YACZ,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,EAAI,CAAC;QACjB,CAAC,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAE/B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,CACH,MAAC,OAAO,IAAC,SAAS,EAAE,MAAM,CAAC,OAAO,aAC9B,KAAC,OAAO,CAAC,OAAO,cACZ,KAAC,IAAI,IACD,UAAU,EAAC,WAAW,EACtB,SAAS,EAAC,kBAAkB,EAC5B,OAAO,EAAE,uBAAuB,aACxB,0BAA0B,gBACvB,0BAA0B,YAEpC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,GAC1C,GACO,EAClB,KAAC,OAAO,CAAC,OAAO,eAAS,iCAAiC,YACtD,aAAI,SAAS,EAAE,MAAM,CAAC,eAAe,YAChC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;;wBAAC,OAAA,CACZ,uBACI,KAAC,IAAI,cACD,KAAC,IAAI,IACD,IAAI,EAAE,CAAC,CAAC,GAAG,EACX,MAAM,EAAC,QAAQ,EACf,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,EACpD,KAAK,EAAE,MAAA,CAAC,CAAC,KAAK,mCAAI,CAAC,CAAC,GAAG,EACvB,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,aACnC,0BAA0B,gBACvB,oCAAoC,YAE9C,MAAA,CAAC,CAAC,KAAK,mCAAI,CAAC,CAAC,GAAG,GACd,GACJ,IAbF,CAAC,CAAC,GAAG,CAcT,CACR,CAAA;qBAAA,CAAC,GACD,GACS,IACZ,CACb,CAAC;AACN,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/titan-chatbot-ui-anvil2",
3
- "version": "3.1.2",
3
+ "version": "3.1.4",
4
4
  "description": "Chatbot experience UI package (Anvil2 version)",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,32 +17,26 @@
17
17
  "push:local": "yalc push"
18
18
  },
19
19
  "dependencies": {
20
- "@servicetitan/titan-chat-ui-anvil2": "^3.1.2",
21
- "@servicetitan/titan-chat-ui-common": "^3.1.2",
22
- "@servicetitan/titan-chatbot-api": "^3.1.2",
20
+ "@servicetitan/titan-chat-ui-anvil2": "^3.1.4",
21
+ "@servicetitan/titan-chat-ui-common": "^3.1.4",
22
+ "@servicetitan/titan-chatbot-api": "^3.1.4",
23
23
  "nanoid": "^5.1.5"
24
24
  },
25
25
  "peerDependencies": {
26
26
  "@servicetitan/anvil2": ">=1.16.0",
27
- "@servicetitan/confirm": ">=27",
28
- "@servicetitan/culture": ">=27",
29
- "@servicetitan/form": ">=27",
30
- "@servicetitan/form-state": ">=27",
31
27
  "@servicetitan/log-service": ">=27",
32
28
  "@servicetitan/react-ioc": ">=24",
33
- "@servicetitan/skeleton": ">=8",
34
- "@servicetitan/tokens": ">=12.9.0",
35
29
  "axios": ">=0.28.0",
36
30
  "classnames": ">=2.3.0",
37
31
  "formstate": ">=2.0.0",
38
32
  "mobx": ">=6",
39
33
  "mobx-react": ">=9",
40
34
  "mobx-utils": ">=6",
41
- "react": "^18",
42
- "react-dom": "^18"
35
+ "react": ">=18",
36
+ "react-dom": ">=18"
43
37
  },
44
38
  "devDependencies": {
45
- "@servicetitan/cypress-shared": "^3.1.2",
39
+ "@servicetitan/cypress-shared": "^3.1.4",
46
40
  "cypress": "^14.3.2"
47
41
  },
48
42
  "keywords": [
@@ -55,5 +49,5 @@
55
49
  "cli": {
56
50
  "webpack": false
57
51
  },
58
- "gitHead": "8fc8beac260595027748b7a4336ab711e1c834d5"
52
+ "gitHead": "35fca60717ca9d384fe20fd319471a9d728db23d"
59
53
  }
@@ -1,5 +1,4 @@
1
- import { Flex, TextField, Textarea } from '@servicetitan/anvil2';
2
- import { FormStateErrorBanner } from '@servicetitan/form';
1
+ import { Alert, Flex, TextField, Textarea } from '@servicetitan/anvil2';
3
2
  import { useDependencies } from '@servicetitan/react-ioc';
4
3
  import { MessageFeedbackGuardrailStore } from '@servicetitan/titan-chatbot-api';
5
4
  import classNames from 'classnames';
@@ -9,6 +8,8 @@ import * as Styles from './chatbot-message-feedback-form.module.less';
9
8
 
10
9
  export const ChatbotMessageFeedbackFormGuardrail: FC = observer(() => {
11
10
  const [store] = useDependencies(MessageFeedbackGuardrailStore);
11
+ const errors = store.getFormErrors();
12
+ const status = errors.length === 0 ? 'success' : 'danger';
12
13
 
13
14
  const onLinkUrlChange = (event: ChangeEvent<HTMLInputElement>) => {
14
15
  store.formState.$.linkUrl.onChange(event.target.value);
@@ -16,7 +17,20 @@ export const ChatbotMessageFeedbackFormGuardrail: FC = observer(() => {
16
17
 
17
18
  return (
18
19
  <Flex direction="column" gap="4">
19
- {store.formState.error && <FormStateErrorBanner form={store.formState} />}
20
+ {store.formState.error && (
21
+ <Alert
22
+ status={status}
23
+ title="Form Incomplete"
24
+ data-cy="titan-chatbot-message-feedback-form-error"
25
+ >
26
+ <ul>
27
+ {errors.map((e, index) => (
28
+ // eslint-disable-next-line react/no-array-index-key
29
+ <li key={index}>{e}</li>
30
+ ))}
31
+ </ul>
32
+ </Alert>
33
+ )}
20
34
  <form data-cy="titan-chatbot-message-feedback-form">
21
35
  <TextField
22
36
  label="Link to correct article"
@@ -30,7 +44,9 @@ export const ChatbotMessageFeedbackFormGuardrail: FC = observer(() => {
30
44
  label="Notes"
31
45
  className={classNames(Styles.formItem, Styles.textArea)}
32
46
  value={store.formState.$.comment.value}
33
- onChange={store.formState.$.comment.onChangeHandler}
47
+ onChange={(e: ChangeEvent<HTMLTextAreaElement>) => {
48
+ store.formState.$.comment.onChange(e.currentTarget.value);
49
+ }}
34
50
  onBlur={store.formState.$.comment.enableAutoValidationAndValidate}
35
51
  data-cy="titan-chatbot-message-feedback-form-other-comment"
36
52
  />
@@ -1,10 +1,10 @@
1
1
  import { Checkbox, Flex, Text, Textarea } from '@servicetitan/anvil2';
2
- import { CheckboxFieldState } from '@servicetitan/form';
3
2
  import { useDependencies } from '@servicetitan/react-ioc';
4
3
  import { MessageFeedbackStore } from '@servicetitan/titan-chatbot-api';
5
4
  import classNames from 'classnames';
5
+ import { FieldState } from 'formstate';
6
6
  import { observer } from 'mobx-react';
7
- import { FC } from 'react';
7
+ import { ChangeEvent, FC } from 'react';
8
8
  import * as Styles from './chatbot-message-feedback-form.module.less';
9
9
 
10
10
  export const ChatbotMessageFeedbackForm: FC = observer(() => {
@@ -12,7 +12,7 @@ export const ChatbotMessageFeedbackForm: FC = observer(() => {
12
12
 
13
13
  const onCheckboxChange = (checkbox: keyof MessageFeedbackStore['formState']['$']) => {
14
14
  return (_: any, state: any) => {
15
- const fieldState = store.formState.$[checkbox] as CheckboxFieldState;
15
+ const fieldState = store.formState.$[checkbox] as FieldState<boolean>;
16
16
  fieldState.onChange(!state.checked);
17
17
  };
18
18
  };
@@ -61,7 +61,9 @@ export const ChatbotMessageFeedbackForm: FC = observer(() => {
61
61
  className={classNames(Styles.formItem, Styles.textArea)}
62
62
  error={store.formState.$.otherComment.error}
63
63
  value={store.formState.$.otherComment.value}
64
- onChange={store.formState.$.otherComment.onChangeHandler}
64
+ onChange={(e: ChangeEvent<HTMLTextAreaElement>) => {
65
+ store.formState.$.otherComment.onChange(e.currentTarget.value);
66
+ }}
65
67
  onBlur={store.formState.$.otherComment.enableAutoValidationAndValidate}
66
68
  data-cy="titan-chatbot-message-feedback-form-other-comment"
67
69
  />
@@ -4,7 +4,7 @@ import IconThumbUp from '@servicetitan/anvil2/assets/icons/material/round/thumb_
4
4
  import { provide, useDependencies } from '@servicetitan/react-ioc';
5
5
  import { CHATBOT_UI_STORE_TOKEN, SessionFeedbackStore } from '@servicetitan/titan-chatbot-api';
6
6
  import { observer } from 'mobx-react';
7
- import { FC, useCallback } from 'react';
7
+ import { ChangeEvent, FC, useCallback } from 'react';
8
8
 
9
9
  export const ChatbotSessionFeedbackModal: FC<{ onClose: () => void }> = provide({
10
10
  singletons: [SessionFeedbackStore],
@@ -66,7 +66,11 @@ export const ChatbotSessionFeedbackModal: FC<{ onClose: () => void }> = provide(
66
66
  label="Tell us more"
67
67
  rows={3}
68
68
  value={chatbotFeedbackStore.formState.$.comment.value}
69
- onChange={chatbotFeedbackStore.formState.$.comment.onChangeHandler}
69
+ onChange={(e: ChangeEvent<HTMLTextAreaElement>) => {
70
+ chatbotFeedbackStore.formState.$.comment.onChange(
71
+ e.currentTarget.value
72
+ );
73
+ }}
70
74
  data-cy="titan-chatbot-session-feedback-comment"
71
75
  />
72
76
  </Flex>
@@ -1,5 +1,6 @@
1
1
  import { Details, Link, Text } from '@servicetitan/anvil2';
2
2
  import { Models } from '@servicetitan/titan-chatbot-api';
3
+ import classNames from 'classnames';
3
4
  import { FC, useCallback, useState } from 'react';
4
5
  import * as Styles from './chatbot-links.module.less';
5
6
 
@@ -22,6 +23,8 @@ export const ChatbotLinks: FC<ChatLinksProps> = ({
22
23
  seeMoreLabel,
23
24
  }) => {
24
25
  const [linksCollapsed, setLinksCollapsed] = useState(true);
26
+ const className = linkProps?.className;
27
+ const primary = Boolean(linkProps?.primary);
25
28
 
26
29
  const handleToggleCollapsible = useCallback(() => {
27
30
  setLinksCollapsed(!linksCollapsed);
@@ -54,12 +57,11 @@ export const ChatbotLinks: FC<ChatLinksProps> = ({
54
57
  <Link
55
58
  href={u.url}
56
59
  target="_blank"
57
- className={Styles.messageLink}
58
- primary
60
+ className={classNames(Styles.messageLink, className)}
61
+ title={u.title ?? u.url}
62
+ appearance={primary ? 'primary' : undefined}
59
63
  data-cy="titan-chatbot-links-link"
60
64
  data-pendo="titan-chatbot-links-link-secondary"
61
- title={u.title ?? u.url}
62
- {...linkProps}
63
65
  >
64
66
  {u.title ?? u.url}
65
67
  </Link>