@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.
Files changed (248) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/components/add-merge-tag-dialog/add-merge-tag-dialog.d.ts +11 -0
  3. package/dist/components/add-merge-tag-dialog/add-merge-tag-dialog.d.ts.map +1 -0
  4. package/dist/components/add-merge-tag-dialog/add-merge-tag-dialog.js +41 -0
  5. package/dist/components/add-merge-tag-dialog/add-merge-tag-dialog.js.map +1 -0
  6. package/dist/components/add-merge-tag-dialog/index.d.ts +3 -0
  7. package/dist/components/add-merge-tag-dialog/index.d.ts.map +1 -0
  8. package/dist/components/add-merge-tag-dialog/index.js +3 -0
  9. package/dist/components/add-merge-tag-dialog/index.js.map +1 -0
  10. package/dist/components/add-merge-tag-dialog/types.d.ts +10 -0
  11. package/dist/components/add-merge-tag-dialog/types.d.ts.map +1 -0
  12. package/dist/components/add-merge-tag-dialog/types.js +2 -0
  13. package/dist/components/add-merge-tag-dialog/types.js.map +1 -0
  14. package/{lib → dist}/index.d.ts +1 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/{lib → dist}/index.js +1 -0
  17. package/dist/index.js.map +1 -0
  18. package/package.json +36 -36
  19. package/src/components/add-merge-tag-dialog/add-merge-tag-dialog.tsx +147 -0
  20. package/src/components/add-merge-tag-dialog/index.ts +2 -0
  21. package/src/components/add-merge-tag-dialog/types.ts +10 -0
  22. package/src/index.ts +1 -0
  23. package/tsconfig.json +3 -5
  24. package/tsconfig.tsbuildinfo +1 -1
  25. package/lib/components/campaign-actions/actions-button/campaign-actions.stories.d.ts +0 -8
  26. package/lib/components/campaign-actions/actions-button/campaign-actions.stories.d.ts.map +0 -1
  27. package/lib/components/campaign-actions/actions-button/campaign-actions.stories.js +0 -11
  28. package/lib/components/campaign-actions/actions-button/campaign-actions.stories.js.map +0 -1
  29. package/lib/components/settings/company-details/company-details-form.stories.d.ts +0 -9
  30. package/lib/components/settings/company-details/company-details-form.stories.d.ts.map +0 -1
  31. package/lib/components/settings/company-details/company-details-form.stories.js +0 -30
  32. package/lib/components/settings/company-details/company-details-form.stories.js.map +0 -1
  33. package/lib/components/settings/company-email-footer/company-email-footer.stories.d.ts +0 -8
  34. package/lib/components/settings/company-email-footer/company-email-footer.stories.d.ts.map +0 -1
  35. package/lib/components/settings/company-email-footer/company-email-footer.stories.js +0 -28
  36. package/lib/components/settings/company-email-footer/company-email-footer.stories.js.map +0 -1
  37. package/lib/components/settings/company-email-reply-to/company-email-reply-to.stories.d.ts +0 -8
  38. package/lib/components/settings/company-email-reply-to/company-email-reply-to.stories.d.ts.map +0 -1
  39. package/lib/components/settings/company-email-reply-to/company-email-reply-to.stories.js +0 -26
  40. package/lib/components/settings/company-email-reply-to/company-email-reply-to.stories.js.map +0 -1
  41. package/lib/components/settings/company-email-sender/company-email-sender.stories.d.ts +0 -10
  42. package/lib/components/settings/company-email-sender/company-email-sender.stories.d.ts.map +0 -1
  43. package/lib/components/settings/company-email-sender/company-email-sender.stories.js +0 -31
  44. package/lib/components/settings/company-email-sender/company-email-sender.stories.js.map +0 -1
  45. package/lib/components/settings/company-trades-picker/company-trades-picker.stories.d.ts +0 -9
  46. package/lib/components/settings/company-trades-picker/company-trades-picker.stories.d.ts.map +0 -1
  47. package/lib/components/settings/company-trades-picker/company-trades-picker.stories.js +0 -71
  48. package/lib/components/settings/company-trades-picker/company-trades-picker.stories.js.map +0 -1
  49. package/lib/components/settings/double-opt-in/double-opt-in.stories.d.ts +0 -8
  50. package/lib/components/settings/double-opt-in/double-opt-in.stories.d.ts.map +0 -1
  51. package/lib/components/settings/double-opt-in/double-opt-in.stories.js +0 -30
  52. package/lib/components/settings/double-opt-in/double-opt-in.stories.js.map +0 -1
  53. package/lib/components/settings/email-validation/email-validation.stories.d.ts +0 -19
  54. package/lib/components/settings/email-validation/email-validation.stories.d.ts.map +0 -1
  55. package/lib/components/settings/email-validation/email-validation.stories.js +0 -100
  56. package/lib/components/settings/email-validation/email-validation.stories.js.map +0 -1
  57. package/lib/components/settings/logo-picker/logo-picker.stories.d.ts +0 -8
  58. package/lib/components/settings/logo-picker/logo-picker.stories.d.ts.map +0 -1
  59. package/lib/components/settings/logo-picker/logo-picker.stories.js +0 -13
  60. package/lib/components/settings/logo-picker/logo-picker.stories.js.map +0 -1
  61. package/lib/components/settings/opt-out-message/opt-out-message.stories.d.ts +0 -8
  62. package/lib/components/settings/opt-out-message/opt-out-message.stories.d.ts.map +0 -1
  63. package/lib/components/settings/opt-out-message/opt-out-message.stories.js +0 -32
  64. package/lib/components/settings/opt-out-message/opt-out-message.stories.js.map +0 -1
  65. package/lib/components/settings/settings-section/settings-section.stories.d.ts +0 -8
  66. package/lib/components/settings/settings-section/settings-section.stories.d.ts.map +0 -1
  67. package/lib/components/settings/settings-section/settings-section.stories.js +0 -12
  68. package/lib/components/settings/settings-section/settings-section.stories.js.map +0 -1
  69. package/lib/index.d.ts.map +0 -1
  70. package/lib/index.js.map +0 -1
  71. package/src/components/campaign-actions/actions-button/campaign-actions.stories.tsx +0 -19
  72. package/src/components/settings/company-details/company-details-form.stories.tsx +0 -45
  73. package/src/components/settings/company-email-footer/company-email-footer.stories.tsx +0 -24
  74. package/src/components/settings/company-email-reply-to/company-email-reply-to.stories.tsx +0 -22
  75. package/src/components/settings/company-email-sender/company-email-sender.stories.tsx +0 -28
  76. package/src/components/settings/company-trades-picker/company-trades-picker.stories.tsx +0 -78
  77. package/src/components/settings/double-opt-in/double-opt-in.stories.tsx +0 -25
  78. package/src/components/settings/email-validation/email-validation.stories.tsx +0 -118
  79. package/src/components/settings/logo-picker/logo-picker.stories.tsx +0 -21
  80. package/src/components/settings/opt-out-message/opt-out-message.stories.tsx +0 -27
  81. package/src/components/settings/settings-section/settings-section.stories.tsx +0 -16
  82. /package/{lib → dist}/components/brands/brand-card/actions-button-section.d.ts +0 -0
  83. /package/{lib → dist}/components/brands/brand-card/actions-button-section.d.ts.map +0 -0
  84. /package/{lib → dist}/components/brands/brand-card/actions-button-section.js +0 -0
  85. /package/{lib → dist}/components/brands/brand-card/actions-button-section.js.map +0 -0
  86. /package/{lib → dist}/components/brands/brand-card/brand-card.d.ts +0 -0
  87. /package/{lib → dist}/components/brands/brand-card/brand-card.d.ts.map +0 -0
  88. /package/{lib → dist}/components/brands/brand-card/brand-card.js +0 -0
  89. /package/{lib → dist}/components/brands/brand-card/brand-card.js.map +0 -0
  90. /package/{lib → dist}/components/brands/brand-card/info-section.d.ts +0 -0
  91. /package/{lib → dist}/components/brands/brand-card/info-section.d.ts.map +0 -0
  92. /package/{lib → dist}/components/brands/brand-card/info-section.js +0 -0
  93. /package/{lib → dist}/components/brands/brand-card/info-section.js.map +0 -0
  94. /package/{lib → dist}/components/brands/brand-card/single-action-button.d.ts +0 -0
  95. /package/{lib → dist}/components/brands/brand-card/single-action-button.d.ts.map +0 -0
  96. /package/{lib → dist}/components/brands/brand-card/single-action-button.js +0 -0
  97. /package/{lib → dist}/components/brands/brand-card/single-action-button.js.map +0 -0
  98. /package/{lib → dist}/components/brands/cards-grid/cards-grid.d.ts +0 -0
  99. /package/{lib → dist}/components/brands/cards-grid/cards-grid.d.ts.map +0 -0
  100. /package/{lib → dist}/components/brands/cards-grid/cards-grid.js +0 -0
  101. /package/{lib → dist}/components/brands/cards-grid/cards-grid.js.map +0 -0
  102. /package/{lib → dist}/components/brands/index.d.ts +0 -0
  103. /package/{lib → dist}/components/brands/index.d.ts.map +0 -0
  104. /package/{lib → dist}/components/brands/index.js +0 -0
  105. /package/{lib → dist}/components/brands/index.js.map +0 -0
  106. /package/{lib → dist}/components/brands/styles.module.less +0 -0
  107. /package/{lib → dist}/components/campaign-actions/action-button/action-button-archive.d.ts +0 -0
  108. /package/{lib → dist}/components/campaign-actions/action-button/action-button-archive.d.ts.map +0 -0
  109. /package/{lib → dist}/components/campaign-actions/action-button/action-button-archive.js +0 -0
  110. /package/{lib → dist}/components/campaign-actions/action-button/action-button-archive.js.map +0 -0
  111. /package/{lib → dist}/components/campaign-actions/action-button/action-button-clone.d.ts +0 -0
  112. /package/{lib → dist}/components/campaign-actions/action-button/action-button-clone.d.ts.map +0 -0
  113. /package/{lib → dist}/components/campaign-actions/action-button/action-button-clone.js +0 -0
  114. /package/{lib → dist}/components/campaign-actions/action-button/action-button-clone.js.map +0 -0
  115. /package/{lib → dist}/components/campaign-actions/action-button/action-button-edit.d.ts +0 -0
  116. /package/{lib → dist}/components/campaign-actions/action-button/action-button-edit.d.ts.map +0 -0
  117. /package/{lib → dist}/components/campaign-actions/action-button/action-button-edit.js +0 -0
  118. /package/{lib → dist}/components/campaign-actions/action-button/action-button-edit.js.map +0 -0
  119. /package/{lib → dist}/components/campaign-actions/action-button/action-button-unarchive.d.ts +0 -0
  120. /package/{lib → dist}/components/campaign-actions/action-button/action-button-unarchive.d.ts.map +0 -0
  121. /package/{lib → dist}/components/campaign-actions/action-button/action-button-unarchive.js +0 -0
  122. /package/{lib → dist}/components/campaign-actions/action-button/action-button-unarchive.js.map +0 -0
  123. /package/{lib → dist}/components/campaign-actions/action-button/action-button.d.ts +0 -0
  124. /package/{lib → dist}/components/campaign-actions/action-button/action-button.d.ts.map +0 -0
  125. /package/{lib → dist}/components/campaign-actions/action-button/action-button.js +0 -0
  126. /package/{lib → dist}/components/campaign-actions/action-button/action-button.js.map +0 -0
  127. /package/{lib → dist}/components/campaign-actions/action-button/action-button.module.less +0 -0
  128. /package/{lib → dist}/components/campaign-actions/actions-button/actions-button.d.ts +0 -0
  129. /package/{lib → dist}/components/campaign-actions/actions-button/actions-button.d.ts.map +0 -0
  130. /package/{lib → dist}/components/campaign-actions/actions-button/actions-button.js +0 -0
  131. /package/{lib → dist}/components/campaign-actions/actions-button/actions-button.js.map +0 -0
  132. /package/{lib → dist}/components/campaign-actions/actions-button/actions-button.module.less +0 -0
  133. /package/{lib → dist}/components/campaign-actions/actions-button/campaign-actions.d.ts +0 -0
  134. /package/{lib → dist}/components/campaign-actions/actions-button/campaign-actions.d.ts.map +0 -0
  135. /package/{lib → dist}/components/campaign-actions/actions-button/campaign-actions.js +0 -0
  136. /package/{lib → dist}/components/campaign-actions/actions-button/campaign-actions.js.map +0 -0
  137. /package/{lib → dist}/components/campaign-actions/index.d.ts +0 -0
  138. /package/{lib → dist}/components/campaign-actions/index.d.ts.map +0 -0
  139. /package/{lib → dist}/components/campaign-actions/index.js +0 -0
  140. /package/{lib → dist}/components/campaign-actions/index.js.map +0 -0
  141. /package/{lib → dist}/components/settings/company-details/company-details-form.module.less +0 -0
  142. /package/{lib → dist}/components/settings/company-details/index.d.ts +0 -0
  143. /package/{lib → dist}/components/settings/company-details/index.d.ts.map +0 -0
  144. /package/{lib → dist}/components/settings/company-details/index.js +0 -0
  145. /package/{lib → dist}/components/settings/company-details/index.js.map +0 -0
  146. /package/{lib → dist}/components/settings/company-email-footer/index.d.ts +0 -0
  147. /package/{lib → dist}/components/settings/company-email-footer/index.d.ts.map +0 -0
  148. /package/{lib → dist}/components/settings/company-email-footer/index.js +0 -0
  149. /package/{lib → dist}/components/settings/company-email-footer/index.js.map +0 -0
  150. /package/{lib → dist}/components/settings/company-email-reply-to/index.d.ts +0 -0
  151. /package/{lib → dist}/components/settings/company-email-reply-to/index.d.ts.map +0 -0
  152. /package/{lib → dist}/components/settings/company-email-reply-to/index.js +0 -0
  153. /package/{lib → dist}/components/settings/company-email-reply-to/index.js.map +0 -0
  154. /package/{lib → dist}/components/settings/company-email-sender/company-email-sender.module.less +0 -0
  155. /package/{lib → dist}/components/settings/company-email-sender/custom-domain-sender.d.ts +0 -0
  156. /package/{lib → dist}/components/settings/company-email-sender/custom-domain-sender.d.ts.map +0 -0
  157. /package/{lib → dist}/components/settings/company-email-sender/custom-domain-sender.js +0 -0
  158. /package/{lib → dist}/components/settings/company-email-sender/custom-domain-sender.js.map +0 -0
  159. /package/{lib → dist}/components/settings/company-email-sender/index.d.ts +0 -0
  160. /package/{lib → dist}/components/settings/company-email-sender/index.d.ts.map +0 -0
  161. /package/{lib → dist}/components/settings/company-email-sender/index.js +0 -0
  162. /package/{lib → dist}/components/settings/company-email-sender/index.js.map +0 -0
  163. /package/{lib → dist}/components/settings/company-email-sender/simple-sender.d.ts +0 -0
  164. /package/{lib → dist}/components/settings/company-email-sender/simple-sender.d.ts.map +0 -0
  165. /package/{lib → dist}/components/settings/company-email-sender/simple-sender.js +0 -0
  166. /package/{lib → dist}/components/settings/company-email-sender/simple-sender.js.map +0 -0
  167. /package/{lib → dist}/components/settings/company-trade-checkbox/company-trade-checkbox.module.less +0 -0
  168. /package/{lib → dist}/components/settings/company-trade-checkbox/index.d.ts +0 -0
  169. /package/{lib → dist}/components/settings/company-trade-checkbox/index.d.ts.map +0 -0
  170. /package/{lib → dist}/components/settings/company-trade-checkbox/index.js +0 -0
  171. /package/{lib → dist}/components/settings/company-trade-checkbox/index.js.map +0 -0
  172. /package/{lib → dist}/components/settings/company-trades-picker/index.d.ts +0 -0
  173. /package/{lib → dist}/components/settings/company-trades-picker/index.d.ts.map +0 -0
  174. /package/{lib → dist}/components/settings/company-trades-picker/index.js +0 -0
  175. /package/{lib → dist}/components/settings/company-trades-picker/index.js.map +0 -0
  176. /package/{lib → dist}/components/settings/double-opt-in/double-opt-in.module.less +0 -0
  177. /package/{lib → dist}/components/settings/double-opt-in/index.d.ts +0 -0
  178. /package/{lib → dist}/components/settings/double-opt-in/index.d.ts.map +0 -0
  179. /package/{lib → dist}/components/settings/double-opt-in/index.js +0 -0
  180. /package/{lib → dist}/components/settings/double-opt-in/index.js.map +0 -0
  181. /package/{lib → dist}/components/settings/email-preview/email-preview.d.ts +0 -0
  182. /package/{lib → dist}/components/settings/email-preview/email-preview.d.ts.map +0 -0
  183. /package/{lib → dist}/components/settings/email-preview/email-preview.js +0 -0
  184. /package/{lib → dist}/components/settings/email-preview/email-preview.js.map +0 -0
  185. /package/{lib → dist}/components/settings/email-preview/email-preview.module.less +0 -0
  186. /package/{lib → dist}/components/settings/email-preview/opt-in-email-preview.d.ts +0 -0
  187. /package/{lib → dist}/components/settings/email-preview/opt-in-email-preview.d.ts.map +0 -0
  188. /package/{lib → dist}/components/settings/email-preview/opt-in-email-preview.js +0 -0
  189. /package/{lib → dist}/components/settings/email-preview/opt-in-email-preview.js.map +0 -0
  190. /package/{lib → dist}/components/settings/email-preview/opt-out-email-preview.d.ts +0 -0
  191. /package/{lib → dist}/components/settings/email-preview/opt-out-email-preview.d.ts.map +0 -0
  192. /package/{lib → dist}/components/settings/email-preview/opt-out-email-preview.js +0 -0
  193. /package/{lib → dist}/components/settings/email-preview/opt-out-email-preview.js.map +0 -0
  194. /package/{lib → dist}/components/settings/email-validation/index.d.ts +0 -0
  195. /package/{lib → dist}/components/settings/email-validation/index.d.ts.map +0 -0
  196. /package/{lib → dist}/components/settings/email-validation/index.js +0 -0
  197. /package/{lib → dist}/components/settings/email-validation/index.js.map +0 -0
  198. /package/{lib → dist}/components/settings/form-errors-list/index.d.ts +0 -0
  199. /package/{lib → dist}/components/settings/form-errors-list/index.d.ts.map +0 -0
  200. /package/{lib → dist}/components/settings/form-errors-list/index.js +0 -0
  201. /package/{lib → dist}/components/settings/form-errors-list/index.js.map +0 -0
  202. /package/{lib → dist}/components/settings/index.d.ts +0 -0
  203. /package/{lib → dist}/components/settings/index.d.ts.map +0 -0
  204. /package/{lib → dist}/components/settings/index.js +0 -0
  205. /package/{lib → dist}/components/settings/index.js.map +0 -0
  206. /package/{lib → dist}/components/settings/logo-picker/index.d.ts +0 -0
  207. /package/{lib → dist}/components/settings/logo-picker/index.d.ts.map +0 -0
  208. /package/{lib → dist}/components/settings/logo-picker/index.js +0 -0
  209. /package/{lib → dist}/components/settings/logo-picker/index.js.map +0 -0
  210. /package/{lib → dist}/components/settings/logo-picker/logo-picker.module.less +0 -0
  211. /package/{lib → dist}/components/settings/opt-out-message/index.d.ts +0 -0
  212. /package/{lib → dist}/components/settings/opt-out-message/index.d.ts.map +0 -0
  213. /package/{lib → dist}/components/settings/opt-out-message/index.js +0 -0
  214. /package/{lib → dist}/components/settings/opt-out-message/index.js.map +0 -0
  215. /package/{lib → dist}/components/settings/opt-out-message/opt-out-message.module.less +0 -0
  216. /package/{lib → dist}/components/settings/result-definitions-modal/header.d.ts +0 -0
  217. /package/{lib → dist}/components/settings/result-definitions-modal/header.d.ts.map +0 -0
  218. /package/{lib → dist}/components/settings/result-definitions-modal/header.js +0 -0
  219. /package/{lib → dist}/components/settings/result-definitions-modal/header.js.map +0 -0
  220. /package/{lib → dist}/components/settings/result-definitions-modal/index.d.ts +0 -0
  221. /package/{lib → dist}/components/settings/result-definitions-modal/index.d.ts.map +0 -0
  222. /package/{lib → dist}/components/settings/result-definitions-modal/index.js +0 -0
  223. /package/{lib → dist}/components/settings/result-definitions-modal/index.js.map +0 -0
  224. /package/{lib → dist}/components/settings/result-definitions-modal/result-definitions-modal.module.less +0 -0
  225. /package/{lib → dist}/components/settings/result-definitions-modal/row.d.ts +0 -0
  226. /package/{lib → dist}/components/settings/result-definitions-modal/row.d.ts.map +0 -0
  227. /package/{lib → dist}/components/settings/result-definitions-modal/row.js +0 -0
  228. /package/{lib → dist}/components/settings/result-definitions-modal/row.js.map +0 -0
  229. /package/{lib → dist}/components/settings/settings-section/index.d.ts +0 -0
  230. /package/{lib → dist}/components/settings/settings-section/index.d.ts.map +0 -0
  231. /package/{lib → dist}/components/settings/settings-section/index.js +0 -0
  232. /package/{lib → dist}/components/settings/settings-section/index.js.map +0 -0
  233. /package/{lib → dist}/enums/brands.d.ts +0 -0
  234. /package/{lib → dist}/enums/brands.d.ts.map +0 -0
  235. /package/{lib → dist}/enums/brands.js +0 -0
  236. /package/{lib → dist}/enums/brands.js.map +0 -0
  237. /package/{lib → dist}/utils/helpers.d.ts +0 -0
  238. /package/{lib → dist}/utils/helpers.d.ts.map +0 -0
  239. /package/{lib → dist}/utils/helpers.js +0 -0
  240. /package/{lib → dist}/utils/helpers.js.map +0 -0
  241. /package/{lib → dist}/utils/interfaces.d.ts +0 -0
  242. /package/{lib → dist}/utils/interfaces.d.ts.map +0 -0
  243. /package/{lib → dist}/utils/interfaces.js +0 -0
  244. /package/{lib → dist}/utils/interfaces.js.map +0 -0
  245. /package/{lib → dist}/utils/mappers.d.ts +0 -0
  246. /package/{lib → dist}/utils/mappers.d.ts.map +0 -0
  247. /package/{lib → dist}/utils/mappers.js +0 -0
  248. /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,3 @@
1
+ export * from './add-merge-tag-dialog';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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,3 @@
1
+ export * from './add-merge-tag-dialog';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.js.map
@@ -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,10 @@
1
+ export interface IEmailMergeTag {
2
+ name: string;
3
+ label: string;
4
+ group?: string | undefined;
5
+ }
6
+ export interface Group {
7
+ name?: string | undefined;
8
+ displayName?: string | undefined;
9
+ }
10
+ //# sourceMappingURL=types.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/add-merge-tag-dialog/types.ts"],"names":[],"mappings":""}
@@ -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"}
@@ -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
- "name": "@servicetitan/mpa-components",
3
- "repository": {
4
- "url": "https://github.com/servicetitan/marketing"
5
- },
6
- "version": "2.2.0",
7
- "description": "",
8
- "main": "./lib/index.js",
9
- "typings": "./lib/index.d.ts",
10
- "peerDependencies": {
11
- "@servicetitan/anvil2": "^1.23.1",
12
- "@servicetitan/confirm": "~28.5.1",
13
- "@servicetitan/design-system": "~14.5.1",
14
- "@servicetitan/form": "~28.5.1",
15
- "@servicetitan/form-state": "~28.5.1",
16
- "@servicetitan/marketing-services-api": "^3.29.0",
17
- "@servicetitan/react-ioc": "~28.4.0",
18
- "@servicetitan/tokens": "~12.2.1",
19
- "formstate": "2.0.0",
20
- "mobx": "6.13.5",
21
- "mobx-react": "9.0.2",
22
- "moment": "~2.29.1",
23
- "react": "~18.3.1",
24
- "react-router-dom": "~5.3.0"
25
- },
26
- "devDependencies": {
27
- "@testing-library/react": "^14.0.0",
28
- "@types/history": "4.7.9",
29
- "@types/react-router-dom": "~5.3.3"
30
- },
31
- "publishConfig": {
32
- "access": "restricted"
33
- },
34
- "cli": {
35
- "webpack": false
36
- },
37
- "gitHead": "85b07514ffda2ade719c453ddf5a33f13ab09926"
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
+ };
@@ -0,0 +1,2 @@
1
+ export * from './add-merge-tag-dialog';
2
+ export * from './types';
@@ -0,0 +1,10 @@
1
+ export interface IEmailMergeTag {
2
+ name: string;
3
+ label: string;
4
+ group?: string | undefined;
5
+ }
6
+
7
+ export interface Group {
8
+ name?: string | undefined;
9
+ displayName?: string | undefined;
10
+ }
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": "lib",
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
  }