@bigbinary/neeto-molecules 3.0.4 → 3.1.1

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.
@@ -1,556 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var Alert = require('@bigbinary/neetoui/Alert');
5
- var reactI18next = require('react-i18next');
6
- var formik = require('formik');
7
- var neetoCist = require('@bigbinary/neeto-cist');
8
- var Label = require('@bigbinary/neetoui/Label');
9
- var Pane = require('@bigbinary/neetoui/Pane');
10
- var Typography = require('@bigbinary/neetoui/Typography');
11
- var Button = require('@bigbinary/neetoui/Button');
12
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
13
- var useHotkeys = require('@bigbinary/neeto-hotkeys');
14
- var Check = require('@bigbinary/neeto-icons/Check');
15
- var Input = require('@bigbinary/neetoui/formik/Input');
16
- var i18next = require('i18next');
17
- var yup = require('yup');
18
- var general = require('@bigbinary/neeto-commons-frontend/utils/general');
19
- var Input$1 = require('@bigbinary/neetoui/Input');
20
- var Callout = require('@bigbinary/neetoui/Callout');
21
- var CopyToClipboardButton = require('./CopyToClipboardButton.js');
22
- var constants = require('@bigbinary/neeto-commons-frontend/constants');
23
- var MoreDropdown = require('./MoreDropdown.js');
24
- var classnames = require('classnames');
25
- var Tag = require('@bigbinary/neetoui/Tag');
26
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
27
- var reactQuery = require('@tanstack/react-query');
28
- var useMutationWithInvalidation = require('@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation');
29
- var axios = require('axios');
30
-
31
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
32
-
33
- function _interopNamespace(e) {
34
- if (e && e.__esModule) return e;
35
- var n = Object.create(null);
36
- if (e) {
37
- Object.keys(e).forEach(function (k) {
38
- if (k !== 'default') {
39
- var d = Object.getOwnPropertyDescriptor(e, k);
40
- Object.defineProperty(n, k, d.get ? d : {
41
- enumerable: true,
42
- get: function () { return e[k]; }
43
- });
44
- }
45
- });
46
- }
47
- n["default"] = e;
48
- return Object.freeze(n);
49
- }
50
-
51
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
52
- var Alert__default = /*#__PURE__*/_interopDefaultLegacy(Alert);
53
- var Label__default = /*#__PURE__*/_interopDefaultLegacy(Label);
54
- var Pane__default = /*#__PURE__*/_interopDefaultLegacy(Pane);
55
- var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
56
- var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
57
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
58
- var useHotkeys__default = /*#__PURE__*/_interopDefaultLegacy(useHotkeys);
59
- var Check__default = /*#__PURE__*/_interopDefaultLegacy(Check);
60
- var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
61
- var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
62
- var Input__default$1 = /*#__PURE__*/_interopDefaultLegacy(Input$1);
63
- var Callout__default = /*#__PURE__*/_interopDefaultLegacy(Callout);
64
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
65
- var Tag__default = /*#__PURE__*/_interopDefaultLegacy(Tag);
66
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
67
- var useMutationWithInvalidation__default = /*#__PURE__*/_interopDefaultLegacy(useMutationWithInvalidation);
68
- var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
69
-
70
- var DeleteAlert = function DeleteAlert(_ref) {
71
- var onClose = _ref.onClose,
72
- onSubmit = _ref.onSubmit,
73
- isOpen = _ref.isOpen,
74
- isSubmitting = _ref.isSubmitting,
75
- hostname = _ref.hostname;
76
- var _useTranslation = reactI18next.useTranslation(),
77
- t = _useTranslation.t;
78
- return /*#__PURE__*/React__default["default"].createElement(Alert__default["default"], {
79
- cancelButtonLabel: t("neetoMolecules.common.actions.cancel"),
80
- isOpen: isOpen,
81
- isSubmitting: isSubmitting,
82
- submitButtonLabel: t("neetoMolecules.common.actions.delete"),
83
- title: t("neetoMolecules.customDomain.delete"),
84
- message: /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
85
- i18nKey: "neetoMolecules.customDomain.alertMessage",
86
- values: {
87
- hostname: hostname
88
- }
89
- }),
90
- onClose: onClose,
91
- onSubmit: onSubmit
92
- });
93
- };
94
-
95
- var HOSTNAME_REGEX = /^(https?:\/\/)?([a-zA-Z0-9][a-zA-Z0-9-]*\.)+[a-zA-Z]{2,}(\/\S*)?$/;
96
- var INITIAL_VALUES = {
97
- hostname: ""
98
- };
99
-
100
- var getCustomDomainValidationSchema = function getCustomDomainValidationSchema() {
101
- return yup__namespace.object().shape({
102
- hostname: yup__namespace.string().required(i18next.t("neetoMolecules.customDomain.formikValidation.required")).matches(HOSTNAME_REGEX, i18next.t("neetoMolecules.customDomain.formikValidation.valid"))
103
- });
104
- };
105
- var mergeRefs = function mergeRefs() {
106
- for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
107
- refs[_key] = arguments[_key];
108
- }
109
- return function (node) {
110
- return refs.forEach(function (ref) {
111
- return typeof ref === "function" ? ref(node) : ref.current = node;
112
- });
113
- };
114
- };
115
-
116
- var DomainEntryField = function DomainEntryField(_ref) {
117
- var onSubmit = _ref.onSubmit,
118
- customDomain = _ref.customDomain,
119
- initialFocusRef = _ref.initialFocusRef,
120
- dirty = _ref.dirty,
121
- isCreating = _ref.isCreating,
122
- name = _ref.name;
123
- var _useTranslation = reactI18next.useTranslation(),
124
- t = _useTranslation.t;
125
- var _useFormikContext = formik.useFormikContext(),
126
- values = _useFormikContext.values;
127
- var _useField = formik.useField(name),
128
- _useField2 = _slicedToArray__default["default"](_useField, 3),
129
- _useField2$ = _useField2[1],
130
- error = _useField2$.error,
131
- touched = _useField2$.touched,
132
- setTouched = _useField2[2].setTouched;
133
- var handleSubmit = function handleSubmit() {
134
- if (error) {
135
- setTouched(true);
136
- return;
137
- }
138
- onSubmit(values);
139
- };
140
- var inputRef = useHotkeys__default["default"]("command+enter", handleSubmit, {
141
- mode: "scoped"
142
- });
143
- return /*#__PURE__*/React__default["default"].createElement("div", {
144
- className: "flex items-start gap-2"
145
- }, /*#__PURE__*/React__default["default"].createElement(Input__default["default"], {
146
- name: name,
147
- "data-cy": "custom-domain-input-field",
148
- disabled: neetoCist.isNotEmpty(customDomain),
149
- error: touched && error,
150
- placeholder: t("neetoMolecules.customDomain.placeholder"),
151
- ref: mergeRefs(inputRef, initialFocusRef)
152
- }), !neetoCist.isNotEmpty(customDomain) && /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
153
- "data-cy": "submit-custom-domain-button",
154
- "data-testid": "submit-custom-domain-button",
155
- disabled: !dirty || isCreating,
156
- icon: Check__default["default"],
157
- loading: isCreating,
158
- style: "primary",
159
- type: "submit"
160
- }));
161
- };
162
-
163
- var DOMAIN_QUERY_KEY = "custom-domain";
164
- var HELP_DOC_URL = "https://help.".concat(globalProps.appName.toLowerCase(), ".com/articles/custom-domains");
165
-
166
- var TagBlock = function TagBlock(_ref) {
167
- var status = _ref.status,
168
- _ref$stacked = _ref.stacked,
169
- stacked = _ref$stacked === void 0 ? false : _ref$stacked;
170
- var _useTranslation = reactI18next.useTranslation(),
171
- t = _useTranslation.t;
172
- var isDomainValidated = status === "active" || status === "pending_cname_validation";
173
- var camelCasedStatus = neetoCist.snakeToCamelCase(status || "");
174
- return /*#__PURE__*/React__default["default"].createElement("div", {
175
- className: classnames__default["default"]("flex gap-2", {
176
- "flex-col items-start": stacked
177
- })
178
- }, status === "failed" ? /*#__PURE__*/React__default["default"].createElement(Tag__default["default"], {
179
- indicatorStyle: "danger",
180
- label: t("neetoMolecules.customDomain.status.".concat(camelCasedStatus)),
181
- style: "secondary"
182
- }) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Tag__default["default"], {
183
- "data-cy": "".concat(general.hyphenize(status), "-tag-container"),
184
- indicatorStyle: isDomainValidated ? "success" : "warning",
185
- style: "secondary",
186
- label: t("neetoMolecules.customDomain.status.domain.".concat(camelCasedStatus))
187
- }), isDomainValidated && /*#__PURE__*/React__default["default"].createElement("div", {
188
- className: classnames__default["default"]("flex items-center justify-between gap-2", {
189
- "w-full": stacked
190
- })
191
- }, /*#__PURE__*/React__default["default"].createElement(Tag__default["default"], {
192
- "data-cy": "".concat(general.hyphenize(status), "-tag-container"),
193
- indicatorStyle: status === "active" ? "success" : "warning",
194
- style: "secondary",
195
- label: t("neetoMolecules.customDomain.status.cname.".concat(camelCasedStatus))
196
- }))));
197
- };
198
- var TagBlock$1 = /*#__PURE__*/React__default["default"].memo(TagBlock);
199
-
200
- var renderColumnData = function renderColumnData(enableManagePane, enableDeleteAlert) {
201
- return [{
202
- title: i18next.t("neetoMolecules.customDomain.customDomain", constants.SINGULAR),
203
- dataIndex: "hostname",
204
- key: "hostname",
205
- width: "60%",
206
- render: function render(hostName, customDomain) {
207
- return /*#__PURE__*/React__default["default"].createElement("div", {
208
- className: "flex items-center justify-between gap-x-3"
209
- }, /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
210
- "data-cy": "hostname-button",
211
- label: hostName,
212
- style: "link",
213
- onClick: function onClick() {
214
- return enableManagePane(customDomain);
215
- }
216
- }), /*#__PURE__*/React__default["default"].createElement(MoreDropdown, {
217
- dropdownButtonProps: {
218
- "data-testid": "nui-dropdown-icon-".concat(customDomain.id)
219
- },
220
- dropdownProps: {
221
- position: "bottom-end",
222
- strategy: "fixed",
223
- autoWidth: true
224
- },
225
- menuItems: [{
226
- label: i18next.t("neetoMolecules.common.actions.edit"),
227
- onClick: function onClick() {
228
- return enableManagePane(customDomain);
229
- },
230
- key: "edit-custom-domain-button"
231
- }, {
232
- label: i18next.t("neetoMolecules.common.actions.delete"),
233
- onClick: function onClick() {
234
- return enableDeleteAlert(customDomain);
235
- },
236
- key: "delete-custom-domain"
237
- }]
238
- }));
239
- }
240
- }, {
241
- title: i18next.t("neetoMolecules.common.status"),
242
- dataIndex: "status",
243
- key: "status",
244
- render: function render(status) {
245
- return /*#__PURE__*/React__default["default"].createElement(TagBlock$1, {
246
- status: status
247
- });
248
- },
249
- width: "40%"
250
- }];
251
- };
252
- var recordData = function recordData(customDomain) {
253
- var status = customDomain.status,
254
- hostname = customDomain.hostname,
255
- dnsTarget = customDomain.dnsTarget,
256
- cnameValidationParams = customDomain.cnameValidationParams;
257
- var isDomainValidated = status === "active" || status === "pending_cname_validation";
258
- var recordName = isDomainValidated ? hostname : cnameValidationParams === null || cnameValidationParams === void 0 ? void 0 : cnameValidationParams.name;
259
- var recordValue = isDomainValidated ? dnsTarget : cnameValidationParams === null || cnameValidationParams === void 0 ? void 0 : cnameValidationParams.value;
260
- var recordType = isDomainValidated ? i18next.t("neetoMolecules.customDomain.cname") : i18next.t("neetoMolecules.customDomain.domainValidationCname");
261
- var recordDescription = isDomainValidated ? i18next.t("neetoMolecules.customDomain.validation.desc", {
262
- record: recordType
263
- }) : i18next.t("neetoMolecules.customDomain.validation.desc", {
264
- record: recordType,
265
- proxyMessage: i18next.t("neetoMolecules.customDomain.validation.proxyMessage")
266
- });
267
- var recordNameLabel = i18next.t("neetoMolecules.customDomain.validation.record", {
268
- record: recordType,
269
- type: i18next.t("neetoMolecules.common.name")
270
- });
271
- var recordValueLabel = i18next.t("neetoMolecules.customDomain.validation.record", {
272
- record: recordType,
273
- type: i18next.t("neetoMolecules.common.value")
274
- });
275
- return {
276
- recordName: recordName,
277
- recordValue: recordValue,
278
- recordDescription: recordDescription,
279
- recordNameLabel: recordNameLabel,
280
- recordValueLabel: recordValueLabel
281
- };
282
- };
283
-
284
- var Record = function Record(_ref) {
285
- var customDomain = _ref.customDomain;
286
- var _recordData = recordData(customDomain),
287
- recordName = _recordData.recordName,
288
- recordValue = _recordData.recordValue,
289
- recordDescription = _recordData.recordDescription,
290
- recordNameLabel = _recordData.recordNameLabel,
291
- recordValueLabel = _recordData.recordValueLabel;
292
- return /*#__PURE__*/React__default["default"].createElement("div", {
293
- className: "mt-6 grid gap-4"
294
- }, customDomain.status !== "active" && /*#__PURE__*/React__default["default"].createElement(Callout__default["default"], {
295
- style: "info"
296
- }, /*#__PURE__*/React__default["default"].createElement("div", {
297
- className: "flex flex-col space-y-2"
298
- }, /*#__PURE__*/React__default["default"].createElement("p", null, recordDescription), /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
299
- "data-cy": "custom-domain-help-doc-button",
300
- href: HELP_DOC_URL,
301
- label: "Read help doc",
302
- style: "link",
303
- target: "#"
304
- }))), /*#__PURE__*/React__default["default"].createElement(Input__default$1["default"], {
305
- disabled: true,
306
- "data-cy": general.joinHyphenCase(recordNameLabel),
307
- label: neetoCist.capitalize(recordNameLabel),
308
- value: recordName,
309
- suffix: /*#__PURE__*/React__default["default"].createElement(CopyToClipboardButton, {
310
- size: "small",
311
- style: "text",
312
- value: recordName
313
- })
314
- }), /*#__PURE__*/React__default["default"].createElement(Input__default$1["default"], {
315
- disabled: true,
316
- "data-cy": general.joinHyphenCase(recordValueLabel),
317
- label: neetoCist.capitalize(recordValueLabel),
318
- value: recordValue,
319
- suffix: /*#__PURE__*/React__default["default"].createElement(CopyToClipboardButton, {
320
- size: "small",
321
- style: "text",
322
- value: recordValue
323
- })
324
- }));
325
- };
326
- var Record$1 = /*#__PURE__*/React__default["default"].memo(Record);
327
-
328
- var StatusInfo = function StatusInfo() {
329
- return /*#__PURE__*/React__default["default"].createElement("div", {
330
- className: "space-y-6"
331
- }, /*#__PURE__*/React__default["default"].createElement("div", {
332
- className: "neeto-ui-rounded neeto-ui-bg-gray-100 neeto-ui-text-gray-700 space-y-3 p-4"
333
- }, /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
334
- i18nKey: "neetoMolecules.customDomain.messageBlock.dnsStatus",
335
- components: {
336
- Link: /*#__PURE__*/React__default["default"].createElement("a", {
337
- className: "neeto-ui-text-primary-800",
338
- href: HELP_DOC_URL,
339
- rel: "noreferrer",
340
- target: "_blank"
341
- })
342
- }
343
- })));
344
- };
345
- var StatusInfo$1 = /*#__PURE__*/React__default["default"].memo(StatusInfo);
346
-
347
- var getUrlwithId = function getUrlwithId(url, id) {
348
- return id ? "".concat(url, "/").concat(id) : url;
349
- };
350
- var fetchCustomDomains = function fetchCustomDomains(_ref) {
351
- var url = _ref.url,
352
- params = _ref.params;
353
- return axios__default["default"].get(url, {
354
- params: params
355
- });
356
- };
357
- var updateCustomDomain = function updateCustomDomain(url, id) {
358
- return axios__default["default"].patch(getUrlwithId(url, id));
359
- };
360
- var createCustomDomain = function createCustomDomain(url, payload) {
361
- return axios__default["default"].post(url, payload);
362
- };
363
- var deleteCustomDomain = function deleteCustomDomain(url, id) {
364
- return axios__default["default"]["delete"](getUrlwithId(url, id));
365
- };
366
- var validateDomain = function validateDomain(url, id) {
367
- return axios__default["default"].patch("".concat(getUrlwithId(url, id), "/validate_domain"));
368
- };
369
- var validateCname = function validateCname(url, id) {
370
- return axios__default["default"].patch("".concat(getUrlwithId(url, id), "/validate_cname"));
371
- };
372
- var customDomainApi = {
373
- createCustomDomain: createCustomDomain,
374
- deleteCustomDomain: deleteCustomDomain,
375
- validateDomain: validateDomain,
376
- fetchCustomDomains: fetchCustomDomains,
377
- validateCname: validateCname,
378
- updateCustomDomain: updateCustomDomain
379
- };
380
-
381
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
382
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
383
- var useCreateCustomDomain = function useCreateCustomDomain(url) {
384
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
385
- return useMutationWithInvalidation__default["default"](function (payload) {
386
- return customDomainApi.createCustomDomain(url, payload);
387
- }, _objectSpread({
388
- keysToInvalidate: [[DOMAIN_QUERY_KEY]]
389
- }, options));
390
- };
391
- var useDeleteCustomDomain = function useDeleteCustomDomain(url) {
392
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
393
- return useMutationWithInvalidation__default["default"](function (id) {
394
- return customDomainApi.deleteCustomDomain(url, id);
395
- }, _objectSpread({
396
- keysToInvalidate: [[DOMAIN_QUERY_KEY]]
397
- }, options));
398
- };
399
- var useFetchCustomDomains = function useFetchCustomDomains(params) {
400
- return reactQuery.useQuery({
401
- queryKey: [DOMAIN_QUERY_KEY, _objectSpread({}, params)],
402
- queryFn: function queryFn() {
403
- return customDomainApi.fetchCustomDomains(params);
404
- }
405
- });
406
- };
407
- var useValidateDomain = function useValidateDomain(url) {
408
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
409
- return useMutationWithInvalidation__default["default"](function (id) {
410
- return customDomainApi.validateDomain(url, id);
411
- }, _objectSpread({
412
- keysToInvalidate: [[DOMAIN_QUERY_KEY]]
413
- }, options));
414
- };
415
- var useValidateCname = function useValidateCname(url) {
416
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
417
- return useMutationWithInvalidation__default["default"](function (id) {
418
- return customDomainApi.validateCname(url, id);
419
- }, _objectSpread({
420
- keysToInvalidate: [[DOMAIN_QUERY_KEY]]
421
- }, options));
422
- };
423
- var useUpdateCustomDomain = function useUpdateCustomDomain(url) {
424
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
425
- return useMutationWithInvalidation__default["default"](function (id) {
426
- return customDomainApi.updateCustomDomain(url, id);
427
- }, _objectSpread({
428
- keysToInvalidate: [[DOMAIN_QUERY_KEY]]
429
- }, options));
430
- };
431
-
432
- var Manage = function Manage(_ref) {
433
- var isOpen = _ref.isOpen,
434
- onClose = _ref.onClose,
435
- customDomain = _ref.customDomain,
436
- setCustomDomain = _ref.setCustomDomain,
437
- url = _ref.url,
438
- hasOne = _ref.hasOne,
439
- onCreate = _ref.onCreate;
440
- var _useTranslation = reactI18next.useTranslation(),
441
- t = _useTranslation.t;
442
- var initialFocusRef = React.useRef(null);
443
- var customDomainId = hasOne ? null : customDomain === null || customDomain === void 0 ? void 0 : customDomain.id;
444
- var _useCreateCustomDomai = useCreateCustomDomain(url),
445
- createCustomDomain = _useCreateCustomDomai.mutate,
446
- isCreating = _useCreateCustomDomai.isPending;
447
- var _useValidateDomain = useValidateDomain(url),
448
- validateDomain = _useValidateDomain.mutate,
449
- isValidating = _useValidateDomain.isPending;
450
- var _useValidateCname = useValidateCname(url),
451
- validateCname = _useValidateCname.mutate,
452
- isCnameValidating = _useValidateCname.isPending;
453
- var _useUpdateCustomDomai = useUpdateCustomDomain(url),
454
- updateCustomDomain = _useUpdateCustomDomai.mutate,
455
- isUpdating = _useUpdateCustomDomai.isPending;
456
- var getHostname = function getHostname(url) {
457
- try {
458
- var parsedUrl = new URL(url);
459
- return parsedUrl.hostname;
460
- } catch (_unused) {
461
- return url;
462
- }
463
- };
464
- var handleSubmit = function handleSubmit(_ref2) {
465
- var hostname = _ref2.hostname;
466
- var parsedHostname = getHostname(hostname);
467
- var payload = {
468
- hostname: parsedHostname
469
- };
470
- createCustomDomain(payload, {
471
- onSuccess: function onSuccess(values) {
472
- setCustomDomain(values);
473
- onCreate === null || onCreate === void 0 ? void 0 : onCreate(values);
474
- }
475
- });
476
- };
477
- var handleValidateDomain = function handleValidateDomain() {
478
- return validateDomain(customDomainId, {
479
- onSuccess: function onSuccess(values) {
480
- return setCustomDomain(values);
481
- }
482
- });
483
- };
484
- var handleValidateCname = function handleValidateCname() {
485
- validateCname(customDomainId, {
486
- onSuccess: function onSuccess(data) {
487
- return setCustomDomain(data);
488
- }
489
- });
490
- };
491
- var handleUpdateCname = function handleUpdateCname() {
492
- updateCustomDomain(customDomainId, {
493
- onSuccess: function onSuccess(data) {
494
- return setCustomDomain(data);
495
- }
496
- });
497
- };
498
- return /*#__PURE__*/React__default["default"].createElement(Pane__default["default"], {
499
- initialFocusRef: initialFocusRef,
500
- isOpen: isOpen,
501
- onClose: onClose
502
- }, /*#__PURE__*/React__default["default"].createElement(formik.Formik, {
503
- enableReinitialize: true,
504
- initialValues: customDomain || INITIAL_VALUES,
505
- validationSchema: getCustomDomainValidationSchema(),
506
- onSubmit: handleSubmit
507
- }, function (_ref3) {
508
- var dirty = _ref3.dirty;
509
- return /*#__PURE__*/React__default["default"].createElement(formik.Form, null, /*#__PURE__*/React__default["default"].createElement(Pane__default["default"].Header, null, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
510
- "data-cy": "add-custom-domain-pane-heading",
511
- style: "h2",
512
- weight: "semibold"
513
- }, neetoCist.isNotEmpty(customDomain) ? t("neetoMolecules.customDomain.edit") : t("neetoMolecules.customDomain.addNew"))), /*#__PURE__*/React__default["default"].createElement(Pane__default["default"].Body, {
514
- hasFooter: false
515
- }, /*#__PURE__*/React__default["default"].createElement("div", {
516
- className: "w-full space-y-6"
517
- }, neetoCist.isNotEmpty(customDomain) && /*#__PURE__*/React__default["default"].createElement(TagBlock$1, {
518
- handleValidateCname: handleValidateCname,
519
- stacked: true,
520
- isCnameRecordsAdded: customDomain.addedCnameAt,
521
- status: customDomain.status
522
- }), /*#__PURE__*/React__default["default"].createElement("div", {
523
- className: "space-y-2"
524
- }, /*#__PURE__*/React__default["default"].createElement(Label__default["default"], {
525
- required: true,
526
- htmlFor: "hostname"
527
- }, t("neetoMolecules.customDomain.label")), /*#__PURE__*/React__default["default"].createElement(DomainEntryField, {
528
- customDomain: customDomain,
529
- dirty: dirty,
530
- initialFocusRef: initialFocusRef,
531
- isCreating: isCreating,
532
- name: "hostname",
533
- onSubmit: handleSubmit
534
- })), neetoCist.isNotEmpty(customDomain) && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Record$1, {
535
- customDomain: customDomain
536
- }), customDomain.status === "pending_domain_validation" && /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
537
- "data-cy": "validate-domain-button",
538
- disabled: isValidating,
539
- loading: isValidating,
540
- label: t("neetoMolecules.customDomain.validation.buttonLabel.domain"),
541
- onClick: handleValidateDomain
542
- }), customDomain.status === "pending_cname_validation" && /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
543
- "data-cy": "validate-cname-record-button",
544
- loading: isCnameValidating || isUpdating,
545
- label: t("neetoMolecules.customDomain.validation.buttonLabel.cnameAdded"),
546
- onClick: handleUpdateCname
547
- }), /*#__PURE__*/React__default["default"].createElement(StatusInfo$1, null)))));
548
- }));
549
- };
550
-
551
- exports.DeleteAlert = DeleteAlert;
552
- exports.Manage = Manage;
553
- exports.renderColumnData = renderColumnData;
554
- exports.useDeleteCustomDomain = useDeleteCustomDomain;
555
- exports.useFetchCustomDomains = useFetchCustomDomains;
556
- //# sourceMappingURL=index-290bd1dd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-290bd1dd.js","sources":["../../src/components/CustomDomainDashboard/DeleteAlert.jsx","../../src/components/CustomDomainDashboard/Manage/constants.js","../../src/components/CustomDomainDashboard/Manage/utils.js","../../src/components/CustomDomainDashboard/Manage/DomainEntryField.jsx","../../src/components/CustomDomainDashboard/constants.js","../../src/components/CustomDomainDashboard/Manage/TagBlock.jsx","../../src/components/CustomDomainDashboard/utils.jsx","../../src/components/CustomDomainDashboard/Manage/Record.jsx","../../src/components/CustomDomainDashboard/Manage/StatusInfo.jsx","../../src/components/CustomDomainDashboard/api.js","../../src/components/CustomDomainDashboard/useCustomDomainApi.js","../../src/components/CustomDomainDashboard/Manage/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { Alert } from \"neetoui\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nconst DeleteAlert = ({ onClose, onSubmit, isOpen, isSubmitting, hostname }) => {\n const { t } = useTranslation();\n\n return (\n <Alert\n cancelButtonLabel={t(\"neetoMolecules.common.actions.cancel\")}\n isOpen={isOpen}\n isSubmitting={isSubmitting}\n submitButtonLabel={t(\"neetoMolecules.common.actions.delete\")}\n title={t(\"neetoMolecules.customDomain.delete\")}\n message={\n <Trans\n i18nKey=\"neetoMolecules.customDomain.alertMessage\"\n values={{ hostname }}\n />\n }\n onClose={onClose}\n onSubmit={onSubmit}\n />\n );\n};\n\nexport default DeleteAlert;\n","export const HOSTNAME_REGEX =\n /^(https?:\\/\\/)?([a-zA-Z0-9][a-zA-Z0-9-]*\\.)+[a-zA-Z]{2,}(\\/\\S*)?$/;\n\nexport const INITIAL_VALUES = { hostname: \"\" };\n","import { t } from \"i18next\";\nimport * as Yup from \"yup\";\n\nimport { HOSTNAME_REGEX } from \"./constants\";\n\nexport const getCustomDomainValidationSchema = () =>\n Yup.object().shape({\n hostname: Yup.string()\n .required(t(\"neetoMolecules.customDomain.formikValidation.required\"))\n .matches(\n HOSTNAME_REGEX,\n t(\"neetoMolecules.customDomain.formikValidation.valid\")\n ),\n });\n\nexport const mergeRefs =\n (...refs) =>\n node =>\n refs.forEach(ref =>\n typeof ref === \"function\" ? ref(node) : (ref.current = node)\n );\n","import React from \"react\";\n\nimport { useFormikContext, useField } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport useHotKeys from \"neetohotkeys\";\nimport { Check } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { mergeRefs } from \"./utils\";\n\nconst DomainEntryField = ({\n onSubmit,\n customDomain,\n initialFocusRef,\n dirty,\n isCreating,\n name,\n}) => {\n const { t } = useTranslation();\n\n const { values } = useFormikContext();\n const [, { error, touched }, { setTouched }] = useField(name);\n\n const handleSubmit = () => {\n if (error) {\n setTouched(true);\n\n return;\n }\n\n onSubmit(values);\n };\n\n const inputRef = useHotKeys(\"command+enter\", handleSubmit, {\n mode: \"scoped\",\n });\n\n return (\n <div className=\"flex items-start gap-2\">\n <Input\n {...{ name }}\n data-cy=\"custom-domain-input-field\"\n disabled={isNotEmpty(customDomain)}\n error={touched && error}\n placeholder={t(\"neetoMolecules.customDomain.placeholder\")}\n ref={mergeRefs(inputRef, initialFocusRef)}\n />\n {!isNotEmpty(customDomain) && (\n <Button\n data-cy=\"submit-custom-domain-button\"\n data-testid=\"submit-custom-domain-button\"\n disabled={!dirty || isCreating}\n icon={Check}\n loading={isCreating}\n style=\"primary\"\n type=\"submit\"\n />\n )}\n </div>\n );\n};\n\nexport default DomainEntryField;\n","export const DOMAIN_QUERY_KEY = \"custom-domain\";\nexport const HELP_DOC_URL = `https://help.${globalProps.appName.toLowerCase()}.com/articles/custom-domains`;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { snakeToCamelCase } from \"neetocist\";\nimport { hyphenize } from \"neetocommons/utils/general\";\nimport { Tag } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst TagBlock = ({ status, stacked = false }) => {\n const { t } = useTranslation();\n const isDomainValidated =\n status === \"active\" || status === \"pending_cname_validation\";\n const camelCasedStatus = snakeToCamelCase(status || \"\");\n\n return (\n <div\n className={classnames(\"flex gap-2\", {\n \"flex-col items-start\": stacked,\n })}\n >\n {status === \"failed\" ? (\n <Tag\n indicatorStyle=\"danger\"\n label={t(`neetoMolecules.customDomain.status.${camelCasedStatus}`)}\n style=\"secondary\"\n />\n ) : (\n <>\n <Tag\n data-cy={`${hyphenize(status)}-tag-container`}\n indicatorStyle={isDomainValidated ? \"success\" : \"warning\"}\n style=\"secondary\"\n label={t(\n `neetoMolecules.customDomain.status.domain.${camelCasedStatus}`\n )}\n />\n {isDomainValidated && (\n <div\n className={classnames(\"flex items-center justify-between gap-2\", {\n \"w-full\": stacked,\n })}\n >\n <Tag\n data-cy={`${hyphenize(status)}-tag-container`}\n indicatorStyle={status === \"active\" ? \"success\" : \"warning\"}\n style=\"secondary\"\n label={t(\n `neetoMolecules.customDomain.status.cname.${camelCasedStatus}`\n )}\n />\n </div>\n )}\n </>\n )}\n </div>\n );\n};\n\nexport default React.memo(TagBlock);\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Button } from \"neetoui\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nimport TagBlock from \"./Manage/TagBlock\";\n\nexport const renderColumnData = (enableManagePane, enableDeleteAlert) => [\n {\n title: t(\"neetoMolecules.customDomain.customDomain\", SINGULAR),\n dataIndex: \"hostname\",\n key: \"hostname\",\n width: \"60%\",\n render: (hostName, customDomain) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Button\n data-cy=\"hostname-button\"\n label={hostName}\n style=\"link\"\n onClick={() => enableManagePane(customDomain)}\n />\n <MoreDropdown\n dropdownButtonProps={{\n \"data-testid\": `nui-dropdown-icon-${customDomain.id}`,\n }}\n dropdownProps={{\n position: \"bottom-end\",\n strategy: \"fixed\",\n autoWidth: true,\n }}\n menuItems={[\n {\n label: t(\"neetoMolecules.common.actions.edit\"),\n onClick: () => enableManagePane(customDomain),\n key: \"edit-custom-domain-button\",\n },\n {\n label: t(\"neetoMolecules.common.actions.delete\"),\n onClick: () => enableDeleteAlert(customDomain),\n key: \"delete-custom-domain\",\n },\n ]}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoMolecules.common.status\"),\n dataIndex: \"status\",\n key: \"status\",\n render: status => <TagBlock {...{ status }} />,\n width: \"40%\",\n },\n];\n\nexport const recordData = customDomain => {\n const { status, hostname, dnsTarget, cnameValidationParams } = customDomain;\n\n const isDomainValidated =\n status === \"active\" || status === \"pending_cname_validation\";\n\n const recordName = isDomainValidated ? hostname : cnameValidationParams?.name;\n\n const recordValue = isDomainValidated\n ? dnsTarget\n : cnameValidationParams?.value;\n\n const recordType = isDomainValidated\n ? t(\"neetoMolecules.customDomain.cname\")\n : t(\"neetoMolecules.customDomain.domainValidationCname\");\n\n const recordDescription = isDomainValidated\n ? t(\"neetoMolecules.customDomain.validation.desc\", {\n record: recordType,\n })\n : t(\"neetoMolecules.customDomain.validation.desc\", {\n record: recordType,\n proxyMessage: t(\"neetoMolecules.customDomain.validation.proxyMessage\"),\n });\n\n const recordNameLabel = t(\"neetoMolecules.customDomain.validation.record\", {\n record: recordType,\n type: t(\"neetoMolecules.common.name\"),\n });\n\n const recordValueLabel = t(\"neetoMolecules.customDomain.validation.record\", {\n record: recordType,\n type: t(\"neetoMolecules.common.value\"),\n });\n\n return {\n recordName,\n recordValue,\n recordDescription,\n recordNameLabel,\n recordValueLabel,\n };\n};\n","import React from \"react\";\n\nimport { capitalize } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Input, Callout, Button } from \"neetoui\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport { HELP_DOC_URL } from \"../constants\";\nimport { recordData } from \"../utils\";\n\nconst Record = ({ customDomain }) => {\n const {\n recordName,\n recordValue,\n recordDescription,\n recordNameLabel,\n recordValueLabel,\n } = recordData(customDomain);\n\n return (\n <div className=\"mt-6 grid gap-4\">\n {customDomain.status !== \"active\" && (\n <Callout style=\"info\">\n <div className=\"flex flex-col space-y-2\">\n <p>{recordDescription}</p>\n <Button\n data-cy=\"custom-domain-help-doc-button\"\n href={HELP_DOC_URL}\n label=\"Read help doc\"\n style=\"link\"\n target=\"#\"\n />\n </div>\n </Callout>\n )}\n <Input\n disabled\n data-cy={joinHyphenCase(recordNameLabel)}\n label={capitalize(recordNameLabel)}\n value={recordName}\n suffix={\n <CopyToClipboardButton size=\"small\" style=\"text\" value={recordName} />\n }\n />\n <Input\n disabled\n data-cy={joinHyphenCase(recordValueLabel)}\n label={capitalize(recordValueLabel)}\n value={recordValue}\n suffix={\n <CopyToClipboardButton\n size=\"small\"\n style=\"text\"\n value={recordValue}\n />\n }\n />\n </div>\n );\n};\n\nexport default React.memo(Record);\n","import React from \"react\";\n\nimport { Trans } from \"react-i18next\";\n\nimport { HELP_DOC_URL } from \"../constants\";\n\nconst StatusInfo = () => (\n <div className=\"space-y-6\">\n <div className=\"neeto-ui-rounded neeto-ui-bg-gray-100 neeto-ui-text-gray-700 space-y-3 p-4\">\n <Trans\n i18nKey=\"neetoMolecules.customDomain.messageBlock.dnsStatus\"\n components={{\n Link: (\n <a\n className=\"neeto-ui-text-primary-800\"\n href={HELP_DOC_URL}\n rel=\"noreferrer\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </div>\n </div>\n);\n\nexport default React.memo(StatusInfo);\n","import axios from \"axios\";\n\nconst getUrlwithId = (url, id) => (id ? `${url}/${id}` : url);\n\nconst fetchCustomDomains = ({ url, params }) => axios.get(url, { params });\n\nconst updateCustomDomain = (url, id) => axios.patch(getUrlwithId(url, id));\n\nconst createCustomDomain = (url, payload) => axios.post(url, payload);\nconst deleteCustomDomain = (url, id) => axios.delete(getUrlwithId(url, id));\n\nconst validateDomain = (url, id) =>\n axios.patch(`${getUrlwithId(url, id)}/validate_domain`);\n\nconst validateCname = (url, id) =>\n axios.patch(`${getUrlwithId(url, id)}/validate_cname`);\n\nconst customDomainApi = {\n createCustomDomain,\n deleteCustomDomain,\n validateDomain,\n fetchCustomDomains,\n validateCname,\n updateCustomDomain,\n};\n\nexport default customDomainApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport useMutationWithInvalidation from \"neetocommons/react-utils/useMutationWithInvalidation\";\n\nimport customDomainApi from \"./api\";\nimport { DOMAIN_QUERY_KEY } from \"./constants\";\n\nconst useCreateCustomDomain = (url, options = {}) =>\n useMutationWithInvalidation(\n payload => customDomainApi.createCustomDomain(url, payload),\n { keysToInvalidate: [[DOMAIN_QUERY_KEY]], ...options }\n );\n\nconst useDeleteCustomDomain = (url, options = {}) =>\n useMutationWithInvalidation(\n id => customDomainApi.deleteCustomDomain(url, id),\n { keysToInvalidate: [[DOMAIN_QUERY_KEY]], ...options }\n );\n\nconst useFetchCustomDomains = params =>\n useQuery({\n queryKey: [DOMAIN_QUERY_KEY, { ...params }],\n queryFn: () => customDomainApi.fetchCustomDomains(params),\n });\n\nconst useValidateDomain = (url, options = {}) =>\n useMutationWithInvalidation(id => customDomainApi.validateDomain(url, id), {\n keysToInvalidate: [[DOMAIN_QUERY_KEY]],\n ...options,\n });\n\nconst useValidateCname = (url, options = {}) =>\n useMutationWithInvalidation(id => customDomainApi.validateCname(url, id), {\n keysToInvalidate: [[DOMAIN_QUERY_KEY]],\n ...options,\n });\n\nconst useUpdateCustomDomain = (url, options = {}) =>\n useMutationWithInvalidation(\n id => customDomainApi.updateCustomDomain(url, id),\n { keysToInvalidate: [[DOMAIN_QUERY_KEY]], ...options }\n );\n\nexport {\n useCreateCustomDomain,\n useDeleteCustomDomain,\n useValidateDomain,\n useFetchCustomDomains,\n useValidateCname,\n useUpdateCustomDomain,\n};\n","import React, { useRef } from \"react\";\n\nimport { Form, Formik } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Label, Pane, Typography, Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { INITIAL_VALUES } from \"./constants\";\nimport DomainEntryField from \"./DomainEntryField\";\nimport Record from \"./Record\";\nimport StatusInfo from \"./StatusInfo\";\nimport TagBlock from \"./TagBlock\";\nimport { getCustomDomainValidationSchema } from \"./utils\";\n\nimport {\n useCreateCustomDomain,\n useValidateDomain,\n useValidateCname,\n useUpdateCustomDomain,\n} from \"../useCustomDomainApi\";\n\nconst Manage = ({\n isOpen,\n onClose,\n customDomain,\n setCustomDomain,\n url,\n hasOne,\n onCreate,\n}) => {\n const { t } = useTranslation();\n const initialFocusRef = useRef(null);\n\n const customDomainId = hasOne ? null : customDomain?.id;\n\n const { mutate: createCustomDomain, isPending: isCreating } =\n useCreateCustomDomain(url);\n\n const { mutate: validateDomain, isPending: isValidating } =\n useValidateDomain(url);\n\n const { mutate: validateCname, isPending: isCnameValidating } =\n useValidateCname(url);\n\n const { mutate: updateCustomDomain, isPending: isUpdating } =\n useUpdateCustomDomain(url);\n\n const getHostname = url => {\n try {\n const parsedUrl = new URL(url);\n\n return parsedUrl.hostname;\n } catch {\n return url;\n }\n };\n\n const handleSubmit = ({ hostname }) => {\n const parsedHostname = getHostname(hostname);\n const payload = { hostname: parsedHostname };\n\n createCustomDomain(payload, {\n onSuccess: values => {\n setCustomDomain(values);\n onCreate?.(values);\n },\n });\n };\n\n const handleValidateDomain = () =>\n validateDomain(customDomainId, {\n onSuccess: values => setCustomDomain(values),\n });\n\n const handleValidateCname = () => {\n validateCname(customDomainId, {\n onSuccess: data => setCustomDomain(data),\n });\n };\n\n const handleUpdateCname = () => {\n updateCustomDomain(customDomainId, {\n onSuccess: data => setCustomDomain(data),\n });\n };\n\n return (\n <Pane {...{ initialFocusRef, isOpen, onClose }}>\n <Formik\n enableReinitialize\n initialValues={customDomain || INITIAL_VALUES}\n validationSchema={getCustomDomainValidationSchema()}\n onSubmit={handleSubmit}\n >\n {({ dirty }) => (\n <Form>\n <Pane.Header>\n <Typography\n data-cy=\"add-custom-domain-pane-heading\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {isNotEmpty(customDomain)\n ? t(\"neetoMolecules.customDomain.edit\")\n : t(\"neetoMolecules.customDomain.addNew\")}\n </Typography>\n </Pane.Header>\n <Pane.Body hasFooter={false}>\n <div className=\"w-full space-y-6\">\n {isNotEmpty(customDomain) && (\n <TagBlock\n {...{ handleValidateCname }}\n stacked\n isCnameRecordsAdded={customDomain.addedCnameAt}\n status={customDomain.status}\n />\n )}\n <div className=\"space-y-2\">\n <Label required htmlFor=\"hostname\">\n {t(\"neetoMolecules.customDomain.label\")}\n </Label>\n <DomainEntryField\n {...{\n customDomain,\n dirty,\n initialFocusRef,\n isCreating,\n }}\n name=\"hostname\"\n onSubmit={handleSubmit}\n />\n </div>\n {isNotEmpty(customDomain) && (\n <>\n <Record {...{ customDomain }} />\n {customDomain.status === \"pending_domain_validation\" && (\n <Button\n data-cy=\"validate-domain-button\"\n disabled={isValidating}\n loading={isValidating}\n label={t(\n \"neetoMolecules.customDomain.validation.buttonLabel.domain\"\n )}\n onClick={handleValidateDomain}\n />\n )}\n {customDomain.status === \"pending_cname_validation\" && (\n <Button\n data-cy=\"validate-cname-record-button\"\n loading={isCnameValidating || isUpdating}\n label={t(\n \"neetoMolecules.customDomain.validation.buttonLabel.cnameAdded\"\n )}\n onClick={handleUpdateCname}\n />\n )}\n <StatusInfo />\n </>\n )}\n </div>\n </Pane.Body>\n </Form>\n )}\n </Formik>\n </Pane>\n );\n};\n\nexport default Manage;\n"],"names":["DeleteAlert","_ref","onClose","onSubmit","isOpen","isSubmitting","hostname","_useTranslation","useTranslation","t","React","createElement","Alert","cancelButtonLabel","submitButtonLabel","title","message","Trans","i18nKey","values","HOSTNAME_REGEX","INITIAL_VALUES","getCustomDomainValidationSchema","Yup","object","shape","string","required","matches","mergeRefs","_len","arguments","length","refs","Array","_key","node","forEach","ref","current","DomainEntryField","customDomain","initialFocusRef","dirty","isCreating","name","_useFormikContext","useFormikContext","_useField","useField","_useField2","_slicedToArray","_useField2$","error","touched","setTouched","handleSubmit","inputRef","useHotKeys","mode","className","Input","disabled","isNotEmpty","placeholder","Button","icon","Check","loading","style","type","DOMAIN_QUERY_KEY","HELP_DOC_URL","concat","globalProps","appName","toLowerCase","TagBlock","status","_ref$stacked","stacked","isDomainValidated","camelCasedStatus","snakeToCamelCase","classnames","Tag","indicatorStyle","label","Fragment","hyphenize","memo","renderColumnData","enableManagePane","enableDeleteAlert","SINGULAR","dataIndex","key","width","render","hostName","onClick","MoreDropdown","dropdownButtonProps","id","dropdownProps","position","strategy","autoWidth","menuItems","recordData","dnsTarget","cnameValidationParams","recordName","recordValue","value","recordType","recordDescription","record","proxyMessage","recordNameLabel","recordValueLabel","Record","_recordData","Callout","href","target","joinHyphenCase","capitalize","suffix","CopyToClipboardButton","size","StatusInfo","components","Link","rel","getUrlwithId","url","fetchCustomDomains","params","axios","get","updateCustomDomain","patch","createCustomDomain","payload","post","deleteCustomDomain","validateDomain","validateCname","customDomainApi","useCreateCustomDomain","options","undefined","useMutationWithInvalidation","_objectSpread","keysToInvalidate","useDeleteCustomDomain","useFetchCustomDomains","useQuery","queryKey","queryFn","useValidateDomain","useValidateCname","useUpdateCustomDomain","Manage","setCustomDomain","hasOne","onCreate","useRef","customDomainId","_useCreateCustomDomai","mutate","isPending","_useValidateDomain","isValidating","_useValidateCname","isCnameValidating","_useUpdateCustomDomai","isUpdating","getHostname","parsedUrl","URL","_unused","_ref2","parsedHostname","onSuccess","handleValidateDomain","handleValidateCname","data","handleUpdateCname","Pane","Formik","enableReinitialize","initialValues","validationSchema","_ref3","Form","Header","Typography","weight","Body","hasFooter","isCnameRecordsAdded","addedCnameAt","Label","htmlFor"],"mappings":"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"}