@embedreach/components 0.1.76 → 0.1.78

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.
@@ -34169,6 +34169,9 @@ const PaginatedTable = ({
34169
34169
  cursor: newCursor,
34170
34170
  limit: itemsPerPage
34171
34171
  });
34172
+ if (!response.items) {
34173
+ return;
34174
+ }
34172
34175
  if (newCursor) {
34173
34176
  setItems((prev) => [...prev, ...response.items]);
34174
34177
  } else {
@@ -34419,7 +34422,7 @@ const AutomationTable = memo$1(
34419
34422
  search: searchQuery || void 0
34420
34423
  });
34421
34424
  return {
34422
- items: response.data,
34425
+ items: response.results,
34423
34426
  cursor: response.pagination.cursor ?? void 0
34424
34427
  };
34425
34428
  },
@@ -42777,7 +42780,13 @@ const SegmentBuilderHeader = ({
42777
42780
  {
42778
42781
  variant: "ghost",
42779
42782
  size: "icon",
42780
- onClick: () => setOpen(false),
42783
+ onClick: () => {
42784
+ if (textToSegment2 === true) {
42785
+ setTextToSegment(false);
42786
+ } else {
42787
+ setOpen(false);
42788
+ }
42789
+ },
42781
42790
  className: "h-8 w-8",
42782
42791
  children: /* @__PURE__ */ jsx(X$1, { className: "h-4 w-4" })
42783
42792
  }
@@ -43347,7 +43356,7 @@ const AllSegmentList = () => {
43347
43356
  search: searchQuery || void 0
43348
43357
  });
43349
43358
  return {
43350
- items: response.data,
43359
+ items: response.results,
43351
43360
  cursor: response.pagination.cursor ?? void 0
43352
43361
  };
43353
43362
  },
@@ -43533,13 +43542,25 @@ const validateAutomationStep = async (args) => {
43533
43542
  }
43534
43543
  }
43535
43544
  if (currentStep === 3) {
43545
+ const isOneTime = isOneTimeTriggerMetadata(automation2.trigger_metadata);
43546
+ if (isOneTime) {
43547
+ const oneTimeMetadata = automation2.trigger_metadata;
43548
+ return {
43549
+ canMove: Boolean(
43550
+ oneTimeMetadata.scheduled_at && new Date(oneTimeMetadata.scheduled_at) > /* @__PURE__ */ new Date() && automation2.action_data?.some(
43551
+ (action) => action.action_type === "send_communication" && action.action_metadata.communication_group_id
43552
+ )
43553
+ ),
43554
+ errorMessage: "Please ensure you have set a valid future date for your one-time automation"
43555
+ };
43556
+ }
43536
43557
  return {
43537
43558
  canMove: Boolean(
43538
- isOneTimeTriggerMetadata(automation2.trigger_metadata) && automation2.trigger_metadata.scheduled_at && new Date(automation2.trigger_metadata.scheduled_at) > /* @__PURE__ */ new Date() && automation2.action_data?.some(
43559
+ automation2.action_data?.some(
43539
43560
  (action) => action.action_type === "send_communication" && action.action_metadata.communication_group_id
43540
43561
  )
43541
43562
  ),
43542
- errorMessage: "Please ensure you have set a valid future date for scheduling"
43563
+ errorMessage: null
43543
43564
  };
43544
43565
  }
43545
43566
  return {
@@ -43944,7 +43965,7 @@ const AutomationContent = ({
43944
43965
  setLoading2(true);
43945
43966
  try {
43946
43967
  const emailChannelSenderId = communicationGroup.email_channel_sender_id;
43947
- const emailChannelSender = channelSenders.data.find(
43968
+ const emailChannelSender = channelSenders.results.find(
43948
43969
  (sender) => sender.id === emailChannelSenderId
43949
43970
  );
43950
43971
  if (emailChannelSender && communicationGroup.email_html_body) {
@@ -43958,7 +43979,7 @@ const AutomationContent = ({
43958
43979
  });
43959
43980
  }
43960
43981
  const smsChannelSenderId = communicationGroup.sms_channel_sender_id;
43961
- const smsChannelSender = channelSenders.data.find(
43982
+ const smsChannelSender = channelSenders.results.find(
43962
43983
  (sender) => sender.id === smsChannelSenderId
43963
43984
  );
43964
43985
  if (smsChannelSender && (smsChannelSender.channel_sender_metadata.from || smsChannelSender.channel_sender_metadata.messageServiceSid) && communicationGroup.sms_message_body) {
@@ -46068,8 +46089,8 @@ const EmailPreview = ({
46068
46089
  const { channelAccounts } = useChannelAccount();
46069
46090
  const { updateChannelSender: updateChannelSender2 } = useUpdateChannelSender();
46070
46091
  const emailChannelSendersWithChannelAccounts = useMemo(
46071
- () => channelSenders?.data?.filter((sender) => sender.channel_sender_metadata.userPart)?.flatMap((sender) => {
46072
- const channelAccount = channelAccounts?.data?.find(
46092
+ () => channelSenders?.results?.filter((sender) => sender.channel_sender_metadata.userPart)?.flatMap((sender) => {
46093
+ const channelAccount = channelAccounts?.results?.find(
46073
46094
  (account) => account.id === sender.channel_account_id
46074
46095
  );
46075
46096
  if (!channelAccount) return [];
@@ -46083,7 +46104,7 @@ const EmailPreview = ({
46083
46104
  }
46084
46105
  return [];
46085
46106
  }) || [],
46086
- [channelSenders?.data, channelAccounts?.data]
46107
+ [channelSenders?.results, channelAccounts?.results]
46087
46108
  );
46088
46109
  const [stripoDialogDimensions, setStripoDialogDimensions] = useState({
46089
46110
  width: 0,
@@ -46162,8 +46183,8 @@ const EmailPreview = ({
46162
46183
  updateCommunicationGroup2
46163
46184
  ]);
46164
46185
  useEffect(() => {
46165
- if (channelSenders?.data && fromEmail) {
46166
- const channelSender = channelSenders.data.find(
46186
+ if (channelSenders?.results && fromEmail) {
46187
+ const channelSender = channelSenders.results.find(
46167
46188
  (sender) => sender.id === fromEmail
46168
46189
  );
46169
46190
  if (channelSender) {
@@ -46174,24 +46195,35 @@ const EmailPreview = ({
46174
46195
  setIsFormLoading(false);
46175
46196
  }
46176
46197
  }
46177
- }, [channelSenders?.data, fromEmail, userModifiedEmail, isFormLoading]);
46198
+ }, [channelSenders?.results, fromEmail, userModifiedEmail, isFormLoading]);
46178
46199
  useEffect(() => {
46179
- if (channelSenders?.data && !fromEmail && !initialRenderRef.current) {
46180
- const allEmailSenders = channelSenders.data.filter(
46200
+ if (channelSenders?.results && !fromEmail) {
46201
+ const allEmailSenders = channelSenders.results.filter(
46181
46202
  (sender) => sender.channel_sender_metadata.userPart
46182
46203
  );
46183
46204
  if (allEmailSenders[0]) {
46184
46205
  const channelSender = allEmailSenders[0];
46185
46206
  setFromEmail(channelSender.id);
46207
+ updateCommunicationGroup2({
46208
+ groupId: communicationGroup.id,
46209
+ params: {
46210
+ email_channel_sender_id: channelSender.id
46211
+ }
46212
+ });
46186
46213
  }
46187
46214
  }
46188
- }, [channelSenders?.data, fromEmail]);
46215
+ }, [
46216
+ channelSenders?.results,
46217
+ fromEmail,
46218
+ communicationGroup.id,
46219
+ updateCommunicationGroup2
46220
+ ]);
46189
46221
  useEffect(() => {
46190
46222
  if (!initialRenderRef.current && debouncedFromName && fromEmail) {
46191
46223
  setIsUpdating(true);
46192
46224
  const updateSender = async () => {
46193
46225
  try {
46194
- const channelSender = channelSenders?.data?.find(
46226
+ const channelSender = channelSenders?.results?.find(
46195
46227
  (sender) => sender.id === fromEmail
46196
46228
  );
46197
46229
  if (channelSender) {
@@ -46213,7 +46245,12 @@ const EmailPreview = ({
46213
46245
  };
46214
46246
  updateSender();
46215
46247
  }
46216
- }, [debouncedFromName, channelSenders?.data, fromEmail, updateChannelSender2]);
46248
+ }, [
46249
+ debouncedFromName,
46250
+ channelSenders?.results,
46251
+ fromEmail,
46252
+ updateChannelSender2
46253
+ ]);
46217
46254
  useEffect(() => {
46218
46255
  if (debouncedReplyToEmail) {
46219
46256
  const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
@@ -46230,7 +46267,7 @@ const EmailPreview = ({
46230
46267
  setIsUpdating(true);
46231
46268
  const updateReplyTo = async () => {
46232
46269
  try {
46233
- const channelSender = channelSenders?.data?.find(
46270
+ const channelSender = channelSenders?.results?.find(
46234
46271
  (sender) => sender.id === fromEmail
46235
46272
  );
46236
46273
  if (channelSender) {
@@ -46254,7 +46291,7 @@ const EmailPreview = ({
46254
46291
  }
46255
46292
  }, [
46256
46293
  debouncedReplyToEmail,
46257
- channelSenders?.data,
46294
+ channelSenders?.results,
46258
46295
  fromEmail,
46259
46296
  updateChannelSender2,
46260
46297
  replyToEmailError
@@ -46704,7 +46741,6 @@ const SMSPreview = ({ automation: automation2, iconDefinitions, mergeFieldsRespo
46704
46741
  const [initCompanyName, setInitCompanyName] = useState(false);
46705
46742
  const [companyName, setCompanyName] = useState(null);
46706
46743
  const [message2, setMessage] = useState(null);
46707
- const [initialStateSet, setInitialStateSet] = useState(false);
46708
46744
  const [showSmsEditor, setShowSmsEditor] = useState(false);
46709
46745
  const { channelSenders } = useChannelSender();
46710
46746
  const { data: me2, isLoading: isMeLoading } = useMe();
@@ -46762,16 +46798,26 @@ const SMSPreview = ({ automation: automation2, iconDefinitions, mergeFieldsRespo
46762
46798
  if (channelSenders === void 0) {
46763
46799
  return;
46764
46800
  }
46765
- if (initialStateSet === false) {
46766
- const smsChannelSenders2 = channelSenders.data?.filter(
46801
+ if (!fromNumber) {
46802
+ const smsChannelSenders2 = channelSenders.results.filter(
46767
46803
  (sender) => sender.channel_sender_metadata.from
46768
46804
  );
46769
46805
  if (smsChannelSenders2?.[0]) {
46770
46806
  setFromNumber(smsChannelSenders2[0].id);
46807
+ if (communicationGroup?.id) {
46808
+ updateCommunicationGroup2({
46809
+ groupId: communicationGroup.id,
46810
+ params: { sms_channel_sender_id: smsChannelSenders2[0].id }
46811
+ });
46812
+ }
46771
46813
  }
46772
- setInitialStateSet(true);
46773
46814
  }
46774
- }, [channelSenders, initialStateSet]);
46815
+ }, [
46816
+ channelSenders,
46817
+ fromNumber,
46818
+ communicationGroup?.id,
46819
+ updateCommunicationGroup2
46820
+ ]);
46775
46821
  useEffect(() => {
46776
46822
  if (!companyName && me2?.name && !initCompanyName) {
46777
46823
  setInitCompanyName(true);
@@ -46781,7 +46827,7 @@ const SMSPreview = ({ automation: automation2, iconDefinitions, mergeFieldsRespo
46781
46827
  if (!channelAccounts || !channelSenders || isMeLoading) {
46782
46828
  return /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(SpinLoader, { text: ["Loading..."] }) });
46783
46829
  }
46784
- const smsChannelSenders = channelSenders.data?.filter(
46830
+ const smsChannelSenders = channelSenders.results.filter(
46785
46831
  (sender) => sender.channel_sender_metadata.from || sender.channel_sender_metadata.messageServiceSid
46786
46832
  );
46787
46833
  return /* @__PURE__ */ jsxs("div", { children: [
@@ -46921,7 +46967,6 @@ const EditCampaignContent = ({
46921
46967
  updateCommunicationGroup: updateCommunicationGroup2
46922
46968
  }) => {
46923
46969
  const [selectedChannels, setSelectedChannels] = useState(null);
46924
- const [expandedChannels, setExpandedChannels] = useState(null);
46925
46970
  const emailContainerRef = useRef(null);
46926
46971
  const { toast: toast2 } = useToast();
46927
46972
  const { getMergeFields: getMergeFields2, isGetting: isGetMergeFieldsLoading } = useGetMergeFields(communicationGroup?.id ?? void 0);
@@ -46950,12 +46995,11 @@ const EditCampaignContent = ({
46950
46995
  }, [selectedChannels, updateCommunicationGroup2, communicationGroup]);
46951
46996
  useEffect(() => {
46952
46997
  const finalCommunicationGroupId = communicationGroup?.id;
46953
- if (!finalCommunicationGroupId) {
46998
+ if (!finalCommunicationGroupId && !selectedChannels) {
46954
46999
  setSelectedChannels(["email"]);
46955
- setExpandedChannels(["email"]);
46956
47000
  return;
46957
47001
  }
46958
- }, [automation2, communicationGroup]);
47002
+ }, [automation2, communicationGroup, selectedChannels]);
46959
47003
  const setSelectedChannelsBasedOnCommunicationGroup = useCallback(
46960
47004
  (data) => {
46961
47005
  const finalSelectedChannels = [];
@@ -46969,15 +47013,18 @@ const EditCampaignContent = ({
46969
47013
  finalSelectedChannels.push("email");
46970
47014
  }
46971
47015
  setSelectedChannels(finalSelectedChannels);
46972
- setExpandedChannels(finalSelectedChannels);
46973
47016
  },
46974
47017
  []
46975
47018
  );
46976
47019
  useEffect(() => {
46977
- if (communicationGroup) {
47020
+ if (communicationGroup && !selectedChannels) {
46978
47021
  setSelectedChannelsBasedOnCommunicationGroup(communicationGroup);
46979
47022
  }
46980
- }, [communicationGroup, setSelectedChannelsBasedOnCommunicationGroup]);
47023
+ }, [
47024
+ communicationGroup,
47025
+ setSelectedChannelsBasedOnCommunicationGroup,
47026
+ selectedChannels
47027
+ ]);
46981
47028
  useEffect(() => {
46982
47029
  if (isGetMergeFieldsLoading) {
46983
47030
  return;
@@ -47102,7 +47149,7 @@ const EditCampaignContent = ({
47102
47149
  mergeFieldsResponse,
47103
47150
  setSelectedChannelsBasedOnCommunicationGroup
47104
47151
  ]);
47105
- if (!selectedChannels || !expandedChannels || isGetMergeFieldsLoading || !mergeFieldsResponse) {
47152
+ if (!selectedChannels || isGetMergeFieldsLoading || !mergeFieldsResponse) {
47106
47153
  return /* @__PURE__ */ jsx("div", { className: "flex justify-center items-center flex-1 h-full bg-white rounded-2xl w-full border border-gray-200 p-6 space-y-4 relative", children: /* @__PURE__ */ jsx(SpinLoader, { text: ["Fetching Content..."] }) });
47107
47154
  }
47108
47155
  return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 flex-shrink-0", children: [
@@ -47675,15 +47722,15 @@ const PreviewAndSchedule = ({
47675
47722
  if (communicationGroup && channelSenderData && channelAccountsData) {
47676
47723
  const emailChannelSenderId = communicationGroup.email_channel_sender_id;
47677
47724
  const smsChannelSenderId = communicationGroup.sms_channel_sender_id;
47678
- const emailChannelSender = channelSenderData.data.find(
47725
+ const emailChannelSender = channelSenderData.results.find(
47679
47726
  (sender) => sender.id === emailChannelSenderId
47680
47727
  );
47681
- const smsChannelSender = channelSenderData.data.find(
47728
+ const smsChannelSender = channelSenderData.results.find(
47682
47729
  (sender) => sender.id === smsChannelSenderId
47683
47730
  );
47684
47731
  if (emailChannelSender && communicationGroup.email_subject && communicationGroup.email_html_body) {
47685
47732
  const userPart = emailChannelSender.channel_sender_metadata?.userPart;
47686
- const channelAccount = channelAccountsData.data.find(
47733
+ const channelAccount = channelAccountsData.results.find(
47687
47734
  (account) => account.id === emailChannelSender.channel_account_id
47688
47735
  );
47689
47736
  if (channelAccount) {
@@ -47853,7 +47900,7 @@ const SelectSegments = ({
47853
47900
  SegmentSection,
47854
47901
  {
47855
47902
  segments: includedSegments,
47856
- allSegments: segments?.data || [],
47903
+ allSegments: segments?.results || [],
47857
47904
  onAddSegment: (id2) => handleAddSegment(id2, "include"),
47858
47905
  onRemoveSegment: (id2) => handleRemoveSegment(id2, "include"),
47859
47906
  setOpenCreateSegmentDialog,
@@ -47893,7 +47940,7 @@ const SelectSegments = ({
47893
47940
  SegmentSection,
47894
47941
  {
47895
47942
  segments: excludedSegments,
47896
- allSegments: segments?.data || [],
47943
+ allSegments: segments?.results || [],
47897
47944
  onAddSegment: (id2) => handleAddSegment(id2, "exclude"),
47898
47945
  onRemoveSegment: (id2) => handleRemoveSegment(id2, "exclude"),
47899
47946
  setOpenCreateSegmentDialog,
@@ -47919,7 +47966,7 @@ const SelectAudience = ({ iconDefinitions, automation: automation2 }) => {
47919
47966
  const allUsersSelected = includedSegments.length === 1 && excludedSegments.length === 0 && /**
47920
47967
  * Check if the all users segment is selected in the atuomation
47921
47968
  */
47922
- segments?.data?.find(
47969
+ segments?.results?.find(
47923
47970
  (segment2) => segment2.type === BusinessSegmentTypeEnum.ALL_USERS && segment2.id === includedSegments[0]
47924
47971
  ) !== void 0;
47925
47972
  const [selectedAudience, setSelectedAudience] = useState(
@@ -47956,7 +48003,7 @@ const SelectAudience = ({ iconDefinitions, automation: automation2 }) => {
47956
48003
  automation2.id
47957
48004
  ]);
47958
48005
  const getAllUsersSegment = useCallback(() => {
47959
- return segments?.data?.find(
48006
+ return segments?.results?.find(
47960
48007
  (segment2) => segment2.type === BusinessSegmentTypeEnum.ALL_USERS
47961
48008
  );
47962
48009
  }, [segments]);
@@ -48139,22 +48186,7 @@ const lineVariant = {
48139
48186
  }
48140
48187
  };
48141
48188
  const TriggerEditAutomation = ({ automation: automation2 }) => {
48142
- const [getSegmentResponse, setGetSegmentResponse] = useState(void 0);
48143
- useEffect(() => {
48144
- const getSegmentData = async () => {
48145
- if (automation2.trigger_metadata.trigger_type !== AutomationTriggerType.TRIGGER_BASED) {
48146
- return;
48147
- }
48148
- const triggerSegmentId = automation2.trigger_metadata.event_filter.segment_id;
48149
- const segmentResponse = await getSegment(triggerSegmentId);
48150
- if (!segmentResponse) {
48151
- return;
48152
- }
48153
- setGetSegmentResponse(segmentResponse);
48154
- };
48155
- getSegmentData();
48156
- }, [automation2.trigger_metadata, automation2.trigger_metadata.trigger_type]);
48157
- if (!getSegmentResponse) {
48189
+ if (!automation2.name) {
48158
48190
  return /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center min-h-[200px]", children: /* @__PURE__ */ jsx(SpinLoader, {}) });
48159
48191
  }
48160
48192
  return /* @__PURE__ */ jsx("div", { className: "w-full flex justify-center flex-wrap gap-4", children: /* @__PURE__ */ jsxs(
@@ -48200,32 +48232,22 @@ const TriggerEditAutomation = ({ automation: automation2 }) => {
48200
48232
  )
48201
48233
  }
48202
48234
  ),
48203
- /* @__PURE__ */ jsxs("div", { children: [
48204
- /* @__PURE__ */ jsx(
48205
- motion.h2,
48206
- {
48207
- className: "text-2xl font-semibold text-gray-900 group",
48208
- variants: itemVariants,
48209
- children: getSegmentResponse.name
48210
- }
48211
- ),
48212
- /* @__PURE__ */ jsx(
48213
- motion.p,
48214
- {
48215
- className: "text-gray-600 text-lg mt-2 leading-relaxed",
48216
- variants: itemVariants,
48217
- children: getSegmentResponse.description
48218
- }
48219
- )
48220
- ] })
48235
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
48236
+ motion.h2,
48237
+ {
48238
+ className: "text-2xl font-semibold text-primary group",
48239
+ variants: itemVariants,
48240
+ children: automation2.name
48241
+ }
48242
+ ) })
48221
48243
  ] }),
48222
48244
  /* @__PURE__ */ jsx(
48223
48245
  motion.div,
48224
48246
  {
48225
- className: "mt-6 bg-blue-50 rounded-xl p-4",
48247
+ className: "mt-6 bg-muted rounded-xl p-4",
48226
48248
  variants: itemVariants,
48227
48249
  custom: 2,
48228
- children: /* @__PURE__ */ jsx("p", { className: "text-blue-800 text-sm leading-relaxed", children: "This automation will start automatically for any user who matches this criteria. When a user qualifies, their automation journey will begin immediately." })
48250
+ children: /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm leading-relaxed", children: automation2.description })
48229
48251
  }
48230
48252
  ),
48231
48253
  /* @__PURE__ */ jsx("div", { className: "mt-8", children: /* @__PURE__ */ jsx(
@@ -48272,7 +48294,8 @@ const useAutomationSteps = ({
48272
48294
  automation: automation2
48273
48295
  }
48274
48296
  )
48275
- }
48297
+ },
48298
+ "trigger"
48276
48299
  ),
48277
48300
  footerConfig: {
48278
48301
  backText: "Cancel",
@@ -48301,7 +48324,8 @@ const useAutomationSteps = ({
48301
48324
  automation: automation2
48302
48325
  }
48303
48326
  )
48304
- }
48327
+ },
48328
+ "audience"
48305
48329
  ),
48306
48330
  footerConfig: {
48307
48331
  backText: "Back",
@@ -48336,20 +48360,27 @@ const useAutomationSteps = ({
48336
48360
  }
48337
48361
  return true;
48338
48362
  },
48339
- content: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 w-full p-6 rounded-xl bg-gray-100 flex-1 h-full", children: [
48340
- /* @__PURE__ */ jsx("h2", { className: "text-2xl font-semibold", children: "Edit Content" }),
48341
- /* @__PURE__ */ jsx(
48342
- EditCampaignContent,
48343
- {
48344
- automation: automation2,
48345
- updateAutomation: updateAutomation2,
48346
- communicationGroup,
48347
- updateCommunicationGroup: updateCommunicationGroup2,
48348
- iconDefinitions,
48349
- getExtraMergeFields
48350
- }
48351
- )
48352
- ] }),
48363
+ content: /* @__PURE__ */ jsxs(
48364
+ "div",
48365
+ {
48366
+ className: "flex flex-col gap-4 w-full p-6 rounded-xl bg-gray-100 flex-1 h-full",
48367
+ children: [
48368
+ /* @__PURE__ */ jsx("h2", { className: "text-2xl font-semibold", children: "Edit Content" }),
48369
+ /* @__PURE__ */ jsx(
48370
+ EditCampaignContent,
48371
+ {
48372
+ automation: automation2,
48373
+ updateAutomation: updateAutomation2,
48374
+ communicationGroup,
48375
+ updateCommunicationGroup: updateCommunicationGroup2,
48376
+ iconDefinitions,
48377
+ getExtraMergeFields
48378
+ }
48379
+ )
48380
+ ]
48381
+ },
48382
+ "content"
48383
+ ),
48353
48384
  footerConfig: {
48354
48385
  backText: "Back",
48355
48386
  nextText: "Next",
@@ -48383,7 +48414,8 @@ const useAutomationSteps = ({
48383
48414
  communicationGroup
48384
48415
  }
48385
48416
  )
48386
- }
48417
+ },
48418
+ "send"
48387
48419
  ),
48388
48420
  footerConfig: {
48389
48421
  backText: "Back",