@bigbinary/neeto-thank-you-frontend 1.0.29 → 1.1.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/README.md CHANGED
@@ -1,59 +1,76 @@
1
1
  [![BuildStatus](https://neeto-engineering.neetoci.com/badges/neeto-thank-you-nano/workflows/branch.svg)](https://neeto-engineering.neetoci.com/projects/neeto-thank-you-nano)
2
2
 
3
3
  # neeto-thank-you-nano
4
- The `neeto-thank-you-nano` manages the "Thank You" configuration page across neeto applications. The nano exports the `@bigbinary/neeto-thank-you-frontend` NPM package and `neeto-thank-you-engine` Rails engine for development.
4
+
5
+ The `neeto-thank-you-nano` manages the "Thank You" configuration page across
6
+ neeto applications. The nano exports the `@bigbinary/neeto-thank-you-frontend`
7
+ NPM package and `neeto-thank-you-engine` Rails engine for development.
5
8
 
6
9
  # Contents
10
+
7
11
  1. [Development with Host Application](#development-with-host-application)
8
12
  - [Engine](#engine)
9
- - [Installation](#installation)
10
- - [Usage](#usage)
13
+ - [Installation](#installation)
14
+ - [Usage](#usage)
11
15
  - [Frontend package](#frontend-package)
12
- - [Installation](#installation-1)
13
- - [Components](#components)
14
- - [Hooks](#hooks)
16
+ - [Installation](#installation-1)
17
+ - [Components](#components)
18
+ - [Hooks](#hooks)
15
19
  2. [Instructions for Publishing](#instructions-for-publishing)
16
20
 
17
21
  # Development with Host Application
22
+
18
23
  ## Engine
19
- The engine is used to manage "Thank you" page configurations within an organization.
24
+
25
+ The engine is used to manage "Thank you" page configurations within an
26
+ organization.
20
27
 
21
28
  ### Installation
29
+
22
30
  1. Add this line to your application's Gemfile:
23
- ```ruby
24
- source "NEETO_GEM_SERVER_URL" do
25
- # ..existing gems
26
31
 
27
- gem 'neeto-thank-you-engine'
28
- end
29
- ```
32
+ ```ruby
33
+ source "NEETO_GEM_SERVER_URL" do
34
+ # ..existing gems
35
+
36
+ gem 'neeto-thank-you-engine'
37
+ end
38
+ ```
39
+
30
40
  2. And then execute:
31
- ```ruby
32
- bundle install
33
- ```
41
+ ```ruby
42
+ bundle install
43
+ ```
34
44
  3. Add this line to your application's `config/routes.rb` file:
35
- ```ruby
36
- mount NeetoThankYouEngine::Engine => "/neeto_thank_you_engine"
37
- ```
38
- 4. Run the following command to copy the migrations from the engine to the host application:
39
- ```ruby
40
- bundle exec rails neeto_thank_you_engine:install:migrations
41
- ```
45
+ ```ruby
46
+ mount NeetoThankYouEngine::Engine => "/neeto_thank_you_engine"
47
+ ```
48
+ 4. Run the following command to copy the migrations from the engine to the host
49
+ application:
50
+ ```ruby
51
+ bundle exec rails neeto_thank_you_engine:install:migrations
52
+ ```
42
53
  5. Add the migrations to the database:
43
- ```ruby
44
- bundle exec rails db:migrate
45
- ```
54
+ ```ruby
55
+ bundle exec rails db:migrate
56
+ ```
57
+
46
58
  ### Usage
59
+
47
60
  You can learn more about the setup and usage here:
61
+
48
62
  1. [Models](/docs/engine/models.md)
49
63
  2. [Controllers](/docs/engine/controllers.md)
50
64
 
51
65
  ## Frontend package
66
+
52
67
  The package exports two components: `ConfigureThankYou` and `ShowThankYou`.
53
68
 
54
- The package also exports two hooks: `useShowThankYouPage` and `useShowThankYouConfiguration`
69
+ The package also exports two hooks: `useShowThankYouPage` and
70
+ `useShowThankYouConfiguration`
55
71
 
56
72
  ### Installation
73
+
57
74
  Install the latest `neeto-thank-you-nano` package using the below command:
58
75
 
59
76
  ```zsh
@@ -61,35 +78,57 @@ yarn add @bigbinary/neeto-thank-you-frontend
61
78
  ```
62
79
 
63
80
  ### Instructions for development
64
- Check the [Frontend package development guide](https://neeto-engineering.neetokb.com/p/a-d34cb4b0) for step-by-step instructions to develop the frontend package.
81
+
82
+ Check the
83
+ [Frontend package development guide](https://neeto-engineering.neetokb.com/p/a-d34cb4b0)
84
+ for step-by-step instructions to develop the frontend package.
65
85
 
66
86
  ### Components
87
+
67
88
  #### `ConfigureThankYou` ([source code](https://github.com/bigbinary/neeto-thank-you-nano/blob/f7c53e11319268eac4de3bd5642e228063d431fb/app/javascript/src/components/ConfigureThankYou/index.jsx))
68
- This component manages the configuration of the "Thank You" page in the host application.
89
+
90
+ This component manages the configuration of the "Thank You" page in the host
91
+ application.
69
92
 
70
93
  ##### Props
94
+
71
95
  - `breadcrumbs` - Set the header component's breadcrumbs
72
96
  - `socialHandles` - Set the URLs for sharing to social media
73
- - `isPublished` - Boolean to manage pointer events in the "Thank You" page configuration preview
97
+ - `isPublished` - Boolean to manage pointer events in the "Thank You" page
98
+ configuration preview
74
99
  - `entityId` - Set the entity ID associated with the "Thank You" page
75
- - `publicLinkId` - Set the public link ID of the entity associated with the thank you configuration for social media sharing
76
- - `hasImageUploader` - Boolean to show the image uploader section in the thank you configuration page
100
+ - `publicLinkId` - Set the public link ID of the entity associated with the
101
+ thank you configuration for social media sharing
102
+ - `hasImageUploader` - Boolean to show the image uploader section in the thank
103
+ you configuration page
77
104
  - `uniqueSubmissionEnabled` - Boolean to show link for unique submission
78
105
  - `uniqueSubmissionLink` - Set link for unique submission
79
106
  - `resubmitLink` - Set link for resubmission
80
107
  - `redirectToOnCancel` - Set path to redirect to after cancelling submission
81
- - `thankYouTextAlignment` - Set alignment of the "Thank You" text in "Thank You" page
108
+ - `thankYouTextAlignment` - Set alignment of the "Thank You" text in "Thank You"
109
+ page
82
110
  - `customHeader` - Accepts a React Node & replaces the default Header.
83
- - `appName` - Accepts appName, which will be used for branding `Powered by {{appName}}` [default: "neetoForm"].
84
- - `disableSubmitAnotherResponse` - Removes the toggle for submitting another response, incase of neetoForm [default: false].
85
- - `disableRadioSelection` - Removes the radio selector for `Customize thank you page` & `Redirect to external link` [default: false]
86
- - `blockNavigation` - Boolean to show the block navigation alert in the thank you configuration page when there are unsaved changes [default: false]
87
- - `onConfigUpdateSuccess`: The callback function to be triggered when the configuration is updated. The function's first argument corresponds to the parameters passed to the `onSuccess` callback of React Query mutations, while the second argument represents the previous configuration object.
111
+ - `appName` - Accepts appName, which will be used for branding
112
+ `Made with {{appName}}` [default: "neetoForm"].
113
+ - `disableSubmitAnotherResponse` - Removes the toggle for submitting another
114
+ response, incase of neetoForm [default: false].
115
+ - `disableRadioSelection` - Removes the radio selector for
116
+ `Customize thank you page` & `Redirect to external link` [default: false]
117
+ - `blockNavigation` - Boolean to show the block navigation alert in the thank
118
+ you configuration page when there are unsaved changes [default: false]
119
+ - `onConfigUpdateSuccess`: The callback function to be triggered when the
120
+ configuration is updated. The function's first argument corresponds to the
121
+ parameters passed to the `onSuccess` callback of React Query mutations, while
122
+ the second argument represents the previous configuration object.
88
123
 
89
124
  ##### Configuration
90
- Refer to the [ConfigureThankYou](/docs/frontend/configure_thank_you.md) section for detailed information on the available configurations for the `ConfigureThankYou` component.
125
+
126
+ Refer to the [ConfigureThankYou](/docs/frontend/configure_thank_you.md) section
127
+ for detailed information on the available configurations for the
128
+ `ConfigureThankYou` component.
91
129
 
92
130
  ##### Usage
131
+
93
132
  ```jsx
94
133
  import React from "react";
95
134
 
@@ -97,14 +136,19 @@ import { ConfigureThankYou } from "@bigbinary/neeto-thank-you-frontend";
97
136
 
98
137
  const App = () => {
99
138
  const breadcrumbs = [{ text: "Configure", link: "/configure" }];
100
- const socialHandles = [{ icon: Facebook, generateShareUrl: entityId => `https://www.facebook.com/${entityId}`}];
139
+ const socialHandles = [
140
+ {
141
+ icon: Facebook,
142
+ generateShareUrl: entityId => `https://www.facebook.com/${entityId}`,
143
+ },
144
+ ];
101
145
 
102
146
  const handleConfigUpdateSuccess = (
103
147
  onSuccessCallbackParams,
104
148
  previousConfiguration
105
149
  ) => {
106
150
  // Add your logic here
107
- }
151
+ };
108
152
 
109
153
  return (
110
154
  <>
@@ -123,33 +167,43 @@ const App = () => {
123
167
  thankYouTextAlignment={thankYouTextAlignment}
124
168
  appName="neetoForm"
125
169
  onConfigUpdateSuccess={handleConfigUpdateSuccess}
126
- />
170
+ />
127
171
  </>
128
- )
172
+ );
129
173
  };
130
174
 
131
175
  export default App;
132
176
  ```
133
177
 
134
178
  #### `ShowThankYou` ([source code](https://github.com/bigbinary/neeto-thank-you-nano/blob/f7c53e11319268eac4de3bd5642e228063d431fb/app/javascript/src/components/ShowThankYou/index.jsx))
135
- This component displays the "Thank You" page after submission as per the configurations set in the host application.
179
+
180
+ This component displays the "Thank You" page after submission as per the
181
+ configurations set in the host application.
136
182
 
137
183
  ##### Props
184
+
138
185
  - `entityId` - Set the entity ID associated with the "Thank You" page
139
186
  - `socialHandles` - Set the URLs for sharing to social media
140
187
  - `isDraftPreview` - Boolean to generate the draft resubmission URL
141
188
  - `resubmitLink` - Set link for resubmission
142
189
  - `isThankYouPageLoading` - Boolean value to show the loading state
143
- - `customPageLoader` - Specify a custom loader component to replace the default page loader.
190
+ - `customPageLoader` - Specify a custom loader component to replace the default
191
+ page loader.
144
192
 
145
193
  ##### Usage
194
+
146
195
  ```jsx
147
196
  import React from "react";
148
197
 
149
198
  import { ShowThankYou } from "@bigbinary/neeto-thank-you-frontend";
150
199
 
151
200
  const App = () => {
152
- const socialHandles = [{ icon: Facebook, generateShareUrl: entityId => `https://www.facebook.com/${entityId}`}];
201
+ const socialHandles = [
202
+ {
203
+ icon: Facebook,
204
+ generateShareUrl: entityId => `https://www.facebook.com/${entityId}`,
205
+ },
206
+ ];
153
207
 
154
208
  return (
155
209
  <>
@@ -161,7 +215,7 @@ const App = () => {
161
215
  isThankYouPageLoading={isThankYouPageLoading}
162
216
  />
163
217
  </>
164
- )
218
+ );
165
219
  };
166
220
 
167
221
  export default App;
@@ -170,16 +224,21 @@ export default App;
170
224
  ### Hooks
171
225
 
172
226
  #### `useShowThankYouPage` ([source code](https://github.com/bigbinary/neeto-thank-you-nano/blob/fd519090a7b0ce63db912bdf795872bbdb6f9194/app/javascript/src/hooks/reactQuery/useThankYouPageApi.js#L6))
227
+
173
228
  This hook is used to fetch the "Thank You" page of the entity.
174
229
 
175
230
  ##### Props
231
+
176
232
  - `entityId` - ID of the entity to load the thank you configuration
177
233
  - `isTemplateView` - Boolean to check if the current page is the template view
178
234
 
179
235
  ##### Return value
180
- Returns the `data` object which includes the `thankYouConfiguration` object containing the thank you configuration for the entity.
236
+
237
+ Returns the `data` object which includes the `thankYouConfiguration` object
238
+ containing the thank you configuration for the entity.
181
239
 
182
240
  ##### Usage
241
+
183
242
  ```js
184
243
  import { useShowThankYouPage } from "@bigbinary/neeto-thank-you-frontend";
185
244
 
@@ -190,19 +249,24 @@ const { data: { thankYouConfiguration } = {} } = useShowThankYouPage({
190
249
  ```
191
250
 
192
251
  #### `useShowThankYouConfiguration` ([source code](https://github.com/bigbinary/neeto-thank-you-nano/blob/fd519090a7b0ce63db912bdf795872bbdb6f9194/app/javascript/src/hooks/reactQuery/useThankYouConfigurationApi.js#L6))
252
+
193
253
  This hook is used to fetch the thank you configuration of the entity.
194
254
 
195
255
  ##### Props
256
+
196
257
  - `entityId` - ID of the entity to load the thank you configuration
197
258
 
198
259
  ##### Return value
199
- Returns the `data` object which includes the `thankYouConfiguration` object containing the thank you configuration for the entity, and an `isLoading` boolean.
260
+
261
+ Returns the `data` object which includes the `thankYouConfiguration` object
262
+ containing the thank you configuration for the entity, and an `isLoading`
263
+ boolean.
200
264
 
201
265
  ##### Usage
266
+
202
267
  ```js
203
268
  import { useShowThankYouConfiguration } from "@bigbinary/neeto-thank-you-frontend";
204
269
 
205
-
206
270
  const {
207
271
  isLoading: isThankYouActionLoading,
208
272
  data: { thankYouConfiguration } = {},
@@ -210,4 +274,7 @@ const {
210
274
  ```
211
275
 
212
276
  # Instructions for Publishing
213
- Consult the [building and releasing packages](https://neeto-engineering.neetokb.com/articles/building-and-releasing-packages) guide for details on how to publish.
277
+
278
+ Consult the
279
+ [building and releasing packages](https://neeto-engineering.neetokb.com/articles/building-and-releasing-packages)
280
+ guide for details on how to publish.
@@ -27,7 +27,6 @@
27
27
  "socialShareHeading": "Share this neetoForm on social media",
28
28
  "resubmissionWarning": "You have enabled unique submission for this form, please disable unique submission before enabling the resubmit link.",
29
29
  "uniqueSubmissionLinkText": "Go to Unique submissions settings",
30
- "poweredBy": "Powered by <strong>{{appName, anyCase}}</strong>",
31
30
  "formBranding": "Build your own form using <a><span>neetoForm.</span></a> It’s free.",
32
31
  "draftVersionForm": "You are using the draft version of the form. The data will not be submitted.",
33
32
  "preview": "Preview",
package/dist/index.cjs.js CHANGED
@@ -10,14 +10,16 @@ var neetoEditor = require('@bigbinary/neeto-editor');
10
10
  var yup = require('yup');
11
11
  var classNames = require('classnames');
12
12
  var PageLoader = require('@bigbinary/neeto-molecules/PageLoader');
13
- var neetoui = require('@bigbinary/neetoui');
14
13
  var formik$1 = require('@bigbinary/neetoui/formik');
15
14
  var ramda = require('ramda');
16
- var reactI18next = require('react-i18next');
15
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
17
16
  var reactQuery = require('react-query');
18
17
  var axios = require('axios');
19
18
  var formik = require('formik');
19
+ var neetoui = require('@bigbinary/neetoui');
20
+ var reactI18next = require('react-i18next');
20
21
  var neetoImageUploaderFrontend = require('@bigbinary/neeto-image-uploader-frontend');
22
+ var MadeWith = require('@bigbinary/neeto-molecules/MadeWith');
21
23
  var neetoIcons = require('@bigbinary/neeto-icons');
22
24
  var NeetoUIHeader = require('@bigbinary/neeto-molecules/Header');
23
25
 
@@ -48,6 +50,7 @@ var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
48
50
  var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
49
51
  var PageLoader__default = /*#__PURE__*/_interopDefaultLegacy(PageLoader);
50
52
  var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
53
+ var MadeWith__default = /*#__PURE__*/_interopDefaultLegacy(MadeWith);
51
54
  var NeetoUIHeader__default = /*#__PURE__*/_interopDefaultLegacy(NeetoUIHeader);
52
55
 
53
56
  var FORM_OPTIONS = {
@@ -92,21 +95,6 @@ var THANK_YOU_TEXT_ALIGNMENTS = {
92
95
  };
93
96
  var DEFAULT_APP_NAME = "neetoForm";
94
97
 
95
- function _extends$1() {
96
- _extends$1 = Object.assign ? Object.assign.bind() : function (target) {
97
- for (var i = 1; i < arguments.length; i++) {
98
- var source = arguments[i];
99
- for (var key in source) {
100
- if (Object.prototype.hasOwnProperty.call(source, key)) {
101
- target[key] = source[key];
102
- }
103
- }
104
- }
105
- return target;
106
- };
107
- return _extends$1.apply(this, arguments);
108
- }
109
-
110
98
  function _typeof(o) {
111
99
  "@babel/helpers - typeof";
112
100
 
@@ -167,15 +155,9 @@ var update = function update(_ref) {
167
155
  thankYouConfiguration: payload
168
156
  });
169
157
  };
170
- var resetToDefault = function resetToDefault(entityId) {
171
- return axios__default["default"].put("".concat(baseUrl$1, "/reset_to_default"), {
172
- entityId: entityId
173
- });
174
- };
175
158
  var thankYouConfigurationApi = {
176
159
  show: show$1,
177
- update: update,
178
- resetToDefault: resetToDefault
160
+ update: update
179
161
  };
180
162
 
181
163
  var QUERY_KEYS = {
@@ -192,8 +174,7 @@ var useShowThankYouConfiguration = function useShowThankYouConfiguration(_ref) {
192
174
  });
193
175
  };
194
176
  var useUpdateThankYouConfiguration = function useUpdateThankYouConfiguration(options) {
195
- var queryClient = reactQuery.useQueryClient();
196
- return reactQuery.useMutation(function (_ref2) {
177
+ return reactUtils.useMutationWithInvalidation(function (_ref2) {
197
178
  var entityId = _ref2.entityId,
198
179
  payload = _ref2.payload;
199
180
  return thankYouConfigurationApi.update({
@@ -201,21 +182,9 @@ var useUpdateThankYouConfiguration = function useUpdateThankYouConfiguration(opt
201
182
  payload: payload
202
183
  });
203
184
  }, _objectSpread$1({
204
- onSuccess: function onSuccess() {
205
- queryClient.invalidateQueries(QUERY_KEYS.THANK_YOU_CONFIGURATION);
206
- }
185
+ keysToInvalidate: [QUERY_KEYS.THANK_YOU_CONFIGURATION]
207
186
  }, options));
208
187
  };
209
- var useResetThankYouConfigurationToDefault = function useResetThankYouConfigurationToDefault(entityId) {
210
- var queryClient = reactQuery.useQueryClient();
211
- return reactQuery.useMutation(function () {
212
- return thankYouConfigurationApi.resetToDefault(entityId);
213
- }, {
214
- onSuccess: function onSuccess() {
215
- queryClient.invalidateQueries(QUERY_KEYS.THANK_YOU_CONFIGURATION);
216
- }
217
- });
218
- };
219
188
 
220
189
  function _arrayWithHoles(arr) {
221
190
  if (Array.isArray(arr)) return arr;
@@ -512,18 +481,9 @@ var Preview = function Preview(_ref) {
512
481
  }
513
482
  })))), /*#__PURE__*/React__default["default"].createElement("div", {
514
483
  className: "neeto-ui-bg-gray-100 flex w-full items-center justify-center px-4 py-1.5"
515
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
516
- className: "neeto-ui-text-gray-500",
517
- style: "body3"
518
- }, /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
519
- components: {
520
- strong: /*#__PURE__*/React__default["default"].createElement("strong", null)
521
- },
522
- i18nKey: "neetoThankYou.thankYou.poweredBy",
523
- values: {
524
- appName: appName || DEFAULT_APP_NAME
525
- }
526
- })))));
484
+ }, /*#__PURE__*/React__default["default"].createElement(MadeWith__default["default"], {
485
+ productName: appName || DEFAULT_APP_NAME
486
+ }))));
527
487
  };
528
488
 
529
489
  var ExternalLink = function ExternalLink() {
@@ -572,8 +532,6 @@ var Form = function Form(_ref) {
572
532
  appName = _ref.appName,
573
533
  blockNavigation = _ref.blockNavigation,
574
534
  onConfigUpdateSuccess = _ref.onConfigUpdateSuccess;
575
- var _useTranslation = reactI18next.useTranslation(),
576
- t = _useTranslation.t;
577
535
  var _useShowThankYouConfi = useShowThankYouConfiguration({
578
536
  entityId: entityId
579
537
  }),
@@ -584,9 +542,6 @@ var Form = function Form(_ref) {
584
542
  var _useUpdateThankYouCon = useUpdateThankYouConfiguration(),
585
543
  updateThankYouConfiguration = _useUpdateThankYouCon.mutate,
586
544
  isUpdatingForm = _useUpdateThankYouCon.isLoading;
587
- var _useResetThankYouConf = useResetThankYouConfigurationToDefault(entityId),
588
- resetToDefaultMessage = _useResetThankYouConf.mutate,
589
- isResetting = _useResetThankYouConf.isLoading;
590
545
  var editorRef = React.useRef({
591
546
  editor: {}
592
547
  });
@@ -621,8 +576,7 @@ var Form = function Form(_ref) {
621
576
  }
622
577
  }
623
578
  }, function (_ref2) {
624
- var values = _ref2.values,
625
- dirty = _ref2.dirty;
579
+ var values = _ref2.values;
626
580
  return /*#__PURE__*/React__default["default"].createElement("div", {
627
581
  className: "grid grid-cols-1 gap-10 pb-6 md:grid-cols-2 md:gap-6"
628
582
  }, /*#__PURE__*/React__default["default"].createElement("div", {
@@ -650,33 +604,22 @@ var Form = function Form(_ref) {
650
604
  uniqueSubmissionEnabled: uniqueSubmissionEnabled,
651
605
  uniqueSubmissionLink: uniqueSubmissionLink,
652
606
  disableSocialShare: ramda.isEmpty(socialHandles)
653
- }) : /*#__PURE__*/React__default["default"].createElement(ExternalLink, null), /*#__PURE__*/React__default["default"].createElement("div", {
654
- className: "mt-6 flex items-center space-x-2"
655
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
656
- "data-cy": "neeto-thank-you-configuration-save-button",
657
- disabled: !dirty,
658
- label: t("neetoThankYou.buttons.saveChanges"),
659
- loading: isUpdatingForm,
660
- type: "submit"
661
- }), values.kind === FORM_OPTIONS.customize.kind && /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
662
- "data-cy": "neeto-thank-you-configuration-reset-button",
663
- disabled: isResetting,
664
- label: t("neetoThankYou.buttons.resetChanges"),
665
- loading: isResetting,
666
- style: "secondary",
667
- onClick: resetToDefaultMessage
668
- }), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, _extends$1({
669
- "data-cy": "neeto-thank-you-configuration-cancel-button",
670
- label: t("neetoThankYou.buttons.cancel"),
671
- size: "small",
672
- style: "text"
673
- }, redirectToOnCancel ? {
674
- to: redirectToOnCancel
675
- } : {
676
- type: "reset",
677
- onClick: resetEditor,
678
- disabled: !dirty
679
- })))), values.kind === FORM_OPTIONS.customize.kind && /*#__PURE__*/React__default["default"].createElement(Preview, {
607
+ }) : /*#__PURE__*/React__default["default"].createElement(ExternalLink, null), /*#__PURE__*/React__default["default"].createElement(formik$1.ActionBlock, {
608
+ className: "mt-6",
609
+ isSubmitting: isUpdatingForm,
610
+ cancelButtonProps: _objectSpread({
611
+ "data-cy": "neeto-thank-you-configuration-cancel-button"
612
+ }, redirectToOnCancel ? {
613
+ to: redirectToOnCancel,
614
+ onClick: neetoCist.noop
615
+ } : {
616
+ type: "reset",
617
+ onClick: resetEditor
618
+ }),
619
+ submitButtonProps: {
620
+ "data-cy": "neeto-thank-you-configuration-save-button"
621
+ }
622
+ })), values.kind === FORM_OPTIONS.customize.kind && /*#__PURE__*/React__default["default"].createElement(Preview, {
680
623
  appName: appName,
681
624
  isPublished: isPublished,
682
625
  publicLinkId: publicLinkId,