@bigbinary/neeto-seo-frontend 3.0.13 → 3.0.16

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.
@@ -0,0 +1,115 @@
1
+ 'use strict';
2
+
3
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
4
+ var react = require('react');
5
+ var neetoAtoms = require('@bigbinary/neeto-atoms');
6
+ var CardLayout = require('@bigbinary/neeto-molecules/v2/CardLayout');
7
+ var Container = require('@bigbinary/neeto-molecules/v2/Container');
8
+ var reactI18next = require('react-i18next');
9
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/v2/react-utils');
10
+ var NeetoHeader = require('@bigbinary/neeto-molecules/v2/Header');
11
+ var jsxRuntime = require('react/jsx-runtime');
12
+ var v2_SeoSettingsPane = require('./SeoSettingsPane.js');
13
+ require('@bigbinary/neeto-atoms/formik');
14
+ require('@bigbinary/neeto-molecules/v2/PageLoader');
15
+ require('ramda');
16
+ require('../../useSeoSettingsApi-CDihidUg.js');
17
+ require('@babel/runtime/helpers/defineProperty');
18
+ require('@tanstack/react-query');
19
+ require('@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation');
20
+ require('axios');
21
+ require('i18next');
22
+ require('yup');
23
+ require('@bigbinary/neeto-image-uploader-frontend/v2/ImageUploader');
24
+ require('formik');
25
+ require('@bigbinary/neeto-molecules/v2/HelpPopover');
26
+ require('@bigbinary/neeto-cist');
27
+
28
+ var Header = reactUtils.withT(function (_ref) {
29
+ var t = _ref.t,
30
+ breadcrumbs = _ref.breadcrumbs,
31
+ helpDocUrl = _ref.helpDocUrl,
32
+ _ref$helpPopoverDescr = _ref.helpPopoverDescription,
33
+ helpPopoverDescription = _ref$helpPopoverDescr === void 0 ? "" : _ref$helpPopoverDescr;
34
+ return /*#__PURE__*/jsxRuntime.jsx(NeetoHeader, {
35
+ breadcrumbs: breadcrumbs,
36
+ size: "small",
37
+ title: t("neetoSeo.title"),
38
+ titleHelpPopoverProps: {
39
+ title: t("neetoSeo.title"),
40
+ description: helpPopoverDescription || t("neetoSeo.helpPopovers.seo"),
41
+ helpLinkProps: {
42
+ href: helpDocUrl
43
+ }
44
+ }
45
+ });
46
+ });
47
+ var Header$1 = /*#__PURE__*/react.memo(Header);
48
+
49
+ var Page = function Page(_ref) {
50
+ var breadcrumbs = _ref.breadcrumbs,
51
+ helpDocUrl = _ref.helpDocUrl,
52
+ entity = _ref.entity,
53
+ seoFormFields = _ref.seoFormFields,
54
+ apiEndpointUrl = _ref.apiEndpointUrl,
55
+ _ref$helpPopoverDescr = _ref.helpPopoverDescription,
56
+ helpPopoverDescription = _ref$helpPopoverDescr === void 0 ? "" : _ref$helpPopoverDescr,
57
+ _ref$additionalCompon = _ref.additionalComponent,
58
+ additionalComponent = _ref$additionalCompon === void 0 ? null : _ref$additionalCompon;
59
+ var _useTranslation = reactI18next.useTranslation(),
60
+ t = _useTranslation.t;
61
+ var _useState = react.useState(false),
62
+ _useState2 = _slicedToArray(_useState, 2),
63
+ isPaneOpen = _useState2[0],
64
+ setIsPaneOpen = _useState2[1];
65
+ var openPane = function openPane() {
66
+ return setIsPaneOpen(true);
67
+ };
68
+ var closePane = function closePane() {
69
+ return setIsPaneOpen(false);
70
+ };
71
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
72
+ children: [/*#__PURE__*/jsxRuntime.jsxs(Container, {
73
+ children: [/*#__PURE__*/jsxRuntime.jsx(Header$1, {
74
+ breadcrumbs: breadcrumbs,
75
+ helpDocUrl: helpDocUrl,
76
+ helpPopoverDescription: helpPopoverDescription
77
+ }), /*#__PURE__*/jsxRuntime.jsx(CardLayout, {
78
+ title: t("neetoSeo.manageSeoSettings"),
79
+ actionBlock: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
80
+ "data-testid": "neeto-seo-configure-button",
81
+ label: t("neetoSeo.buttons.configure"),
82
+ onClick: openPane
83
+ }),
84
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
85
+ "data-testid": "neeto-seo-help-text",
86
+ variant: "body1",
87
+ children: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
88
+ i18nKey: "neetoSeo.readHelpArticle",
89
+ components: {
90
+ Link: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
91
+ "data-testid": "neeto-seo-read-help-article-button",
92
+ href: helpDocUrl,
93
+ rel: "noreferrer",
94
+ size: "lg",
95
+ target: "_blank",
96
+ variant: "link"
97
+ })
98
+ }
99
+ })
100
+ })
101
+ })]
102
+ }), /*#__PURE__*/jsxRuntime.jsx(v2_SeoSettingsPane, {
103
+ additionalComponent: additionalComponent,
104
+ apiEndpointUrl: apiEndpointUrl,
105
+ entity: entity,
106
+ seoFormFields: seoFormFields,
107
+ defaultHelpDocUrl: helpDocUrl,
108
+ isOpen: isPaneOpen,
109
+ onClose: closePane
110
+ })]
111
+ });
112
+ };
113
+
114
+ module.exports = Page;
115
+ //# sourceMappingURL=SeoSettingsPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SeoSettingsPage.js","sources":["../../../app/javascript/src/v2/components/SeoSettings/Header.jsx","../../../app/javascript/src/v2/components/SeoSettings/Page.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport NeetoHeader from \"neetomolecules/v2/Header\";\n\nconst Header = withT(\n ({ t, breadcrumbs, helpDocUrl, helpPopoverDescription = \"\" }) => (\n <NeetoHeader\n {...{ breadcrumbs }}\n size=\"small\"\n title={t(\"neetoSeo.title\")}\n titleHelpPopoverProps={{\n title: t(\"neetoSeo.title\"),\n description: helpPopoverDescription || t(\"neetoSeo.helpPopovers.seo\"),\n helpLinkProps: { href: helpDocUrl },\n }}\n />\n )\n);\n\nexport default memo(Header);\n","import { useState } from \"react\";\n\nimport { Typography, Button } from \"@bigbinary/neeto-atoms\";\nimport CardLayout from \"neetomolecules/v2/CardLayout\";\nimport Container from \"neetomolecules/v2/Container\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport Header from \"./Header\";\nimport Pane from \"./Pane\";\n\nconst Page = ({\n breadcrumbs,\n helpDocUrl,\n entity,\n seoFormFields,\n apiEndpointUrl,\n helpPopoverDescription = \"\",\n additionalComponent = null,\n}) => {\n const { t } = useTranslation();\n\n const [isPaneOpen, setIsPaneOpen] = useState(false);\n\n const openPane = () => setIsPaneOpen(true);\n const closePane = () => setIsPaneOpen(false);\n\n return (\n <>\n <Container>\n <Header {...{ breadcrumbs, helpDocUrl, helpPopoverDescription }} />\n <CardLayout\n title={t(\"neetoSeo.manageSeoSettings\")}\n actionBlock={\n <Button\n data-testid=\"neeto-seo-configure-button\"\n label={t(\"neetoSeo.buttons.configure\")}\n onClick={openPane}\n />\n }\n >\n <Typography data-testid=\"neeto-seo-help-text\" variant=\"body1\">\n <Trans\n i18nKey=\"neetoSeo.readHelpArticle\"\n components={{\n Link: (\n <Button\n data-testid=\"neeto-seo-read-help-article-button\"\n href={helpDocUrl}\n rel=\"noreferrer\"\n size=\"lg\"\n target=\"_blank\"\n variant=\"link\"\n />\n ),\n }}\n />\n </Typography>\n </CardLayout>\n </Container>\n <Pane\n {...{ additionalComponent, apiEndpointUrl, entity, seoFormFields }}\n defaultHelpDocUrl={helpDocUrl}\n isOpen={isPaneOpen}\n onClose={closePane}\n />\n </>\n );\n};\n\nexport default Page;\n"],"names":["Header","withT","_ref","t","breadcrumbs","helpDocUrl","_ref$helpPopoverDescr","helpPopoverDescription","_jsx","NeetoHeader","size","title","titleHelpPopoverProps","description","helpLinkProps","href","memo","Page","entity","seoFormFields","apiEndpointUrl","_ref$additionalCompon","additionalComponent","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","isPaneOpen","setIsPaneOpen","openPane","closePane","_jsxs","_Fragment","children","Container","CardLayout","actionBlock","Button","label","onClick","Typography","variant","Trans","i18nKey","components","Link","rel","target","Pane","defaultHelpDocUrl","isOpen","onClose"],"mappings":"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"}
@@ -0,0 +1,392 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var neetoAtoms = require('@bigbinary/neeto-atoms');
5
+ var formik$1 = require('@bigbinary/neeto-atoms/formik');
6
+ var PageLoader = require('@bigbinary/neeto-molecules/v2/PageLoader');
7
+ var ramda = require('ramda');
8
+ var reactI18next = require('react-i18next');
9
+ var useSeoSettingsApi = require('../../useSeoSettingsApi-CDihidUg.js');
10
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
11
+ var i18next = require('i18next');
12
+ var yup = require('yup');
13
+ var ImageUploader = require('@bigbinary/neeto-image-uploader-frontend/v2/ImageUploader');
14
+ var formik = require('formik');
15
+ var HelpPopover = require('@bigbinary/neeto-molecules/v2/HelpPopover');
16
+ var jsxRuntime = require('react/jsx-runtime');
17
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
18
+ var reactUtils = require('@bigbinary/neeto-commons-frontend/v2/react-utils');
19
+ var neetoCist = require('@bigbinary/neeto-cist');
20
+ require('@tanstack/react-query');
21
+ require('@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation');
22
+ require('axios');
23
+
24
+ function _interopNamespaceDefault(e) {
25
+ var n = Object.create(null);
26
+ if (e) {
27
+ Object.keys(e).forEach(function (k) {
28
+ if (k !== 'default') {
29
+ var d = Object.getOwnPropertyDescriptor(e, k);
30
+ Object.defineProperty(n, k, d.get ? d : {
31
+ enumerable: true,
32
+ get: function () { return e[k]; }
33
+ });
34
+ }
35
+ });
36
+ }
37
+ n.default = e;
38
+ return Object.freeze(n);
39
+ }
40
+
41
+ var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
42
+
43
+ var CoverImage = function CoverImage(_ref) {
44
+ var popOverDescription = _ref.popOverDescription,
45
+ helpDocUrl = _ref.helpDocUrl,
46
+ defaultHelpDocUrl = _ref.defaultHelpDocUrl;
47
+ var _useTranslation = reactI18next.useTranslation(),
48
+ t = _useTranslation.t;
49
+ var _useFormikContext = formik.useFormikContext(),
50
+ values = _useFormikContext.values,
51
+ setFieldValue = _useFormikContext.setFieldValue;
52
+ var onImageUploadComplete = function onImageUploadComplete(_ref2) {
53
+ var signedId = _ref2.signedId,
54
+ url = _ref2.url;
55
+ setFieldValue("coverImage", signedId);
56
+ setFieldValue("coverImageUrl", url);
57
+ };
58
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
59
+ className: "space-y-2",
60
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
61
+ className: "flex items-center space-x-2",
62
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Label, {
63
+ children: t("neetoSeo.labels.coverImage")
64
+ }), /*#__PURE__*/jsxRuntime.jsx(HelpPopover, {
65
+ helpLinkProps: {
66
+ href: helpDocUrl || defaultHelpDocUrl
67
+ },
68
+ description: popOverDescription || t("neetoSeo.helpPopovers.coverImage")
69
+ })]
70
+ }), /*#__PURE__*/jsxRuntime.jsx(ImageUploader, {
71
+ className: "h-56",
72
+ defaultImageSize: {
73
+ width: 1200,
74
+ height: 628
75
+ },
76
+ fixedAspectRatio: {
77
+ width: 1.91,
78
+ height: 1
79
+ },
80
+ src: values.coverImageUrl,
81
+ onUploadComplete: onImageUploadComplete
82
+ })]
83
+ });
84
+ };
85
+
86
+ var GoogleAnalyticsTracking = function GoogleAnalyticsTracking(_ref) {
87
+ var helpDocUrl = _ref.helpDocUrl,
88
+ popOverDescription = _ref.popOverDescription,
89
+ entity = _ref.entity,
90
+ defaultHelpDocUrl = _ref.defaultHelpDocUrl,
91
+ seoSetting = _ref.seoSetting;
92
+ var _useTranslation = reactI18next.useTranslation(),
93
+ t = _useTranslation.t;
94
+ var _useState = react.useState(!!(seoSetting !== null && seoSetting !== void 0 && seoSetting.googleAnalyticsTrackingId)),
95
+ _useState2 = _slicedToArray(_useState, 2),
96
+ googleAnalyticsEnabled = _useState2[0],
97
+ setGoogleAnalyticsEnabled = _useState2[1];
98
+ var _useFormikContext = formik.useFormikContext(),
99
+ setFieldValue = _useFormikContext.setFieldValue;
100
+ var handleSwitchChange = function handleSwitchChange() {
101
+ setGoogleAnalyticsEnabled(!googleAnalyticsEnabled);
102
+ setFieldValue("googleAnalyticsEnabled", !googleAnalyticsEnabled);
103
+ setFieldValue("googleAnalyticsTrackingId", "");
104
+ };
105
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
106
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
107
+ className: "flex items-center space-x-2",
108
+ children: [/*#__PURE__*/jsxRuntime.jsx(formik$1.Switch, {
109
+ checked: googleAnalyticsEnabled,
110
+ label: t("neetoSeo.labels.googleAnalytics"),
111
+ name: "googleAnalyticsEnabled",
112
+ onChange: handleSwitchChange
113
+ }), /*#__PURE__*/jsxRuntime.jsx(HelpPopover, {
114
+ helpLinkProps: {
115
+ href: helpDocUrl || defaultHelpDocUrl
116
+ },
117
+ description: popOverDescription || t("neetoSeo.helpPopovers.googleAnalytics", {
118
+ entity: entity
119
+ })
120
+ })]
121
+ }), googleAnalyticsEnabled && /*#__PURE__*/jsxRuntime.jsx(formik$1.Input, {
122
+ className: "mt-4",
123
+ name: "googleAnalyticsTrackingId",
124
+ placeholder: t("neetoSeo.placeholders.googleAnalyticsTrackingId")
125
+ })]
126
+ });
127
+ };
128
+
129
+ var Input = reactUtils.withT(function (_ref) {
130
+ var t = _ref.t,
131
+ name = _ref.name,
132
+ helpDocUrl = _ref.helpDocUrl,
133
+ popOverDescription = _ref.popOverDescription,
134
+ entity = _ref.entity,
135
+ defaultHelpDocUrl = _ref.defaultHelpDocUrl,
136
+ altLabel = _ref.altLabel,
137
+ altPlaceholder = _ref.altPlaceholder,
138
+ maxLength = _ref.maxLength;
139
+ return /*#__PURE__*/jsxRuntime.jsx(formik$1.Input, {
140
+ name: name,
141
+ label: altLabel || t("neetoSeo.labels.".concat(name), {
142
+ entity: entity
143
+ }),
144
+ maxLength: maxLength || 160,
145
+ unlimitedChars: false,
146
+ labelProps: {
147
+ helpIconProps: {
148
+ "data-testid": "help-popover-button",
149
+ popoverProps: {
150
+ description: popOverDescription || t("neetoSeo.helpPopovers.".concat(name)),
151
+ helpLinkProps: {
152
+ label: t("neetoSeo.labels.viewHelpArticle"),
153
+ href: helpDocUrl || defaultHelpDocUrl
154
+ }
155
+ }
156
+ }
157
+ },
158
+ placeholder: altPlaceholder || t("neetoSeo.placeholders.".concat(name), {
159
+ entity: entity
160
+ })
161
+ });
162
+ });
163
+
164
+ var Switch = reactUtils.withT(function (_ref) {
165
+ var t = _ref.t,
166
+ name = _ref.name,
167
+ entity = _ref.entity,
168
+ altLabel = _ref.altLabel,
169
+ helpDocUrl = _ref.helpDocUrl,
170
+ defaultHelpDocUrl = _ref.defaultHelpDocUrl,
171
+ popOverDescription = _ref.popOverDescription;
172
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
173
+ className: "flex items-center space-x-2",
174
+ children: [/*#__PURE__*/jsxRuntime.jsx(formik$1.Switch, {
175
+ name: name,
176
+ label: altLabel || t("neetoSeo.labels.".concat(name), {
177
+ entity: entity
178
+ })
179
+ }), /*#__PURE__*/jsxRuntime.jsx(HelpPopover, {
180
+ helpLinkProps: {
181
+ href: helpDocUrl || defaultHelpDocUrl
182
+ },
183
+ description: popOverDescription || t("neetoSeo.helpPopovers.allowSearchEngineCrawl")
184
+ })]
185
+ });
186
+ });
187
+
188
+ var populateKeywords = function populateKeywords(keywords) {
189
+ return keywords === null || keywords === void 0 ? void 0 : keywords.map(function (keyword) {
190
+ return keyword === null || keyword === void 0 ? void 0 : keyword.trim();
191
+ }).join(", ");
192
+ };
193
+ var extractKeywords = function extractKeywords(stringOfKeywords) {
194
+ return stringOfKeywords === null || stringOfKeywords === void 0 ? void 0 : stringOfKeywords.split(",").map(ramda.trim).filter(neetoCist.isNot(""));
195
+ };
196
+
197
+ var Textarea = function Textarea(_ref) {
198
+ var name = _ref.name,
199
+ helpDocUrl = _ref.helpDocUrl,
200
+ popOverDescription = _ref.popOverDescription,
201
+ entity = _ref.entity,
202
+ defaultHelpDocUrl = _ref.defaultHelpDocUrl,
203
+ altLabel = _ref.altLabel,
204
+ altPlaceholder = _ref.altPlaceholder,
205
+ maxLength = _ref.maxLength,
206
+ seoSetting = _ref.seoSetting;
207
+ var _useTranslation = reactI18next.useTranslation(),
208
+ t = _useTranslation.t;
209
+ var _useState = react.useState(populateKeywords(seoSetting.keywords)),
210
+ _useState2 = _slicedToArray(_useState, 2),
211
+ keywordString = _useState2[0],
212
+ setKeywordString = _useState2[1];
213
+ var _useFormikContext = formik.useFormikContext(),
214
+ setFieldValue = _useFormikContext.setFieldValue,
215
+ values = _useFormikContext.values;
216
+ var handleChangeKeyword = function handleChangeKeyword(event) {
217
+ var string = event.target.value;
218
+ setKeywordString(string);
219
+ if (name === SEO_FIELDS.KEYWORDS) {
220
+ var newKeywords = extractKeywords(string);
221
+ setFieldValue(name, newKeywords);
222
+ } else {
223
+ setFieldValue(name, string);
224
+ }
225
+ };
226
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
227
+ children: [/*#__PURE__*/jsxRuntime.jsx(formik$1.Textarea, {
228
+ name: name,
229
+ label: altLabel || t("neetoSeo.labels.".concat(name)),
230
+ maxLength: maxLength || 150,
231
+ placeholder: altPlaceholder || t("neetoSeo.placeholders.".concat(name)),
232
+ value: name === SEO_FIELDS.KEYWORDS ? keywordString : values[name],
233
+ labelProps: {
234
+ helpIconProps: {
235
+ "data-testid": "help-popover-button",
236
+ popoverProps: {
237
+ description: popOverDescription || t("neetoSeo.helpPopovers.".concat(name), {
238
+ entity: entity
239
+ }),
240
+ helpLinkProps: {
241
+ label: t("neetoSeo.labels.viewHelpArticle"),
242
+ href: helpDocUrl || defaultHelpDocUrl
243
+ }
244
+ }
245
+ }
246
+ },
247
+ onChange: handleChangeKeyword
248
+ }), name === SEO_FIELDS.KEYWORDS && /*#__PURE__*/jsxRuntime.jsx("span", {
249
+ className: "text-muted-foreground text-xs leading-tight",
250
+ children: t("neetoSeo.subLabels.keywords")
251
+ })]
252
+ });
253
+ };
254
+
255
+ var GOOGLE_ANALYTICS_TRACKING_ID_REGEX = /^((UA|YT|MO)-\d+-\d+)$|^(G-[a-zA-Z0-9]+)$/i;
256
+ var SEO_FIELDS = {
257
+ TITLE: "title",
258
+ TITLE_SUFFIX: "titleSuffix",
259
+ DESCRIPTION: "description",
260
+ KEYWORDS: "keywords",
261
+ ALLOW_SEARCH_ENGINE_CRAWL: "allowSearchEngineCrawl",
262
+ GOOGLE_ANALYTICS_TRACKING_ID: "googleAnalyticsTrackingId",
263
+ COVER_IMAGE: "coverImage"
264
+ };
265
+ var SEO_FIELDS_COMPONENT = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, SEO_FIELDS.TITLE, Input), SEO_FIELDS.TITLE_SUFFIX, Input), SEO_FIELDS.DESCRIPTION, Textarea), SEO_FIELDS.KEYWORDS, Textarea), SEO_FIELDS.ALLOW_SEARCH_ENGINE_CRAWL, Switch), SEO_FIELDS.GOOGLE_ANALYTICS_TRACKING_ID, GoogleAnalyticsTracking), SEO_FIELDS.COVER_IMAGE, CoverImage);
266
+ var SEO_SETTINGS_INITIAL_VALUES = {
267
+ title: "",
268
+ titleSuffix: "",
269
+ description: "",
270
+ keywords: [],
271
+ allowSearchEngineCrawl: false,
272
+ googleAnalyticsTrackingId: ""
273
+ };
274
+ var SEO_SETTINGS_VALIDATION_SCHEMA = yup__namespace.object().shape({
275
+ googleAnalyticsTrackingId: yup__namespace.string().when("googleAnalyticsEnabled", {
276
+ is: true,
277
+ then: yup__namespace.string().trim().required(i18next.t("neetoSeo.validations.required", {
278
+ what: i18next.t("neetoSeo.labels.googleAnalyticsTrackingId")
279
+ })).matches(GOOGLE_ANALYTICS_TRACKING_ID_REGEX, i18next.t("neetoSeo.validations.valid", {
280
+ what: i18next.t("neetoSeo.labels.googleAnalyticsTrackingId")
281
+ })),
282
+ otherwise: yup__namespace.string().nullable()
283
+ })
284
+ });
285
+
286
+ var Pane = function Pane(_ref) {
287
+ var apiEndpointUrl = _ref.apiEndpointUrl,
288
+ isOpen = _ref.isOpen,
289
+ onClose = _ref.onClose,
290
+ entity = _ref.entity,
291
+ defaultHelpDocUrl = _ref.defaultHelpDocUrl,
292
+ seoFormFields = _ref.seoFormFields,
293
+ _ref$additionalCompon = _ref.additionalComponent,
294
+ additionalComponent = _ref$additionalCompon === void 0 ? null : _ref$additionalCompon;
295
+ var _useTranslation = reactI18next.useTranslation(),
296
+ t = _useTranslation.t;
297
+ var _useFetchSeoSettings = useSeoSettingsApi.useFetchSeoSettings(apiEndpointUrl, {
298
+ enabled: isOpen
299
+ }),
300
+ _useFetchSeoSettings$ = _useFetchSeoSettings.data,
301
+ seoSetting = _useFetchSeoSettings$ === void 0 ? {} : _useFetchSeoSettings$,
302
+ isLoading = _useFetchSeoSettings.isLoading,
303
+ refetch = _useFetchSeoSettings.refetch;
304
+ react.useEffect(function () {
305
+ if (isOpen) {
306
+ refetch();
307
+ }
308
+ }, [isOpen, refetch]);
309
+ var _useUpdateSeoSettings = useSeoSettingsApi.useUpdateSeoSettings(apiEndpointUrl, {
310
+ onSuccess: onClose
311
+ }),
312
+ updateSeoSettings = _useUpdateSeoSettings.mutate;
313
+ var handleSubmit = function handleSubmit(values) {
314
+ var payload = ramda.omit(["googleAnalyticsEnabled"], values);
315
+ updateSeoSettings({
316
+ url: apiEndpointUrl,
317
+ payload: payload
318
+ });
319
+ };
320
+ if (isLoading) {
321
+ return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet, {
322
+ isOpen: isOpen,
323
+ onClose: onClose,
324
+ children: /*#__PURE__*/jsxRuntime.jsx("div", {
325
+ className: "flex h-screen w-full items-center justify-center",
326
+ children: /*#__PURE__*/jsxRuntime.jsx(PageLoader, {})
327
+ })
328
+ });
329
+ }
330
+ return /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Sheet, {
331
+ isOpen: isOpen,
332
+ onClose: onClose,
333
+ children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Header, {
334
+ className: "space-y-2",
335
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Title, {
336
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
337
+ variant: "h2",
338
+ children: t("neetoSeo.title")
339
+ })
340
+ })
341
+ }), /*#__PURE__*/jsxRuntime.jsxs(formik$1.Form, {
342
+ className: "w-full",
343
+ formikProps: {
344
+ enableReinitialize: true,
345
+ initialValues: seoSetting || SEO_SETTINGS_INITIAL_VALUES,
346
+ validationSchema: SEO_SETTINGS_VALIDATION_SCHEMA,
347
+ onSubmit: handleSubmit
348
+ },
349
+ children: [/*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Sheet.Body, {
350
+ className: "pb-6",
351
+ children: [seoFormFields.map(function (_ref2) {
352
+ var name = _ref2.name,
353
+ helpDocUrl = _ref2.helpDocUrl,
354
+ popOverDescription = _ref2.popOverDescription,
355
+ altLabel = _ref2.altLabel,
356
+ altPlaceholder = _ref2.altPlaceholder,
357
+ maxLength = _ref2.maxLength;
358
+ var FieldComponent = SEO_FIELDS_COMPONENT[name];
359
+ if (!FieldComponent) {
360
+ return null;
361
+ }
362
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
363
+ className: "mt-4 w-full",
364
+ children: /*#__PURE__*/jsxRuntime.jsx(FieldComponent, {
365
+ altLabel: altLabel,
366
+ altPlaceholder: altPlaceholder,
367
+ defaultHelpDocUrl: defaultHelpDocUrl,
368
+ entity: entity,
369
+ helpDocUrl: helpDocUrl,
370
+ maxLength: maxLength,
371
+ name: name,
372
+ popOverDescription: popOverDescription,
373
+ seoSetting: seoSetting
374
+ })
375
+ }, name);
376
+ }), /*#__PURE__*/jsxRuntime.jsx("div", {
377
+ className: "mt-4 w-full",
378
+ children: additionalComponent
379
+ })]
380
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Sheet.Footer, {
381
+ children: /*#__PURE__*/jsxRuntime.jsx(formik$1.ActionBlock, {
382
+ cancelButtonProps: {
383
+ onClick: onClose
384
+ }
385
+ })
386
+ })]
387
+ })]
388
+ });
389
+ };
390
+
391
+ module.exports = Pane;
392
+ //# sourceMappingURL=SeoSettingsPane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SeoSettingsPane.js","sources":["../../../app/javascript/src/v2/components/SeoSettings/Pane/CoverImage.jsx","../../../app/javascript/src/v2/components/SeoSettings/Pane/GoogleAnalyticsTracking.jsx","../../../app/javascript/src/v2/components/SeoSettings/Pane/Input.jsx","../../../app/javascript/src/v2/components/SeoSettings/Pane/Switch.jsx","../../../app/javascript/src/v2/components/SeoSettings/Pane/utils.js","../../../app/javascript/src/v2/components/SeoSettings/Pane/Textarea.jsx","../../../app/javascript/src/v2/components/SeoSettings/Pane/constants.js","../../../app/javascript/src/v2/components/SeoSettings/Pane/index.jsx"],"sourcesContent":["import { Label } from \"@bigbinary/neeto-atoms\";\n// eslint-disable-next-line @bigbinary/neeto/use-webpack-alias\nimport { ImageUploader } from \"@bigbinary/neeto-image-uploader-frontend/v2\";\nimport { useFormikContext } from \"formik\";\nimport HelpPopover from \"neetomolecules/v2/HelpPopover\";\nimport { useTranslation } from \"react-i18next\";\n\nconst CoverImage = ({ popOverDescription, helpDocUrl, defaultHelpDocUrl }) => {\n const { t } = useTranslation();\n const { values, setFieldValue } = useFormikContext();\n\n const onImageUploadComplete = ({ signedId, url }) => {\n setFieldValue(\"coverImage\", signedId);\n setFieldValue(\"coverImageUrl\", url);\n };\n\n return (\n <div className=\"space-y-2\">\n <div className=\"flex items-center space-x-2\">\n <Label>{t(\"neetoSeo.labels.coverImage\")}</Label>\n <HelpPopover\n helpLinkProps={{ href: helpDocUrl || defaultHelpDocUrl }}\n description={\n popOverDescription || t(\"neetoSeo.helpPopovers.coverImage\")\n }\n />\n </div>\n <ImageUploader\n className=\"h-56\"\n defaultImageSize={{ width: 1200, height: 628 }}\n fixedAspectRatio={{ width: 1.91, height: 1 }}\n src={values.coverImageUrl}\n onUploadComplete={onImageUploadComplete}\n />\n </div>\n );\n};\n\nexport default CoverImage;\n","import { useState } from \"react\";\n\nimport { Switch, Input } from \"@bigbinary/neeto-atoms/formik\";\nimport { useFormikContext } from \"formik\";\nimport HelpPopover from \"neetomolecules/v2/HelpPopover\";\nimport { useTranslation } from \"react-i18next\";\n\nconst GoogleAnalyticsTracking = ({\n helpDocUrl,\n popOverDescription,\n entity,\n defaultHelpDocUrl,\n seoSetting,\n}) => {\n const { t } = useTranslation();\n\n const [googleAnalyticsEnabled, setGoogleAnalyticsEnabled] = useState(\n !!seoSetting?.googleAnalyticsTrackingId\n );\n\n const { setFieldValue } = useFormikContext();\n\n const handleSwitchChange = () => {\n setGoogleAnalyticsEnabled(!googleAnalyticsEnabled);\n setFieldValue(\"googleAnalyticsEnabled\", !googleAnalyticsEnabled);\n setFieldValue(\"googleAnalyticsTrackingId\", \"\");\n };\n\n return (\n <>\n <div className=\"flex items-center space-x-2\">\n <Switch\n checked={googleAnalyticsEnabled}\n label={t(\"neetoSeo.labels.googleAnalytics\")}\n name=\"googleAnalyticsEnabled\"\n onChange={handleSwitchChange}\n />\n <HelpPopover\n helpLinkProps={{ href: helpDocUrl || defaultHelpDocUrl }}\n description={\n popOverDescription ||\n t(\"neetoSeo.helpPopovers.googleAnalytics\", { entity })\n }\n />\n </div>\n {googleAnalyticsEnabled && (\n <Input\n className=\"mt-4\"\n name=\"googleAnalyticsTrackingId\"\n placeholder={t(\"neetoSeo.placeholders.googleAnalyticsTrackingId\")}\n />\n )}\n </>\n );\n};\n\nexport default GoogleAnalyticsTracking;\n","import { Input as NeetoUIInput } from \"@bigbinary/neeto-atoms/formik\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nconst Input = withT(\n ({\n t,\n name,\n helpDocUrl,\n popOverDescription,\n entity,\n defaultHelpDocUrl,\n altLabel,\n altPlaceholder,\n maxLength,\n }) => (\n <NeetoUIInput\n {...{ name }}\n label={altLabel || t(`neetoSeo.labels.${name}`, { entity })}\n maxLength={maxLength || 160}\n unlimitedChars={false}\n labelProps={{\n helpIconProps: {\n \"data-testid\": \"help-popover-button\",\n popoverProps: {\n description:\n popOverDescription || t(`neetoSeo.helpPopovers.${name}`),\n helpLinkProps: {\n label: t(\"neetoSeo.labels.viewHelpArticle\"),\n href: helpDocUrl || defaultHelpDocUrl,\n },\n },\n },\n }}\n placeholder={\n altPlaceholder || t(`neetoSeo.placeholders.${name}`, { entity })\n }\n />\n )\n);\n\nexport default Input;\n","import { Switch as NeetoUISwitch } from \"@bigbinary/neeto-atoms/formik\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport HelpPopover from \"neetomolecules/v2/HelpPopover\";\n\nconst Switch = withT(\n ({\n t,\n name,\n entity,\n altLabel,\n helpDocUrl,\n defaultHelpDocUrl,\n popOverDescription,\n }) => (\n <div className=\"flex items-center space-x-2\">\n <NeetoUISwitch\n {...{ name }}\n label={altLabel || t(`neetoSeo.labels.${name}`, { entity })}\n />\n <HelpPopover\n helpLinkProps={{ href: helpDocUrl || defaultHelpDocUrl }}\n description={\n popOverDescription ||\n t(\"neetoSeo.helpPopovers.allowSearchEngineCrawl\")\n }\n />\n </div>\n )\n);\n\nexport default Switch;\n","import { isNot } from \"neetocist\";\nimport { trim } from \"ramda\";\n\nexport const populateKeywords = keywords =>\n keywords?.map(keyword => keyword?.trim()).join(\", \");\n\nexport const extractKeywords = stringOfKeywords =>\n stringOfKeywords?.split(\",\").map(trim).filter(isNot(\"\"));\n","import { useState } from \"react\";\n\nimport { Textarea as NeetoUITextarea } from \"@bigbinary/neeto-atoms/formik\";\nimport { useFormikContext } from \"formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SEO_FIELDS } from \"./constants\";\nimport { extractKeywords, populateKeywords } from \"./utils\";\n\nconst Textarea = ({\n name,\n helpDocUrl,\n popOverDescription,\n entity,\n defaultHelpDocUrl,\n altLabel,\n altPlaceholder,\n maxLength,\n seoSetting,\n}) => {\n const { t } = useTranslation();\n const [keywordString, setKeywordString] = useState(\n populateKeywords(seoSetting.keywords)\n );\n const { setFieldValue, values } = useFormikContext();\n\n const handleChangeKeyword = event => {\n const string = event.target.value;\n setKeywordString(string);\n\n if (name === SEO_FIELDS.KEYWORDS) {\n const newKeywords = extractKeywords(string);\n setFieldValue(name, newKeywords);\n } else {\n setFieldValue(name, string);\n }\n };\n\n return (\n <>\n <NeetoUITextarea\n {...{ name }}\n label={altLabel || t(`neetoSeo.labels.${name}`)}\n maxLength={maxLength || 150}\n placeholder={altPlaceholder || t(`neetoSeo.placeholders.${name}`)}\n value={name === SEO_FIELDS.KEYWORDS ? keywordString : values[name]}\n labelProps={{\n helpIconProps: {\n \"data-testid\": \"help-popover-button\",\n popoverProps: {\n description:\n popOverDescription ||\n t(`neetoSeo.helpPopovers.${name}`, { entity }),\n helpLinkProps: {\n label: t(\"neetoSeo.labels.viewHelpArticle\"),\n href: helpDocUrl || defaultHelpDocUrl,\n },\n },\n },\n }}\n onChange={handleChangeKeyword}\n />\n {name === SEO_FIELDS.KEYWORDS && (\n <span className=\"text-muted-foreground text-xs leading-tight\">\n {t(\"neetoSeo.subLabels.keywords\")}\n </span>\n )}\n </>\n );\n};\n\nexport default Textarea;\n","import i18next from \"i18next\";\nimport * as yup from \"yup\";\n\nimport CoverImage from \"./CoverImage\";\nimport GoogleAnalyticsTracking from \"./GoogleAnalyticsTracking\";\nimport Input from \"./Input\";\nimport Switch from \"./Switch\";\nimport Textarea from \"./Textarea\";\n\nconst GOOGLE_ANALYTICS_TRACKING_ID_REGEX =\n /^((UA|YT|MO)-\\d+-\\d+)$|^(G-[a-zA-Z0-9]+)$/i;\n\nexport const TITLE_MAX_LENGTH = 160;\n\nexport const SEO_FIELDS = {\n TITLE: \"title\",\n TITLE_SUFFIX: \"titleSuffix\",\n DESCRIPTION: \"description\",\n KEYWORDS: \"keywords\",\n ALLOW_SEARCH_ENGINE_CRAWL: \"allowSearchEngineCrawl\",\n GOOGLE_ANALYTICS_TRACKING_ID: \"googleAnalyticsTrackingId\",\n COVER_IMAGE: \"coverImage\",\n};\n\nexport const SEO_FIELDS_COMPONENT = {\n [SEO_FIELDS.TITLE]: Input,\n [SEO_FIELDS.TITLE_SUFFIX]: Input,\n [SEO_FIELDS.DESCRIPTION]: Textarea,\n [SEO_FIELDS.KEYWORDS]: Textarea,\n [SEO_FIELDS.ALLOW_SEARCH_ENGINE_CRAWL]: Switch,\n [SEO_FIELDS.GOOGLE_ANALYTICS_TRACKING_ID]: GoogleAnalyticsTracking,\n [SEO_FIELDS.COVER_IMAGE]: CoverImage,\n};\n\nexport const SEO_SETTINGS_INITIAL_VALUES = {\n title: \"\",\n titleSuffix: \"\",\n description: \"\",\n keywords: [],\n allowSearchEngineCrawl: false,\n googleAnalyticsTrackingId: \"\",\n};\n\nexport const SEO_SETTINGS_VALIDATION_SCHEMA = yup.object().shape({\n googleAnalyticsTrackingId: yup.string().when(\"googleAnalyticsEnabled\", {\n is: true,\n then: yup\n .string()\n .trim()\n .required(\n i18next.t(\"neetoSeo.validations.required\", {\n what: i18next.t(\"neetoSeo.labels.googleAnalyticsTrackingId\"),\n })\n )\n .matches(\n GOOGLE_ANALYTICS_TRACKING_ID_REGEX,\n i18next.t(\"neetoSeo.validations.valid\", {\n what: i18next.t(\"neetoSeo.labels.googleAnalyticsTrackingId\"),\n })\n ),\n otherwise: yup.string().nullable(),\n }),\n});\n","import { useEffect } from \"react\";\n\nimport { Sheet, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Form, ActionBlock } from \"@bigbinary/neeto-atoms/formik\";\nimport PageLoader from \"neetomolecules/v2/PageLoader\";\nimport { omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useFetchSeoSettings,\n useUpdateSeoSettings,\n} from \"hooks/reactQuery/useSeoSettingsApi\";\n\nimport {\n SEO_FIELDS_COMPONENT,\n SEO_SETTINGS_VALIDATION_SCHEMA,\n SEO_SETTINGS_INITIAL_VALUES,\n} from \"./constants\";\n\nconst Pane = ({\n apiEndpointUrl,\n isOpen,\n onClose,\n entity,\n defaultHelpDocUrl,\n seoFormFields,\n additionalComponent = null,\n}) => {\n const { t } = useTranslation();\n\n const {\n data: seoSetting = {},\n isLoading,\n refetch,\n } = useFetchSeoSettings(apiEndpointUrl, { enabled: isOpen });\n\n useEffect(() => {\n if (isOpen) {\n refetch();\n }\n }, [isOpen, refetch]);\n\n const { mutate: updateSeoSettings } = useUpdateSeoSettings(apiEndpointUrl, {\n onSuccess: onClose,\n });\n\n const handleSubmit = values => {\n const payload = omit([\"googleAnalyticsEnabled\"], values);\n updateSeoSettings({ url: apiEndpointUrl, payload });\n };\n\n if (isLoading) {\n return (\n <Sheet {...{ isOpen, onClose }}>\n <div className=\"flex h-screen w-full items-center justify-center\">\n <PageLoader />\n </div>\n </Sheet>\n );\n }\n\n return (\n <Sheet {...{ isOpen, onClose }}>\n <Sheet.Header className=\"space-y-2\">\n <Sheet.Title>\n <Typography variant=\"h2\">{t(\"neetoSeo.title\")}</Typography>\n </Sheet.Title>\n </Sheet.Header>\n <Form\n className=\"w-full\"\n formikProps={{\n enableReinitialize: true,\n initialValues: seoSetting || SEO_SETTINGS_INITIAL_VALUES,\n validationSchema: SEO_SETTINGS_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Sheet.Body className=\"pb-6\">\n {seoFormFields.map(\n ({\n name,\n helpDocUrl,\n popOverDescription,\n altLabel,\n altPlaceholder,\n maxLength,\n }) => {\n const FieldComponent = SEO_FIELDS_COMPONENT[name];\n\n if (!FieldComponent) {\n return null;\n }\n\n return (\n <div className=\"mt-4 w-full\" key={name}>\n <FieldComponent\n {...{\n altLabel,\n altPlaceholder,\n defaultHelpDocUrl,\n entity,\n helpDocUrl,\n maxLength,\n name,\n popOverDescription,\n seoSetting,\n }}\n />\n </div>\n );\n }\n )}\n <div className=\"mt-4 w-full\">{additionalComponent}</div>\n </Sheet.Body>\n <Sheet.Footer>\n <ActionBlock cancelButtonProps={{ onClick: onClose }} />\n </Sheet.Footer>\n </Form>\n </Sheet>\n );\n};\n\nexport default Pane;\n"],"names":["CoverImage","_ref","popOverDescription","helpDocUrl","defaultHelpDocUrl","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","values","setFieldValue","onImageUploadComplete","_ref2","signedId","url","_jsxs","className","children","_jsx","Label","HelpPopover","helpLinkProps","href","description","ImageUploader","defaultImageSize","width","height","fixedAspectRatio","src","coverImageUrl","onUploadComplete","GoogleAnalyticsTracking","entity","seoSetting","_useState","useState","googleAnalyticsTrackingId","_useState2","_slicedToArray","googleAnalyticsEnabled","setGoogleAnalyticsEnabled","handleSwitchChange","_Fragment","Switch","checked","label","name","onChange","Input","placeholder","withT","altLabel","altPlaceholder","maxLength","NeetoUIInput","concat","unlimitedChars","labelProps","helpIconProps","popoverProps","NeetoUISwitch","populateKeywords","keywords","map","keyword","trim","join","extractKeywords","stringOfKeywords","split","filter","isNot","Textarea","keywordString","setKeywordString","handleChangeKeyword","event","string","target","value","SEO_FIELDS","KEYWORDS","newKeywords","NeetoUITextarea","GOOGLE_ANALYTICS_TRACKING_ID_REGEX","TITLE","TITLE_SUFFIX","DESCRIPTION","ALLOW_SEARCH_ENGINE_CRAWL","GOOGLE_ANALYTICS_TRACKING_ID","COVER_IMAGE","SEO_FIELDS_COMPONENT","_defineProperty","SEO_SETTINGS_INITIAL_VALUES","title","titleSuffix","allowSearchEngineCrawl","SEO_SETTINGS_VALIDATION_SCHEMA","yup","object","shape","when","is","then","required","i18next","what","matches","otherwise","nullable","Pane","apiEndpointUrl","isOpen","onClose","seoFormFields","_ref$additionalCompon","additionalComponent","_useFetchSeoSettings","useFetchSeoSettings","enabled","_useFetchSeoSettings$","data","isLoading","refetch","useEffect","_useUpdateSeoSettings","useUpdateSeoSettings","onSuccess","updateSeoSettings","mutate","handleSubmit","payload","omit","Sheet","PageLoader","Header","Title","Typography","variant","Form","formikProps","enableReinitialize","initialValues","validationSchema","onSubmit","Body","FieldComponent","Footer","ActionBlock","cancelButtonProps","onClick"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ var reactI18next = require('react-i18next');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+
6
+ var WelcomeScreen = function WelcomeScreen() {
7
+ var _useTranslation = reactI18next.useTranslation(),
8
+ t = _useTranslation.t;
9
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
10
+ children: t("neetoWheel.welcomeScreen")
11
+ });
12
+ };
13
+
14
+ module.exports = WelcomeScreen;
15
+ //# sourceMappingURL=WelcomeScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WelcomeScreen.js","sources":["../../../app/javascript/src/v2/components/WelcomeScreen/index.jsx"],"sourcesContent":["import { useTranslation } from \"react-i18next\";\n\nconst WelcomeScreen = () => {\n const { t } = useTranslation();\n\n return <div>{t(\"neetoWheel.welcomeScreen\")}</div>;\n};\nexport default WelcomeScreen;\n"],"names":["WelcomeScreen","_useTranslation","useTranslation","t","_jsx","children"],"mappings":";;;;;AAEA,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,GAAS;AAC1B,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,oBAAOC,cAAA,CAAA,KAAA,EAAA;IAAAC,QAAA,EAAMF,CAAC,CAAC,0BAA0B;AAAC,GAAM,CAAC;AACnD;;;;"}
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ var v2_SeoSettingsPage = require('./SeoSettingsPage.js');
4
+ var v2_SeoSettingsPane = require('./SeoSettingsPane.js');
5
+ require('@babel/runtime/helpers/slicedToArray');
6
+ require('react');
7
+ require('@bigbinary/neeto-atoms');
8
+ require('@bigbinary/neeto-molecules/v2/CardLayout');
9
+ require('@bigbinary/neeto-molecules/v2/Container');
10
+ require('react-i18next');
11
+ require('@bigbinary/neeto-commons-frontend/v2/react-utils');
12
+ require('@bigbinary/neeto-molecules/v2/Header');
13
+ require('react/jsx-runtime');
14
+ require('@bigbinary/neeto-atoms/formik');
15
+ require('@bigbinary/neeto-molecules/v2/PageLoader');
16
+ require('ramda');
17
+ require('../../useSeoSettingsApi-CDihidUg.js');
18
+ require('@babel/runtime/helpers/defineProperty');
19
+ require('@tanstack/react-query');
20
+ require('@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation');
21
+ require('axios');
22
+ require('i18next');
23
+ require('yup');
24
+ require('@bigbinary/neeto-image-uploader-frontend/v2/ImageUploader');
25
+ require('formik');
26
+ require('@bigbinary/neeto-molecules/v2/HelpPopover');
27
+ require('@bigbinary/neeto-cist');
28
+
29
+
30
+
31
+ exports.SeoSettingsPage = v2_SeoSettingsPage;
32
+ exports.SeoSettingsPane = v2_SeoSettingsPane;
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index.js CHANGED
@@ -15,6 +15,7 @@ import '@bigbinary/neetoui/Pane';
15
15
  import '@bigbinary/neetoui/formik/Form';
16
16
  import '@bigbinary/neetoui/formik/ActionBlock';
17
17
  import 'ramda';
18
+ import './useSeoSettingsApi-BpSjL-Sq.js';
18
19
  import '@babel/runtime/helpers/defineProperty';
19
20
  import '@tanstack/react-query';
20
21
  import '@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}