@servicetitan/mpa-components 2.2.0 → 2.3.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 +24 -0
- package/dist/components/add-merge-tag-dialog/add-merge-tag-dialog.d.ts +11 -0
- package/dist/components/add-merge-tag-dialog/add-merge-tag-dialog.d.ts.map +1 -0
- package/dist/components/add-merge-tag-dialog/add-merge-tag-dialog.js +41 -0
- package/dist/components/add-merge-tag-dialog/add-merge-tag-dialog.js.map +1 -0
- package/dist/components/add-merge-tag-dialog/index.d.ts +3 -0
- package/dist/components/add-merge-tag-dialog/index.d.ts.map +1 -0
- package/dist/components/add-merge-tag-dialog/index.js +3 -0
- package/dist/components/add-merge-tag-dialog/index.js.map +1 -0
- package/dist/components/add-merge-tag-dialog/types.d.ts +10 -0
- package/dist/components/add-merge-tag-dialog/types.d.ts.map +1 -0
- package/dist/components/add-merge-tag-dialog/types.js +2 -0
- package/dist/components/add-merge-tag-dialog/types.js.map +1 -0
- package/{lib → dist}/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/{lib → dist}/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/package.json +36 -36
- package/src/components/add-merge-tag-dialog/add-merge-tag-dialog.tsx +147 -0
- package/src/components/add-merge-tag-dialog/index.ts +2 -0
- package/src/components/add-merge-tag-dialog/types.ts +10 -0
- package/src/index.ts +1 -0
- package/tsconfig.json +3 -5
- package/tsconfig.tsbuildinfo +1 -1
- package/lib/components/campaign-actions/actions-button/campaign-actions.stories.d.ts +0 -8
- package/lib/components/campaign-actions/actions-button/campaign-actions.stories.d.ts.map +0 -1
- package/lib/components/campaign-actions/actions-button/campaign-actions.stories.js +0 -11
- package/lib/components/campaign-actions/actions-button/campaign-actions.stories.js.map +0 -1
- package/lib/components/settings/company-details/company-details-form.stories.d.ts +0 -9
- package/lib/components/settings/company-details/company-details-form.stories.d.ts.map +0 -1
- package/lib/components/settings/company-details/company-details-form.stories.js +0 -30
- package/lib/components/settings/company-details/company-details-form.stories.js.map +0 -1
- package/lib/components/settings/company-email-footer/company-email-footer.stories.d.ts +0 -8
- package/lib/components/settings/company-email-footer/company-email-footer.stories.d.ts.map +0 -1
- package/lib/components/settings/company-email-footer/company-email-footer.stories.js +0 -28
- package/lib/components/settings/company-email-footer/company-email-footer.stories.js.map +0 -1
- package/lib/components/settings/company-email-reply-to/company-email-reply-to.stories.d.ts +0 -8
- package/lib/components/settings/company-email-reply-to/company-email-reply-to.stories.d.ts.map +0 -1
- package/lib/components/settings/company-email-reply-to/company-email-reply-to.stories.js +0 -26
- package/lib/components/settings/company-email-reply-to/company-email-reply-to.stories.js.map +0 -1
- package/lib/components/settings/company-email-sender/company-email-sender.stories.d.ts +0 -10
- package/lib/components/settings/company-email-sender/company-email-sender.stories.d.ts.map +0 -1
- package/lib/components/settings/company-email-sender/company-email-sender.stories.js +0 -31
- package/lib/components/settings/company-email-sender/company-email-sender.stories.js.map +0 -1
- package/lib/components/settings/company-trades-picker/company-trades-picker.stories.d.ts +0 -9
- package/lib/components/settings/company-trades-picker/company-trades-picker.stories.d.ts.map +0 -1
- package/lib/components/settings/company-trades-picker/company-trades-picker.stories.js +0 -71
- package/lib/components/settings/company-trades-picker/company-trades-picker.stories.js.map +0 -1
- package/lib/components/settings/double-opt-in/double-opt-in.stories.d.ts +0 -8
- package/lib/components/settings/double-opt-in/double-opt-in.stories.d.ts.map +0 -1
- package/lib/components/settings/double-opt-in/double-opt-in.stories.js +0 -30
- package/lib/components/settings/double-opt-in/double-opt-in.stories.js.map +0 -1
- package/lib/components/settings/email-validation/email-validation.stories.d.ts +0 -19
- package/lib/components/settings/email-validation/email-validation.stories.d.ts.map +0 -1
- package/lib/components/settings/email-validation/email-validation.stories.js +0 -100
- package/lib/components/settings/email-validation/email-validation.stories.js.map +0 -1
- package/lib/components/settings/logo-picker/logo-picker.stories.d.ts +0 -8
- package/lib/components/settings/logo-picker/logo-picker.stories.d.ts.map +0 -1
- package/lib/components/settings/logo-picker/logo-picker.stories.js +0 -13
- package/lib/components/settings/logo-picker/logo-picker.stories.js.map +0 -1
- package/lib/components/settings/opt-out-message/opt-out-message.stories.d.ts +0 -8
- package/lib/components/settings/opt-out-message/opt-out-message.stories.d.ts.map +0 -1
- package/lib/components/settings/opt-out-message/opt-out-message.stories.js +0 -32
- package/lib/components/settings/opt-out-message/opt-out-message.stories.js.map +0 -1
- package/lib/components/settings/settings-section/settings-section.stories.d.ts +0 -8
- package/lib/components/settings/settings-section/settings-section.stories.d.ts.map +0 -1
- package/lib/components/settings/settings-section/settings-section.stories.js +0 -12
- package/lib/components/settings/settings-section/settings-section.stories.js.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
- package/src/components/campaign-actions/actions-button/campaign-actions.stories.tsx +0 -19
- package/src/components/settings/company-details/company-details-form.stories.tsx +0 -45
- package/src/components/settings/company-email-footer/company-email-footer.stories.tsx +0 -24
- package/src/components/settings/company-email-reply-to/company-email-reply-to.stories.tsx +0 -22
- package/src/components/settings/company-email-sender/company-email-sender.stories.tsx +0 -28
- package/src/components/settings/company-trades-picker/company-trades-picker.stories.tsx +0 -78
- package/src/components/settings/double-opt-in/double-opt-in.stories.tsx +0 -25
- package/src/components/settings/email-validation/email-validation.stories.tsx +0 -118
- package/src/components/settings/logo-picker/logo-picker.stories.tsx +0 -21
- package/src/components/settings/opt-out-message/opt-out-message.stories.tsx +0 -27
- package/src/components/settings/settings-section/settings-section.stories.tsx +0 -16
- /package/{lib → dist}/components/brands/brand-card/actions-button-section.d.ts +0 -0
- /package/{lib → dist}/components/brands/brand-card/actions-button-section.d.ts.map +0 -0
- /package/{lib → dist}/components/brands/brand-card/actions-button-section.js +0 -0
- /package/{lib → dist}/components/brands/brand-card/actions-button-section.js.map +0 -0
- /package/{lib → dist}/components/brands/brand-card/brand-card.d.ts +0 -0
- /package/{lib → dist}/components/brands/brand-card/brand-card.d.ts.map +0 -0
- /package/{lib → dist}/components/brands/brand-card/brand-card.js +0 -0
- /package/{lib → dist}/components/brands/brand-card/brand-card.js.map +0 -0
- /package/{lib → dist}/components/brands/brand-card/info-section.d.ts +0 -0
- /package/{lib → dist}/components/brands/brand-card/info-section.d.ts.map +0 -0
- /package/{lib → dist}/components/brands/brand-card/info-section.js +0 -0
- /package/{lib → dist}/components/brands/brand-card/info-section.js.map +0 -0
- /package/{lib → dist}/components/brands/brand-card/single-action-button.d.ts +0 -0
- /package/{lib → dist}/components/brands/brand-card/single-action-button.d.ts.map +0 -0
- /package/{lib → dist}/components/brands/brand-card/single-action-button.js +0 -0
- /package/{lib → dist}/components/brands/brand-card/single-action-button.js.map +0 -0
- /package/{lib → dist}/components/brands/cards-grid/cards-grid.d.ts +0 -0
- /package/{lib → dist}/components/brands/cards-grid/cards-grid.d.ts.map +0 -0
- /package/{lib → dist}/components/brands/cards-grid/cards-grid.js +0 -0
- /package/{lib → dist}/components/brands/cards-grid/cards-grid.js.map +0 -0
- /package/{lib → dist}/components/brands/index.d.ts +0 -0
- /package/{lib → dist}/components/brands/index.d.ts.map +0 -0
- /package/{lib → dist}/components/brands/index.js +0 -0
- /package/{lib → dist}/components/brands/index.js.map +0 -0
- /package/{lib → dist}/components/brands/styles.module.less +0 -0
- /package/{lib → dist}/components/campaign-actions/action-button/action-button-archive.d.ts +0 -0
- /package/{lib → dist}/components/campaign-actions/action-button/action-button-archive.d.ts.map +0 -0
- /package/{lib → dist}/components/campaign-actions/action-button/action-button-archive.js +0 -0
- /package/{lib → dist}/components/campaign-actions/action-button/action-button-archive.js.map +0 -0
- /package/{lib → dist}/components/campaign-actions/action-button/action-button-clone.d.ts +0 -0
- /package/{lib → dist}/components/campaign-actions/action-button/action-button-clone.d.ts.map +0 -0
- /package/{lib → dist}/components/campaign-actions/action-button/action-button-clone.js +0 -0
- /package/{lib → dist}/components/campaign-actions/action-button/action-button-clone.js.map +0 -0
- /package/{lib → dist}/components/campaign-actions/action-button/action-button-edit.d.ts +0 -0
- /package/{lib → dist}/components/campaign-actions/action-button/action-button-edit.d.ts.map +0 -0
- /package/{lib → dist}/components/campaign-actions/action-button/action-button-edit.js +0 -0
- /package/{lib → dist}/components/campaign-actions/action-button/action-button-edit.js.map +0 -0
- /package/{lib → dist}/components/campaign-actions/action-button/action-button-unarchive.d.ts +0 -0
- /package/{lib → dist}/components/campaign-actions/action-button/action-button-unarchive.d.ts.map +0 -0
- /package/{lib → dist}/components/campaign-actions/action-button/action-button-unarchive.js +0 -0
- /package/{lib → dist}/components/campaign-actions/action-button/action-button-unarchive.js.map +0 -0
- /package/{lib → dist}/components/campaign-actions/action-button/action-button.d.ts +0 -0
- /package/{lib → dist}/components/campaign-actions/action-button/action-button.d.ts.map +0 -0
- /package/{lib → dist}/components/campaign-actions/action-button/action-button.js +0 -0
- /package/{lib → dist}/components/campaign-actions/action-button/action-button.js.map +0 -0
- /package/{lib → dist}/components/campaign-actions/action-button/action-button.module.less +0 -0
- /package/{lib → dist}/components/campaign-actions/actions-button/actions-button.d.ts +0 -0
- /package/{lib → dist}/components/campaign-actions/actions-button/actions-button.d.ts.map +0 -0
- /package/{lib → dist}/components/campaign-actions/actions-button/actions-button.js +0 -0
- /package/{lib → dist}/components/campaign-actions/actions-button/actions-button.js.map +0 -0
- /package/{lib → dist}/components/campaign-actions/actions-button/actions-button.module.less +0 -0
- /package/{lib → dist}/components/campaign-actions/actions-button/campaign-actions.d.ts +0 -0
- /package/{lib → dist}/components/campaign-actions/actions-button/campaign-actions.d.ts.map +0 -0
- /package/{lib → dist}/components/campaign-actions/actions-button/campaign-actions.js +0 -0
- /package/{lib → dist}/components/campaign-actions/actions-button/campaign-actions.js.map +0 -0
- /package/{lib → dist}/components/campaign-actions/index.d.ts +0 -0
- /package/{lib → dist}/components/campaign-actions/index.d.ts.map +0 -0
- /package/{lib → dist}/components/campaign-actions/index.js +0 -0
- /package/{lib → dist}/components/campaign-actions/index.js.map +0 -0
- /package/{lib → dist}/components/settings/company-details/company-details-form.module.less +0 -0
- /package/{lib → dist}/components/settings/company-details/index.d.ts +0 -0
- /package/{lib → dist}/components/settings/company-details/index.d.ts.map +0 -0
- /package/{lib → dist}/components/settings/company-details/index.js +0 -0
- /package/{lib → dist}/components/settings/company-details/index.js.map +0 -0
- /package/{lib → dist}/components/settings/company-email-footer/index.d.ts +0 -0
- /package/{lib → dist}/components/settings/company-email-footer/index.d.ts.map +0 -0
- /package/{lib → dist}/components/settings/company-email-footer/index.js +0 -0
- /package/{lib → dist}/components/settings/company-email-footer/index.js.map +0 -0
- /package/{lib → dist}/components/settings/company-email-reply-to/index.d.ts +0 -0
- /package/{lib → dist}/components/settings/company-email-reply-to/index.d.ts.map +0 -0
- /package/{lib → dist}/components/settings/company-email-reply-to/index.js +0 -0
- /package/{lib → dist}/components/settings/company-email-reply-to/index.js.map +0 -0
- /package/{lib → dist}/components/settings/company-email-sender/company-email-sender.module.less +0 -0
- /package/{lib → dist}/components/settings/company-email-sender/custom-domain-sender.d.ts +0 -0
- /package/{lib → dist}/components/settings/company-email-sender/custom-domain-sender.d.ts.map +0 -0
- /package/{lib → dist}/components/settings/company-email-sender/custom-domain-sender.js +0 -0
- /package/{lib → dist}/components/settings/company-email-sender/custom-domain-sender.js.map +0 -0
- /package/{lib → dist}/components/settings/company-email-sender/index.d.ts +0 -0
- /package/{lib → dist}/components/settings/company-email-sender/index.d.ts.map +0 -0
- /package/{lib → dist}/components/settings/company-email-sender/index.js +0 -0
- /package/{lib → dist}/components/settings/company-email-sender/index.js.map +0 -0
- /package/{lib → dist}/components/settings/company-email-sender/simple-sender.d.ts +0 -0
- /package/{lib → dist}/components/settings/company-email-sender/simple-sender.d.ts.map +0 -0
- /package/{lib → dist}/components/settings/company-email-sender/simple-sender.js +0 -0
- /package/{lib → dist}/components/settings/company-email-sender/simple-sender.js.map +0 -0
- /package/{lib → dist}/components/settings/company-trade-checkbox/company-trade-checkbox.module.less +0 -0
- /package/{lib → dist}/components/settings/company-trade-checkbox/index.d.ts +0 -0
- /package/{lib → dist}/components/settings/company-trade-checkbox/index.d.ts.map +0 -0
- /package/{lib → dist}/components/settings/company-trade-checkbox/index.js +0 -0
- /package/{lib → dist}/components/settings/company-trade-checkbox/index.js.map +0 -0
- /package/{lib → dist}/components/settings/company-trades-picker/index.d.ts +0 -0
- /package/{lib → dist}/components/settings/company-trades-picker/index.d.ts.map +0 -0
- /package/{lib → dist}/components/settings/company-trades-picker/index.js +0 -0
- /package/{lib → dist}/components/settings/company-trades-picker/index.js.map +0 -0
- /package/{lib → dist}/components/settings/double-opt-in/double-opt-in.module.less +0 -0
- /package/{lib → dist}/components/settings/double-opt-in/index.d.ts +0 -0
- /package/{lib → dist}/components/settings/double-opt-in/index.d.ts.map +0 -0
- /package/{lib → dist}/components/settings/double-opt-in/index.js +0 -0
- /package/{lib → dist}/components/settings/double-opt-in/index.js.map +0 -0
- /package/{lib → dist}/components/settings/email-preview/email-preview.d.ts +0 -0
- /package/{lib → dist}/components/settings/email-preview/email-preview.d.ts.map +0 -0
- /package/{lib → dist}/components/settings/email-preview/email-preview.js +0 -0
- /package/{lib → dist}/components/settings/email-preview/email-preview.js.map +0 -0
- /package/{lib → dist}/components/settings/email-preview/email-preview.module.less +0 -0
- /package/{lib → dist}/components/settings/email-preview/opt-in-email-preview.d.ts +0 -0
- /package/{lib → dist}/components/settings/email-preview/opt-in-email-preview.d.ts.map +0 -0
- /package/{lib → dist}/components/settings/email-preview/opt-in-email-preview.js +0 -0
- /package/{lib → dist}/components/settings/email-preview/opt-in-email-preview.js.map +0 -0
- /package/{lib → dist}/components/settings/email-preview/opt-out-email-preview.d.ts +0 -0
- /package/{lib → dist}/components/settings/email-preview/opt-out-email-preview.d.ts.map +0 -0
- /package/{lib → dist}/components/settings/email-preview/opt-out-email-preview.js +0 -0
- /package/{lib → dist}/components/settings/email-preview/opt-out-email-preview.js.map +0 -0
- /package/{lib → dist}/components/settings/email-validation/index.d.ts +0 -0
- /package/{lib → dist}/components/settings/email-validation/index.d.ts.map +0 -0
- /package/{lib → dist}/components/settings/email-validation/index.js +0 -0
- /package/{lib → dist}/components/settings/email-validation/index.js.map +0 -0
- /package/{lib → dist}/components/settings/form-errors-list/index.d.ts +0 -0
- /package/{lib → dist}/components/settings/form-errors-list/index.d.ts.map +0 -0
- /package/{lib → dist}/components/settings/form-errors-list/index.js +0 -0
- /package/{lib → dist}/components/settings/form-errors-list/index.js.map +0 -0
- /package/{lib → dist}/components/settings/index.d.ts +0 -0
- /package/{lib → dist}/components/settings/index.d.ts.map +0 -0
- /package/{lib → dist}/components/settings/index.js +0 -0
- /package/{lib → dist}/components/settings/index.js.map +0 -0
- /package/{lib → dist}/components/settings/logo-picker/index.d.ts +0 -0
- /package/{lib → dist}/components/settings/logo-picker/index.d.ts.map +0 -0
- /package/{lib → dist}/components/settings/logo-picker/index.js +0 -0
- /package/{lib → dist}/components/settings/logo-picker/index.js.map +0 -0
- /package/{lib → dist}/components/settings/logo-picker/logo-picker.module.less +0 -0
- /package/{lib → dist}/components/settings/opt-out-message/index.d.ts +0 -0
- /package/{lib → dist}/components/settings/opt-out-message/index.d.ts.map +0 -0
- /package/{lib → dist}/components/settings/opt-out-message/index.js +0 -0
- /package/{lib → dist}/components/settings/opt-out-message/index.js.map +0 -0
- /package/{lib → dist}/components/settings/opt-out-message/opt-out-message.module.less +0 -0
- /package/{lib → dist}/components/settings/result-definitions-modal/header.d.ts +0 -0
- /package/{lib → dist}/components/settings/result-definitions-modal/header.d.ts.map +0 -0
- /package/{lib → dist}/components/settings/result-definitions-modal/header.js +0 -0
- /package/{lib → dist}/components/settings/result-definitions-modal/header.js.map +0 -0
- /package/{lib → dist}/components/settings/result-definitions-modal/index.d.ts +0 -0
- /package/{lib → dist}/components/settings/result-definitions-modal/index.d.ts.map +0 -0
- /package/{lib → dist}/components/settings/result-definitions-modal/index.js +0 -0
- /package/{lib → dist}/components/settings/result-definitions-modal/index.js.map +0 -0
- /package/{lib → dist}/components/settings/result-definitions-modal/result-definitions-modal.module.less +0 -0
- /package/{lib → dist}/components/settings/result-definitions-modal/row.d.ts +0 -0
- /package/{lib → dist}/components/settings/result-definitions-modal/row.d.ts.map +0 -0
- /package/{lib → dist}/components/settings/result-definitions-modal/row.js +0 -0
- /package/{lib → dist}/components/settings/result-definitions-modal/row.js.map +0 -0
- /package/{lib → dist}/components/settings/settings-section/index.d.ts +0 -0
- /package/{lib → dist}/components/settings/settings-section/index.d.ts.map +0 -0
- /package/{lib → dist}/components/settings/settings-section/index.js +0 -0
- /package/{lib → dist}/components/settings/settings-section/index.js.map +0 -0
- /package/{lib → dist}/enums/brands.d.ts +0 -0
- /package/{lib → dist}/enums/brands.d.ts.map +0 -0
- /package/{lib → dist}/enums/brands.js +0 -0
- /package/{lib → dist}/enums/brands.js.map +0 -0
- /package/{lib → dist}/utils/helpers.d.ts +0 -0
- /package/{lib → dist}/utils/helpers.d.ts.map +0 -0
- /package/{lib → dist}/utils/helpers.js +0 -0
- /package/{lib → dist}/utils/helpers.js.map +0 -0
- /package/{lib → dist}/utils/interfaces.d.ts +0 -0
- /package/{lib → dist}/utils/interfaces.d.ts.map +0 -0
- /package/{lib → dist}/utils/interfaces.js +0 -0
- /package/{lib → dist}/utils/interfaces.js.map +0 -0
- /package/{lib → dist}/utils/mappers.d.ts +0 -0
- /package/{lib → dist}/utils/mappers.d.ts.map +0 -0
- /package/{lib → dist}/utils/mappers.js +0 -0
- /package/{lib → dist}/utils/mappers.js.map +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,27 @@
|
|
|
1
|
+
# v2.3.0 (Tue Dec 02 2025)
|
|
2
|
+
|
|
3
|
+
#### 🚀 Enhancement
|
|
4
|
+
|
|
5
|
+
- [mpa-components]: add merge tag dialog to be used for adding grouped merge tags [#109](https://github.com/servicetitan/standalone-fe/pull/109) ([@stadevosyan](https://github.com/stadevosyan))
|
|
6
|
+
|
|
7
|
+
#### Authors: 1
|
|
8
|
+
|
|
9
|
+
- Sam Tadevosyan ([@stadevosyan](https://github.com/stadevosyan))
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# v2.2.1 (Thu Sep 04 2025)
|
|
14
|
+
|
|
15
|
+
#### 🐛 Bug Fix
|
|
16
|
+
|
|
17
|
+
- [standalone-root]: pick valid locale or fall back to default one [#86](https://github.com/servicetitan/standalone-fe/pull/86) ([@dkhachatryan-st](https://github.com/dkhachatryan-st))
|
|
18
|
+
|
|
19
|
+
#### Authors: 1
|
|
20
|
+
|
|
21
|
+
- David Khachatryan ([@dkhachatryan-st](https://github.com/dkhachatryan-st))
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
1
25
|
# Change Log
|
|
2
26
|
|
|
3
27
|
All notable changes to this project will be documented in this file.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import type { Group, IEmailMergeTag } from './types';
|
|
3
|
+
export interface AddMergeTagDialogProps {
|
|
4
|
+
open: boolean;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
onAdd: (mergeTag: IEmailMergeTag) => void;
|
|
7
|
+
mergeTags: IEmailMergeTag[];
|
|
8
|
+
groups: Group[];
|
|
9
|
+
}
|
|
10
|
+
export declare const AddMergeTagDialog: FC<AddMergeTagDialogProps>;
|
|
11
|
+
//# sourceMappingURL=add-merge-tag-dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-merge-tag-dialog.d.ts","sourceRoot":"","sources":["../../../src/components/add-merge-tag-dialog/add-merge-tag-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAqB,MAAM,OAAO,CAAC;AAI9C,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAErD,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1C,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,MAAM,EAAE,KAAK,EAAE,CAAC;CACnB;AAED,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAoIxD,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo, useState } from 'react';
|
|
3
|
+
import { Button, Combobox, Dialog, Flex, Link, Text } from '@servicetitan/anvil2';
|
|
4
|
+
export const AddMergeTagDialog = ({ open, onClose, onAdd, mergeTags, groups, }) => {
|
|
5
|
+
const [selectedGroup, setSelectedGroup] = useState(null);
|
|
6
|
+
const [selectedMergeTag, setSelectedMergeTag] = useState(null);
|
|
7
|
+
const filteredMergeTags = useMemo(() => {
|
|
8
|
+
if (!selectedGroup) {
|
|
9
|
+
return mergeTags;
|
|
10
|
+
}
|
|
11
|
+
return mergeTags.filter(tag => tag.group === selectedGroup.name);
|
|
12
|
+
}, [mergeTags, selectedGroup]);
|
|
13
|
+
const handleGroupChange = (group) => {
|
|
14
|
+
setSelectedGroup(group);
|
|
15
|
+
// If merge tag is selected and group is selected
|
|
16
|
+
if (selectedMergeTag && group) {
|
|
17
|
+
// If selected merge tag doesn't belong to the new group, reset it
|
|
18
|
+
if (selectedMergeTag.group !== group.name) {
|
|
19
|
+
setSelectedMergeTag(null);
|
|
20
|
+
}
|
|
21
|
+
// If it belongs to the group, keep the selection
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
const handleMergeTagChange = (tag) => {
|
|
25
|
+
setSelectedMergeTag(tag);
|
|
26
|
+
};
|
|
27
|
+
const handleAdd = () => {
|
|
28
|
+
if (selectedMergeTag) {
|
|
29
|
+
onAdd(selectedMergeTag);
|
|
30
|
+
onClose();
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
const handleClose = () => {
|
|
34
|
+
// Reset selections when dialog closes
|
|
35
|
+
setSelectedGroup(null);
|
|
36
|
+
setSelectedMergeTag(null);
|
|
37
|
+
onClose();
|
|
38
|
+
};
|
|
39
|
+
return (_jsxs(Dialog, { open: open, onClose: handleClose, size: "large", children: [_jsx(Dialog.Header, { children: "Add Merge Tag" }), _jsx(Dialog.Content, { children: _jsxs(Flex, { direction: "column", gap: "4", grow: "1", children: [_jsxs(Combobox.Select, { items: groups, itemToKey: item => (item ? item.name : null), itemToString: item => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.displayName) !== null && _a !== void 0 ? _a : ''; }, selectedItem: selectedGroup, onChange: handleGroupChange, children: [_jsx(Combobox.SelectTrigger, { label: "Select Field Location", moreInfo: "Choose the field's source (Customer, Location, Job, etc)." }), _jsx(Combobox.Content, { children: ({ items }) => (_jsx(Combobox.List, { children: items.map((item, i) => (_jsx(Combobox.Item, { item: item, index: i, children: item.displayName }, item.name))) })) })] }), _jsxs(Combobox.Select, { items: filteredMergeTags, itemToKey: item => (item ? item.name : null), itemToString: item => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.label) !== null && _a !== void 0 ? _a : ''; }, selectedItem: selectedMergeTag, onChange: handleMergeTagChange, children: [_jsx(Combobox.SelectTrigger, { label: "Select Merge Tag", moreInfo: "Pick the merge tag to insert. Resolves to its value.", description: _jsx("div", { children: _jsxs(Text, { size: "small", subdued: true, children: [_jsx("b", { children: "Important:" }), " If you've gathered job-related data through custom fields, it will only be linked to the customer's most recent job. Similarly, if you've collected location-related data, we will only display the customer's primary location.", ' ', _jsx(Link, { href: "https://www.servicetitan.com/", target: "_blank", children: "Learn More" })] }) }) }), _jsx(Combobox.Content, { children: ({ items }) => (_jsx(Combobox.List, { children: items.map((item, i) => (_jsx(Combobox.Item, { item: item, index: i, children: item.label }, item.name))) })) })] })] }) }), _jsx(Dialog.Footer, { children: _jsx(Flex, { justifyContent: "flex-end", children: _jsxs(Flex, { gap: "3", children: [_jsx(Dialog.CancelButton, { children: "Cancel" }), _jsx(Button, { appearance: "primary", onClick: handleAdd, disabled: !selectedMergeTag, children: "Add" })] }) }) })] }));
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=add-merge-tag-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-merge-tag-dialog.js","sourceRoot":"","sources":["../../../src/components/add-merge-tag-dialog/add-merge-tag-dialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAM,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAYlF,MAAM,CAAC,MAAM,iBAAiB,GAA+B,CAAC,EAC1D,IAAI,EACJ,OAAO,EACP,KAAK,EACL,SAAS,EACT,MAAM,GACT,EAAE,EAAE;IACD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IACvE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAwB,IAAI,CAAC,CAAC;IAEtF,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE;QACnC,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;IAE/B,MAAM,iBAAiB,GAAG,CAAC,KAAmB,EAAE,EAAE;QAC9C,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAExB,iDAAiD;QACjD,IAAI,gBAAgB,IAAI,KAAK,EAAE,CAAC;YAC5B,kEAAkE;YAClE,IAAI,gBAAgB,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;gBACxC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,iDAAiD;QACrD,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,GAA0B,EAAE,EAAE;QACxD,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,EAAE;QACnB,IAAI,gBAAgB,EAAE,CAAC;YACnB,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACxB,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE;QACrB,sCAAsC;QACtC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO,EAAE,CAAC;IACd,CAAC,CAAC;IAEF,OAAO,CACH,MAAC,MAAM,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAC,OAAO,aAClD,KAAC,MAAM,CAAC,MAAM,gCAA8B,EAC5C,KAAC,MAAM,CAAC,OAAO,cACX,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAC,GAAG,EAAC,IAAI,EAAC,GAAG,aACrC,MAAC,QAAQ,CAAC,MAAM,IACZ,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAC5C,YAAY,EAAE,IAAI,CAAC,EAAE,WAAC,OAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,mCAAI,EAAE,CAAA,EAAA,EAC7C,YAAY,EAAE,aAAa,EAC3B,QAAQ,EAAE,iBAAiB,aAE3B,KAAC,QAAQ,CAAC,aAAa,IACnB,KAAK,EAAC,uBAAuB,EAC7B,QAAQ,EAAC,2DAA2D,GACtE,EACF,KAAC,QAAQ,CAAC,OAAO,cACZ,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACZ,KAAC,QAAQ,CAAC,IAAI,cACT,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACpB,KAAC,QAAQ,CAAC,IAAI,IAAiB,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,YAC9C,IAAI,CAAC,WAAW,IADD,IAAI,CAAC,IAAI,CAEb,CACnB,CAAC,GACU,CACnB,GACc,IACL,EAElB,MAAC,QAAQ,CAAC,MAAM,IACZ,KAAK,EAAE,iBAAiB,EACxB,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAC5C,YAAY,EAAE,IAAI,CAAC,EAAE,WAAC,OAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,mCAAI,EAAE,CAAA,EAAA,EACvC,YAAY,EAAE,gBAAgB,EAC9B,QAAQ,EAAE,oBAAoB,aAE9B,KAAC,QAAQ,CAAC,aAAa,IACnB,KAAK,EAAC,kBAAkB,EACxB,QAAQ,EAAC,sDAAsD,EAC/D,WAAW,EACP,wBACI,MAAC,IAAI,IAAC,IAAI,EAAC,OAAO,EAAC,OAAO,mBACtB,qCAAiB,uOAIC,GAAG,EACrB,KAAC,IAAI,IAAC,IAAI,EAAC,+BAA+B,EAAC,MAAM,EAAC,QAAQ,2BAEnD,IACJ,GACL,GAEZ,EACF,KAAC,QAAQ,CAAC,OAAO,cACZ,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACZ,KAAC,QAAQ,CAAC,IAAI,cACT,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACpB,KAAC,QAAQ,CAAC,IAAI,IAAiB,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,YAC9C,IAAI,CAAC,KAAK,IADK,IAAI,CAAC,IAAI,CAEb,CACnB,CAAC,GACU,CACnB,GACc,IACL,IACf,GACM,EACjB,KAAC,MAAM,CAAC,MAAM,cACV,KAAC,IAAI,IAAC,cAAc,EAAC,UAAU,YAC3B,MAAC,IAAI,IAAC,GAAG,EAAC,GAAG,aACT,KAAC,MAAM,CAAC,YAAY,yBAA6B,EACjD,KAAC,MAAM,IACH,UAAU,EAAC,SAAS,EACpB,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,CAAC,gBAAgB,oBAGtB,IACN,GACJ,GACK,IACX,CACZ,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/add-merge-tag-dialog/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/add-merge-tag-dialog/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/add-merge-tag-dialog/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,KAAK;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/add-merge-tag-dialog/types.ts"],"names":[],"mappings":""}
|
package/{lib → dist}/index.d.ts
RENAMED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './components/settings';
|
|
2
2
|
export * from './components/campaign-actions';
|
|
3
3
|
export * from './components/settings';
|
|
4
|
+
export * from './components/add-merge-tag-dialog';
|
|
4
5
|
export * from './utils/helpers';
|
|
5
6
|
export * from './utils/interfaces';
|
|
6
7
|
export * from './enums/brands';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mCAAmC,CAAC;AAClD,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC"}
|
package/{lib → dist}/index.js
RENAMED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './components/settings';
|
|
2
2
|
export * from './components/campaign-actions';
|
|
3
3
|
export * from './components/settings';
|
|
4
|
+
export * from './components/add-merge-tag-dialog';
|
|
4
5
|
export * from './utils/helpers';
|
|
5
6
|
export * from './utils/interfaces';
|
|
6
7
|
export * from './enums/brands';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mCAAmC,CAAC;AAClD,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
2
|
+
"name": "@servicetitan/mpa-components",
|
|
3
|
+
"version": "2.3.0",
|
|
4
|
+
"description": "",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"typings": "./dist/index.d.ts",
|
|
7
|
+
"dependencies": {
|
|
8
|
+
"lodash.chunk": "^4.2.0"
|
|
9
|
+
},
|
|
10
|
+
"peerDependencies": {
|
|
11
|
+
"@servicetitan/anvil2": ">=1.30.0",
|
|
12
|
+
"@servicetitan/confirm": ">=30.0.0",
|
|
13
|
+
"@servicetitan/design-system": ">=14.5.0",
|
|
14
|
+
"@servicetitan/form": ">=30.0.0",
|
|
15
|
+
"@servicetitan/form-state": ">=30.0.0",
|
|
16
|
+
"@servicetitan/table": ">=30.0.0",
|
|
17
|
+
"@servicetitan/tokens": ">=12.9.0",
|
|
18
|
+
"classnames": ">=2.5.0",
|
|
19
|
+
"formstate": ">=2.0.0",
|
|
20
|
+
"mobx": "^6.13.7",
|
|
21
|
+
"mobx-react": ">=9.0.0",
|
|
22
|
+
"react": ">=18.0.0",
|
|
23
|
+
"react-router-dom": ">=5.3.0"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@servicetitan/anvil2": "^1.43.1",
|
|
27
|
+
"@servicetitan/table": "^32.2.0",
|
|
28
|
+
"@types/lodash.chunk": "^4.2.9",
|
|
29
|
+
"@types/react-router-dom": "^5.3.3"
|
|
30
|
+
},
|
|
31
|
+
"publishConfig": {
|
|
32
|
+
"access": "public"
|
|
33
|
+
},
|
|
34
|
+
"cli": {
|
|
35
|
+
"webpack": false
|
|
36
|
+
},
|
|
37
|
+
"gitHead": "e3a1db5dca55e5593c2129be3ec068a417fbbdaf"
|
|
38
38
|
}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { FC, useMemo, useState } from 'react';
|
|
2
|
+
|
|
3
|
+
import { Button, Combobox, Dialog, Flex, Link, Text } from '@servicetitan/anvil2';
|
|
4
|
+
|
|
5
|
+
import type { Group, IEmailMergeTag } from './types';
|
|
6
|
+
|
|
7
|
+
export interface AddMergeTagDialogProps {
|
|
8
|
+
open: boolean;
|
|
9
|
+
onClose: () => void;
|
|
10
|
+
onAdd: (mergeTag: IEmailMergeTag) => void;
|
|
11
|
+
mergeTags: IEmailMergeTag[];
|
|
12
|
+
groups: Group[];
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export const AddMergeTagDialog: FC<AddMergeTagDialogProps> = ({
|
|
16
|
+
open,
|
|
17
|
+
onClose,
|
|
18
|
+
onAdd,
|
|
19
|
+
mergeTags,
|
|
20
|
+
groups,
|
|
21
|
+
}) => {
|
|
22
|
+
const [selectedGroup, setSelectedGroup] = useState<Group | null>(null);
|
|
23
|
+
const [selectedMergeTag, setSelectedMergeTag] = useState<IEmailMergeTag | null>(null);
|
|
24
|
+
|
|
25
|
+
const filteredMergeTags = useMemo(() => {
|
|
26
|
+
if (!selectedGroup) {
|
|
27
|
+
return mergeTags;
|
|
28
|
+
}
|
|
29
|
+
return mergeTags.filter(tag => tag.group === selectedGroup.name);
|
|
30
|
+
}, [mergeTags, selectedGroup]);
|
|
31
|
+
|
|
32
|
+
const handleGroupChange = (group: Group | null) => {
|
|
33
|
+
setSelectedGroup(group);
|
|
34
|
+
|
|
35
|
+
// If merge tag is selected and group is selected
|
|
36
|
+
if (selectedMergeTag && group) {
|
|
37
|
+
// If selected merge tag doesn't belong to the new group, reset it
|
|
38
|
+
if (selectedMergeTag.group !== group.name) {
|
|
39
|
+
setSelectedMergeTag(null);
|
|
40
|
+
}
|
|
41
|
+
// If it belongs to the group, keep the selection
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const handleMergeTagChange = (tag: IEmailMergeTag | null) => {
|
|
46
|
+
setSelectedMergeTag(tag);
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
const handleAdd = () => {
|
|
50
|
+
if (selectedMergeTag) {
|
|
51
|
+
onAdd(selectedMergeTag);
|
|
52
|
+
onClose();
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const handleClose = () => {
|
|
57
|
+
// Reset selections when dialog closes
|
|
58
|
+
setSelectedGroup(null);
|
|
59
|
+
setSelectedMergeTag(null);
|
|
60
|
+
onClose();
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
return (
|
|
64
|
+
<Dialog open={open} onClose={handleClose} size="large">
|
|
65
|
+
<Dialog.Header>Add Merge Tag</Dialog.Header>
|
|
66
|
+
<Dialog.Content>
|
|
67
|
+
<Flex direction="column" gap="4" grow="1">
|
|
68
|
+
<Combobox.Select
|
|
69
|
+
items={groups}
|
|
70
|
+
itemToKey={item => (item ? item.name : null)}
|
|
71
|
+
itemToString={item => item?.displayName ?? ''}
|
|
72
|
+
selectedItem={selectedGroup}
|
|
73
|
+
onChange={handleGroupChange}
|
|
74
|
+
>
|
|
75
|
+
<Combobox.SelectTrigger
|
|
76
|
+
label="Select Field Location"
|
|
77
|
+
moreInfo="Choose the field's source (Customer, Location, Job, etc)."
|
|
78
|
+
/>
|
|
79
|
+
<Combobox.Content>
|
|
80
|
+
{({ items }) => (
|
|
81
|
+
<Combobox.List>
|
|
82
|
+
{items.map((item, i) => (
|
|
83
|
+
<Combobox.Item key={item.name} item={item} index={i}>
|
|
84
|
+
{item.displayName}
|
|
85
|
+
</Combobox.Item>
|
|
86
|
+
))}
|
|
87
|
+
</Combobox.List>
|
|
88
|
+
)}
|
|
89
|
+
</Combobox.Content>
|
|
90
|
+
</Combobox.Select>
|
|
91
|
+
|
|
92
|
+
<Combobox.Select
|
|
93
|
+
items={filteredMergeTags}
|
|
94
|
+
itemToKey={item => (item ? item.name : null)}
|
|
95
|
+
itemToString={item => item?.label ?? ''}
|
|
96
|
+
selectedItem={selectedMergeTag}
|
|
97
|
+
onChange={handleMergeTagChange}
|
|
98
|
+
>
|
|
99
|
+
<Combobox.SelectTrigger
|
|
100
|
+
label="Select Merge Tag"
|
|
101
|
+
moreInfo="Pick the merge tag to insert. Resolves to its value."
|
|
102
|
+
description={
|
|
103
|
+
<div>
|
|
104
|
+
<Text size="small" subdued>
|
|
105
|
+
<b>Important:</b> If you've gathered job-related data
|
|
106
|
+
through custom fields, it will only be linked to the
|
|
107
|
+
customer's most recent job. Similarly, if you've collected
|
|
108
|
+
location-related data, we will only display the customer's
|
|
109
|
+
primary location.{' '}
|
|
110
|
+
<Link href="https://www.servicetitan.com/" target="_blank">
|
|
111
|
+
Learn More
|
|
112
|
+
</Link>
|
|
113
|
+
</Text>
|
|
114
|
+
</div>
|
|
115
|
+
}
|
|
116
|
+
/>
|
|
117
|
+
<Combobox.Content>
|
|
118
|
+
{({ items }) => (
|
|
119
|
+
<Combobox.List>
|
|
120
|
+
{items.map((item, i) => (
|
|
121
|
+
<Combobox.Item key={item.name} item={item} index={i}>
|
|
122
|
+
{item.label}
|
|
123
|
+
</Combobox.Item>
|
|
124
|
+
))}
|
|
125
|
+
</Combobox.List>
|
|
126
|
+
)}
|
|
127
|
+
</Combobox.Content>
|
|
128
|
+
</Combobox.Select>
|
|
129
|
+
</Flex>
|
|
130
|
+
</Dialog.Content>
|
|
131
|
+
<Dialog.Footer>
|
|
132
|
+
<Flex justifyContent="flex-end">
|
|
133
|
+
<Flex gap="3">
|
|
134
|
+
<Dialog.CancelButton>Cancel</Dialog.CancelButton>
|
|
135
|
+
<Button
|
|
136
|
+
appearance="primary"
|
|
137
|
+
onClick={handleAdd}
|
|
138
|
+
disabled={!selectedMergeTag}
|
|
139
|
+
>
|
|
140
|
+
Add
|
|
141
|
+
</Button>
|
|
142
|
+
</Flex>
|
|
143
|
+
</Flex>
|
|
144
|
+
</Dialog.Footer>
|
|
145
|
+
</Dialog>
|
|
146
|
+
);
|
|
147
|
+
};
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './components/settings';
|
|
2
2
|
export * from './components/campaign-actions';
|
|
3
3
|
export * from './components/settings';
|
|
4
|
+
export * from './components/add-merge-tag-dialog';
|
|
4
5
|
export * from './utils/helpers';
|
|
5
6
|
export * from './utils/interfaces';
|
|
6
7
|
export * from './enums/brands';
|
package/tsconfig.json
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"extends": "@servicetitan/startup/tsconfig/base",
|
|
3
3
|
"compilerOptions": {
|
|
4
|
-
"outDir": "
|
|
5
|
-
"rootDir": "src"
|
|
6
|
-
"composite": true
|
|
4
|
+
"outDir": "dist",
|
|
5
|
+
"rootDir": "src"
|
|
7
6
|
},
|
|
8
7
|
"include": ["src/**/*"],
|
|
9
|
-
"exclude": ["src/**/__tests__/**/*"]
|
|
10
|
-
"references": [{ "path": "../utils" }]
|
|
8
|
+
"exclude": ["src/**/__tests__/**/*"]
|
|
11
9
|
}
|