@bigbinary/neeto-templates-frontend 2.2.14 → 2.2.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.
package/README.md CHANGED
@@ -114,6 +114,8 @@ users to create templates and view their details.
114
114
  - `refetchResource`: A function to refetch template resources.
115
115
  - `onCreate`: A function to handle template creation.
116
116
  - `afterCreate`: A function to perform actions after template creation.
117
+ - `title`: An optional prop to override the default pane title.
118
+ - `description`: An optional prop to override the default pane description.
117
119
 
118
120
  ##### Usage
119
121
 
@@ -1,11 +1,15 @@
1
1
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
2
  import * as React from 'react';
3
3
  import { useState, useRef, useCallback, useEffect, createElement } from 'react';
4
- import { noop } from '@bigbinary/neeto-cist';
4
+ import { noop, capitalize, isPresent } from '@bigbinary/neeto-cist';
5
5
  import Modal from '@bigbinary/neetoui/Modal';
6
6
  import { b as useFetchTemplates, c as useCreateTemplate } from './useTemplatesApi-C29z7CeC.js';
7
7
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
8
8
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
9
+ import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
10
+ import Neeto from '@bigbinary/neeto-icons/typeface-logos/Neeto';
11
+ import * as ProductTypefaceLogos from '@bigbinary/neeto-icons/typeface-logos';
12
+ import HelpPopover from '@bigbinary/neeto-molecules/HelpPopover';
9
13
  import Search from '@bigbinary/neeto-molecules/Search';
10
14
  import Spinner from '@bigbinary/neetoui/Spinner';
11
15
  import Typography from '@bigbinary/neetoui/Typography';
@@ -250,25 +254,21 @@ function useInfiniteScroll(_ref) {
250
254
  }];
251
255
  }
252
256
 
253
- var _rect, _path;
257
+ var _circle, _path;
254
258
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
255
259
  const SvgCustom = props => /*#__PURE__*/React.createElement("svg", _extends({
256
260
  xmlns: "http://www.w3.org/2000/svg",
257
- width: 46,
258
- height: 46,
261
+ width: 53,
262
+ height: 52,
259
263
  fill: "none"
260
- }, props), _rect || (_rect = /*#__PURE__*/React.createElement("rect", {
261
- width: 40,
262
- height: 40,
263
- x: 3,
264
- y: 2,
265
- fill: "#008068",
266
- rx: 2
264
+ }, props), _circle || (_circle = /*#__PURE__*/React.createElement("circle", {
265
+ cx: 26.603,
266
+ cy: 25.957,
267
+ r: 25.957,
268
+ fill: "rgb(var(--neeto-ui-black))"
267
269
  })), _path || (_path = /*#__PURE__*/React.createElement("path", {
268
- fill: "#fff",
269
- fillRule: "evenodd",
270
- d: "M23.75 16a.75.75 0 0 0-1.5 0v5.25H17a.75.75 0 0 0 0 1.5h5.25V28a.75.75 0 0 0 1.5 0v-5.25H29a.75.75 0 0 0 0-1.5h-5.25V16Z",
271
- clipRule: "evenodd"
270
+ fill: "rgb(var(--neeto-ui-white))",
271
+ d: "M18.053 26.423v-1.976h7.36v-7.6h1.977v7.6h7.36v1.976h-7.36v7.584h-1.976v-7.584h-7.361Z"
272
272
  })));
273
273
 
274
274
  var BlankCard = function BlankCard(_ref) {
@@ -280,7 +280,7 @@ var BlankCard = function BlankCard(_ref) {
280
280
  _ref$disabled = _ref.disabled,
281
281
  disabled = _ref$disabled === void 0 ? false : _ref$disabled;
282
282
  return /*#__PURE__*/jsxs("div", {
283
- 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",
283
+ className: "neeto-ui-rounded-lg neeto-ui-bg-white hover:neeto-ui-bg-white neeto-ui-border-black 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",
284
284
  "data-cy": "start-from-scratch-button",
285
285
  tabIndex: 0,
286
286
  onClick: !disabled ? onClick : noop,
@@ -309,7 +309,7 @@ var Card = function Card(_ref) {
309
309
  onClick = _ref.onClick;
310
310
  return /*#__PURE__*/jsxs("div", {
311
311
  onClick: onClick,
312
- 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",
312
+ className: "neeto-template neeto-template-thumbnail neeto-ui-bg-white 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 neeto-ui-border-gray-300",
313
313
  "data-cy": "template-card",
314
314
  tabIndex: 0,
315
315
  children: [/*#__PURE__*/jsx("div", {
@@ -326,6 +326,7 @@ var Card = function Card(_ref) {
326
326
  "data-cy": "template-card-title",
327
327
  lineHeight: "normal",
328
328
  style: "h5",
329
+ weight: "medium",
329
330
  children: template.title
330
331
  })
331
332
  })]
@@ -357,14 +358,21 @@ var CategoryItem = function CategoryItem(_ref) {
357
358
  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; }
358
359
  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(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; }
359
360
  var List = function List(_ref) {
361
+ var _ProductTypefaceLogos;
360
362
  var setCurrentScreen = _ref.setCurrentScreen,
361
363
  setSelectedTemplate = _ref.setSelectedTemplate,
362
364
  onCreate = _ref.onCreate,
363
365
  isCreating = _ref.isCreating,
364
366
  afterCreate = _ref.afterCreate,
365
- refetchResource = _ref.refetchResource;
367
+ refetchResource = _ref.refetchResource,
368
+ titleHelpPopoverProps = _ref.titleHelpPopoverProps,
369
+ title = _ref.title,
370
+ description = _ref.description;
366
371
  var _useTranslation = useTranslation(),
367
372
  t = _useTranslation.t;
373
+ var productName = globalProps.appName.substr(5);
374
+ var logoName = "Neeto".concat(capitalize(productName.toLowerCase()));
375
+ var ProductTypefaceLogo = (_ProductTypefaceLogos = ProductTypefaceLogos[logoName]) !== null && _ProductTypefaceLogos !== void 0 ? _ProductTypefaceLogos : Neeto;
368
376
  var _useState = useState(DEFAULT_CATEGORY),
369
377
  _useState2 = _slicedToArray(_useState, 2),
370
378
  currentCategory = _useState2[0],
@@ -413,32 +421,11 @@ var List = function List(_ref) {
413
421
  count: templatesCount
414
422
  })].concat(_toConsumableArray(tags));
415
423
  return /*#__PURE__*/jsxs("div", {
416
- className: "neeto-ui-bg-gray-100 relative flex flex-col items-start md:min-h-full md:flex-row",
424
+ className: "neeto-ui-bg-gray-50 relative flex flex-col items-start md:min-h-full md:flex-row",
417
425
  children: [/*#__PURE__*/jsxs("div", {
418
- className: "w-full flex-shrink-0 space-y-6 px-4 py-6 md:sticky md:left-0 md:top-0 md:h-screen md:w-72 md:space-y-8 md:overflow-y-auto md:pl-10 lg:w-80 xl:pl-16",
419
- children: [/*#__PURE__*/jsxs("div", {
420
- className: "space-y-4",
421
- children: [/*#__PURE__*/jsxs("div", {
422
- className: "space-y-1",
423
- children: [/*#__PURE__*/jsx(Typography, {
424
- "data-cy": "create-new-form-title",
425
- style: "h2",
426
- weight: "semibold",
427
- children: t("neetoTemplate.templates.createNewEntity")
428
- }), /*#__PURE__*/jsx(Typography, {
429
- lineHeight: "normal",
430
- style: "body2",
431
- children: t("neetoTemplate.templates.description")
432
- })]
433
- }), /*#__PURE__*/jsx(Search, {
434
- autoFocus: true,
435
- disableTrimOnBlur: true,
436
- "data-cy": "template-search-input",
437
- placeholder: t("neetoTemplate.templates.search"),
438
- onSearch: function onSearch(value) {
439
- return setSearchTerm(value);
440
- }
441
- })]
426
+ className: "w-full flex-shrink-0 space-y-6 p-6 xl:p-10 md:sticky md:left-0 md:top-0 md:h-screen md:w-72 md:space-y-10 md:overflow-y-auto lg:w-80",
427
+ children: [/*#__PURE__*/jsx(ProductTypefaceLogo, {
428
+ className: "h-9 w-auto max-w-full"
442
429
  }), /*#__PURE__*/jsx(Accordion, {
443
430
  className: "md:hidden",
444
431
  children: /*#__PURE__*/jsx(Accordion.Item, {
@@ -462,14 +449,15 @@ var List = function List(_ref) {
462
449
  })
463
450
  })
464
451
  }), /*#__PURE__*/jsxs("div", {
465
- className: "hidden space-y-3 md:block",
452
+ className: "hidden md:flex md:flex-col",
466
453
  children: [/*#__PURE__*/jsx(Typography, {
467
- className: "uppercase",
454
+ className: "mb-4",
468
455
  "data-cy": "template-categories-label",
469
- style: "h6",
456
+ style: "h3",
457
+ weight: "semibold",
470
458
  children: t("neetoTemplate.templates.categories")
471
459
  }), /*#__PURE__*/jsx("div", {
472
- className: "space-y-2",
460
+ className: "flex flex-col gap-2",
473
461
  children: categories.map(function (_ref3) {
474
462
  var id = _ref3.id,
475
463
  name = _ref3.name,
@@ -489,10 +477,39 @@ var List = function List(_ref) {
489
477
  })
490
478
  })]
491
479
  })]
492
- }), /*#__PURE__*/jsx("div", {
493
- className: "h-screen w-full p-4 md:overflow-y-auto md:py-8 md:pl-8 md:pr-20 xl:px-20",
480
+ }), /*#__PURE__*/jsxs("div", {
481
+ className: "md:h-screen w-full p-6 md:overflow-y-auto xl:p-10",
494
482
  ref: rootRef,
495
- children: /*#__PURE__*/jsxs("div", {
483
+ children: [/*#__PURE__*/jsxs("div", {
484
+ className: "flex flex-col mb-10",
485
+ children: [/*#__PURE__*/jsxs("div", {
486
+ className: "flex gap-1.5 items-center",
487
+ children: [/*#__PURE__*/jsx(Typography, {
488
+ className: "mb-2",
489
+ "data-cy": "create-new-form-title",
490
+ style: "h1",
491
+ children: title || t("neetoTemplate.templates.createNewEntity")
492
+ }), isPresent(titleHelpPopoverProps) && /*#__PURE__*/jsx(HelpPopover, _objectSpread(_objectSpread({}, titleHelpPopoverProps), {}, {
493
+ popoverProps: {
494
+ position: "top"
495
+ }
496
+ }))]
497
+ }), /*#__PURE__*/jsx(Typography, {
498
+ className: "mb-6",
499
+ lineHeight: "normal",
500
+ style: "body1",
501
+ children: description || t("neetoTemplate.templates.description")
502
+ }), /*#__PURE__*/jsx(Search, {
503
+ autoFocus: true,
504
+ disableTrimOnBlur: true,
505
+ "data-cy": "template-search-input",
506
+ placeholder: t("neetoTemplate.templates.search"),
507
+ size: "large",
508
+ onSearch: function onSearch(value) {
509
+ return setSearchTerm(value);
510
+ }
511
+ })]
512
+ }), /*#__PURE__*/jsxs("div", {
496
513
  className: "flex-grow space-y-6",
497
514
  children: [/*#__PURE__*/jsxs("div", {
498
515
  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",
@@ -518,7 +535,7 @@ var List = function List(_ref) {
518
535
  ref: sentryRef,
519
536
  children: /*#__PURE__*/jsx(Spinner, {})
520
537
  })]
521
- })
538
+ })]
522
539
  })]
523
540
  });
524
541
  };
@@ -621,7 +638,11 @@ var CreateTemplateModal = function CreateTemplateModal(_ref) {
621
638
  _ref$onCreate = _ref.onCreate,
622
639
  onCreate = _ref$onCreate === void 0 ? noop : _ref$onCreate,
623
640
  _ref$afterCreate = _ref.afterCreate,
624
- afterCreate = _ref$afterCreate === void 0 ? noop : _ref$afterCreate;
641
+ afterCreate = _ref$afterCreate === void 0 ? noop : _ref$afterCreate,
642
+ _ref$titleHelpPopover = _ref.titleHelpPopoverProps,
643
+ titleHelpPopoverProps = _ref$titleHelpPopover === void 0 ? {} : _ref$titleHelpPopover,
644
+ title = _ref.title,
645
+ description = _ref.description;
625
646
  var _useState = useState(TEMPLATE_SCREENS.LIST),
626
647
  _useState2 = _slicedToArray(_useState, 2),
627
648
  currentScreen = _useState2[0],
@@ -644,11 +665,14 @@ var CreateTemplateModal = function CreateTemplateModal(_ref) {
644
665
  onClose: onModalClose,
645
666
  children: currentScreen === TEMPLATE_SCREENS.LIST ? /*#__PURE__*/jsx(List, {
646
667
  afterCreate: afterCreate,
668
+ description: description,
647
669
  isCreating: isCreating,
648
670
  onCreate: onCreate,
649
671
  refetchResource: refetchResource,
650
672
  setCurrentScreen: setCurrentScreen,
651
- setSelectedTemplate: setSelectedTemplate
673
+ setSelectedTemplate: setSelectedTemplate,
674
+ title: title,
675
+ titleHelpPopoverProps: titleHelpPopoverProps
652
676
  }) : /*#__PURE__*/jsx(Preview, {
653
677
  afterCreate: afterCreate,
654
678
  refetchResource: refetchResource,
@@ -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 { CLOUDFRONT_BASE_URL } from \"neetocommons/constants\";\nimport { 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 `${CLOUDFRONT_BASE_URL}/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 className=\"text-left\">{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:h-screen md:w-72 md:space-y-8 md:overflow-y-auto 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 <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","_extends","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","concat","CLOUDFRONT_BASE_URL","CategoryItem","label","count","isActive","setCurrentCategory","joinHyphenCase","classnames","List","setCurrentScreen","setSelectedTemplate","onCreate","isCreating","afterCreate","refetchResource","_useTranslation","useTranslation","t","_useState","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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","x_google_ignoreList":[1,2]}
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 width=\"53\" height=\"52\" viewBox=\"0 0 53 52\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"26.6031\" cy=\"25.9571\" r=\"25.9571\" fill=\"rgb(var(--neeto-ui-black))\" />\n <path\n d=\"M18.0526 26.4227V24.447H25.4138V16.8467H27.3896V24.447H34.7508V26.4227H27.3896V34.0071H25.4138V26.4227H18.0526Z\"\n fill=\"rgb(var(--neeto-ui-white))\" />\n</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-black 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 { CLOUDFRONT_BASE_URL } from \"neetocommons/constants\";\nimport { Typography } from \"neetoui\";\n\nconst Card = ({ template, onClick }) => (\n <div\n {...{ onClick }}\n className=\"neeto-template neeto-template-thumbnail neeto-ui-bg-white 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 neeto-ui-border-gray-300\"\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 `${CLOUDFRONT_BASE_URL}/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 weight=\"medium\"\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 className=\"text-left\">{label}</span>\n <span>{count}</span>\n </button>\n);\n\nexport default CategoryItem;\n","import { useState } from \"react\";\n\nimport { isPresent, capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\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 titleHelpPopoverProps,\n title,\n description,\n}) => {\n const { t } = useTranslation();\n\n const productName = globalProps.appName.substr(5);\n const logoName = `Neeto${capitalize(productName.toLowerCase())}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\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-50 relative flex flex-col items-start md:min-h-full md:flex-row\">\n <div className=\"w-full flex-shrink-0 space-y-6 p-6 xl:p-10 md:sticky md:left-0 md:top-0 md:h-screen md:w-72 md:space-y-10 md:overflow-y-auto lg:w-80\">\n <ProductTypefaceLogo className=\"h-9 w-auto max-w-full\" />\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 md:flex md:flex-col\">\n <Typography\n className=\"mb-4\"\n data-cy=\"template-categories-label\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {t(\"neetoTemplate.templates.categories\")}\n </Typography>\n <div className=\"flex flex-col gap-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=\"md:h-screen w-full p-6 md:overflow-y-auto xl:p-10\"\n ref={rootRef}\n >\n <div className=\"flex flex-col mb-10\">\n <div className=\"flex gap-1.5 items-center\">\n <Typography\n className=\"mb-2\"\n data-cy=\"create-new-form-title\"\n style=\"h1\"\n >\n {title || t(\"neetoTemplate.templates.createNewEntity\")}\n </Typography>\n {isPresent(titleHelpPopoverProps) && (\n <HelpPopover\n {...titleHelpPopoverProps}\n popoverProps={{ position: \"top\" }}\n />\n )}\n </div>\n <Typography className=\"mb-6\" lineHeight=\"normal\" style=\"body1\">\n {description || t(\"neetoTemplate.templates.description\")}\n </Typography>\n <Search\n autoFocus\n disableTrimOnBlur\n data-cy=\"template-search-input\"\n placeholder={t(\"neetoTemplate.templates.search\")}\n size=\"large\"\n onSearch={value => setSearchTerm(value)}\n />\n </div>\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 titleHelpPopoverProps = {},\n title,\n description,\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 description,\n isCreating,\n onCreate,\n refetchResource,\n setCurrentScreen,\n setSelectedTemplate,\n title,\n titleHelpPopoverProps,\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","_extends","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","concat","CLOUDFRONT_BASE_URL","CategoryItem","label","count","isActive","setCurrentCategory","joinHyphenCase","classnames","List","_ProductTypefaceLogos","setCurrentScreen","setSelectedTemplate","onCreate","isCreating","afterCreate","refetchResource","titleHelpPopoverProps","_useTranslation","useTranslation","t","productName","globalProps","appName","substr","logoName","capitalize","toLowerCase","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","_useState","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","Accordion","Item","map","_ref2","_createElement","key","_ref3","ref","isPresent","HelpPopover","popoverProps","position","Search","autoFocus","disableTrimOnBlur","placeholder","onSearch","value","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","_ref$titleHelpPopover","currentScreen","onModalClose","setTimeout","Modal","closeButton"],"mappings":"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","x_google_ignoreList":[1,2]}
@@ -7,6 +7,10 @@ var Modal = require('@bigbinary/neetoui/Modal');
7
7
  var useTemplatesApi = require('../useTemplatesApi-BZ3F3ZzC.js');
8
8
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
9
9
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
10
+ var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
11
+ var Neeto = require('@bigbinary/neeto-icons/typeface-logos/Neeto');
12
+ var ProductTypefaceLogos = require('@bigbinary/neeto-icons/typeface-logos');
13
+ var HelpPopover = require('@bigbinary/neeto-molecules/HelpPopover');
10
14
  var Search = require('@bigbinary/neeto-molecules/Search');
11
15
  var Spinner = require('@bigbinary/neetoui/Spinner');
12
16
  var Typography = require('@bigbinary/neetoui/Typography');
@@ -43,6 +47,7 @@ function _interopNamespaceDefault(e) {
43
47
  }
44
48
 
45
49
  var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
50
+ var ProductTypefaceLogos__namespace = /*#__PURE__*/_interopNamespaceDefault(ProductTypefaceLogos);
46
51
 
47
52
  var TEMPLATE_SCREENS = {
48
53
  LIST: "List",
@@ -270,25 +275,21 @@ function useInfiniteScroll(_ref) {
270
275
  }];
271
276
  }
272
277
 
273
- var _rect, _path;
278
+ var _circle, _path;
274
279
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
275
280
  const SvgCustom = props => /*#__PURE__*/React__namespace.createElement("svg", _extends({
276
281
  xmlns: "http://www.w3.org/2000/svg",
277
- width: 46,
278
- height: 46,
282
+ width: 53,
283
+ height: 52,
279
284
  fill: "none"
280
- }, props), _rect || (_rect = /*#__PURE__*/React__namespace.createElement("rect", {
281
- width: 40,
282
- height: 40,
283
- x: 3,
284
- y: 2,
285
- fill: "#008068",
286
- rx: 2
285
+ }, props), _circle || (_circle = /*#__PURE__*/React__namespace.createElement("circle", {
286
+ cx: 26.603,
287
+ cy: 25.957,
288
+ r: 25.957,
289
+ fill: "rgb(var(--neeto-ui-black))"
287
290
  })), _path || (_path = /*#__PURE__*/React__namespace.createElement("path", {
288
- fill: "#fff",
289
- fillRule: "evenodd",
290
- d: "M23.75 16a.75.75 0 0 0-1.5 0v5.25H17a.75.75 0 0 0 0 1.5h5.25V28a.75.75 0 0 0 1.5 0v-5.25H29a.75.75 0 0 0 0-1.5h-5.25V16Z",
291
- clipRule: "evenodd"
291
+ fill: "rgb(var(--neeto-ui-white))",
292
+ d: "M18.053 26.423v-1.976h7.36v-7.6h1.977v7.6h7.36v1.976h-7.36v7.584h-1.976v-7.584h-7.361Z"
292
293
  })));
293
294
 
294
295
  var BlankCard = function BlankCard(_ref) {
@@ -300,7 +301,7 @@ var BlankCard = function BlankCard(_ref) {
300
301
  _ref$disabled = _ref.disabled,
301
302
  disabled = _ref$disabled === void 0 ? false : _ref$disabled;
302
303
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
303
- 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",
304
+ className: "neeto-ui-rounded-lg neeto-ui-bg-white hover:neeto-ui-bg-white neeto-ui-border-black 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",
304
305
  "data-cy": "start-from-scratch-button",
305
306
  tabIndex: 0,
306
307
  onClick: !disabled ? onClick : neetoCist.noop,
@@ -329,7 +330,7 @@ var Card = function Card(_ref) {
329
330
  onClick = _ref.onClick;
330
331
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
331
332
  onClick: onClick,
332
- 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",
333
+ className: "neeto-template neeto-template-thumbnail neeto-ui-bg-white 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 neeto-ui-border-gray-300",
333
334
  "data-cy": "template-card",
334
335
  tabIndex: 0,
335
336
  children: [/*#__PURE__*/jsxRuntime.jsx("div", {
@@ -346,6 +347,7 @@ var Card = function Card(_ref) {
346
347
  "data-cy": "template-card-title",
347
348
  lineHeight: "normal",
348
349
  style: "h5",
350
+ weight: "medium",
349
351
  children: template.title
350
352
  })
351
353
  })]
@@ -377,14 +379,21 @@ var CategoryItem = function CategoryItem(_ref) {
377
379
  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; }
378
380
  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(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; }
379
381
  var List = function List(_ref) {
382
+ var _ProductTypefaceLogos;
380
383
  var setCurrentScreen = _ref.setCurrentScreen,
381
384
  setSelectedTemplate = _ref.setSelectedTemplate,
382
385
  onCreate = _ref.onCreate,
383
386
  isCreating = _ref.isCreating,
384
387
  afterCreate = _ref.afterCreate,
385
- refetchResource = _ref.refetchResource;
388
+ refetchResource = _ref.refetchResource,
389
+ titleHelpPopoverProps = _ref.titleHelpPopoverProps,
390
+ title = _ref.title,
391
+ description = _ref.description;
386
392
  var _useTranslation = reactI18next.useTranslation(),
387
393
  t = _useTranslation.t;
394
+ var productName = initializers.globalProps.appName.substr(5);
395
+ var logoName = "Neeto".concat(neetoCist.capitalize(productName.toLowerCase()));
396
+ var ProductTypefaceLogo = (_ProductTypefaceLogos = ProductTypefaceLogos__namespace[logoName]) !== null && _ProductTypefaceLogos !== void 0 ? _ProductTypefaceLogos : Neeto;
388
397
  var _useState = React.useState(DEFAULT_CATEGORY),
389
398
  _useState2 = _slicedToArray(_useState, 2),
390
399
  currentCategory = _useState2[0],
@@ -433,32 +442,11 @@ var List = function List(_ref) {
433
442
  count: templatesCount
434
443
  })].concat(_toConsumableArray(tags));
435
444
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
436
- className: "neeto-ui-bg-gray-100 relative flex flex-col items-start md:min-h-full md:flex-row",
445
+ className: "neeto-ui-bg-gray-50 relative flex flex-col items-start md:min-h-full md:flex-row",
437
446
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
438
- className: "w-full flex-shrink-0 space-y-6 px-4 py-6 md:sticky md:left-0 md:top-0 md:h-screen md:w-72 md:space-y-8 md:overflow-y-auto md:pl-10 lg:w-80 xl:pl-16",
439
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
440
- className: "space-y-4",
441
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
442
- className: "space-y-1",
443
- children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
444
- "data-cy": "create-new-form-title",
445
- style: "h2",
446
- weight: "semibold",
447
- children: t("neetoTemplate.templates.createNewEntity")
448
- }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
449
- lineHeight: "normal",
450
- style: "body2",
451
- children: t("neetoTemplate.templates.description")
452
- })]
453
- }), /*#__PURE__*/jsxRuntime.jsx(Search, {
454
- autoFocus: true,
455
- disableTrimOnBlur: true,
456
- "data-cy": "template-search-input",
457
- placeholder: t("neetoTemplate.templates.search"),
458
- onSearch: function onSearch(value) {
459
- return setSearchTerm(value);
460
- }
461
- })]
447
+ className: "w-full flex-shrink-0 space-y-6 p-6 xl:p-10 md:sticky md:left-0 md:top-0 md:h-screen md:w-72 md:space-y-10 md:overflow-y-auto lg:w-80",
448
+ children: [/*#__PURE__*/jsxRuntime.jsx(ProductTypefaceLogo, {
449
+ className: "h-9 w-auto max-w-full"
462
450
  }), /*#__PURE__*/jsxRuntime.jsx(Accordion, {
463
451
  className: "md:hidden",
464
452
  children: /*#__PURE__*/jsxRuntime.jsx(Accordion.Item, {
@@ -482,14 +470,15 @@ var List = function List(_ref) {
482
470
  })
483
471
  })
484
472
  }), /*#__PURE__*/jsxRuntime.jsxs("div", {
485
- className: "hidden space-y-3 md:block",
473
+ className: "hidden md:flex md:flex-col",
486
474
  children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
487
- className: "uppercase",
475
+ className: "mb-4",
488
476
  "data-cy": "template-categories-label",
489
- style: "h6",
477
+ style: "h3",
478
+ weight: "semibold",
490
479
  children: t("neetoTemplate.templates.categories")
491
480
  }), /*#__PURE__*/jsxRuntime.jsx("div", {
492
- className: "space-y-2",
481
+ className: "flex flex-col gap-2",
493
482
  children: categories.map(function (_ref3) {
494
483
  var id = _ref3.id,
495
484
  name = _ref3.name,
@@ -509,10 +498,39 @@ var List = function List(_ref) {
509
498
  })
510
499
  })]
511
500
  })]
512
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
513
- className: "h-screen w-full p-4 md:overflow-y-auto md:py-8 md:pl-8 md:pr-20 xl:px-20",
501
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
502
+ className: "md:h-screen w-full p-6 md:overflow-y-auto xl:p-10",
514
503
  ref: rootRef,
515
- children: /*#__PURE__*/jsxRuntime.jsxs("div", {
504
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
505
+ className: "flex flex-col mb-10",
506
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
507
+ className: "flex gap-1.5 items-center",
508
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
509
+ className: "mb-2",
510
+ "data-cy": "create-new-form-title",
511
+ style: "h1",
512
+ children: title || t("neetoTemplate.templates.createNewEntity")
513
+ }), neetoCist.isPresent(titleHelpPopoverProps) && /*#__PURE__*/jsxRuntime.jsx(HelpPopover, _objectSpread(_objectSpread({}, titleHelpPopoverProps), {}, {
514
+ popoverProps: {
515
+ position: "top"
516
+ }
517
+ }))]
518
+ }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
519
+ className: "mb-6",
520
+ lineHeight: "normal",
521
+ style: "body1",
522
+ children: description || t("neetoTemplate.templates.description")
523
+ }), /*#__PURE__*/jsxRuntime.jsx(Search, {
524
+ autoFocus: true,
525
+ disableTrimOnBlur: true,
526
+ "data-cy": "template-search-input",
527
+ placeholder: t("neetoTemplate.templates.search"),
528
+ size: "large",
529
+ onSearch: function onSearch(value) {
530
+ return setSearchTerm(value);
531
+ }
532
+ })]
533
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
516
534
  className: "flex-grow space-y-6",
517
535
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
518
536
  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",
@@ -538,7 +556,7 @@ var List = function List(_ref) {
538
556
  ref: sentryRef,
539
557
  children: /*#__PURE__*/jsxRuntime.jsx(Spinner, {})
540
558
  })]
541
- })
559
+ })]
542
560
  })]
543
561
  });
544
562
  };
@@ -641,7 +659,11 @@ var CreateTemplateModal = function CreateTemplateModal(_ref) {
641
659
  _ref$onCreate = _ref.onCreate,
642
660
  onCreate = _ref$onCreate === void 0 ? neetoCist.noop : _ref$onCreate,
643
661
  _ref$afterCreate = _ref.afterCreate,
644
- afterCreate = _ref$afterCreate === void 0 ? neetoCist.noop : _ref$afterCreate;
662
+ afterCreate = _ref$afterCreate === void 0 ? neetoCist.noop : _ref$afterCreate,
663
+ _ref$titleHelpPopover = _ref.titleHelpPopoverProps,
664
+ titleHelpPopoverProps = _ref$titleHelpPopover === void 0 ? {} : _ref$titleHelpPopover,
665
+ title = _ref.title,
666
+ description = _ref.description;
645
667
  var _useState = React.useState(TEMPLATE_SCREENS.LIST),
646
668
  _useState2 = _slicedToArray(_useState, 2),
647
669
  currentScreen = _useState2[0],
@@ -664,11 +686,14 @@ var CreateTemplateModal = function CreateTemplateModal(_ref) {
664
686
  onClose: onModalClose,
665
687
  children: currentScreen === TEMPLATE_SCREENS.LIST ? /*#__PURE__*/jsxRuntime.jsx(List, {
666
688
  afterCreate: afterCreate,
689
+ description: description,
667
690
  isCreating: isCreating,
668
691
  onCreate: onCreate,
669
692
  refetchResource: refetchResource,
670
693
  setCurrentScreen: setCurrentScreen,
671
- setSelectedTemplate: setSelectedTemplate
694
+ setSelectedTemplate: setSelectedTemplate,
695
+ title: title,
696
+ titleHelpPopoverProps: titleHelpPopoverProps
672
697
  }) : /*#__PURE__*/jsxRuntime.jsx(Preview, {
673
698
  afterCreate: afterCreate,
674
699
  refetchResource: refetchResource,
@@ -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 { CLOUDFRONT_BASE_URL } from \"neetocommons/constants\";\nimport { 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 `${CLOUDFRONT_BASE_URL}/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 className=\"text-left\">{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:h-screen md:w-72 md:space-y-8 md:overflow-y-auto 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 <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","concat","CLOUDFRONT_BASE_URL","CategoryItem","label","count","isActive","setCurrentCategory","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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","x_google_ignoreList":[1,2]}
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 width=\"53\" height=\"52\" viewBox=\"0 0 53 52\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"26.6031\" cy=\"25.9571\" r=\"25.9571\" fill=\"rgb(var(--neeto-ui-black))\" />\n <path\n d=\"M18.0526 26.4227V24.447H25.4138V16.8467H27.3896V24.447H34.7508V26.4227H27.3896V34.0071H25.4138V26.4227H18.0526Z\"\n fill=\"rgb(var(--neeto-ui-white))\" />\n</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-black 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 { CLOUDFRONT_BASE_URL } from \"neetocommons/constants\";\nimport { Typography } from \"neetoui\";\n\nconst Card = ({ template, onClick }) => (\n <div\n {...{ onClick }}\n className=\"neeto-template neeto-template-thumbnail neeto-ui-bg-white 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 neeto-ui-border-gray-300\"\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 `${CLOUDFRONT_BASE_URL}/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 weight=\"medium\"\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 className=\"text-left\">{label}</span>\n <span>{count}</span>\n </button>\n);\n\nexport default CategoryItem;\n","import { useState } from \"react\";\n\nimport { isPresent, capitalize } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Neeto } from \"neetoicons/typeface-logos\";\nimport * as ProductTypefaceLogos from \"neetoicons/typeface-logos\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\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 titleHelpPopoverProps,\n title,\n description,\n}) => {\n const { t } = useTranslation();\n\n const productName = globalProps.appName.substr(5);\n const logoName = `Neeto${capitalize(productName.toLowerCase())}`;\n const ProductTypefaceLogo = ProductTypefaceLogos[logoName] ?? Neeto;\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-50 relative flex flex-col items-start md:min-h-full md:flex-row\">\n <div className=\"w-full flex-shrink-0 space-y-6 p-6 xl:p-10 md:sticky md:left-0 md:top-0 md:h-screen md:w-72 md:space-y-10 md:overflow-y-auto lg:w-80\">\n <ProductTypefaceLogo className=\"h-9 w-auto max-w-full\" />\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 md:flex md:flex-col\">\n <Typography\n className=\"mb-4\"\n data-cy=\"template-categories-label\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {t(\"neetoTemplate.templates.categories\")}\n </Typography>\n <div className=\"flex flex-col gap-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=\"md:h-screen w-full p-6 md:overflow-y-auto xl:p-10\"\n ref={rootRef}\n >\n <div className=\"flex flex-col mb-10\">\n <div className=\"flex gap-1.5 items-center\">\n <Typography\n className=\"mb-2\"\n data-cy=\"create-new-form-title\"\n style=\"h1\"\n >\n {title || t(\"neetoTemplate.templates.createNewEntity\")}\n </Typography>\n {isPresent(titleHelpPopoverProps) && (\n <HelpPopover\n {...titleHelpPopoverProps}\n popoverProps={{ position: \"top\" }}\n />\n )}\n </div>\n <Typography className=\"mb-6\" lineHeight=\"normal\" style=\"body1\">\n {description || t(\"neetoTemplate.templates.description\")}\n </Typography>\n <Search\n autoFocus\n disableTrimOnBlur\n data-cy=\"template-search-input\"\n placeholder={t(\"neetoTemplate.templates.search\")}\n size=\"large\"\n onSearch={value => setSearchTerm(value)}\n />\n </div>\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 titleHelpPopoverProps = {},\n title,\n description,\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 description,\n isCreating,\n onCreate,\n refetchResource,\n setCurrentScreen,\n setSelectedTemplate,\n title,\n titleHelpPopoverProps,\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","concat","CLOUDFRONT_BASE_URL","CategoryItem","label","count","isActive","setCurrentCategory","joinHyphenCase","classnames","List","_ProductTypefaceLogos","setCurrentScreen","setSelectedTemplate","onCreate","isCreating","afterCreate","refetchResource","titleHelpPopoverProps","_useTranslation","useTranslation","t","productName","globalProps","appName","substr","logoName","capitalize","toLowerCase","ProductTypefaceLogo","ProductTypefaceLogos","Neeto","_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","Accordion","Item","map","_ref2","_createElement","key","_ref3","ref","isPresent","HelpPopover","popoverProps","position","Search","autoFocus","disableTrimOnBlur","placeholder","onSearch","value","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","_ref$titleHelpPopover","currentScreen","onModalClose","setTimeout","Modal","closeButton"],"mappings":"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","x_google_ignoreList":[1,2]}
package/dist/cjs/index.js CHANGED
@@ -10,6 +10,10 @@ require('@bigbinary/neeto-cist');
10
10
  require('@bigbinary/neetoui/Modal');
11
11
  require('@babel/runtime/helpers/defineProperty');
12
12
  require('@babel/runtime/helpers/toConsumableArray');
13
+ require('@bigbinary/neeto-commons-frontend/initializers');
14
+ require('@bigbinary/neeto-icons/typeface-logos/Neeto');
15
+ require('@bigbinary/neeto-icons/typeface-logos');
16
+ require('@bigbinary/neeto-molecules/HelpPopover');
13
17
  require('@bigbinary/neeto-molecules/Search');
14
18
  require('@bigbinary/neetoui/Spinner');
15
19
  require('@bigbinary/neetoui/Typography');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index.js CHANGED
@@ -8,6 +8,10 @@ import '@bigbinary/neeto-cist';
8
8
  import '@bigbinary/neetoui/Modal';
9
9
  import '@babel/runtime/helpers/defineProperty';
10
10
  import '@babel/runtime/helpers/toConsumableArray';
11
+ import '@bigbinary/neeto-commons-frontend/initializers';
12
+ import '@bigbinary/neeto-icons/typeface-logos/Neeto';
13
+ import '@bigbinary/neeto-icons/typeface-logos';
14
+ import '@bigbinary/neeto-molecules/HelpPopover';
11
15
  import '@bigbinary/neeto-molecules/Search';
12
16
  import '@bigbinary/neetoui/Spinner';
13
17
  import '@bigbinary/neetoui/Typography';
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-templates-frontend",
3
- "version": "2.2.14",
3
+ "version": "2.2.16",
4
4
  "description": "A repo acts as the source of truth for the new nano's structure, configs, data etc.",
5
5
  "license": "UNLICENSED",
6
6
  "homepage": "https://github.com/bigbinary/neeto-templates-nano",
@@ -61,13 +61,13 @@
61
61
  "@babel/preset-typescript": "7.26.0",
62
62
  "@babel/runtime": "7.26.10",
63
63
  "@bigbinary/babel-preset-neeto": "^1.0.3",
64
- "@bigbinary/eslint-plugin-neeto": "1.7.2",
64
+ "@bigbinary/eslint-plugin-neeto": "1.7.4",
65
65
  "@bigbinary/neeto-cist": "1.0.17",
66
- "@bigbinary/neeto-commons-frontend": "4.13.53",
66
+ "@bigbinary/neeto-commons-frontend": "4.13.67",
67
67
  "@bigbinary/neeto-filters-frontend": "4.3.24",
68
- "@bigbinary/neeto-icons": "1.20.54",
69
- "@bigbinary/neeto-molecules": "4.0.10",
70
- "@bigbinary/neetoui": "8.3.23",
68
+ "@bigbinary/neeto-icons": "1.20.55",
69
+ "@bigbinary/neeto-molecules": "4.0.45",
70
+ "@bigbinary/neetoui": "8.3.30",
71
71
  "@emotion/is-prop-valid": "1.2.0",
72
72
  "@faker-js/faker": "8.2.0",
73
73
  "@honeybadger-io/js": "6.10.1",
@@ -120,6 +120,7 @@
120
120
  "eslint-plugin-xss": "^0.1.12",
121
121
  "formik": "2.4.6",
122
122
  "globals": "16.0.0",
123
+ "globby": "^14.1.0",
123
124
  "html-webpack-plugin": "5.5.3",
124
125
  "https-browserify": "1.0.0",
125
126
  "husky": "7.0.4",
@@ -177,11 +178,11 @@
177
178
  "peerDependencies": {
178
179
  "@babel/runtime": "7.26.10",
179
180
  "@bigbinary/neeto-cist": "1.0.17",
180
- "@bigbinary/neeto-commons-frontend": "4.13.53",
181
+ "@bigbinary/neeto-commons-frontend": "4.13.67",
181
182
  "@bigbinary/neeto-filters-frontend": "4.3.24",
182
- "@bigbinary/neeto-icons": "1.20.54",
183
- "@bigbinary/neeto-molecules": "4.0.10",
184
- "@bigbinary/neetoui": "8.3.23",
183
+ "@bigbinary/neeto-icons": "1.20.55",
184
+ "@bigbinary/neeto-molecules": "4.0.45",
185
+ "@bigbinary/neetoui": "8.3.30",
185
186
  "@honeybadger-io/js": "6.10.1",
186
187
  "@honeybadger-io/react": "6.1.25",
187
188
  "@tailwindcss/container-queries": "^0.1.1",
package/types.d.ts CHANGED
@@ -7,6 +7,16 @@ interface CreateTemplateModalProps {
7
7
  refetchResource: () => void;
8
8
  onCreate?: () => void;
9
9
  afterCreate?: () => void;
10
+ titleHelpPopoverProps?: {
11
+ title?: string;
12
+ description?: string;
13
+ helpLinkProps?: {
14
+ label?: string;
15
+ href?: string;
16
+ };
17
+ };
18
+ title?: string;
19
+ description?: string;
10
20
  }
11
21
 
12
22
  interface TemplateSettingsProps {