@servicetitan/mpa-components 1.8.0 → 1.10.0
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 +12 -0
- package/lib/components/campaign-actions/action-button/action-button-archive.js +1 -1
- package/lib/components/campaign-actions/action-button/action-button-archive.js.map +1 -1
- package/lib/components/campaign-actions/action-button/action-button-clone.js +1 -1
- package/lib/components/campaign-actions/action-button/action-button-clone.js.map +1 -1
- package/lib/components/campaign-actions/action-button/action-button-edit.js +1 -1
- package/lib/components/campaign-actions/action-button/action-button-edit.js.map +1 -1
- package/lib/components/campaign-actions/action-button/action-button-unarchive.js +1 -1
- package/lib/components/campaign-actions/action-button/action-button-unarchive.js.map +1 -1
- package/lib/components/campaign-actions/action-button/action-button.js +2 -2
- package/lib/components/campaign-actions/action-button/action-button.js.map +1 -1
- package/lib/components/campaign-actions/actions-button/actions-button.js +2 -2
- package/lib/components/campaign-actions/actions-button/actions-button.js.map +1 -1
- package/lib/components/campaign-actions/actions-button/campaign-actions.js +2 -2
- package/lib/components/campaign-actions/actions-button/campaign-actions.js.map +1 -1
- package/lib/components/settings/company-details/company-details-form.stories.d.ts +3 -3
- package/lib/components/settings/company-details/company-details-form.stories.d.ts.map +1 -1
- package/lib/components/settings/company-details/company-details-form.stories.js +17 -38
- package/lib/components/settings/company-details/company-details-form.stories.js.map +1 -1
- package/lib/components/settings/company-details/index.js +2 -2
- package/lib/components/settings/company-details/index.js.map +1 -1
- package/lib/components/settings/company-email-footer/company-email-footer.stories.d.ts +1 -2
- package/lib/components/settings/company-email-footer/company-email-footer.stories.d.ts.map +1 -1
- package/lib/components/settings/company-email-footer/company-email-footer.stories.js +5 -15
- package/lib/components/settings/company-email-footer/company-email-footer.stories.js.map +1 -1
- package/lib/components/settings/company-email-footer/index.js +2 -2
- package/lib/components/settings/company-email-footer/index.js.map +1 -1
- package/lib/components/settings/company-email-reply-to/company-email-reply-to.stories.d.ts +1 -2
- package/lib/components/settings/company-email-reply-to/company-email-reply-to.stories.d.ts.map +1 -1
- package/lib/components/settings/company-email-reply-to/company-email-reply-to.stories.js +5 -15
- package/lib/components/settings/company-email-reply-to/company-email-reply-to.stories.js.map +1 -1
- package/lib/components/settings/company-email-reply-to/index.js +1 -1
- package/lib/components/settings/company-email-reply-to/index.js.map +1 -1
- package/lib/components/settings/company-email-sender/company-email-sender.stories.d.ts +2 -3
- package/lib/components/settings/company-email-sender/company-email-sender.stories.d.ts.map +1 -1
- package/lib/components/settings/company-email-sender/company-email-sender.stories.js +7 -18
- package/lib/components/settings/company-email-sender/company-email-sender.stories.js.map +1 -1
- package/lib/components/settings/company-email-sender/custom-domain-sender.js +3 -3
- package/lib/components/settings/company-email-sender/custom-domain-sender.js.map +1 -1
- package/lib/components/settings/company-email-sender/simple-sender.js +1 -1
- package/lib/components/settings/company-email-sender/simple-sender.js.map +1 -1
- package/lib/components/settings/company-trade-checkbox/index.d.ts +0 -1
- package/lib/components/settings/company-trade-checkbox/index.d.ts.map +1 -1
- package/lib/components/settings/company-trade-checkbox/index.js +1 -1
- package/lib/components/settings/company-trade-checkbox/index.js.map +1 -1
- package/lib/components/settings/company-trades-picker/company-trades-picker.stories.js +4 -1
- package/lib/components/settings/company-trades-picker/company-trades-picker.stories.js.map +1 -1
- package/lib/components/settings/company-trades-picker/index.d.ts +2 -1
- package/lib/components/settings/company-trades-picker/index.d.ts.map +1 -1
- package/lib/components/settings/company-trades-picker/index.js +6 -6
- package/lib/components/settings/company-trades-picker/index.js.map +1 -1
- package/lib/components/settings/double-opt-in/double-opt-in.stories.d.ts +1 -2
- package/lib/components/settings/double-opt-in/double-opt-in.stories.d.ts.map +1 -1
- package/lib/components/settings/double-opt-in/double-opt-in.stories.js +5 -17
- package/lib/components/settings/double-opt-in/double-opt-in.stories.js.map +1 -1
- package/lib/components/settings/double-opt-in/index.js +1 -1
- package/lib/components/settings/double-opt-in/index.js.map +1 -1
- package/lib/components/settings/email-preview/email-preview.js +1 -1
- package/lib/components/settings/email-preview/email-preview.js.map +1 -1
- package/lib/components/settings/email-preview/opt-in-email-preview.js.map +1 -1
- package/lib/components/settings/email-preview/opt-out-email-preview.js.map +1 -1
- package/lib/components/settings/email-validation/email-validation.stories.js +26 -37
- package/lib/components/settings/email-validation/email-validation.stories.js.map +1 -1
- package/lib/components/settings/email-validation/index.d.ts.map +1 -1
- package/lib/components/settings/email-validation/index.js +2 -2
- package/lib/components/settings/email-validation/index.js.map +1 -1
- package/lib/components/settings/form-errors-list/index.js +2 -2
- package/lib/components/settings/form-errors-list/index.js.map +1 -1
- package/lib/components/settings/logo-picker/index.d.ts +1 -0
- package/lib/components/settings/logo-picker/index.d.ts.map +1 -1
- package/lib/components/settings/logo-picker/index.js +10 -18
- package/lib/components/settings/logo-picker/index.js.map +1 -1
- package/lib/components/settings/opt-out-message/index.js +1 -1
- package/lib/components/settings/opt-out-message/index.js.map +1 -1
- package/lib/components/settings/opt-out-message/opt-out-message.stories.d.ts +1 -2
- package/lib/components/settings/opt-out-message/opt-out-message.stories.d.ts.map +1 -1
- package/lib/components/settings/opt-out-message/opt-out-message.stories.js +5 -17
- package/lib/components/settings/opt-out-message/opt-out-message.stories.js.map +1 -1
- package/lib/components/settings/result-definitions-modal/header.js +1 -1
- package/lib/components/settings/result-definitions-modal/header.js.map +1 -1
- package/lib/components/settings/result-definitions-modal/index.js +1 -1
- package/lib/components/settings/result-definitions-modal/index.js.map +1 -1
- package/lib/components/settings/result-definitions-modal/row.js +1 -1
- package/lib/components/settings/result-definitions-modal/row.js.map +1 -1
- package/lib/components/settings/settings-section/index.d.ts +1 -1
- package/lib/components/settings/settings-section/index.d.ts.map +1 -1
- package/lib/components/settings/settings-section/index.js +1 -1
- package/lib/components/settings/settings-section/index.js.map +1 -1
- package/lib/components/settings/settings-section/settings-section.stories.d.ts +0 -1
- package/lib/components/settings/settings-section/settings-section.stories.d.ts.map +1 -1
- package/lib/components/settings/settings-section/settings-section.stories.js +1 -1
- package/lib/components/settings/settings-section/settings-section.stories.js.map +1 -1
- package/lib/utils/helpers.js +1 -1
- package/lib/utils/helpers.js.map +1 -1
- package/package.json +2 -2
- package/src/components/settings/company-details/company-details-form.stories.tsx +18 -26
- package/src/components/settings/company-details/index.tsx +1 -1
- package/src/components/settings/company-email-footer/company-email-footer.stories.tsx +3 -5
- package/src/components/settings/company-email-footer/index.tsx +1 -1
- package/src/components/settings/company-email-reply-to/company-email-reply-to.stories.tsx +4 -5
- package/src/components/settings/company-email-reply-to/index.tsx +1 -1
- package/src/components/settings/company-email-sender/company-email-sender.stories.tsx +6 -12
- package/src/components/settings/company-email-sender/custom-domain-sender.tsx +4 -4
- package/src/components/settings/company-email-sender/simple-sender.tsx +2 -2
- package/src/components/settings/company-trades-picker/company-trades-picker.stories.tsx +2 -2
- package/src/components/settings/company-trades-picker/index.tsx +4 -2
- package/src/components/settings/double-opt-in/double-opt-in.stories.tsx +4 -7
- package/src/components/settings/double-opt-in/index.tsx +3 -3
- package/src/components/settings/email-preview/email-preview.tsx +1 -1
- package/src/components/settings/email-preview/opt-in-email-preview.tsx +1 -1
- package/src/components/settings/email-validation/index.tsx +5 -5
- package/src/components/settings/form-errors-list/index.tsx +2 -2
- package/src/components/settings/logo-picker/index.tsx +104 -72
- package/src/components/settings/opt-out-message/index.tsx +2 -2
- package/src/components/settings/opt-out-message/opt-out-message.stories.tsx +3 -7
- package/src/components/settings/settings-section/index.tsx +5 -3
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
2
|
import { useEffect, useState, useRef } from 'react';
|
|
12
3
|
import { observer } from 'mobx-react';
|
|
@@ -17,22 +8,20 @@ export const LOGO_MIN_SIZE = 180;
|
|
|
17
8
|
export const DEFAULT_MIN_DIMENSIONS = { width: LOGO_MIN_SIZE, height: LOGO_MIN_SIZE };
|
|
18
9
|
export const DEFAULT_LOGO_TIPS = (_jsxs("ul", { children: [_jsx("li", { children: "PNGs with a transparent background work best, but aren't required." }), _jsx("li", { children: "Don't know where your logo is? Your social media profile would be a good place to look." }), _jsx("li", { children: "Use a logo that is at least 180x180px in size." }), _jsx("li", { children: "Avoid using a screenshot of your logo, right click and \u201Csave as\u201D if you're pulling it from somewhere else." })] }));
|
|
19
10
|
import * as Styles from './logo-picker.module.less';
|
|
20
|
-
export const LogoPicker = observer(({ deleteImage, downloadImage, error, image, imageUrl, loaded = true, maxSize, minDimensions = DEFAULT_MIN_DIMENSIONS, onBadImage, onFileChange, setError, deletable = true, tips = DEFAULT_LOGO_TIPS, }) => {
|
|
11
|
+
export const LogoPicker = observer(({ deleteImage, downloadImage, error, image, imageUrl, loaded = true, maxSize, minDimensions = DEFAULT_MIN_DIMENSIONS, onBadImage, onFileChange, setError, deletable = true, tips = DEFAULT_LOGO_TIPS, isGrid = true, }) => {
|
|
21
12
|
const [recommendLargerImage, setRecommendLargerImage] = useState(false);
|
|
22
13
|
const [localError, setLocalError] = useState('');
|
|
23
14
|
const [isLoading, setIsLoading] = useState(false);
|
|
24
15
|
const [sizeError, setSizeError] = useState('');
|
|
25
|
-
const fileRef = useRef(null);
|
|
26
16
|
const formattedMaxSize = useRef(formatBytes(maxSize, 2, false));
|
|
27
|
-
const handleClick = () => { var _a; return (_a = fileRef.current) === null || _a === void 0 ? void 0 : _a.click(); };
|
|
28
17
|
useEffect(() => {
|
|
29
|
-
const handleImageUrlChange = () =>
|
|
18
|
+
const handleImageUrlChange = async () => {
|
|
30
19
|
if (!imageUrl || !minDimensions) {
|
|
31
20
|
return;
|
|
32
21
|
}
|
|
33
22
|
setIsLoading(true);
|
|
34
23
|
try {
|
|
35
|
-
const size =
|
|
24
|
+
const size = await getImageSize(imageUrl);
|
|
36
25
|
setRecommendLargerImage(size.height < minDimensions.height || size.width < minDimensions.width);
|
|
37
26
|
setLocalError('');
|
|
38
27
|
if (setError) {
|
|
@@ -55,7 +44,7 @@ export const LogoPicker = observer(({ deleteImage, downloadImage, error, image,
|
|
|
55
44
|
finally {
|
|
56
45
|
setIsLoading(false);
|
|
57
46
|
}
|
|
58
|
-
}
|
|
47
|
+
};
|
|
59
48
|
handleImageUrlChange();
|
|
60
49
|
}, [imageUrl, minDimensions, setError, deleteImage, onBadImage]);
|
|
61
50
|
useEffect(() => {
|
|
@@ -81,8 +70,11 @@ export const LogoPicker = observer(({ deleteImage, downloadImage, error, image,
|
|
|
81
70
|
if (!loaded || isLoading) {
|
|
82
71
|
return null;
|
|
83
72
|
}
|
|
84
|
-
return (_jsxs("div",
|
|
85
|
-
.split('.')
|
|
86
|
-
.pop()}`, rel: "noreferrer", target: "_blank", href: imageUrl }, { children: _jsx(Button, { className: "qa-settings-logo-download shadow-1-i bg-white-i", iconName: "file_download", outline: true }) }))) })), deletable && (_jsx(Tooltip, Object.assign({ el: "div", text: "Delete" }, { children: _jsx(Button, { className: "qa-settings-logo-delete shadow-1-i bg-white-i", onClick: deleteImage, iconName: "delete", outline: true }) })))] }) }))] }) })) })) })), recommendLargerImage && minDimensions && (imageUrl || image) && (_jsx(Banner, { title: `We strongly recommend using a logo that is at least ${minDimensions.width}x${minDimensions.height}px in size. Using a lower-resolution image may result in logo pixelation in your templates.`, className: "m-t-2", status: "warning", icon: true })), (imageUrl === undefined || recommendLargerImage || localError || sizeError) && (_jsx(Banner, Object.assign({ icon: true, title: "Tips on Uploading Your Logo:", className: "m-t-2" }, { children: tips })))] })));
|
|
73
|
+
return (_jsxs("div", { className: "field", children: [_jsx(Label, { label: "Logo", hasError: !!error || !!localError || !!sizeError }), (error || localError) && (_jsx(Banner, { className: "m-b-2 qa-settings-logo-error", title: error !== null && error !== void 0 ? error : localError, status: "critical", icon: true })), sizeError && (_jsx(Banner, { className: "m-b-2 qa-settings-logo-error", title: sizeError, status: "critical", icon: true })), imageUrl === undefined ? (_jsx(FilePicker, { typesNote: "Allowed file types: jpeg, png, jpg", className: "qa-settings-logo-file-picker", accept: "image/png, image/jpeg", onSelected: onFileChange })) : isGrid ? (_jsx(Grid, { children: _jsx(Grid.Column, { width: 4, children: _jsx(LogoCard, { imageUrl: imageUrl, onFileChange: onFileChange, image: image, downloadImage: downloadImage, deletable: deletable, deleteImage: deleteImage }) }) })) : (_jsx(LogoCard, { imageUrl: imageUrl, onFileChange: onFileChange, image: image, downloadImage: downloadImage, deletable: deletable, deleteImage: deleteImage })), recommendLargerImage && minDimensions && (imageUrl || image) && (_jsx(Banner, { title: `We strongly recommend using a logo that is at least ${minDimensions.width}x${minDimensions.height}px in size. Using a lower-resolution image may result in logo pixelation in your templates.`, className: "m-t-2", status: "warning", icon: true })), (imageUrl === undefined || recommendLargerImage || localError || sizeError) && (_jsx(Banner, { icon: true, title: "Tips on Uploading Your Logo:", className: "m-t-2", children: tips }))] }));
|
|
87
74
|
});
|
|
75
|
+
const LogoCard = ({ imageUrl, onFileChange, image, downloadImage, deletable = true, deleteImage, }) => {
|
|
76
|
+
const fileRef = useRef(null);
|
|
77
|
+
const handleClick = () => { var _a; return (_a = fileRef.current) === null || _a === void 0 ? void 0 : _a.click(); };
|
|
78
|
+
return (_jsx(Card, { raised: true, padding: "none", className: Styles.logoCard, children: _jsxs(Card.Section, { children: [_jsx("img", { className: "qa-settings-logo-image", src: imageUrl, alt: "logo" }), _jsx("div", { className: Styles.logoAction, children: _jsxs(ButtonGroup, { children: [_jsxs(Tooltip, { el: "div", text: "Replace", children: [_jsx(Button, { outline: true, iconName: "sync", onClick: handleClick, className: "qa-settings-logo-replace shadow-1-i bg-white-i" }), _jsx("input", { hidden: true, type: "file", accept: "image/png, image/jpeg", ref: fileRef, onChange: ({ currentTarget: { files } }) => onFileChange(files) })] }), _jsx(Tooltip, { el: "div", text: "Download", children: downloadImage || image !== undefined ? (_jsx(Button, { className: "qa-settings-logo-download shadow-1-i bg-white-i", disabled: image !== undefined, onClick: downloadImage, iconName: "file_download", outline: true })) : (_jsx("a", { download: `logo.${imageUrl.split('.').pop()}`, rel: "noreferrer", target: "_blank", href: imageUrl, children: _jsx(Button, { className: "qa-settings-logo-download shadow-1-i bg-white-i", iconName: "file_download", outline: true }) })) }), deletable && (_jsx(Tooltip, { el: "div", text: "Delete", children: _jsx(Button, { className: "qa-settings-logo-delete shadow-1-i bg-white-i", onClick: deleteImage, iconName: "delete", outline: true }) }))] }) })] }) }));
|
|
79
|
+
};
|
|
88
80
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/settings/logo-picker/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/settings/logo-picker/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,6 @@ export const OptOutMessage = observer(({ onHandleClickEnable, formState, layout,
|
|
|
17
17
|
enabled.onChange(checked);
|
|
18
18
|
};
|
|
19
19
|
const [Confirm, handleConfirmed] = useConfirm(handleClickEnable);
|
|
20
|
-
return (_jsxs(SettingsSection,
|
|
20
|
+
return (_jsxs(SettingsSection, { layout: layout, className: classnames(Styles.outOutMessage, className), qaPrefix: "qa-opt-out-message", title: "Opt-Out Message", text: _jsxs(Fragment, { children: [_jsxs("div", { children: ["If customers haven\u2019t ", _jsx("b", { children: "opened" }), " one of your emails in a set time frame, you can send an opt-out message to allow them to set their email preferences."] }), _jsx(ToggleSwitch, { label: "Enable", onChange: handleConfirmed, checked: enabled.value, className: "m-t-2 qa-opt-out-message-enable" })] }), children: [_jsx(Text, { bold: true, className: "m-b-2", children: "Opt-Out Email Content" }), _jsxs(Form, { className: "m-b-0-i", children: [_jsx(Form.Input, { className: "m-b-2-i qa-opt-out-message-subject-line", value: subjectLine.value, onChange: subjectLine.onChangeHandler, error: subjectLine.hasError, label: "Subject Line", fluid: true, disabled: !enabled.value }), _jsx(Form.Input, { className: "m-b-2-i qa-opt-out-message-header", value: header.value, onChange: header.onChangeHandler, error: header.hasError, label: "Header", fluid: true, disabled: !enabled.value }), _jsx(Form.TextArea, { className: "m-b-2-i qa-opt-out-message-body-copy", label: "Body Copy", value: body.value, onChange: body.onChangeHandler, error: body.hasError, rows: 2, disabled: !enabled.value }), _jsx(Form.Input, { className: classnames(Styles.buttonInput, 'm-b-3-i qa-opt-out-message-button-text'), value: buttonText.value, onChange: buttonText.onChangeHandler, error: buttonText.hasError, label: "Button Text", disabled: !enabled.value }), _jsx(Button, { className: "qa-opt-out-message-preview-email", primary: true, onClick: openPreview, outline: true, small: true, disabled: !enabled.value, children: "Preview Email" }), _jsx("hr", {})] }), _jsxs(Stack, { alignItems: "center", wrap: "wrap", children: [_jsx(Text, { className: "m-b-1", children: "Send when a recipient hasn\u2019t opened an email in" }), _jsx(Form.Input, { className: classnames(Styles.input, 'qa-opt-out-message-months', 'm-b-0'), value: monthsLimit.value, onChange: monthsLimit.onChangeHandler, error: monthsLimit.hasError, disabled: !enabled.value }), _jsx(Text, { className: "m-b-1", children: "months." })] }), _jsx(Form.Checkbox, { className: classnames('m-t-2-i', 'qa-opt-out-message-auto-suppress'), checked: autoSuppressionEnabled.value, onChange: autoSuppressionEnabled.onChangeHandler, disabled: !enabled.value, label: "Auto-suppress dormant emails" }), _jsx(Confirm, { title: "Disable Opt-Out Messaging", message: "Opt-Out messaging helps you keep dormant emails out of your audiences. Disabling it could potentially lead to worse email performance. Are you sure?", when: enabled.value }), _jsx(OptOutEmailPreview, { ...formState, open: isPreviewOpen, onClose: closePreview })] }));
|
|
21
21
|
});
|
|
22
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/settings/opt-out-message/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAM,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,UAAU,MAAM,YAAY,CAAC;AAGpC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAe,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAE5E,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAC;AAkBxD,MAAM,CAAC,MAAM,aAAa,GAA2B,QAAQ,CACzD,CAAC,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE;IACtD,MAAM,EACF,WAAW,EACX,MAAM,EACN,IAAI,EACJ,UAAU,EACV,WAAW,EACX,OAAO,EACP,sBAAsB,GACzB,GAAG,SAAS,CAAC;IAEd,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAClF,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEpF,MAAM,iBAAiB,GAAG,CAAC,EAAO,EAAE,OAAgB,EAAE,EAAE;QACpD,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,OAAO,CAAC,CAAC;QAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAEjE,OAAO,CACH,MAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/settings/opt-out-message/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
declare const _default: {
|
|
3
2
|
title: string;
|
|
4
3
|
component: import("react").FC<import(".").OptOutMessageProps>;
|
|
5
4
|
parameters: {};
|
|
6
5
|
};
|
|
7
6
|
export default _default;
|
|
8
|
-
export declare const OptOutMessage: (
|
|
7
|
+
export declare const OptOutMessage: () => import("react/jsx-runtime").JSX.Element;
|
|
9
8
|
//# sourceMappingURL=opt-out-message.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opt-out-message.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/settings/opt-out-message/opt-out-message.stories.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"opt-out-message.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/settings/opt-out-message/opt-out-message.stories.tsx"],"names":[],"mappings":";;;;;AAIA,wBAIE;AAgBF,eAAO,MAAM,aAAa,+CAEzB,CAAC"}
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
2
|
import { CheckboxFieldState, InputFieldState, TextAreaFieldState } from '@servicetitan/form';
|
|
9
|
-
import { injectable, provide, useDependencies } from '@servicetitan/react-ioc';
|
|
10
3
|
import { FormState } from 'formstate';
|
|
11
4
|
import { OptOutMessage as Component } from '.';
|
|
12
5
|
export default {
|
|
@@ -14,7 +7,7 @@ export default {
|
|
|
14
7
|
component: Component,
|
|
15
8
|
parameters: {},
|
|
16
9
|
};
|
|
17
|
-
|
|
10
|
+
class OptOutStore {
|
|
18
11
|
constructor() {
|
|
19
12
|
Object.defineProperty(this, "form", {
|
|
20
13
|
enumerable: true,
|
|
@@ -31,14 +24,9 @@ let OptOutStore = class OptOutStore {
|
|
|
31
24
|
})
|
|
32
25
|
});
|
|
33
26
|
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
], OptOutStore);
|
|
38
|
-
export const OptOutMessage = provide({
|
|
39
|
-
singletons: [OptOutStore],
|
|
40
|
-
})(() => {
|
|
41
|
-
const [store] = useDependencies(OptOutStore);
|
|
27
|
+
}
|
|
28
|
+
const store = new OptOutStore();
|
|
29
|
+
export const OptOutMessage = () => {
|
|
42
30
|
return _jsx(Component, { formState: store.form.$ });
|
|
43
|
-
}
|
|
31
|
+
};
|
|
44
32
|
//# sourceMappingURL=opt-out-message.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opt-out-message.stories.js","sourceRoot":"","sources":["../../../../src/components/settings/opt-out-message/opt-out-message.stories.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"opt-out-message.stories.js","sourceRoot":"","sources":["../../../../src/components/settings/opt-out-message/opt-out-message.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,aAAa,IAAI,SAAS,EAAE,MAAM,GAAG,CAAC;AAE/C,eAAe;IACX,KAAK,EAAE,uCAAuC;IAC9C,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE,EAAE;CACjB,CAAC;AAEF,MAAM,WAAW;IAAjB;QACI;;;;mBAAO,IAAI,SAAS,CAAC;gBACjB,WAAW,EAAE,IAAI,eAAe,CAAC,UAAU,CAAC;gBAC5C,MAAM,EAAE,IAAI,eAAe,CAAC,mBAAmB,CAAC;gBAChD,IAAI,EAAE,IAAI,kBAAkB,CAAC,sBAAsB,CAAC;gBACpD,UAAU,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC;gBACtC,WAAW,EAAE,IAAI,eAAe,CAAC,CAAC,CAAC;gBACnC,OAAO,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC;gBACrC,sBAAsB,EAAE,IAAI,kBAAkB,CAAC,IAAI,CAAC;aACvD,CAAC;WAAC;IACP,CAAC;CAAA;AAED,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;AAEhC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAC9B,OAAO,KAAC,SAAS,IAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,GAAI,CAAC;AAClD,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Grid, Text } from '@servicetitan/design-system';
|
|
3
3
|
import * as Styles from './result-definitions-modal.module.less';
|
|
4
|
-
export const Header = () => (_jsxs("div",
|
|
4
|
+
export const Header = () => (_jsxs("div", { className: "position-sticky position-t-0 z-popover", children: [_jsxs(Grid, { columns: 3, className: "p-y-1 bg-white", children: [_jsx(Grid.Column, { children: _jsx(Text, { size: 1, className: "c-neutral-90 tt-uppercase", children: "Result" }) }), _jsx(Grid.Column, { children: _jsx(Text, { size: 1, className: "c-neutral-90 tt-uppercase", children: "Risk" }) }), _jsx(Grid.Column, { children: _jsx(Text, { size: 1, className: "c-neutral-90 tt-uppercase", children: "Recommendation" }) })] }), _jsx("hr", { className: Styles.divider })] }));
|
|
5
5
|
//# sourceMappingURL=header.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../src/components/settings/result-definitions-modal/header.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,KAAK,MAAM,MAAM,wCAAwC,CAAC;AAEjE,MAAM,CAAC,MAAM,MAAM,GAAO,GAAG,EAAE,CAAC,CAC5B,
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../src/components/settings/result-definitions-modal/header.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,KAAK,MAAM,MAAM,wCAAwC,CAAC;AAEjE,MAAM,CAAC,MAAM,MAAM,GAAO,GAAG,EAAE,CAAC,CAC5B,eAAK,SAAS,EAAC,wCAAwC,aACnD,MAAC,IAAI,IAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAC,gBAAgB,aACxC,KAAC,IAAI,CAAC,MAAM,cACR,KAAC,IAAI,IAAC,IAAI,EAAE,CAAC,EAAE,SAAS,EAAC,2BAA2B,uBAE7C,GACG,EACd,KAAC,IAAI,CAAC,MAAM,cACR,KAAC,IAAI,IAAC,IAAI,EAAE,CAAC,EAAE,SAAS,EAAC,2BAA2B,qBAE7C,GACG,EACd,KAAC,IAAI,CAAC,MAAM,cACR,KAAC,IAAI,IAAC,IAAI,EAAE,CAAC,EAAE,SAAS,EAAC,2BAA2B,+BAE7C,GACG,IACX,EACP,aAAI,SAAS,EAAE,MAAM,CAAC,OAAO,GAAI,IAC/B,CACT,CAAC"}
|
|
@@ -4,5 +4,5 @@ import { Modal, Text } from '@servicetitan/design-system';
|
|
|
4
4
|
import { Header } from './header';
|
|
5
5
|
import { Row, RiskType } from './row';
|
|
6
6
|
import * as Styles from './result-definitions-modal.module.less';
|
|
7
|
-
export const ResultDefinitionsModal = ({ onClose }) => (_jsxs(Modal,
|
|
7
|
+
export const ResultDefinitionsModal = ({ onClose }) => (_jsxs(Modal, { open: true, closable: true, title: "Email Validation Result Definitions", onClose: onClose, className: classnames(Styles.modal, 'qa-result-definitions-modal'), children: [_jsx(Header, {}), _jsx("div", { className: Styles.wall }), _jsx(Row, { result: "Undeliverable", risk: RiskType.VeryHigh, recommendation: "Suppress" }), _jsx("hr", { className: Styles.divider }), _jsxs(Text, { size: 2, className: "m-y-2", children: ["Address was determined invalid after performing multiple checks including MX, SMTP, etc., likely due to:", _jsxs("ul", { className: "m-y-0", children: [_jsx("li", { children: "The receiving recipient domain is not configured to accept email" }), _jsx("li", { children: "The SMTP commands issued resulted in a hard bounce, i.e., \"user does not exist\" or \"mailbox full\" errors" }), _jsx("li", { children: "The recipient address historically hard-bounced or appeared on suppression lists" }), _jsx("li", { children: "Mailbox providers require specific standard for an email address including min/max number of characters, max number of periods, etc." })] })] }), _jsx("hr", { className: Styles.divider }), _jsx(Row, { result: "Risky", risk: RiskType.Medium, recommendation: "Proceed With Caution" }), _jsx("hr", { className: Styles.divider }), _jsxs(Text, { size: 2, className: "m-y-2", children: ["Address was determined risky based on historical analysis or problematic results, likely due to:", _jsx("ul", { className: "m-y-0", children: _jsx("li", { children: "The receiving address may be valid, but was found on one or more suppression lists Addresses matching a known spam trap are not ideal for sending campaigns to and can impact reputation" }) })] }), _jsx("hr", { className: Styles.divider }), _jsx(Row, { result: "Typo", risk: RiskType.High, recommendation: "Suppress" }), _jsx("hr", { className: Styles.divider }), _jsxs(Text, { size: 2, className: "m-y-2", children: ["Address was possibly typed incorrectly during sign-up, or matches known typo domains, likely due to:", _jsx("ul", { className: "m-y-0", children: _jsx("li", { children: "Typos are mistyped address domains like \"gmil.com\" instead of \"gmail.com,\" and are often undeliverable. Address is checked against database of common domain misspellings. These kinds of addresses are usually not good for sending." }) })] }), _jsx("hr", { className: Styles.divider }), _jsx(Row, { result: "Accept-All", risk: RiskType.Medium, recommendation: "Proceed With Caution" }), _jsx("hr", { className: Styles.divider }), _jsxs(Text, { size: 2, className: "m-y-2", children: ["The receiving domain of the address accepts all mail, indicating it may be a spam trap, likely due to:", _jsx("ul", { className: "m-y-0", children: _jsx("li", { children: "Some domains do not distinguish between existing and non-existing addresses and accept all mail" }) })] }), _jsx("hr", { className: Styles.divider }), _jsx(Row, { result: "Dispose", risk: RiskType.Medium, recommendation: "Proceed With Caution" }), _jsx("hr", { className: Styles.divider }), _jsxs(Text, { size: 2, className: "m-y-2", children: ["The receiving domain of the address accepts all mail, indicating it may be a spam trap, likely due to:", _jsx("ul", { className: "m-y-0", children: _jsx("li", { children: "Some domains do not distinguish between existing and non-existing addresses and accept all mail" }) })] }), _jsx("hr", { className: Styles.divider }), _jsx(Row, { result: "Role", risk: RiskType.Medium, recommendation: "Proceed With Caution" }), _jsx("hr", { className: Styles.divider }), _jsxs(Text, { size: 2, className: "m-y-2", children: ["Address likely is not a particular person, but rather a group or department, likely due to:", _jsx("ul", { className: "m-y-0", children: _jsx("li", { children: "Role addresses belong to the end user and are deliverable, but include multiple end recipients as part of a larger distribution list. These kinds of addreses are usually not good for sending campaigns" }) })] }), _jsx("hr", { className: Styles.divider }), _jsx(Row, { result: "Unknown", risk: RiskType.Medium, recommendation: "Proceed With Caution" }), _jsx("hr", { className: Styles.divider }), _jsxs(Text, { size: 2, className: "m-y-2", children: ["A connection problem or unresponsive SMTP server prevented validation, likely due to:", _jsxs("ul", { className: "m-y-0", children: [_jsx("li", { children: "Unable to connect and resolve to service during SMTP connection" }), _jsx("li", { children: "Unable to successfully get a response from SMTP server" }), _jsx("li", { children: "Address was outside known result definitions and criteria and was unable to be classified" })] })] })] }));
|
|
8
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/settings/result-definitions-modal/index.tsx"],"names":[],"mappings":";AACA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,KAAK,MAAM,MAAM,wCAAwC,CAAC;AAMjE,MAAM,CAAC,MAAM,sBAAsB,GAAoC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CACpF,MAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/settings/result-definitions-modal/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -17,5 +17,5 @@ const riskTypeToText = new Map([
|
|
|
17
17
|
[RiskType.High, 'High'],
|
|
18
18
|
[RiskType.VeryHigh, 'Very High'],
|
|
19
19
|
]);
|
|
20
|
-
export const Row = ({ result, risk, recommendation }) => (_jsxs(Grid,
|
|
20
|
+
export const Row = ({ result, risk, recommendation }) => (_jsxs(Grid, { columns: 3, className: "m-y-1", children: [_jsx(Grid.Column, { children: _jsx(Text, { size: 2, bold: true, children: result }) }), _jsx(Grid.Column, { children: _jsx(Tag, { color: riskTypeToColor.get(risk), compact: true, children: riskTypeToText.get(risk) }) }), _jsx(Grid.Column, { children: _jsx(Text, { size: 2, bold: true, children: recommendation }) })] }));
|
|
21
21
|
//# sourceMappingURL=row.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"row.js","sourceRoot":"","sources":["../../../../src/components/settings/result-definitions-modal/row.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAChB,2CAAM,CAAA;IACN,uCAAI,CAAA;IACJ,+CAAQ,CAAA;AACZ,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB;AAED,MAAM,eAAe,GAAG,IAAI,GAAG,CAAmB;IAC9C,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC5B,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;IAClD,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;CACzD,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAmB;IAC7C,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC3B,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACvB,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;CACnC,CAAC,CAAC;AAQH,MAAM,CAAC,MAAM,GAAG,GAAiB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CACnE,MAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"row.js","sourceRoot":"","sources":["../../../../src/components/settings/result-definitions-modal/row.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAChB,2CAAM,CAAA;IACN,uCAAI,CAAA;IACJ,+CAAQ,CAAA;AACZ,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB;AAED,MAAM,eAAe,GAAG,IAAI,GAAG,CAAmB;IAC9C,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC5B,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;IAClD,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;CACzD,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAmB;IAC7C,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC3B,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACvB,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;CACnC,CAAC,CAAC;AAQH,MAAM,CAAC,MAAM,GAAG,GAAiB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CACnE,MAAC,IAAI,IAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAC,OAAO,aAC/B,KAAC,IAAI,CAAC,MAAM,cACR,KAAC,IAAI,IAAC,IAAI,EAAE,CAAC,EAAE,IAAI,kBACd,MAAM,GACJ,GACG,EACd,KAAC,IAAI,CAAC,MAAM,cACR,KAAC,GAAG,IAAC,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,kBACzC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,GACvB,GACI,EACd,KAAC,IAAI,CAAC,MAAM,cACR,KAAC,IAAI,IAAC,IAAI,EAAE,CAAC,EAAE,IAAI,kBACd,cAAc,GACZ,GACG,IACX,CACV,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { ReactNode, FC } from 'react';
|
|
|
2
2
|
import { LayoutProps } from '@servicetitan/design-system';
|
|
3
3
|
export interface SectionProps {
|
|
4
4
|
title: ReactNode;
|
|
5
|
-
text?:
|
|
5
|
+
text?: ReactNode | string;
|
|
6
6
|
children: ReactNode;
|
|
7
7
|
qaPrefix?: string;
|
|
8
8
|
className?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/settings/settings-section/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAsB,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE9E,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/settings/settings-section/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAsB,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE9E,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAChC;AAED,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,YAAY,CA0B5C,CAAC"}
|
|
@@ -2,5 +2,5 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import classNames from 'classnames';
|
|
3
3
|
import { observer } from 'mobx-react';
|
|
4
4
|
import { Text, Card, Layout } from '@servicetitan/design-system';
|
|
5
|
-
export const SettingsSection = observer(({ title, text, children, qaPrefix, className = '', layout = 'support' }) => (_jsxs(Layout,
|
|
5
|
+
export const SettingsSection = observer(({ title, text, children, qaPrefix, className = '', layout = 'support' }) => (_jsxs(Layout, { type: layout, direction: "left", className: classNames(qaPrefix, className), children: [_jsxs(Layout.Section, { children: [typeof title === 'string' ? (_jsx(Text, { size: 3, bold: true, className: `${qaPrefix}-title`, children: title })) : (title), typeof text === 'string' ? (_jsx(Text, { size: 2, subdued: true, className: `${qaPrefix}-text`, children: text })) : (text)] }), _jsx(Layout.Section, { children: _jsx(Card, { raised: true, children: _jsx(Card.Section, { className: `${qaPrefix}-content`, children: children }) }) })] })));
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/settings/settings-section/index.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAe,MAAM,6BAA6B,CAAC;AAW9E,MAAM,CAAC,MAAM,eAAe,GAAqB,QAAQ,CACrD,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,EAAgB,EAAE,EAAE,CAAC,CACvF,MAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/settings/settings-section/index.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAe,MAAM,6BAA6B,CAAC;AAW9E,MAAM,CAAC,MAAM,eAAe,GAAqB,QAAQ,CACrD,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,EAAgB,EAAE,EAAE,CAAC,CACvF,MAAC,MAAM,IAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAC,MAAM,EAAC,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,aAC7E,MAAC,MAAM,CAAC,OAAO,eACV,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CACzB,KAAC,IAAI,IAAC,IAAI,EAAE,CAAC,EAAE,IAAI,QAAC,SAAS,EAAE,GAAG,QAAQ,QAAQ,YAC7C,KAAK,GACH,CACV,CAAC,CAAC,CAAC,CACA,KAAK,CACR,EACA,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CACxB,KAAC,IAAI,IAAC,IAAI,EAAE,CAAC,EAAE,OAAO,QAAC,SAAS,EAAE,GAAG,QAAQ,OAAO,YAC/C,IAAI,GACF,CACV,CAAC,CAAC,CAAC,CACA,IAAI,CACP,IACY,EACjB,KAAC,MAAM,CAAC,OAAO,cACX,KAAC,IAAI,IAAC,MAAM,kBACR,KAAC,IAAI,CAAC,OAAO,IAAC,SAAS,EAAE,GAAG,QAAQ,UAAU,YAAG,QAAQ,GAAgB,GACtE,GACM,IACZ,CACZ,CACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-section.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/settings/settings-section/settings-section.stories.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"settings-section.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/settings/settings-section/settings-section.stories.tsx"],"names":[],"mappings":";;;;;AAGA,wBAIE;AAEF,eAAO,MAAM,eAAe,+CAM3B,CAAC"}
|
|
@@ -7,6 +7,6 @@ export default {
|
|
|
7
7
|
parameters: {},
|
|
8
8
|
};
|
|
9
9
|
export const SettingsSection = () => {
|
|
10
|
-
return (_jsx(Component,
|
|
10
|
+
return (_jsx(Component, { title: "Hey! The test", children: _jsx(Headline, { children: "The body" }) }));
|
|
11
11
|
};
|
|
12
12
|
//# sourceMappingURL=settings-section.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-section.stories.js","sourceRoot":"","sources":["../../../../src/components/settings/settings-section/settings-section.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,eAAe,IAAI,SAAS,EAAE,MAAM,GAAG,CAAC;AAEjD,eAAe;IACX,KAAK,EAAE,yCAAyC;IAChD,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE,EAAE;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAChC,OAAO,CACH,KAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"settings-section.stories.js","sourceRoot":"","sources":["../../../../src/components/settings/settings-section/settings-section.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,eAAe,IAAI,SAAS,EAAE,MAAM,GAAG,CAAC;AAEjD,eAAe;IACX,KAAK,EAAE,yCAAyC;IAChD,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE,EAAE;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAChC,OAAO,CACH,KAAC,SAAS,IAAC,KAAK,EAAC,eAAe,YAC5B,KAAC,QAAQ,2BAAoB,GACrB,CACf,CAAC;AACN,CAAC,CAAC"}
|
package/lib/utils/helpers.js
CHANGED
|
@@ -6,7 +6,7 @@ export const formatBytes = (bytes, decimals = 2, isBinary = true) => {
|
|
|
6
6
|
const dm = Math.max(0, decimals);
|
|
7
7
|
const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
|
|
8
8
|
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
9
|
-
return `${parseFloat((bytes /
|
|
9
|
+
return `${parseFloat((bytes / k ** i).toFixed(dm))} ${sizes[i]}`;
|
|
10
10
|
};
|
|
11
11
|
export const getImageSize = (url) => {
|
|
12
12
|
return new Promise((resolve, reject) => {
|
package/lib/utils/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAyB,EAAE,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,EAAE,EAAE;IACpF,IAAI,CAAC,KAAK,EAAE;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAyB,EAAE,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,EAAE,EAAE;IACpF,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACjC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAEhD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpD,OAAO,GAAG,UAAU,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE;IACxC,OAAO,IAAI,OAAO,CAAoC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtE,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE5C,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE;YAChB,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC;QAEF,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE;YACjB,MAAM,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC,CAAC;QAEF,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;IACpB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"repository": {
|
|
4
4
|
"url": "https://github.com/servicetitan/marketing"
|
|
5
5
|
},
|
|
6
|
-
"version": "1.
|
|
6
|
+
"version": "1.10.0",
|
|
7
7
|
"description": "",
|
|
8
8
|
"main": "./lib/index.js",
|
|
9
9
|
"typings": "./lib/index.d.ts",
|
|
@@ -30,5 +30,5 @@
|
|
|
30
30
|
"cli": {
|
|
31
31
|
"webpack": false
|
|
32
32
|
},
|
|
33
|
-
"gitHead": "
|
|
33
|
+
"gitHead": "a80589bd64eb965e97ae60aa28232ea60b5ed19c"
|
|
34
34
|
}
|
|
@@ -1,50 +1,42 @@
|
|
|
1
1
|
import { InputFieldState } from '@servicetitan/form';
|
|
2
|
-
import { injectable, provide, useDependencies } from '@servicetitan/react-ioc';
|
|
3
2
|
import { FormState } from 'formstate';
|
|
4
3
|
|
|
5
4
|
import { CompanyDetails as Component } from '.';
|
|
6
5
|
import { LogoPicker } from '../logo-picker/logo-picker.stories';
|
|
7
6
|
import omit from 'lodash/omit';
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
yearEstablished: new InputFieldState(1999),
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export const CompanyDetailsWithoutWebsite = provide({ singletons: [DetailsStore] })(() => {
|
|
26
|
-
const [store] = useDependencies(DetailsStore);
|
|
8
|
+
const form = new FormState({
|
|
9
|
+
companyName: new InputFieldState('Acme Inc'),
|
|
10
|
+
tagline: new InputFieldState('Ayo! The Acme rules'),
|
|
11
|
+
street: new InputFieldState('Backed st.'),
|
|
12
|
+
unit: new InputFieldState('123'),
|
|
13
|
+
city: new InputFieldState('Glendale'),
|
|
14
|
+
state: new InputFieldState('CA'),
|
|
15
|
+
zipCode: new InputFieldState('91203'),
|
|
16
|
+
companyEmail: new InputFieldState('info@acme.com'),
|
|
17
|
+
companyWebsite: new InputFieldState('www.acme.com'),
|
|
18
|
+
yearEstablished: new InputFieldState(1999),
|
|
19
|
+
});
|
|
27
20
|
|
|
21
|
+
export const CompanyDetailsWithoutWebsite = () => {
|
|
28
22
|
return (
|
|
29
23
|
<Component
|
|
30
|
-
formState={omit(
|
|
24
|
+
formState={omit(form.$, ['companyWebsite'])}
|
|
31
25
|
logoPicker={<LogoPicker />}
|
|
32
26
|
handleCompanyEmailBlur={() => alert('company email blurred')}
|
|
33
27
|
/>
|
|
34
28
|
);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export const CompanyDetails = provide({ singletons: [DetailsStore] })(() => {
|
|
38
|
-
const [store] = useDependencies(DetailsStore);
|
|
29
|
+
};
|
|
39
30
|
|
|
31
|
+
export const CompanyDetails = () => {
|
|
40
32
|
return (
|
|
41
33
|
<Component
|
|
42
|
-
formState={
|
|
34
|
+
formState={form.$}
|
|
43
35
|
logoPicker={<LogoPicker />}
|
|
44
36
|
handleCompanyEmailBlur={() => alert('company email blurred')}
|
|
45
37
|
/>
|
|
46
38
|
);
|
|
47
|
-
}
|
|
39
|
+
};
|
|
48
40
|
|
|
49
41
|
export default {
|
|
50
42
|
title: 'MPA Components/settings/CompanyDetails',
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { InputFieldState, TextAreaFieldState } from '@servicetitan/form';
|
|
2
|
-
import { injectable, provide, useDependencies } from '@servicetitan/react-ioc';
|
|
3
2
|
import { FormState } from 'formstate';
|
|
4
3
|
|
|
5
4
|
import { CompanyEmailFooter as Component } from '.';
|
|
@@ -10,7 +9,6 @@ export default {
|
|
|
10
9
|
parameters: {},
|
|
11
10
|
};
|
|
12
11
|
|
|
13
|
-
@injectable()
|
|
14
12
|
class CompanyEmailStore {
|
|
15
13
|
form = new FormState({
|
|
16
14
|
legalCopy: new TextAreaFieldState('Legal copy example'),
|
|
@@ -19,8 +17,8 @@ class CompanyEmailStore {
|
|
|
19
17
|
});
|
|
20
18
|
}
|
|
21
19
|
|
|
22
|
-
|
|
23
|
-
const [store] = useDependencies(CompanyEmailStore);
|
|
20
|
+
const store = new CompanyEmailStore();
|
|
24
21
|
|
|
22
|
+
export const CompanyEmailFooter = () => {
|
|
25
23
|
return <Component formState={store.form.$} />;
|
|
26
|
-
}
|
|
24
|
+
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { InputFieldState } from '@servicetitan/form';
|
|
2
|
-
import { injectable, provide, useDependencies } from '@servicetitan/react-ioc';
|
|
3
2
|
import { FormState } from 'formstate';
|
|
4
3
|
|
|
5
4
|
import { CompanyEmailReplyTo as Component } from '.';
|
|
@@ -10,14 +9,14 @@ export default {
|
|
|
10
9
|
parameters: {},
|
|
11
10
|
};
|
|
12
11
|
|
|
13
|
-
@injectable()
|
|
14
12
|
class CompanyEmailReplyToStore {
|
|
15
13
|
form = new FormState({
|
|
16
14
|
replyToEmail: new InputFieldState('info@acme.com'),
|
|
17
15
|
});
|
|
18
16
|
}
|
|
19
17
|
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
const store = new CompanyEmailReplyToStore();
|
|
19
|
+
|
|
20
|
+
export const CompanyEmailReplyTo = () => {
|
|
22
21
|
return <Component replyToEmail={store.form.$.replyToEmail} />;
|
|
23
|
-
}
|
|
22
|
+
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { InputFieldState } from '@servicetitan/form';
|
|
2
|
-
import { injectable, provide, useDependencies } from '@servicetitan/react-ioc';
|
|
3
2
|
import { FormState } from 'formstate';
|
|
4
3
|
|
|
5
4
|
import { CompanyEmailSender as Simple, CompanyEmailSenderCustomDomain as Custom } from '.';
|
|
@@ -10,7 +9,6 @@ export default {
|
|
|
10
9
|
parameters: {},
|
|
11
10
|
};
|
|
12
11
|
|
|
13
|
-
@injectable()
|
|
14
12
|
class CompanyEmailSenderStore {
|
|
15
13
|
form = new FormState({
|
|
16
14
|
senderEmail: new InputFieldState('email@acme.com'),
|
|
@@ -19,16 +17,12 @@ class CompanyEmailSenderStore {
|
|
|
19
17
|
});
|
|
20
18
|
}
|
|
21
19
|
|
|
22
|
-
|
|
23
|
-
() => {
|
|
24
|
-
const [store] = useDependencies(CompanyEmailSenderStore);
|
|
20
|
+
const store = new CompanyEmailSenderStore();
|
|
25
21
|
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
export const CompanyEmailSender = provide({ singletons: [CompanyEmailSenderStore] })(() => {
|
|
31
|
-
const [store] = useDependencies(CompanyEmailSenderStore);
|
|
22
|
+
export const CompanyEmailSenderCustomDomain = () => {
|
|
23
|
+
return <Custom formState={store.form.$} senderTld="tld.com" />;
|
|
24
|
+
};
|
|
32
25
|
|
|
26
|
+
export const CompanyEmailSender = () => {
|
|
33
27
|
return <Simple senderName={store.form.$.senderName} senderEmail={store.form.$.senderEmail} />;
|
|
34
|
-
}
|
|
28
|
+
};
|