@bigbinary/neeto-templates-frontend 2.2.0 → 2.2.2
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/dist/CreateTemplateModal.js +42 -15
- package/dist/CreateTemplateModal.js.map +1 -1
- package/dist/TemplateSettings.js +14 -7
- package/dist/TemplateSettings.js.map +1 -1
- package/dist/TemplateTags.js +4 -31
- package/dist/TemplateTags.js.map +1 -1
- package/dist/cjs/CreateTemplateModal.js +54 -24
- package/dist/cjs/CreateTemplateModal.js.map +1 -1
- package/dist/cjs/TemplateSettings.js +28 -16
- package/dist/cjs/TemplateSettings.js.map +1 -1
- package/dist/cjs/TemplateTags.js +10 -34
- package/dist/cjs/TemplateTags.js.map +1 -1
- package/dist/cjs/index.js +15 -12
- package/dist/cjs/index.js.map +1 -1
- package/dist/index.js +15 -14
- package/dist/index.js.map +1 -1
- package/dist/query-03748049.js +19 -0
- package/dist/query-03748049.js.map +1 -0
- package/dist/query-b6928156.js +26 -0
- package/dist/query-b6928156.js.map +1 -0
- package/dist/useTemplatesApi-591180b3.js +124 -0
- package/dist/useTemplatesApi-591180b3.js.map +1 -0
- package/dist/useTemplatesApi-a48680b3.js +114 -0
- package/dist/useTemplatesApi-a48680b3.js.map +1 -0
- package/package.json +103 -87
- package/dist/query-96f06430.js +0 -68
- package/dist/query-96f06430.js.map +0 -1
- package/dist/query-ddc455b2.js +0 -60
- package/dist/query-ddc455b2.js.map +0 -1
- package/dist/useTemplatesApi-81e0a50f.js +0 -179
- package/dist/useTemplatesApi-81e0a50f.js.map +0 -1
- package/dist/useTemplatesApi-f81c070d.js +0 -190
- package/dist/useTemplatesApi-f81c070d.js.map +0 -1
package/dist/TemplateTags.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateTags.js","sources":["../
|
|
1
|
+
{"version":3,"file":"TemplateTags.js","sources":["../app/javascript/src/components/TemplateTags/constants.jsx","../app/javascript/src/components/TemplateTags/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { Typography } from \"neetoui\";\n\nimport { NEETO_TEMPLATES_URL } from \"src/constants\";\n\nexport const TAG_TYPES = [\n {\n id: 1,\n label: t(\"neetoTemplate.templatesTags.template\"),\n url: `${NEETO_TEMPLATES_URL}/tags/template_tags`,\n columns: [\n {\n title: t(\"neetoTemplate.templatesTags.numberOfActiveTemplates\"),\n key: \"templates_count\",\n dataIndex: \"templatesCount\",\n align: \"center\",\n width: 300,\n sorter: true,\n render: templatesCount =>\n templatesCount !== 0 ? (\n <Typography style=\"body1\"> {templatesCount} </Typography>\n ) : (\n \"-\"\n ),\n },\n ],\n },\n];\n","import { NeetoTags } from \"@bigbinary/neeto-tags-frontend\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { noop } from \"neetocist\";\n\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nimport { TAG_TYPES } from \"./constants\";\n\nconst TemplateTags = ({ breadcrumbs, tagsPath, ...otherProps }) => {\n const queryClient = useQueryClient();\n\n const invalidateTags = () => {\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.TEMPLATE_TAGS],\n });\n };\n\n const invalidateTagsAndTemplates = () => {\n invalidateTags();\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.TEMPLATES_LIST],\n });\n\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.TEMPLATE],\n });\n };\n\n const config = {\n tagTypes: TAG_TYPES,\n tagsMergable: true,\n breadcrumbs,\n displayMenu: false,\n tagsPath,\n onTagRowClick: noop,\n createTags: { onSuccess: { callback: invalidateTags } },\n updateTags: { onSuccess: { callback: invalidateTagsAndTemplates } },\n deleteTags: { onSuccess: { callback: invalidateTagsAndTemplates } },\n mergeTags: { onSuccess: { callback: invalidateTagsAndTemplates } },\n ...otherProps,\n };\n\n return <NeetoTags {...{ config }} />;\n};\n\nexport default TemplateTags;\n"],"names":["TAG_TYPES","id","label","t","url","concat","NEETO_TEMPLATES_URL","columns","title","key","dataIndex","align","width","sorter","render","templatesCount","_jsxs","Typography","style","children","TemplateTags","_ref","breadcrumbs","tagsPath","otherProps","_objectWithoutProperties","_excluded","queryClient","useQueryClient","invalidateTags","invalidateQueries","queryKey","QUERY_KEYS","TEMPLATE_TAGS","invalidateTagsAndTemplates","TEMPLATES_LIST","TEMPLATE","config","_objectSpread","tagTypes","tagsMergable","displayMenu","onTagRowClick","noop","createTags","onSuccess","callback","updateTags","deleteTags","mergeTags","_jsx","NeetoTags"],"mappings":"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"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
6
6
|
var Modal = require('@bigbinary/neetoui/Modal');
|
|
7
|
-
var
|
|
8
|
-
var
|
|
7
|
+
var useTemplatesApi = require('../useTemplatesApi-591180b3.js');
|
|
8
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
9
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
9
10
|
var Search = require('@bigbinary/neeto-molecules/Search');
|
|
10
11
|
var Spinner = require('@bigbinary/neetoui/Spinner');
|
|
11
12
|
var Typography = require('@bigbinary/neetoui/Typography');
|
|
13
|
+
var Accordion = require('@bigbinary/neetoui/Accordion');
|
|
12
14
|
var reactI18next = require('react-i18next');
|
|
13
15
|
var jsxRuntime = require('react/jsx-runtime');
|
|
14
16
|
var classnames = require('classnames');
|
|
@@ -16,10 +18,11 @@ var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
|
|
16
18
|
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
17
19
|
var ResponsiveDevicePicker = require('@bigbinary/neeto-molecules/ResponsiveDevicePicker');
|
|
18
20
|
var Button = require('@bigbinary/neetoui/Button');
|
|
19
|
-
require('@bigbinary/neeto-tags-frontend');
|
|
21
|
+
require('@bigbinary/neeto-tags-frontend/utils');
|
|
20
22
|
require('@tanstack/react-query');
|
|
21
23
|
require('ramda');
|
|
22
24
|
require('axios');
|
|
25
|
+
require('../query-b6928156.js');
|
|
23
26
|
|
|
24
27
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
25
28
|
|
|
@@ -41,12 +44,15 @@ function _interopNamespace(e) {
|
|
|
41
44
|
return Object.freeze(n);
|
|
42
45
|
}
|
|
43
46
|
|
|
47
|
+
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
44
48
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
45
49
|
var Modal__default = /*#__PURE__*/_interopDefaultLegacy(Modal);
|
|
46
|
-
var
|
|
50
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
51
|
+
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
47
52
|
var Search__default = /*#__PURE__*/_interopDefaultLegacy(Search);
|
|
48
53
|
var Spinner__default = /*#__PURE__*/_interopDefaultLegacy(Spinner);
|
|
49
54
|
var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
|
|
55
|
+
var Accordion__default = /*#__PURE__*/_interopDefaultLegacy(Accordion);
|
|
50
56
|
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
51
57
|
var ResponsiveDevicePicker__default = /*#__PURE__*/_interopDefaultLegacy(ResponsiveDevicePicker);
|
|
52
58
|
var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
|
|
@@ -381,7 +387,7 @@ var CategoryItem = function CategoryItem(_ref) {
|
|
|
381
387
|
};
|
|
382
388
|
|
|
383
389
|
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; }
|
|
384
|
-
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) {
|
|
390
|
+
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; }
|
|
385
391
|
var List = function List(_ref) {
|
|
386
392
|
var setCurrentScreen = _ref.setCurrentScreen,
|
|
387
393
|
setSelectedTemplate = _ref.setSelectedTemplate,
|
|
@@ -392,11 +398,11 @@ var List = function List(_ref) {
|
|
|
392
398
|
var _useTranslation = reactI18next.useTranslation(),
|
|
393
399
|
t = _useTranslation.t;
|
|
394
400
|
var _useState = React.useState(DEFAULT_CATEGORY),
|
|
395
|
-
_useState2 =
|
|
401
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
396
402
|
currentCategory = _useState2[0],
|
|
397
403
|
_setCurrentCategory = _useState2[1];
|
|
398
404
|
var _useState3 = React.useState(""),
|
|
399
|
-
_useState4 =
|
|
405
|
+
_useState4 = _slicedToArray__default["default"](_useState3, 2),
|
|
400
406
|
searchTerm = _useState4[0],
|
|
401
407
|
setSearchTerm = _useState4[1];
|
|
402
408
|
var _useFetchTemplates = useTemplatesApi.useFetchTemplates({
|
|
@@ -416,7 +422,7 @@ var List = function List(_ref) {
|
|
|
416
422
|
rootMargin: "0px 0px 700px 0px",
|
|
417
423
|
delayInMs: INFINITE_SCROLL_DELAY
|
|
418
424
|
}),
|
|
419
|
-
_useInfiniteScroll2 =
|
|
425
|
+
_useInfiniteScroll2 = _slicedToArray__default["default"](_useInfiniteScroll, 2),
|
|
420
426
|
sentryRef = _useInfiniteScroll2[0],
|
|
421
427
|
rootRef = _useInfiniteScroll2[1].rootRef;
|
|
422
428
|
var handleCardClick = function handleCardClick(template) {
|
|
@@ -424,7 +430,10 @@ var List = function List(_ref) {
|
|
|
424
430
|
setSelectedTemplate(template);
|
|
425
431
|
};
|
|
426
432
|
if (isTemplatesLoading) {
|
|
427
|
-
return /*#__PURE__*/jsxRuntime.jsx(
|
|
433
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
434
|
+
className: "flex h-full w-full items-center justify-center",
|
|
435
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Spinner__default["default"], {})
|
|
436
|
+
});
|
|
428
437
|
}
|
|
429
438
|
var _data$tags = data.tags,
|
|
430
439
|
tags = _data$tags === void 0 ? [] : _data$tags,
|
|
@@ -434,11 +443,11 @@ var List = function List(_ref) {
|
|
|
434
443
|
templatesCount = _data$templatesCount === void 0 ? 0 : _data$templatesCount;
|
|
435
444
|
var categories = [_objectSpread(_objectSpread({}, DEFAULT_CATEGORY), {}, {
|
|
436
445
|
count: templatesCount
|
|
437
|
-
})].concat(
|
|
446
|
+
})].concat(_toConsumableArray__default["default"](tags));
|
|
438
447
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
439
|
-
className: "neeto-ui-bg-gray-100 relative flex min-h-full
|
|
448
|
+
className: "neeto-ui-bg-gray-100 relative flex flex-col items-start md:min-h-full md:flex-row",
|
|
440
449
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
441
|
-
className: "
|
|
450
|
+
className: "w-full flex-shrink-0 space-y-6 px-4 py-6 md:sticky md:left-0 md:top-0 md:w-72 md:space-y-8 md:pl-10 md:pr-0 lg:w-80 xl:pl-16",
|
|
442
451
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
443
452
|
className: "space-y-4",
|
|
444
453
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
@@ -462,8 +471,30 @@ var List = function List(_ref) {
|
|
|
462
471
|
return setSearchTerm(value);
|
|
463
472
|
}
|
|
464
473
|
})]
|
|
474
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Accordion__default["default"], {
|
|
475
|
+
className: "md:hidden",
|
|
476
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Accordion__default["default"].Item, {
|
|
477
|
+
title: t("neetoTemplate.templates.categories"),
|
|
478
|
+
children: categories.map(function (_ref2) {
|
|
479
|
+
var id = _ref2.id,
|
|
480
|
+
name = _ref2.name,
|
|
481
|
+
count = _ref2.count;
|
|
482
|
+
return /*#__PURE__*/React.createElement(CategoryItem, {
|
|
483
|
+
count: count,
|
|
484
|
+
isActive: currentCategory.id === id,
|
|
485
|
+
key: id,
|
|
486
|
+
label: name,
|
|
487
|
+
setCurrentCategory: function setCurrentCategory() {
|
|
488
|
+
return _setCurrentCategory({
|
|
489
|
+
id: id,
|
|
490
|
+
name: name
|
|
491
|
+
});
|
|
492
|
+
}
|
|
493
|
+
});
|
|
494
|
+
})
|
|
495
|
+
})
|
|
465
496
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
466
|
-
className: "space-y-3",
|
|
497
|
+
className: "hidden space-y-3 md:block",
|
|
467
498
|
children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
|
|
468
499
|
className: "uppercase",
|
|
469
500
|
"data-cy": "template-categories-label",
|
|
@@ -471,10 +502,10 @@ var List = function List(_ref) {
|
|
|
471
502
|
children: t("neetoTemplate.templates.categories")
|
|
472
503
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
473
504
|
className: "space-y-2",
|
|
474
|
-
children: categories.map(function (
|
|
475
|
-
var id =
|
|
476
|
-
name =
|
|
477
|
-
count =
|
|
505
|
+
children: categories.map(function (_ref3) {
|
|
506
|
+
var id = _ref3.id,
|
|
507
|
+
name = _ref3.name,
|
|
508
|
+
count = _ref3.count;
|
|
478
509
|
return /*#__PURE__*/React.createElement(CategoryItem, {
|
|
479
510
|
count: count,
|
|
480
511
|
isActive: currentCategory.id === id,
|
|
@@ -491,12 +522,12 @@ var List = function List(_ref) {
|
|
|
491
522
|
})]
|
|
492
523
|
})]
|
|
493
524
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
494
|
-
className: "h-screen w-full overflow-y-auto py-8
|
|
525
|
+
className: "h-screen w-full p-4 md:overflow-y-auto md:py-8 md:pl-8 md:pr-20 xl:px-20",
|
|
495
526
|
ref: rootRef,
|
|
496
527
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
497
528
|
className: "flex-grow space-y-6",
|
|
498
529
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
499
|
-
className: "grid grid-cols-1 gap-4
|
|
530
|
+
className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3 lg:gap-5 xl:gap-6 2xl:grid-cols-4",
|
|
500
531
|
children: [/*#__PURE__*/jsxRuntime.jsx(BlankCard, {
|
|
501
532
|
description: t("neetoTemplate.templates.blankCard.description"),
|
|
502
533
|
disabled: isCreating,
|
|
@@ -537,7 +568,7 @@ var Preview = function Preview(_ref) {
|
|
|
537
568
|
createTemplate = _useCreateTemplate.mutate,
|
|
538
569
|
isCreating = _useCreateTemplate.isPending;
|
|
539
570
|
var _useState = React.useState(RESPONSIVE_DEVICES.DESKTOP),
|
|
540
|
-
_useState2 =
|
|
571
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
541
572
|
selectedDevice = _useState2[0],
|
|
542
573
|
setSelectedDevice = _useState2[1];
|
|
543
574
|
var handleCreateTemplate = function handleCreateTemplate() {
|
|
@@ -624,11 +655,11 @@ var CreateTemplateModal = function CreateTemplateModal(_ref) {
|
|
|
624
655
|
_ref$afterCreate = _ref.afterCreate,
|
|
625
656
|
afterCreate = _ref$afterCreate === void 0 ? neetoCist.noop : _ref$afterCreate;
|
|
626
657
|
var _useState = React.useState(TEMPLATE_SCREENS.LIST),
|
|
627
|
-
_useState2 =
|
|
658
|
+
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
628
659
|
currentScreen = _useState2[0],
|
|
629
660
|
setCurrentScreen = _useState2[1];
|
|
630
661
|
var _useState3 = React.useState({}),
|
|
631
|
-
_useState4 =
|
|
662
|
+
_useState4 = _slicedToArray__default["default"](_useState3, 2),
|
|
632
663
|
selectedTemplate = _useState4[0],
|
|
633
664
|
setSelectedTemplate = _useState4[1];
|
|
634
665
|
var onModalClose = function onModalClose() {
|
|
@@ -637,7 +668,6 @@ var CreateTemplateModal = function CreateTemplateModal(_ref) {
|
|
|
637
668
|
setCurrentScreen(TEMPLATE_SCREENS.LIST);
|
|
638
669
|
}, 300); //To accommodate the animation duration.
|
|
639
670
|
};
|
|
640
|
-
|
|
641
671
|
return /*#__PURE__*/jsxRuntime.jsx(Modal__default["default"], {
|
|
642
672
|
isOpen: isOpen,
|
|
643
673
|
className: "neeto-template-list h-screen w-screen overflow-y-auto",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateTemplateModal.js","sources":["../../app/javascript/src/components/CreateTemplateModal/constants.js","../../node_modules/react-intersection-observer-hook/dist/react-intersection-observer-hook.esm.js","../../node_modules/react-infinite-scroll-hook/dist/react-infinite-scroll-hook.esm.js","../../app/javascript/src/assets/dashboard/custom.svg","../../app/javascript/src/components/CreateTemplateModal/BlankCard.jsx","../../app/javascript/src/components/CreateTemplateModal/Card.jsx","../../app/javascript/src/components/CreateTemplateModal/CategoryItem.jsx","../../app/javascript/src/components/CreateTemplateModal/List.jsx","../../app/javascript/src/components/CreateTemplateModal/Preview.jsx","../../app/javascript/src/components/CreateTemplateModal/index.jsx"],"sourcesContent":["export const TEMPLATE_SCREENS = { LIST: \"List\", PREVIEW: \"Preview\" };\n\nexport const DEFAULT_CATEGORY = { id: \"all\", name: \"All\" };\n\nexport const INFINITE_SCROLL_DELAY = 500;\n\nexport const MENU_ITEMS = { CREATE: \"create\", PREVIEW: \"preview\" };\n\nexport const RESPONSIVE_DEVICES = {\n DESKTOP: \"desktop\",\n TABLET: \"tablet\",\n MOBILE: \"mobile\",\n};\n","import { useRef, useState, useCallback } from 'react';\n\nfunction createObserverCache() {\n var cachesByRoot = new Map();\n\n function getObserver(_ref) {\n var root = _ref.root,\n rootMargin = _ref.rootMargin,\n threshold = _ref.threshold;\n var cacheByRoot = cachesByRoot.get(root);\n\n if (!cacheByRoot) {\n cacheByRoot = new Map();\n cachesByRoot.set(root, cacheByRoot);\n }\n\n var cacheKey = JSON.stringify({\n rootMargin: rootMargin,\n threshold: threshold\n });\n var cachedObserver = cacheByRoot.get(cacheKey);\n\n if (!cachedObserver) {\n var entryCallbacks = new Map();\n var observer = new IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n var callback = entryCallbacks.get(entry.target);\n callback == null ? void 0 : callback(entry);\n });\n }, {\n root: root,\n rootMargin: rootMargin,\n threshold: threshold\n });\n cachedObserver = {\n observer: observer,\n entryCallbacks: entryCallbacks\n };\n cacheByRoot.set(cacheKey, cachedObserver);\n }\n\n return {\n observe: function observe(node, callback) {\n var _cachedObserver, _cachedObserver2;\n\n (_cachedObserver = cachedObserver) == null ? void 0 : _cachedObserver.entryCallbacks.set(node, callback);\n (_cachedObserver2 = cachedObserver) == null ? void 0 : _cachedObserver2.observer.observe(node);\n },\n unobserve: function unobserve(node) {\n var _cachedObserver3, _cachedObserver4;\n\n (_cachedObserver3 = cachedObserver) == null ? void 0 : _cachedObserver3.entryCallbacks[\"delete\"](node);\n (_cachedObserver4 = cachedObserver) == null ? void 0 : _cachedObserver4.observer.unobserve(node);\n }\n };\n }\n\n return {\n getObserver: getObserver\n };\n}\n\nvar DEFAULT_ROOT_MARGIN = '0px';\nvar DEFAULT_THRESHOLD = [0];\nvar observerCache = /*#__PURE__*/createObserverCache(); // For more info:\n// https://developers.google.com/web/updates/2016/04/intersectionobserver\n// https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n\nfunction useIntersectionObserver(args) {\n var _args$rootMargin, _args$threshold;\n\n var rootMargin = (_args$rootMargin = args == null ? void 0 : args.rootMargin) != null ? _args$rootMargin : DEFAULT_ROOT_MARGIN;\n var threshold = (_args$threshold = args == null ? void 0 : args.threshold) != null ? _args$threshold : DEFAULT_THRESHOLD;\n var nodeRef = useRef(null);\n var rootRef = useRef(null);\n var observerRef = useRef(null);\n\n var _useState = useState(),\n entry = _useState[0],\n setEntry = _useState[1];\n\n var observe = useCallback(function () {\n var node = nodeRef.current;\n\n if (!node) {\n setEntry(undefined);\n return;\n }\n\n var observer = observerCache.getObserver({\n root: rootRef.current,\n rootMargin: rootMargin,\n threshold: threshold\n });\n observer.observe(node, function (observedEntry) {\n setEntry(observedEntry);\n });\n observerRef.current = observer;\n }, [rootMargin, threshold]);\n var unobserve = useCallback(function () {\n var currentObserver = observerRef.current;\n var node = nodeRef.current;\n\n if (node) {\n currentObserver == null ? void 0 : currentObserver.unobserve(node);\n }\n\n observerRef.current = null;\n }, []); // React will call the ref callback with the DOM element when the component mounts,\n // and call it with null when it unmounts.\n // So, we don't need an useEffect etc to unobserve nodes.\n // When nodeRef.current is null, it will be unobserved and observe function\n // won't do anything.\n\n var refCallback = useCallback(function (node) {\n unobserve();\n nodeRef.current = node;\n observe();\n }, [observe, unobserve]);\n var rootRefCallback = useCallback(function (rootNode) {\n unobserve();\n rootRef.current = rootNode;\n observe();\n }, [observe, unobserve]);\n return [refCallback, {\n entry: entry,\n rootRef: rootRefCallback\n }];\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction useTrackVisibility(args) {\n var _result$entry;\n\n var _useIntersectionObser = useIntersectionObserver(args),\n ref = _useIntersectionObser[0],\n result = _useIntersectionObser[1];\n\n var isVisible = Boolean((_result$entry = result.entry) == null ? void 0 : _result$entry.isIntersecting);\n\n var _useState = useState(isVisible),\n wasEverVisible = _useState[0],\n setWasEverVisible = _useState[1];\n\n if (isVisible && !wasEverVisible) {\n setWasEverVisible(true);\n }\n\n return [ref, _extends({}, result, {\n isVisible: isVisible,\n wasEverVisible: wasEverVisible\n })];\n}\n\nexport { useIntersectionObserver, useTrackVisibility };\n//# sourceMappingURL=react-intersection-observer-hook.esm.js.map\n","import { useEffect } from 'react';\nimport { useTrackVisibility } from 'react-intersection-observer-hook';\n\nvar DEFAULT_DELAY_IN_MS = 100;\n\nfunction useInfiniteScroll(_ref) {\n var loading = _ref.loading,\n hasNextPage = _ref.hasNextPage,\n onLoadMore = _ref.onLoadMore,\n rootMargin = _ref.rootMargin,\n disabled = _ref.disabled,\n _ref$delayInMs = _ref.delayInMs,\n delayInMs = _ref$delayInMs === void 0 ? DEFAULT_DELAY_IN_MS : _ref$delayInMs;\n\n var _useTrackVisibility = useTrackVisibility({\n rootMargin: rootMargin\n }),\n ref = _useTrackVisibility[0],\n _useTrackVisibility$ = _useTrackVisibility[1],\n rootRef = _useTrackVisibility$.rootRef,\n isVisible = _useTrackVisibility$.isVisible;\n\n var shouldLoadMore = !disabled && !loading && isVisible && hasNextPage; // eslint-disable-next-line consistent-return\n\n useEffect(function () {\n if (shouldLoadMore) {\n // When we trigger 'onLoadMore' and new items are added to the list,\n // right before they become rendered on the screen, 'loading' becomes false\n // and 'isVisible' can be true for a brief time, based on the scroll position.\n // So, it triggers 'onLoadMore' just after the first one is finished.\n // We use a small delay here to prevent this kind of situations.\n // It can be configured by hook args.\n var timer = setTimeout(function () {\n onLoadMore();\n }, delayInMs);\n return function () {\n clearTimeout(timer);\n };\n }\n }, [onLoadMore, shouldLoadMore, delayInMs]);\n return [ref, {\n rootRef: rootRef\n }];\n}\n\nexport default useInfiniteScroll;\n//# sourceMappingURL=react-infinite-scroll-hook.esm.js.map\n","<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"46\" height=\"46\" fill=\"none\" viewBox=\"0 0 46 46\"><rect width=\"40\" height=\"40\" x=\"3\" y=\"2\" fill=\"#008068\" rx=\"2\"/><path fill=\"#fff\" fill-rule=\"evenodd\" d=\"M23.75 16C23.75 15.5858 23.4142 15.25 23 15.25C22.5858 15.25 22.25 15.5858 22.25 16V21.25H17C16.5858 21.25 16.25 21.5858 16.25 22C16.25 22.4142 16.5858 22.75 17 22.75H22.25V28C22.25 28.4142 22.5858 28.75 23 28.75C23.4142 28.75 23.75 28.4142 23.75 28V22.75H29C29.4142 22.75 29.75 22.4142 29.75 22C29.75 21.5858 29.4142 21.25 29 21.25H23.75V16Z\" clip-rule=\"evenodd\"/></svg>\n","import { noop } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nconst BlankCard = ({\n icon: Icon,\n title,\n description,\n onClick = noop,\n disabled = false,\n}) => (\n <div\n className=\"neeto-ui-rounded-lg neeto-ui-bg-white hover:neeto-ui-bg-white neeto-ui-border-primary-500 flex cursor-pointer flex-col items-center justify-center border border-dashed p-6 outline-none transition-all duration-300 ease-in-out hover:border-solid focus:border-solid\"\n data-cy=\"start-from-scratch-button\"\n tabIndex={0}\n onClick={!disabled ? onClick : noop}\n >\n <div className=\"neeto-ui-text-primary-500 mb-4\">\n <Icon size={40} />\n </div>\n <Typography\n className=\"text-center\"\n lineHeight=\"normal\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-600 text-center\"\n lineHeight=\"leading-4\"\n style=\"body3\"\n >\n {description}\n </Typography>\n </div>\n);\n\nexport default BlankCard;\n","import { Typography } from \"neetoui\";\n\nconst Card = ({ template, onClick }) => (\n <div\n {...{ onClick }}\n className=\"neeto-template neeto-template-thumbnail neeto-ui-bg-white neeto-ui-shadow-xs hover:neeto-ui-border-gray-500 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex cursor-pointer flex-col overflow-hidden border outline-none transition-colors duration-300 ease-in-out\"\n data-cy=\"template-card\"\n tabIndex={0}\n >\n <div className=\"neeto-template__header relative overflow-hidden\">\n <img\n className=\"neeto-template__image\"\n data-cy=\"template-thumbnail-image\"\n src={\n template.imageUrl ||\n \"https://d2v7kzglnr2dnh.cloudfront.net/images/neetoForm/default-form-template.svg\"\n }\n />\n </div>\n <div className=\"neeto-template__description neeto-ui-bg-white flex items-center justify-between gap-2 rounded-b-lg px-3 py-1.5\">\n <Typography\n className=\"neeto-template-thumbnail__title line-clamp-2\"\n data-cy=\"template-card-title\"\n lineHeight=\"normal\"\n style=\"h5\"\n >\n {template.title}\n </Typography>\n </div>\n </div>\n);\n\nexport default Card;\n","import classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/utils\";\n\nconst CategoryItem = ({ label, count, isActive, setCurrentCategory }) => (\n <button\n data-cy={`category-${joinHyphenCase(label)}`}\n tabIndex={0}\n className={classnames(\n \"neeto-ui-rounded-lg outline-none flex w-full items-center justify-between gap-2 border border-solid px-3 py-2 text-sm font-medium leading-4 transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-text-gray-700 hover:neeto-ui-bg-gray-200 focus:neeto-ui-bg-gray-200 border-transparent\":\n !isActive,\n \"neeto-ui-text-gray-800 neeto-ui-bg-white neeto-ui-border-gray-300 focus:neeto-ui-border-gray-500\":\n isActive,\n }\n )}\n onClick={setCurrentCategory}\n >\n <span>{label}</span>\n <span>{count}</span>\n </button>\n);\n\nexport default CategoryItem;\n","import { useState } from \"react\";\n\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport Search from \"neetomolecules/Search\";\nimport { Spinner, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport useInfiniteScroll from \"react-infinite-scroll-hook\";\n\nimport CustomSVG from \"assets/dashboard/custom\";\nimport { useFetchTemplates } from \"hooks/reactQuery/useTemplatesApi\";\n\nimport BlankCard from \"./BlankCard\";\nimport Card from \"./Card\";\nimport CategoryItem from \"./CategoryItem\";\nimport {\n DEFAULT_CATEGORY,\n INFINITE_SCROLL_DELAY,\n TEMPLATE_SCREENS,\n} from \"./constants\";\n\nconst List = ({\n setCurrentScreen,\n setSelectedTemplate,\n onCreate,\n isCreating,\n afterCreate,\n refetchResource,\n}) => {\n const { t } = useTranslation();\n\n const [currentCategory, setCurrentCategory] = useState(DEFAULT_CATEGORY);\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const {\n hasNextPage = false,\n fetchNextPage,\n isLoading: isTemplatesLoading,\n data = {},\n } = useFetchTemplates({ searchTerm, category: currentCategory });\n\n const [sentryRef, { rootRef }] = useInfiniteScroll({\n loading: isTemplatesLoading,\n hasNextPage,\n onLoadMore: fetchNextPage,\n rootMargin: \"0px 0px 700px 0px\",\n delayInMs: INFINITE_SCROLL_DELAY,\n });\n\n const handleCardClick = template => {\n setCurrentScreen(TEMPLATE_SCREENS.PREVIEW);\n setSelectedTemplate(template);\n };\n\n if (isTemplatesLoading) {\n return <PageLoader />;\n }\n\n const { tags = [], templates = [], templatesCount = 0 } = data;\n\n const categories = [{ ...DEFAULT_CATEGORY, count: templatesCount }, ...tags];\n\n return (\n <div className=\"neeto-ui-bg-gray-100 relative flex min-h-full items-start\">\n <div className=\"sticky left-0 top-0 w-52 flex-shrink-0 space-y-8 py-6 pl-4 md:w-72 md:pl-10 lg:w-80 xl:pl-16\">\n <div className=\"space-y-4\">\n <div className=\"space-y-1\">\n <Typography\n data-cy=\"create-new-form-title\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {t(\"neetoTemplate.templates.createNewEntity\")}\n </Typography>\n <Typography lineHeight=\"normal\" style=\"body2\">\n {t(\"neetoTemplate.templates.description\")}\n </Typography>\n </div>\n <Search\n autoFocus\n disableTrimOnBlur\n data-cy=\"template-search-input\"\n placeholder={t(\"neetoTemplate.templates.search\")}\n onSearch={value => setSearchTerm(value)}\n />\n </div>\n <div className=\"space-y-3\">\n <Typography\n className=\"uppercase\"\n data-cy=\"template-categories-label\"\n style=\"h6\"\n >\n {t(\"neetoTemplate.templates.categories\")}\n </Typography>\n <div className=\"space-y-2\">\n {categories.map(({ id, name, count }) => (\n <CategoryItem\n {...{ count }}\n isActive={currentCategory.id === id}\n key={id}\n label={name}\n setCurrentCategory={() => setCurrentCategory({ id, name })}\n />\n ))}\n </div>\n </div>\n </div>\n <div\n className=\"h-screen w-full overflow-y-auto py-8 pl-5 pr-4 md:pl-8 md:pr-20 xl:px-20\"\n ref={rootRef}\n >\n <div className=\"flex-grow space-y-6\">\n <div className=\"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3 lg:gap-5 xl:gap-6 2xl:grid-cols-4\">\n <BlankCard\n description={t(\"neetoTemplate.templates.blankCard.description\")}\n disabled={isCreating}\n icon={isCreating ? Spinner : CustomSVG}\n title={t(\"neetoTemplate.templates.blankCard.title\")}\n onClick={onCreate}\n />\n {templates.map((template, index) => (\n <Card\n {...{ afterCreate, refetchResource, template }}\n key={index}\n onClick={() => handleCardClick(template)}\n />\n ))}\n </div>\n {hasNextPage && (\n <div className=\"my-10 text-center\" ref={sentryRef}>\n <Spinner />\n </div>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default List;\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useBreakpoints } from \"neetocommons/react-utils\";\nimport ResponsiveDevicePicker from \"neetomolecules/ResponsiveDevicePicker\";\nimport { Button, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateTemplate } from \"hooks/reactQuery/useTemplatesApi\";\n\nimport { TEMPLATE_SCREENS, RESPONSIVE_DEVICES } from \"./constants\";\n\nconst Preview = ({\n selectedTemplate,\n setCurrentScreen,\n afterCreate,\n refetchResource,\n}) => {\n const { t } = useTranslation();\n\n const { isSize } = useBreakpoints();\n\n const { mutate: createTemplate, isPending: isCreating } = useCreateTemplate();\n\n const [selectedDevice, setSelectedDevice] = useState(\n RESPONSIVE_DEVICES.DESKTOP\n );\n\n const handleCreateTemplate = () => {\n createTemplate(\n { id: selectedTemplate.id },\n {\n onSuccess: response => {\n afterCreate(response);\n refetchResource();\n },\n }\n );\n };\n\n const { title, previewUrl } = selectedTemplate;\n\n return (\n <div className=\"neeto-templates-full-page-preview flex h-full w-full flex-col\">\n <div className=\"neeto-templates-full-page-preview__header neeto-ui-border-gray-200 border-b px-4\">\n <div className=\"mx-auto flex w-full max-w-6xl items-center justify-between py-[9px]\">\n <div className=\"w-1/3\">\n <Typography\n className=\"truncate leading-tight\"\n data-cy=\"preview-template-title\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n </div>\n <div className=\"hidden flex-shrink-0 lg:flex\">\n <ResponsiveDevicePicker\n {...{ selectedDevice }}\n onDeviceChange={setSelectedDevice}\n />\n </div>\n <div className=\"flex w-1/3 items-center justify-end gap-2\">\n <Button\n className=\"flex-shrink-0\"\n data-cy=\"preview-template-back-button\"\n style=\"secondary\"\n label={\n isSize(\"mobile\")\n ? t(\"neetoTemplate.templates.back\")\n : t(\"neetoTemplate.templates.backToTemplates\")\n }\n onClick={() => setCurrentScreen(TEMPLATE_SCREENS.LIST)}\n />\n <Button\n className=\"flex-shrink-0\"\n data-cy=\"preview-use-template-button\"\n disabled={isCreating}\n label={t(\"neetoTemplate.templates.editTemplate\")}\n loading={isCreating}\n onClick={handleCreateTemplate}\n />\n </div>\n </div>\n </div>\n <div className=\"neeto-ui-bg-gray-200 neeto-templates-full-page-preview__holder-wrapper min-h-0 flex-grow\">\n <div\n className={classnames(\n \"neeto-templates-full-page-preview__holder m-auto\",\n {\n \"neeto-templates-full-page-preview__holder--desktop\":\n selectedDevice === RESPONSIVE_DEVICES.DESKTOP,\n \"neeto-templates-full-page-preview__holder--tablet\":\n selectedDevice === RESPONSIVE_DEVICES.TABLET,\n \"neeto-templates-full-page-preview__holder--mobile\":\n selectedDevice === RESPONSIVE_DEVICES.MOBILE,\n }\n )}\n >\n <div className=\"neeto-templates-full-page-preview__device-border h-full w-full\">\n <iframe\n className=\"neeto-templates-full-page-preview__iframe h-full w-full border-none\"\n data-cy=\"iframe-id\"\n src={previewUrl}\n />\n </div>\n </div>\n </div>\n </div>\n );\n};\nexport default Preview;\n","import { useState } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { Modal } from \"neetoui\";\n\nimport { TEMPLATE_SCREENS } from \"./constants\";\nimport List from \"./List\";\nimport Preview from \"./Preview\";\n\nconst CreateTemplateModal = ({\n isOpen,\n onClose,\n isCreating,\n refetchResource,\n onCreate = noop,\n afterCreate = noop,\n}) => {\n const [currentScreen, setCurrentScreen] = useState(TEMPLATE_SCREENS.LIST);\n const [selectedTemplate, setSelectedTemplate] = useState({});\n\n const onModalClose = () => {\n onClose();\n setTimeout(() => {\n setCurrentScreen(TEMPLATE_SCREENS.LIST);\n }, 300); //To accommodate the animation duration.\n };\n\n return (\n <Modal\n {...{ isOpen }}\n className=\"neeto-template-list h-screen w-screen overflow-y-auto\"\n closeButton={currentScreen === TEMPLATE_SCREENS.LIST}\n size=\"fullScreen\"\n onClose={onModalClose}\n >\n {currentScreen === TEMPLATE_SCREENS.LIST ? (\n <List\n {...{\n afterCreate,\n isCreating,\n onCreate,\n refetchResource,\n setCurrentScreen,\n setSelectedTemplate,\n }}\n />\n ) : (\n <Preview\n {...{\n afterCreate,\n refetchResource,\n selectedTemplate,\n setCurrentScreen,\n }}\n />\n )}\n </Modal>\n );\n};\n\nexport default CreateTemplateModal;\n"],"names":["TEMPLATE_SCREENS","LIST","PREVIEW","DEFAULT_CATEGORY","id","name","INFINITE_SCROLL_DELAY","RESPONSIVE_DEVICES","DESKTOP","TABLET","MOBILE","useRef","useState","useCallback","_extends","useEffect","React","BlankCard","_ref","Icon","icon","title","description","_ref$onClick","onClick","noop","_ref$disabled","disabled","_jsxs","className","tabIndex","children","_jsx","size","Typography","lineHeight","style","weight","Card","template","src","imageUrl","CategoryItem","label","count","isActive","setCurrentCategory","concat","joinHyphenCase","classnames","List","setCurrentScreen","setSelectedTemplate","onCreate","isCreating","afterCreate","refetchResource","_useTranslation","useTranslation","t","_useState","_useState2","_slicedToArray","currentCategory","_useState3","_useState4","searchTerm","setSearchTerm","_useFetchTemplates","useFetchTemplates","category","_useFetchTemplates$ha","hasNextPage","fetchNextPage","isTemplatesLoading","isLoading","_useFetchTemplates$da","data","_useInfiniteScroll","useInfiniteScroll","loading","onLoadMore","rootMargin","delayInMs","_useInfiniteScroll2","sentryRef","rootRef","handleCardClick","PageLoader","_data$tags","tags","_data$templates","templates","_data$templatesCount","templatesCount","categories","_objectSpread","_toConsumableArray","Search","autoFocus","disableTrimOnBlur","placeholder","onSearch","value","map","_ref2","_createElement","key","ref","Spinner","CustomSVG","index","Preview","selectedTemplate","_useBreakpoints","useBreakpoints","isSize","_useCreateTemplate","useCreateTemplate","createTemplate","mutate","isPending","selectedDevice","setSelectedDevice","handleCreateTemplate","onSuccess","response","previewUrl","ResponsiveDevicePicker","onDeviceChange","Button","CreateTemplateModal","isOpen","onClose","_ref$onCreate","_ref$afterCreate","currentScreen","onModalClose","setTimeout","Modal","closeButton"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CreateTemplateModal.js","sources":["../../app/javascript/src/components/CreateTemplateModal/constants.js","../../node_modules/react-intersection-observer-hook/dist/react-intersection-observer-hook.esm.js","../../node_modules/react-infinite-scroll-hook/dist/react-infinite-scroll-hook.esm.js","../../app/javascript/src/assets/dashboard/custom.svg","../../app/javascript/src/components/CreateTemplateModal/BlankCard.jsx","../../app/javascript/src/components/CreateTemplateModal/Card.jsx","../../app/javascript/src/components/CreateTemplateModal/CategoryItem.jsx","../../app/javascript/src/components/CreateTemplateModal/List.jsx","../../app/javascript/src/components/CreateTemplateModal/Preview.jsx","../../app/javascript/src/components/CreateTemplateModal/index.jsx"],"sourcesContent":["export const TEMPLATE_SCREENS = { LIST: \"List\", PREVIEW: \"Preview\" };\n\nexport const DEFAULT_CATEGORY = { id: \"all\", name: \"All\" };\n\nexport const INFINITE_SCROLL_DELAY = 500;\n\nexport const MENU_ITEMS = { CREATE: \"create\", PREVIEW: \"preview\" };\n\nexport const RESPONSIVE_DEVICES = {\n DESKTOP: \"desktop\",\n TABLET: \"tablet\",\n MOBILE: \"mobile\",\n};\n","import { useRef, useState, useCallback } from 'react';\n\nfunction createObserverCache() {\n var cachesByRoot = new Map();\n\n function getObserver(_ref) {\n var root = _ref.root,\n rootMargin = _ref.rootMargin,\n threshold = _ref.threshold;\n var cacheByRoot = cachesByRoot.get(root);\n\n if (!cacheByRoot) {\n cacheByRoot = new Map();\n cachesByRoot.set(root, cacheByRoot);\n }\n\n var cacheKey = JSON.stringify({\n rootMargin: rootMargin,\n threshold: threshold\n });\n var cachedObserver = cacheByRoot.get(cacheKey);\n\n if (!cachedObserver) {\n var entryCallbacks = new Map();\n var observer = new IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n var callback = entryCallbacks.get(entry.target);\n callback == null ? void 0 : callback(entry);\n });\n }, {\n root: root,\n rootMargin: rootMargin,\n threshold: threshold\n });\n cachedObserver = {\n observer: observer,\n entryCallbacks: entryCallbacks\n };\n cacheByRoot.set(cacheKey, cachedObserver);\n }\n\n return {\n observe: function observe(node, callback) {\n var _cachedObserver, _cachedObserver2;\n\n (_cachedObserver = cachedObserver) == null ? void 0 : _cachedObserver.entryCallbacks.set(node, callback);\n (_cachedObserver2 = cachedObserver) == null ? void 0 : _cachedObserver2.observer.observe(node);\n },\n unobserve: function unobserve(node) {\n var _cachedObserver3, _cachedObserver4;\n\n (_cachedObserver3 = cachedObserver) == null ? void 0 : _cachedObserver3.entryCallbacks[\"delete\"](node);\n (_cachedObserver4 = cachedObserver) == null ? void 0 : _cachedObserver4.observer.unobserve(node);\n }\n };\n }\n\n return {\n getObserver: getObserver\n };\n}\n\nvar DEFAULT_ROOT_MARGIN = '0px';\nvar DEFAULT_THRESHOLD = [0];\nvar observerCache = /*#__PURE__*/createObserverCache(); // For more info:\n// https://developers.google.com/web/updates/2016/04/intersectionobserver\n// https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n\nfunction useIntersectionObserver(args) {\n var _args$rootMargin, _args$threshold;\n\n var rootMargin = (_args$rootMargin = args == null ? void 0 : args.rootMargin) != null ? _args$rootMargin : DEFAULT_ROOT_MARGIN;\n var threshold = (_args$threshold = args == null ? void 0 : args.threshold) != null ? _args$threshold : DEFAULT_THRESHOLD;\n var nodeRef = useRef(null);\n var rootRef = useRef(null);\n var observerRef = useRef(null);\n\n var _useState = useState(),\n entry = _useState[0],\n setEntry = _useState[1];\n\n var observe = useCallback(function () {\n var node = nodeRef.current;\n\n if (!node) {\n setEntry(undefined);\n return;\n }\n\n var observer = observerCache.getObserver({\n root: rootRef.current,\n rootMargin: rootMargin,\n threshold: threshold\n });\n observer.observe(node, function (observedEntry) {\n setEntry(observedEntry);\n });\n observerRef.current = observer;\n }, [rootMargin, threshold]);\n var unobserve = useCallback(function () {\n var currentObserver = observerRef.current;\n var node = nodeRef.current;\n\n if (node) {\n currentObserver == null ? void 0 : currentObserver.unobserve(node);\n }\n\n observerRef.current = null;\n }, []); // React will call the ref callback with the DOM element when the component mounts,\n // and call it with null when it unmounts.\n // So, we don't need an useEffect etc to unobserve nodes.\n // When nodeRef.current is null, it will be unobserved and observe function\n // won't do anything.\n\n var refCallback = useCallback(function (node) {\n unobserve();\n nodeRef.current = node;\n observe();\n }, [observe, unobserve]);\n var rootRefCallback = useCallback(function (rootNode) {\n unobserve();\n rootRef.current = rootNode;\n observe();\n }, [observe, unobserve]);\n return [refCallback, {\n entry: entry,\n rootRef: rootRefCallback\n }];\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction useTrackVisibility(args) {\n var _result$entry;\n\n var _useIntersectionObser = useIntersectionObserver(args),\n ref = _useIntersectionObser[0],\n result = _useIntersectionObser[1];\n\n var isVisible = Boolean((_result$entry = result.entry) == null ? void 0 : _result$entry.isIntersecting);\n\n var _useState = useState(isVisible),\n wasEverVisible = _useState[0],\n setWasEverVisible = _useState[1];\n\n if (isVisible && !wasEverVisible) {\n setWasEverVisible(true);\n }\n\n return [ref, _extends({}, result, {\n isVisible: isVisible,\n wasEverVisible: wasEverVisible\n })];\n}\n\nexport { useIntersectionObserver, useTrackVisibility };\n//# sourceMappingURL=react-intersection-observer-hook.esm.js.map\n","import { useEffect } from 'react';\nimport { useTrackVisibility } from 'react-intersection-observer-hook';\n\nvar DEFAULT_DELAY_IN_MS = 100;\n\nfunction useInfiniteScroll(_ref) {\n var loading = _ref.loading,\n hasNextPage = _ref.hasNextPage,\n onLoadMore = _ref.onLoadMore,\n rootMargin = _ref.rootMargin,\n disabled = _ref.disabled,\n _ref$delayInMs = _ref.delayInMs,\n delayInMs = _ref$delayInMs === void 0 ? DEFAULT_DELAY_IN_MS : _ref$delayInMs;\n\n var _useTrackVisibility = useTrackVisibility({\n rootMargin: rootMargin\n }),\n ref = _useTrackVisibility[0],\n _useTrackVisibility$ = _useTrackVisibility[1],\n rootRef = _useTrackVisibility$.rootRef,\n isVisible = _useTrackVisibility$.isVisible;\n\n var shouldLoadMore = !disabled && !loading && isVisible && hasNextPage; // eslint-disable-next-line consistent-return\n\n useEffect(function () {\n if (shouldLoadMore) {\n // When we trigger 'onLoadMore' and new items are added to the list,\n // right before they become rendered on the screen, 'loading' becomes false\n // and 'isVisible' can be true for a brief time, based on the scroll position.\n // So, it triggers 'onLoadMore' just after the first one is finished.\n // We use a small delay here to prevent this kind of situations.\n // It can be configured by hook args.\n var timer = setTimeout(function () {\n onLoadMore();\n }, delayInMs);\n return function () {\n clearTimeout(timer);\n };\n }\n }, [onLoadMore, shouldLoadMore, delayInMs]);\n return [ref, {\n rootRef: rootRef\n }];\n}\n\nexport default useInfiniteScroll;\n//# sourceMappingURL=react-infinite-scroll-hook.esm.js.map\n","<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"46\" height=\"46\" fill=\"none\" viewBox=\"0 0 46 46\"><rect width=\"40\" height=\"40\" x=\"3\" y=\"2\" fill=\"#008068\" rx=\"2\"/><path fill=\"#fff\" fill-rule=\"evenodd\" d=\"M23.75 16C23.75 15.5858 23.4142 15.25 23 15.25C22.5858 15.25 22.25 15.5858 22.25 16V21.25H17C16.5858 21.25 16.25 21.5858 16.25 22C16.25 22.4142 16.5858 22.75 17 22.75H22.25V28C22.25 28.4142 22.5858 28.75 23 28.75C23.4142 28.75 23.75 28.4142 23.75 28V22.75H29C29.4142 22.75 29.75 22.4142 29.75 22C29.75 21.5858 29.4142 21.25 29 21.25H23.75V16Z\" clip-rule=\"evenodd\"/></svg>\n","import { noop } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nconst BlankCard = ({\n icon: Icon,\n title,\n description,\n onClick = noop,\n disabled = false,\n}) => (\n <div\n className=\"neeto-ui-rounded-lg neeto-ui-bg-white hover:neeto-ui-bg-white neeto-ui-border-primary-500 flex cursor-pointer flex-col items-center justify-center border border-dashed p-6 outline-none transition-all duration-300 ease-in-out hover:border-solid focus:border-solid\"\n data-cy=\"start-from-scratch-button\"\n tabIndex={0}\n onClick={!disabled ? onClick : noop}\n >\n <div className=\"neeto-ui-text-primary-500 mb-4\">\n <Icon size={40} />\n </div>\n <Typography\n className=\"text-center\"\n lineHeight=\"normal\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-600 text-center\"\n lineHeight=\"leading-4\"\n style=\"body3\"\n >\n {description}\n </Typography>\n </div>\n);\n\nexport default BlankCard;\n","import { Typography } from \"neetoui\";\n\nconst Card = ({ template, onClick }) => (\n <div\n {...{ onClick }}\n className=\"neeto-template neeto-template-thumbnail neeto-ui-bg-white neeto-ui-shadow-xs hover:neeto-ui-border-gray-500 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex cursor-pointer flex-col overflow-hidden border outline-none transition-colors duration-300 ease-in-out\"\n data-cy=\"template-card\"\n tabIndex={0}\n >\n <div className=\"neeto-template__header relative overflow-hidden\">\n <img\n className=\"neeto-template__image\"\n data-cy=\"template-thumbnail-image\"\n src={\n template.imageUrl ||\n \"https://d2v7kzglnr2dnh.cloudfront.net/images/neetoForm/default-form-template.svg\"\n }\n />\n </div>\n <div className=\"neeto-template__description neeto-ui-bg-white flex items-center justify-between gap-2 rounded-b-lg px-3 py-1.5\">\n <Typography\n className=\"neeto-template-thumbnail__title line-clamp-2\"\n data-cy=\"template-card-title\"\n lineHeight=\"normal\"\n style=\"h5\"\n >\n {template.title}\n </Typography>\n </div>\n </div>\n);\n\nexport default Card;\n","import classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/utils\";\n\nconst CategoryItem = ({ label, count, isActive, setCurrentCategory }) => (\n <button\n data-cy={`category-${joinHyphenCase(label)}`}\n tabIndex={0}\n className={classnames(\n \"neeto-ui-rounded-lg outline-none flex w-full items-center justify-between gap-2 border border-solid px-3 py-2 text-sm font-medium leading-4 transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-text-gray-700 hover:neeto-ui-bg-gray-200 focus:neeto-ui-bg-gray-200 border-transparent\":\n !isActive,\n \"neeto-ui-text-gray-800 neeto-ui-bg-white neeto-ui-border-gray-300 focus:neeto-ui-border-gray-500\":\n isActive,\n }\n )}\n onClick={setCurrentCategory}\n >\n <span>{label}</span>\n <span>{count}</span>\n </button>\n);\n\nexport default CategoryItem;\n","import { useState } from \"react\";\n\nimport Search from \"neetomolecules/Search\";\nimport { Spinner, Typography, Accordion } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport useInfiniteScroll from \"react-infinite-scroll-hook\";\n\nimport CustomSVG from \"assets/dashboard/custom\";\nimport { useFetchTemplates } from \"hooks/reactQuery/useTemplatesApi\";\n\nimport BlankCard from \"./BlankCard\";\nimport Card from \"./Card\";\nimport CategoryItem from \"./CategoryItem\";\nimport {\n DEFAULT_CATEGORY,\n INFINITE_SCROLL_DELAY,\n TEMPLATE_SCREENS,\n} from \"./constants\";\n\nconst List = ({\n setCurrentScreen,\n setSelectedTemplate,\n onCreate,\n isCreating,\n afterCreate,\n refetchResource,\n}) => {\n const { t } = useTranslation();\n\n const [currentCategory, setCurrentCategory] = useState(DEFAULT_CATEGORY);\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const {\n hasNextPage = false,\n fetchNextPage,\n isLoading: isTemplatesLoading,\n data = {},\n } = useFetchTemplates({ searchTerm, category: currentCategory });\n\n const [sentryRef, { rootRef }] = useInfiniteScroll({\n loading: isTemplatesLoading,\n hasNextPage,\n onLoadMore: fetchNextPage,\n rootMargin: \"0px 0px 700px 0px\",\n delayInMs: INFINITE_SCROLL_DELAY,\n });\n\n const handleCardClick = template => {\n setCurrentScreen(TEMPLATE_SCREENS.PREVIEW);\n setSelectedTemplate(template);\n };\n\n if (isTemplatesLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n const { tags = [], templates = [], templatesCount = 0 } = data;\n\n const categories = [{ ...DEFAULT_CATEGORY, count: templatesCount }, ...tags];\n\n return (\n <div className=\"neeto-ui-bg-gray-100 relative flex flex-col items-start md:min-h-full md:flex-row\">\n <div className=\"w-full flex-shrink-0 space-y-6 px-4 py-6 md:sticky md:left-0 md:top-0 md:w-72 md:space-y-8 md:pl-10 md:pr-0 lg:w-80 xl:pl-16\">\n <div className=\"space-y-4\">\n <div className=\"space-y-1\">\n <Typography\n data-cy=\"create-new-form-title\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {t(\"neetoTemplate.templates.createNewEntity\")}\n </Typography>\n <Typography lineHeight=\"normal\" style=\"body2\">\n {t(\"neetoTemplate.templates.description\")}\n </Typography>\n </div>\n <Search\n autoFocus\n disableTrimOnBlur\n data-cy=\"template-search-input\"\n placeholder={t(\"neetoTemplate.templates.search\")}\n onSearch={value => setSearchTerm(value)}\n />\n </div>\n <Accordion className=\"md:hidden\">\n <Accordion.Item title={t(\"neetoTemplate.templates.categories\")}>\n {categories.map(({ id, name, count }) => (\n <CategoryItem\n {...{ count }}\n isActive={currentCategory.id === id}\n key={id}\n label={name}\n setCurrentCategory={() => setCurrentCategory({ id, name })}\n />\n ))}\n </Accordion.Item>\n </Accordion>\n <div className=\"hidden space-y-3 md:block\">\n <Typography\n className=\"uppercase\"\n data-cy=\"template-categories-label\"\n style=\"h6\"\n >\n {t(\"neetoTemplate.templates.categories\")}\n </Typography>\n <div className=\"space-y-2\">\n {categories.map(({ id, name, count }) => (\n <CategoryItem\n {...{ count }}\n isActive={currentCategory.id === id}\n key={id}\n label={name}\n setCurrentCategory={() => setCurrentCategory({ id, name })}\n />\n ))}\n </div>\n </div>\n </div>\n <div\n className=\"h-screen w-full p-4 md:overflow-y-auto md:py-8 md:pl-8 md:pr-20 xl:px-20\"\n ref={rootRef}\n >\n <div className=\"flex-grow space-y-6\">\n <div className=\"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3 lg:gap-5 xl:gap-6 2xl:grid-cols-4\">\n <BlankCard\n description={t(\"neetoTemplate.templates.blankCard.description\")}\n disabled={isCreating}\n icon={isCreating ? Spinner : CustomSVG}\n title={t(\"neetoTemplate.templates.blankCard.title\")}\n onClick={onCreate}\n />\n {templates.map((template, index) => (\n <Card\n {...{ afterCreate, refetchResource, template }}\n key={index}\n onClick={() => handleCardClick(template)}\n />\n ))}\n </div>\n {hasNextPage && (\n <div className=\"my-10 text-center\" ref={sentryRef}>\n <Spinner />\n </div>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default List;\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useBreakpoints } from \"neetocommons/react-utils\";\nimport ResponsiveDevicePicker from \"neetomolecules/ResponsiveDevicePicker\";\nimport { Button, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateTemplate } from \"hooks/reactQuery/useTemplatesApi\";\n\nimport { TEMPLATE_SCREENS, RESPONSIVE_DEVICES } from \"./constants\";\n\nconst Preview = ({\n selectedTemplate,\n setCurrentScreen,\n afterCreate,\n refetchResource,\n}) => {\n const { t } = useTranslation();\n\n const { isSize } = useBreakpoints();\n\n const { mutate: createTemplate, isPending: isCreating } = useCreateTemplate();\n\n const [selectedDevice, setSelectedDevice] = useState(\n RESPONSIVE_DEVICES.DESKTOP\n );\n\n const handleCreateTemplate = () => {\n createTemplate(\n { id: selectedTemplate.id },\n {\n onSuccess: response => {\n afterCreate(response);\n refetchResource();\n },\n }\n );\n };\n\n const { title, previewUrl } = selectedTemplate;\n\n return (\n <div className=\"neeto-templates-full-page-preview flex h-full w-full flex-col\">\n <div className=\"neeto-templates-full-page-preview__header neeto-ui-border-gray-200 border-b px-4\">\n <div className=\"mx-auto flex w-full max-w-6xl items-center justify-between py-[9px]\">\n <div className=\"w-1/3\">\n <Typography\n className=\"truncate leading-tight\"\n data-cy=\"preview-template-title\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n </div>\n <div className=\"hidden flex-shrink-0 lg:flex\">\n <ResponsiveDevicePicker\n {...{ selectedDevice }}\n onDeviceChange={setSelectedDevice}\n />\n </div>\n <div className=\"flex w-1/3 items-center justify-end gap-2\">\n <Button\n className=\"flex-shrink-0\"\n data-cy=\"preview-template-back-button\"\n style=\"secondary\"\n label={\n isSize(\"mobile\")\n ? t(\"neetoTemplate.templates.back\")\n : t(\"neetoTemplate.templates.backToTemplates\")\n }\n onClick={() => setCurrentScreen(TEMPLATE_SCREENS.LIST)}\n />\n <Button\n className=\"flex-shrink-0\"\n data-cy=\"preview-use-template-button\"\n disabled={isCreating}\n label={t(\"neetoTemplate.templates.editTemplate\")}\n loading={isCreating}\n onClick={handleCreateTemplate}\n />\n </div>\n </div>\n </div>\n <div className=\"neeto-ui-bg-gray-200 neeto-templates-full-page-preview__holder-wrapper min-h-0 flex-grow\">\n <div\n className={classnames(\n \"neeto-templates-full-page-preview__holder m-auto\",\n {\n \"neeto-templates-full-page-preview__holder--desktop\":\n selectedDevice === RESPONSIVE_DEVICES.DESKTOP,\n \"neeto-templates-full-page-preview__holder--tablet\":\n selectedDevice === RESPONSIVE_DEVICES.TABLET,\n \"neeto-templates-full-page-preview__holder--mobile\":\n selectedDevice === RESPONSIVE_DEVICES.MOBILE,\n }\n )}\n >\n <div className=\"neeto-templates-full-page-preview__device-border h-full w-full\">\n <iframe\n className=\"neeto-templates-full-page-preview__iframe h-full w-full border-none\"\n data-cy=\"iframe-id\"\n src={previewUrl}\n />\n </div>\n </div>\n </div>\n </div>\n );\n};\nexport default Preview;\n","import { useState } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { Modal } from \"neetoui\";\n\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/application.scss\";\n\nimport { TEMPLATE_SCREENS } from \"./constants\";\nimport List from \"./List\";\nimport Preview from \"./Preview\";\n\nconst CreateTemplateModal = ({\n isOpen,\n onClose,\n isCreating,\n refetchResource,\n onCreate = noop,\n afterCreate = noop,\n}) => {\n const [currentScreen, setCurrentScreen] = useState(TEMPLATE_SCREENS.LIST);\n const [selectedTemplate, setSelectedTemplate] = useState({});\n\n const onModalClose = () => {\n onClose();\n setTimeout(() => {\n setCurrentScreen(TEMPLATE_SCREENS.LIST);\n }, 300); //To accommodate the animation duration.\n };\n\n return (\n <Modal\n {...{ isOpen }}\n className=\"neeto-template-list h-screen w-screen overflow-y-auto\"\n closeButton={currentScreen === TEMPLATE_SCREENS.LIST}\n size=\"fullScreen\"\n onClose={onModalClose}\n >\n {currentScreen === TEMPLATE_SCREENS.LIST ? (\n <List\n {...{\n afterCreate,\n isCreating,\n onCreate,\n refetchResource,\n setCurrentScreen,\n setSelectedTemplate,\n }}\n />\n ) : (\n <Preview\n {...{\n afterCreate,\n refetchResource,\n selectedTemplate,\n setCurrentScreen,\n }}\n />\n )}\n </Modal>\n );\n};\n\nexport default CreateTemplateModal;\n"],"names":["TEMPLATE_SCREENS","LIST","PREVIEW","DEFAULT_CATEGORY","id","name","INFINITE_SCROLL_DELAY","RESPONSIVE_DEVICES","DESKTOP","TABLET","MOBILE","useRef","useState","useCallback","_extends","useEffect","React","BlankCard","_ref","Icon","icon","title","description","_ref$onClick","onClick","noop","_ref$disabled","disabled","_jsxs","className","tabIndex","children","_jsx","size","Typography","lineHeight","style","weight","Card","template","src","imageUrl","CategoryItem","label","count","isActive","setCurrentCategory","concat","joinHyphenCase","classnames","List","setCurrentScreen","setSelectedTemplate","onCreate","isCreating","afterCreate","refetchResource","_useTranslation","useTranslation","t","_useState","_useState2","_slicedToArray","currentCategory","_useState3","_useState4","searchTerm","setSearchTerm","_useFetchTemplates","useFetchTemplates","category","_useFetchTemplates$ha","hasNextPage","fetchNextPage","isTemplatesLoading","isLoading","_useFetchTemplates$da","data","_useInfiniteScroll","useInfiniteScroll","loading","onLoadMore","rootMargin","delayInMs","_useInfiniteScroll2","sentryRef","rootRef","handleCardClick","Spinner","_data$tags","tags","_data$templates","templates","_data$templatesCount","templatesCount","categories","_objectSpread","_toConsumableArray","Search","autoFocus","disableTrimOnBlur","placeholder","onSearch","value","Accordion","Item","map","_ref2","_createElement","key","_ref3","ref","CustomSVG","index","Preview","selectedTemplate","_useBreakpoints","useBreakpoints","isSize","_useCreateTemplate","useCreateTemplate","createTemplate","mutate","isPending","selectedDevice","setSelectedDevice","handleCreateTemplate","onSuccess","response","previewUrl","ResponsiveDevicePicker","onDeviceChange","Button","CreateTemplateModal","isOpen","onClose","_ref$onCreate","_ref$afterCreate","currentScreen","onModalClose","setTimeout","Modal","closeButton"],"mappings":"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"}
|
|
@@ -1,38 +1,47 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
4
|
var classnames = require('classnames');
|
|
5
5
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
6
|
-
var
|
|
6
|
+
var Spinner = require('@bigbinary/neetoui/Spinner');
|
|
7
7
|
var Typography = require('@bigbinary/neetoui/Typography');
|
|
8
8
|
var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
|
|
9
9
|
var Form = require('@bigbinary/neetoui/formik/Form');
|
|
10
10
|
var reactI18next = require('react-i18next');
|
|
11
11
|
var reactRouterDom = require('react-router-dom');
|
|
12
|
-
var useTemplatesApi = require('../useTemplatesApi-
|
|
13
|
-
var
|
|
12
|
+
var useTemplatesApi = require('../useTemplatesApi-591180b3.js');
|
|
13
|
+
var utils = require('@bigbinary/neeto-tags-frontend/utils');
|
|
14
14
|
var reactQuery = require('@tanstack/react-query');
|
|
15
15
|
var axios = require('axios');
|
|
16
|
-
var
|
|
16
|
+
var query = require('../query-b6928156.js');
|
|
17
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
18
|
+
var ImageUploader = require('@bigbinary/neeto-image-uploader-frontend/ImageUploader');
|
|
17
19
|
var formik = require('formik');
|
|
18
20
|
var jsxRuntime = require('react/jsx-runtime');
|
|
19
21
|
var React = require('react');
|
|
20
22
|
var Header = require('@bigbinary/neeto-molecules/Header');
|
|
21
23
|
var Scrollable = require('@bigbinary/neeto-molecules/Scrollable');
|
|
24
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
25
|
+
var TagsComponent = require('@bigbinary/neeto-tags-frontend/TagsComponent');
|
|
22
26
|
var Label = require('@bigbinary/neetoui/Label');
|
|
23
27
|
var ramda = require('ramda');
|
|
24
28
|
require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
25
29
|
|
|
26
30
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
27
31
|
|
|
32
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
28
33
|
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
29
|
-
var
|
|
34
|
+
var Spinner__default = /*#__PURE__*/_interopDefaultLegacy(Spinner);
|
|
30
35
|
var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
|
|
31
36
|
var ActionBlock__default = /*#__PURE__*/_interopDefaultLegacy(ActionBlock);
|
|
32
37
|
var Form__default = /*#__PURE__*/_interopDefaultLegacy(Form);
|
|
33
38
|
var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
39
|
+
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
40
|
+
var ImageUploader__default = /*#__PURE__*/_interopDefaultLegacy(ImageUploader);
|
|
34
41
|
var Header__default = /*#__PURE__*/_interopDefaultLegacy(Header);
|
|
35
42
|
var Scrollable__default = /*#__PURE__*/_interopDefaultLegacy(Scrollable);
|
|
43
|
+
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
44
|
+
var TagsComponent__default = /*#__PURE__*/_interopDefaultLegacy(TagsComponent);
|
|
36
45
|
var Label__default = /*#__PURE__*/_interopDefaultLegacy(Label);
|
|
37
46
|
|
|
38
47
|
var create = function create(payload) {
|
|
@@ -51,15 +60,15 @@ var templateTagsApi = {
|
|
|
51
60
|
};
|
|
52
61
|
|
|
53
62
|
function ownKeys$2(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; }
|
|
54
|
-
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) {
|
|
63
|
+
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
55
64
|
var useCreateTemplateTag = function useCreateTemplateTag(options) {
|
|
56
65
|
return reactQuery.useMutation(_objectSpread$2(_objectSpread$2({
|
|
57
66
|
mutationFn: templateTagsApi.create
|
|
58
67
|
}, options), {}, {
|
|
59
68
|
onSuccess: function onSuccess() {
|
|
60
69
|
var _options$onSuccess;
|
|
61
|
-
|
|
62
|
-
options === null || options === void 0
|
|
70
|
+
utils.refetchTags();
|
|
71
|
+
options === null || options === void 0 ? void 0 : (_options$onSuccess = options.onSuccess) === null || _options$onSuccess === void 0 ? void 0 : _options$onSuccess.call(options);
|
|
63
72
|
}
|
|
64
73
|
}));
|
|
65
74
|
};
|
|
@@ -73,7 +82,7 @@ var useFetchTemplateTags = function useFetchTemplateTags() {
|
|
|
73
82
|
var FormikImageUploader = function FormikImageUploader(_ref) {
|
|
74
83
|
var name = _ref.name;
|
|
75
84
|
var _useField = formik.useField(name),
|
|
76
|
-
_useField2 =
|
|
85
|
+
_useField2 = _slicedToArray__default["default"](_useField, 3),
|
|
77
86
|
field = _useField2[0];
|
|
78
87
|
_useField2[1];
|
|
79
88
|
var setValue = _useField2[2].setValue;
|
|
@@ -83,7 +92,7 @@ var FormikImageUploader = function FormikImageUploader(_ref) {
|
|
|
83
92
|
setFieldValue("imageSignedId", file.signedId);
|
|
84
93
|
return setValue(file.url);
|
|
85
94
|
};
|
|
86
|
-
return /*#__PURE__*/jsxRuntime.jsx(
|
|
95
|
+
return /*#__PURE__*/jsxRuntime.jsx(ImageUploader__default["default"], {
|
|
87
96
|
className: "h-52 w-full md:h-80",
|
|
88
97
|
src: field.value,
|
|
89
98
|
uploadConfig: query.IMAGE_UPLOAD_CONFIG,
|
|
@@ -129,7 +138,7 @@ var PageContent = function PageContent(_ref3) {
|
|
|
129
138
|
};
|
|
130
139
|
|
|
131
140
|
function ownKeys$1(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; }
|
|
132
|
-
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) {
|
|
141
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
133
142
|
var Tags = function Tags(_ref) {
|
|
134
143
|
var allTags = _ref.allTags,
|
|
135
144
|
selectedTags = _ref.selectedTags,
|
|
@@ -140,7 +149,7 @@ var Tags = function Tags(_ref) {
|
|
|
140
149
|
_ref$labelProps = _ref.labelProps,
|
|
141
150
|
labelProps = _ref$labelProps === void 0 ? {} : _ref$labelProps;
|
|
142
151
|
var handleTagSelect = function handleTagSelect(newTag) {
|
|
143
|
-
return onUpdate([].concat(
|
|
152
|
+
return onUpdate([].concat(_toConsumableArray__default["default"](selectedTags), [newTag]));
|
|
144
153
|
};
|
|
145
154
|
var handleTagRemove = function handleTagRemove(removedTag) {
|
|
146
155
|
var updatedTags = neetoCist.removeBy({
|
|
@@ -167,7 +176,7 @@ var Tags = function Tags(_ref) {
|
|
|
167
176
|
children: labelProps.label
|
|
168
177
|
})), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
169
178
|
className: "neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-ui-bg-white border p-4",
|
|
170
|
-
children: /*#__PURE__*/jsxRuntime.jsx(
|
|
179
|
+
children: /*#__PURE__*/jsxRuntime.jsx(TagsComponent__default["default"], {
|
|
171
180
|
allTags: allTags,
|
|
172
181
|
selectedTags: selectedTags,
|
|
173
182
|
buttonProps: {
|
|
@@ -234,7 +243,7 @@ var buildTemplateUpdatePayload = function buildTemplateUpdatePayload(values) {
|
|
|
234
243
|
};
|
|
235
244
|
|
|
236
245
|
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; }
|
|
237
|
-
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) {
|
|
246
|
+
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; }
|
|
238
247
|
var TemplateSettings = function TemplateSettings(_ref) {
|
|
239
248
|
var _ref$onCancelTemplate = _ref.onCancelTemplatePreview,
|
|
240
249
|
onCancelTemplatePreview = _ref$onCancelTemplate === void 0 ? "" : _ref$onCancelTemplate,
|
|
@@ -285,7 +294,10 @@ var TemplateSettings = function TemplateSettings(_ref) {
|
|
|
285
294
|
"min-h-0": !isLoading,
|
|
286
295
|
"h-full": isLoading
|
|
287
296
|
}),
|
|
288
|
-
children: isLoading ? /*#__PURE__*/jsxRuntime.jsx(
|
|
297
|
+
children: isLoading ? /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
298
|
+
className: "flex h-full w-full items-center justify-center",
|
|
299
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Spinner__default["default"], {})
|
|
300
|
+
}) : /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
289
301
|
children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
|
|
290
302
|
className: "mb-1",
|
|
291
303
|
"data-cy": "thank-you-action-text",
|