@bigbinary/neeto-templates-frontend 2.2.13 → 2.2.15

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.
Files changed (40) hide show
  1. package/app/javascript/src/translations/ar.json +44 -0
  2. package/app/javascript/src/translations/bg.json +44 -0
  3. package/app/javascript/src/translations/ca.json +44 -0
  4. package/app/javascript/src/translations/cs.json +44 -0
  5. package/app/javascript/src/translations/da.json +44 -0
  6. package/app/javascript/src/translations/es-MX.json +44 -0
  7. package/app/javascript/src/translations/et.json +44 -0
  8. package/app/javascript/src/translations/fi.json +44 -0
  9. package/app/javascript/src/translations/fil.json +44 -0
  10. package/app/javascript/src/translations/hi.json +44 -0
  11. package/app/javascript/src/translations/hr.json +44 -0
  12. package/app/javascript/src/translations/id.json +44 -0
  13. package/app/javascript/src/translations/it.json +44 -0
  14. package/app/javascript/src/translations/ja.json +44 -0
  15. package/app/javascript/src/translations/ko.json +44 -0
  16. package/app/javascript/src/translations/nl.json +44 -0
  17. package/app/javascript/src/translations/pl.json +44 -0
  18. package/app/javascript/src/translations/pt-BR.json +44 -0
  19. package/app/javascript/src/translations/pt.json +44 -0
  20. package/app/javascript/src/translations/ro.json +44 -0
  21. package/app/javascript/src/translations/ru.json +44 -0
  22. package/app/javascript/src/translations/sk.json +44 -0
  23. package/app/javascript/src/translations/sl.json +44 -0
  24. package/app/javascript/src/translations/sv.json +44 -0
  25. package/app/javascript/src/translations/th.json +44 -0
  26. package/app/javascript/src/translations/tr.json +44 -0
  27. package/app/javascript/src/translations/uk.json +44 -0
  28. package/app/javascript/src/translations/vi.json +44 -0
  29. package/app/javascript/src/translations/zh-CN.json +44 -0
  30. package/app/javascript/src/translations/zh-TW.json +44 -0
  31. package/dist/CreateTemplateModal.js +21 -9
  32. package/dist/CreateTemplateModal.js.map +1 -1
  33. package/dist/cjs/CreateTemplateModal.js +20 -8
  34. package/dist/cjs/CreateTemplateModal.js.map +1 -1
  35. package/dist/cjs/index.js +1 -0
  36. package/dist/cjs/index.js.map +1 -1
  37. package/dist/index.js +1 -0
  38. package/dist/index.js.map +1 -1
  39. package/package.json +11 -10
  40. package/types.d.ts +8 -0
@@ -0,0 +1,44 @@
1
+ {
2
+ "taxonomyDefaultLabels": {
3
+ "entity": {
4
+ "singular": "表单",
5
+ "plural": "表单"
6
+ }
7
+ },
8
+ "neetoTemplate": {
9
+ "templates": {
10
+ "createNewEntity": "创建新的 {{taxonomies.entity.singular}}",
11
+ "description": "选择一个模板以开始构建你的 {{taxonomies.entity.singular}}。",
12
+ "blankCard": {
13
+ "title": "从头开始",
14
+ "description": "一个空白的画布"
15
+ },
16
+ "editTemplate": "使用此模板",
17
+ "backToTemplates": "返回模板",
18
+ "back": "返回",
19
+ "preview": "预览",
20
+ "quiz": "测验",
21
+ "marketing": "营销",
22
+ "title2": "每个工作你需要完成都适合的东西。",
23
+ "search": "搜索模板",
24
+ "categories": "类别"
25
+ },
26
+ "templateSettings": {
27
+ "title": "模板",
28
+ "configureTemplates": "配置模板",
29
+ "subText": "配置模板预览",
30
+ "imageLabel": "图片",
31
+ "removeImage": "删除图片",
32
+ "categoryLabel": "类别 / 标签",
33
+ "previewLabel": "预览",
34
+ "button": {
35
+ "saveChanges": "保存更改",
36
+ "cancel": "取消"
37
+ }
38
+ },
39
+ "templatesTags": {
40
+ "template": "模板",
41
+ "numberOfActiveTemplates": "当前 {{taxonomies.entity.plural}} 的数量"
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "taxonomyDefaultLabels": {
3
+ "entity": {
4
+ "singular": "表單",
5
+ "plural": "表單"
6
+ }
7
+ },
8
+ "neetoTemplate": {
9
+ "templates": {
10
+ "createNewEntity": "創建新的 {{taxonomies.entity.singular}}",
11
+ "description": "選擇一個模板開始構建您的 {{taxonomies.entity.singular}}。",
12
+ "blankCard": {
13
+ "title": "從頭開始",
14
+ "description": "一個空白的畫布"
15
+ },
16
+ "editTemplate": "使用此模板",
17
+ "backToTemplates": "返回模板",
18
+ "back": "返回",
19
+ "preview": "預覽",
20
+ "quiz": "測驗",
21
+ "marketing": "行銷",
22
+ "title2": "每一項工作都有適合的選擇。",
23
+ "search": "搜索模板",
24
+ "categories": "類別"
25
+ },
26
+ "templateSettings": {
27
+ "title": "模板",
28
+ "configureTemplates": "配置模板",
29
+ "subText": "配置模板預覽",
30
+ "imageLabel": "圖片",
31
+ "removeImage": "移除圖片",
32
+ "categoryLabel": "類別 / 標籤",
33
+ "previewLabel": "預覽",
34
+ "button": {
35
+ "saveChanges": "保存更改",
36
+ "cancel": "取消"
37
+ }
38
+ },
39
+ "templatesTags": {
40
+ "template": "模板",
41
+ "numberOfActiveTemplates": "當前活動的 {{taxonomies.entity.plural}} 數量"
42
+ }
43
+ }
44
+ }
@@ -1,11 +1,12 @@
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, 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 HelpPopover from '@bigbinary/neeto-molecules/HelpPopover';
9
10
  import Search from '@bigbinary/neeto-molecules/Search';
10
11
  import Spinner from '@bigbinary/neetoui/Spinner';
11
12
  import Typography from '@bigbinary/neetoui/Typography';
@@ -362,7 +363,8 @@ var List = function List(_ref) {
362
363
  onCreate = _ref.onCreate,
363
364
  isCreating = _ref.isCreating,
364
365
  afterCreate = _ref.afterCreate,
365
- refetchResource = _ref.refetchResource;
366
+ refetchResource = _ref.refetchResource,
367
+ titleHelpPopoverProps = _ref.titleHelpPopoverProps;
366
368
  var _useTranslation = useTranslation(),
367
369
  t = _useTranslation.t;
368
370
  var _useState = useState(DEFAULT_CATEGORY),
@@ -420,11 +422,18 @@ var List = function List(_ref) {
420
422
  className: "space-y-4",
421
423
  children: [/*#__PURE__*/jsxs("div", {
422
424
  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")
425
+ children: [/*#__PURE__*/jsxs("div", {
426
+ className: "flex gap-1.5 items-center",
427
+ children: [/*#__PURE__*/jsx(Typography, {
428
+ "data-cy": "create-new-form-title",
429
+ style: "h2",
430
+ weight: "semibold",
431
+ children: t("neetoTemplate.templates.createNewEntity")
432
+ }), isPresent(titleHelpPopoverProps) && /*#__PURE__*/jsx(HelpPopover, _objectSpread(_objectSpread({}, titleHelpPopoverProps), {}, {
433
+ popoverProps: {
434
+ position: "top"
435
+ }
436
+ }))]
428
437
  }), /*#__PURE__*/jsx(Typography, {
429
438
  lineHeight: "normal",
430
439
  style: "body2",
@@ -621,7 +630,9 @@ var CreateTemplateModal = function CreateTemplateModal(_ref) {
621
630
  _ref$onCreate = _ref.onCreate,
622
631
  onCreate = _ref$onCreate === void 0 ? noop : _ref$onCreate,
623
632
  _ref$afterCreate = _ref.afterCreate,
624
- afterCreate = _ref$afterCreate === void 0 ? noop : _ref$afterCreate;
633
+ afterCreate = _ref$afterCreate === void 0 ? noop : _ref$afterCreate,
634
+ _ref$titleHelpPopover = _ref.titleHelpPopoverProps,
635
+ titleHelpPopoverProps = _ref$titleHelpPopover === void 0 ? {} : _ref$titleHelpPopover;
625
636
  var _useState = useState(TEMPLATE_SCREENS.LIST),
626
637
  _useState2 = _slicedToArray(_useState, 2),
627
638
  currentScreen = _useState2[0],
@@ -648,7 +659,8 @@ var CreateTemplateModal = function CreateTemplateModal(_ref) {
648
659
  onCreate: onCreate,
649
660
  refetchResource: refetchResource,
650
661
  setCurrentScreen: setCurrentScreen,
651
- setSelectedTemplate: setSelectedTemplate
662
+ setSelectedTemplate: setSelectedTemplate,
663
+ titleHelpPopoverProps: titleHelpPopoverProps
652
664
  }) : /*#__PURE__*/jsx(Preview, {
653
665
  afterCreate: afterCreate,
654
666
  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":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,IAAMA,gBAAgB,GAAG;AAAEC,EAAAA,IAAI,EAAE,MAAM;AAAEC,EAAAA,OAAO,EAAE;AAAU,CAAC;AAE7D,IAAMC,gBAAgB,GAAG;AAAEC,EAAAA,EAAE,EAAE,KAAK;AAAEC,EAAAA,IAAI,EAAE;AAAM,CAAC;AAEnD,IAAMC,qBAAqB,GAAG,GAAG;AAIjC,IAAMC,kBAAkB,GAAG;AAChCC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,MAAM,EAAE;AACV,CAAC;;ACVD,SAAS,mBAAmB,GAAG;AAC/B,EAAE,IAAI,YAAY,GAAG,IAAI,GAAG,EAAE;;AAE9B,EAAE,SAAS,WAAW,CAAC,IAAI,EAAE;AAC7B,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI;AACxB,QAAQ,UAAU,GAAG,IAAI,CAAC,UAAU;AACpC,QAAQ,SAAS,GAAG,IAAI,CAAC,SAAS;AAClC,IAAI,IAAI,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;;AAE5C,IAAI,IAAI,CAAC,WAAW,EAAE;AACtB,MAAM,WAAW,GAAG,IAAI,GAAG,EAAE;AAC7B,MAAM,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC;AACzC;;AAEA,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;AAClC,MAAM,UAAU,EAAE,UAAU;AAC5B,MAAM,SAAS,EAAE;AACjB,KAAK,CAAC;AACN,IAAI,IAAI,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC;;AAElD,IAAI,IAAI,CAAC,cAAc,EAAE;AACzB,MAAM,IAAI,cAAc,GAAG,IAAI,GAAG,EAAE;AACpC,MAAM,IAAI,QAAQ,GAAG,IAAI,oBAAoB,CAAC,UAAU,OAAO,EAAE;AACjE,QAAQ,OAAO,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;AACzC,UAAU,IAAI,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;AACzD,UAAU,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AACrD,SAAS,CAAC;AACV,OAAO,EAAE;AACT,QAAQ,IAAI,EAAE,IAAI;AAClB,QAAQ,UAAU,EAAE,UAAU;AAC9B,QAAQ,SAAS,EAAE;AACnB,OAAO,CAAC;AACR,MAAM,cAAc,GAAG;AACvB,QAAQ,QAAQ,EAAE,QAAQ;AAC1B,QAAQ,cAAc,EAAE;AACxB,OAAO;AACP,MAAM,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC;AAC/C;;AAEA,IAAI,OAAO;AACX,MAAM,OAAO,EAAE,SAAS,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE;AAChD,QAAQ,IAAI,eAAe,EAAE,gBAAgB;;AAE7C,QAAQ,CAAC,eAAe,GAAG,cAAc,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;AAChH,QAAQ,CAAC,gBAAgB,GAAG,cAAc,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;AACtG,OAAO;AACP,MAAM,SAAS,EAAE,SAAS,SAAS,CAAC,IAAI,EAAE;AAC1C,QAAQ,IAAI,gBAAgB,EAAE,gBAAgB;;AAE9C,QAAQ,CAAC,gBAAgB,GAAG,cAAc,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,gBAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;AAC9G,QAAQ,CAAC,gBAAgB,GAAG,cAAc,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;AACxG;AACA,KAAK;AACL;;AAEA,EAAE,OAAO;AACT,IAAI,WAAW,EAAE;AACjB,GAAG;AACH;;AAEA,IAAI,mBAAmB,GAAG,KAAK;AAC/B,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC;AAC3B,IAAI,aAAa,gBAAgB,mBAAmB,EAAE,CAAC;AACvD;AACA;;AAEA,SAAS,uBAAuB,CAAC,IAAI,EAAE;AACvC,EAAE,IAAI,gBAAgB,EAAE,eAAe;;AAEvC,EAAE,IAAI,UAAU,GAAG,CAAC,gBAAgB,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,GAAG,gBAAgB,GAAG,mBAAmB;AAChI,EAAE,IAAI,SAAS,GAAG,CAAC,eAAe,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,KAAK,IAAI,GAAG,eAAe,GAAG,iBAAiB;AAC1H,EAAE,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;AAC5B,EAAE,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;AAC5B,EAAE,IAAI,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;;AAEhC,EAAE,IAAI,SAAS,GAAG,QAAQ,EAAE;AAC5B,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC;AAC1B,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC;;AAE7B,EAAE,IAAI,OAAO,GAAG,WAAW,CAAC,YAAY;AACxC,IAAI,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO;;AAE9B,IAAI,IAAI,CAAC,IAAI,EAAE;AACf,MAAM,QAAQ,CAAC,SAAS,CAAC;AACzB,MAAM;AACN;;AAEA,IAAI,IAAI,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC;AAC7C,MAAM,IAAI,EAAE,OAAO,CAAC,OAAO;AAC3B,MAAM,UAAU,EAAE,UAAU;AAC5B,MAAM,SAAS,EAAE;AACjB,KAAK,CAAC;AACN,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,aAAa,EAAE;AACpD,MAAM,QAAQ,CAAC,aAAa,CAAC;AAC7B,KAAK,CAAC;AACN,IAAI,WAAW,CAAC,OAAO,GAAG,QAAQ;AAClC,GAAG,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AAC7B,EAAE,IAAI,SAAS,GAAG,WAAW,CAAC,YAAY;AAC1C,IAAI,IAAI,eAAe,GAAG,WAAW,CAAC,OAAO;AAC7C,IAAI,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO;;AAE9B,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,eAAe,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC;AACxE;;AAEA,IAAI,WAAW,CAAC,OAAO,GAAG,IAAI;AAC9B,GAAG,EAAE,EAAE,CAAC,CAAC;AACT;AACA;AACA;AACA;;AAEA,EAAE,IAAI,WAAW,GAAG,WAAW,CAAC,UAAU,IAAI,EAAE;AAChD,IAAI,SAAS,EAAE;AACf,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI;AAC1B,IAAI,OAAO,EAAE;AACb,GAAG,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC1B,EAAE,IAAI,eAAe,GAAG,WAAW,CAAC,UAAU,QAAQ,EAAE;AACxD,IAAI,SAAS,EAAE;AACf,IAAI,OAAO,CAAC,OAAO,GAAG,QAAQ;AAC9B,IAAI,OAAO,EAAE;AACb,GAAG,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC1B,EAAE,OAAO,CAAC,WAAW,EAAE;AACvB,IAAI,KAAK,EAAE,KAAK;AAChB,IAAI,OAAO,EAAE;AACb,GAAG,CAAC;AACJ;;AAEA,SAASC,UAAQ,GAAG;AACpB,EAAEA,UAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,UAAU,MAAM,EAAE;AAChD,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/C,MAAM,IAAI,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;;AAE/B,MAAM,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;AAC9B,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;AAC/D,UAAU,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;AACnC;AACA;AACA;;AAEA,IAAI,OAAO,MAAM;AACjB,GAAG;;AAEH,EAAE,OAAOA,UAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC;AACxC;;AAEA,SAAS,kBAAkB,CAAC,IAAI,EAAE;AAClC,EAAE,IAAI,aAAa;;AAEnB,EAAE,IAAI,qBAAqB,GAAG,uBAAuB,CAAC,IAAI,CAAC;AAC3D,MAAM,GAAG,GAAG,qBAAqB,CAAC,CAAC,CAAC;AACpC,MAAM,MAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC;;AAEvC,EAAE,IAAI,SAAS,GAAG,OAAO,CAAC,CAAC,aAAa,GAAG,MAAM,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,aAAa,CAAC,cAAc,CAAC;;AAEzG,EAAE,IAAI,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;AACrC,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC;AACnC,MAAM,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC;;AAEtC,EAAE,IAAI,SAAS,IAAI,CAAC,cAAc,EAAE;AACpC,IAAI,iBAAiB,CAAC,IAAI,CAAC;AAC3B;;AAEA,EAAE,OAAO,CAAC,GAAG,EAAEA,UAAQ,CAAC,EAAE,EAAE,MAAM,EAAE;AACpC,IAAI,SAAS,EAAE,SAAS;AACxB,IAAI,cAAc,EAAE;AACpB,GAAG,CAAC,CAAC;AACL;;ACtKA,IAAI,mBAAmB,GAAG,GAAG;;AAE7B,SAAS,iBAAiB,CAAC,IAAI,EAAE;AACjC,EAAE,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO;AAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW;AACpC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU;AAClC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU;AAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;AAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS;AACrC,MAAM,SAAS,GAAG,cAAc,KAAK,KAAK,CAAC,GAAG,mBAAmB,GAAG,cAAc;;AAElF,EAAE,IAAI,mBAAmB,GAAG,kBAAkB,CAAC;AAC/C,IAAI,UAAU,EAAE;AAChB,GAAG,CAAC;AACJ,MAAM,GAAG,GAAG,mBAAmB,CAAC,CAAC,CAAC;AAClC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,CAAC,CAAC;AACnD,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO;AAC5C,MAAM,SAAS,GAAG,oBAAoB,CAAC,SAAS;;AAEhD,EAAE,IAAI,cAAc,GAAG,CAAC,QAAQ,IAAI,CAAC,OAAO,IAAI,SAAS,IAAI,WAAW,CAAC;;AAEzE,EAAE,SAAS,CAAC,YAAY;AACxB,IAAI,IAAI,cAAc,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAI,KAAK,GAAG,UAAU,CAAC,YAAY;AACzC,QAAQ,UAAU,EAAE;AACpB,OAAO,EAAE,SAAS,CAAC;AACnB,MAAM,OAAO,YAAY;AACzB,QAAQ,YAAY,CAAC,KAAK,CAAC;AAC3B,OAAO;AACP;AACA,GAAG,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;AAC7C,EAAE,OAAO,CAAC,GAAG,EAAE;AACf,IAAI,OAAO,EAAE;AACb,GAAG,CAAC;AACJ;;AC3CA,IAAI,KAAK,EAAE,KAAK;AAChB,SAAS,QAAQ,GAAG,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,UAAU,MAAM,EAAE,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAEjV,MAAM,SAAS,GAAG,KAAK,iBAAiB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC;AAC5E,EAAE,KAAK,EAAE,4BAA4B;AACrC,EAAE,KAAK,EAAE,EAAE;AACX,EAAE,MAAM,EAAE,EAAE;AACZ,EAAE,IAAI,EAAE;AACR,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,KAAK,gBAAgB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AACtE,EAAE,KAAK,EAAE,EAAE;AACX,EAAE,MAAM,EAAE,EAAE;AACZ,EAAE,CAAC,EAAE,CAAC;AACN,EAAE,CAAC,EAAE,CAAC;AACN,EAAE,IAAI,EAAE,SAAS;AACjB,EAAE,EAAE,EAAE;AACN,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,gBAAgB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAChE,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,QAAQ,EAAE,SAAS;AACrB,EAAE,CAAC,EAAE,0HAA0H;AAC/H,EAAE,QAAQ,EAAE;AACZ,CAAC,CAAC,CAAC,CAAC;;ACjBJ,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAAA;AAAA,EAAA,IACPC,IAAI,GAAAD,IAAA,CAAVE,IAAI;IACJC,KAAK,GAAAH,IAAA,CAALG,KAAK;IACLC,WAAW,GAAAJ,IAAA,CAAXI,WAAW;IAAAC,YAAA,GAAAL,IAAA,CACXM,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAGE,KAAAA,CAAAA,GAAAA,IAAI,GAAAF,YAAA;IAAAG,aAAA,GAAAR,IAAA,CACdS,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;AAAA,EAAA,oBAEhBE,IAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAC,wQAAwQ;AAClR,IAAA,SAAA,EAAQ,2BAA2B;AACnCC,IAAAA,QAAQ,EAAE,CAAE;AACZN,IAAAA,OAAO,EAAE,CAACG,QAAQ,GAAGH,OAAO,GAAGC,IAAK;AAAAM,IAAAA,QAAA,gBAEpCC,GAAA,CAAA,KAAA,EAAA;AAAKH,MAAAA,SAAS,EAAC,gCAAgC;MAAAE,QAAA,eAC7CC,GAAA,CAACb,IAAI,EAAA;AAACc,QAAAA,IAAI,EAAE;OAAK;AAAC,KACf,CAAC,eACND,GAAA,CAACE,UAAU,EAAA;AACTL,MAAAA,SAAS,EAAC,aAAa;AACvBM,MAAAA,UAAU,EAAC,QAAQ;AACnBC,MAAAA,KAAK,EAAC,IAAI;AACVC,MAAAA,MAAM,EAAC,UAAU;AAAAN,MAAAA,QAAA,EAEhBV;AAAK,KACI,CAAC,eACbW,GAAA,CAACE,UAAU,EAAA;AACTL,MAAAA,SAAS,EAAC,oCAAoC;AAC9CM,MAAAA,UAAU,EAAC,WAAW;AACtBC,MAAAA,KAAK,EAAC,OAAO;AAAAL,MAAAA,QAAA,EAEZT;AAAW,KACF,CAAC;AAAA,GACV,CAAC;AAAA,CACP;;AChCD,IAAMgB,IAAI,GAAG,SAAPA,IAAIA,CAAApB,IAAA,EAAA;AAAA,EAAA,IAAMqB,QAAQ,GAAArB,IAAA,CAARqB,QAAQ;IAAEf,OAAO,GAAAN,IAAA,CAAPM,OAAO;AAAA,EAAA,oBAC/BI,IAAA,CAAA,KAAA,EAAA;AACQJ,IAAAA,OAAO,EAAPA,OAAO;AACbK,IAAAA,SAAS,EAAC,4QAA4Q;AACtR,IAAA,SAAA,EAAQ,eAAe;AACvBC,IAAAA,QAAQ,EAAE,CAAE;AAAAC,IAAAA,QAAA,gBAEZC,GAAA,CAAA,KAAA,EAAA;AAAKH,MAAAA,SAAS,EAAC,iDAAiD;AAAAE,MAAAA,QAAA,eAC9DC,GAAA,CAAA,KAAA,EAAA;AACEH,QAAAA,SAAS,EAAC,uBAAuB;AACjC,QAAA,SAAA,EAAQ,0BAA0B;AAClCW,QAAAA,GAAG,EACDD,QAAQ,CAACE,QAAQ,IAAAC,EAAAA,CAAAA,MAAA,CACdC,mBAAmB,EAAA,6CAAA;OAEzB;KACE,CAAC,eACNX,GAAA,CAAA,KAAA,EAAA;AAAKH,MAAAA,SAAS,EAAC,gHAAgH;MAAAE,QAAA,eAC7HC,GAAA,CAACE,UAAU,EAAA;AACTL,QAAAA,SAAS,EAAC,8CAA8C;AACxD,QAAA,SAAA,EAAQ,qBAAqB;AAC7BM,QAAAA,UAAU,EAAC,QAAQ;AACnBC,QAAAA,KAAK,EAAC,IAAI;QAAAL,QAAA,EAETQ,QAAQ,CAAClB;OACA;AAAC,KACV,CAAC;AAAA,GACH,CAAC;AAAA,CACP;;AC5BD,IAAMuB,YAAY,GAAG,SAAfA,YAAYA,CAAA1B,IAAA,EAAA;AAAA,EAAA,IAAM2B,KAAK,GAAA3B,IAAA,CAAL2B,KAAK;IAAEC,KAAK,GAAA5B,IAAA,CAAL4B,KAAK;IAAEC,QAAQ,GAAA7B,IAAA,CAAR6B,QAAQ;IAAEC,kBAAkB,GAAA9B,IAAA,CAAlB8B,kBAAkB;AAAA,EAAA,oBAChEpB,IAAA,CAAA,QAAA,EAAA;AACE,IAAA,SAAA,EAAA,WAAA,CAAAc,MAAA,CAAqBO,cAAc,CAACJ,KAAK,CAAC,CAAG;AAC7Cf,IAAAA,QAAQ,EAAE,CAAE;AACZD,IAAAA,SAAS,EAAEqB,UAAU,CACnB,qLAAqL,EACrL;MACE,iGAAiG,EAC/F,CAACH,QAAQ;AACX,MAAA,kGAAkG,EAChGA;AACJ,KACF,CAAE;AACFvB,IAAAA,OAAO,EAAEwB,kBAAmB;AAAAjB,IAAAA,QAAA,gBAE5BC,GAAA,CAAA,MAAA,EAAA;AAAMH,MAAAA,SAAS,EAAC,WAAW;AAAAE,MAAAA,QAAA,EAAEc;KAAY,CAAC,eAC1Cb,GAAA,CAAA,MAAA,EAAA;AAAAD,MAAAA,QAAA,EAAOe;AAAK,KAAO,CAAC;AAAA,GACd,CAAC;AAAA,CACV;;;;ACFD,IAAMK,IAAI,GAAG,SAAPA,IAAIA,CAAAjC,IAAA,EAOJ;AAAA,EAAA,IANJkC,gBAAgB,GAAAlC,IAAA,CAAhBkC,gBAAgB;IAChBC,mBAAmB,GAAAnC,IAAA,CAAnBmC,mBAAmB;IACnBC,QAAQ,GAAApC,IAAA,CAARoC,QAAQ;IACRC,UAAU,GAAArC,IAAA,CAAVqC,UAAU;IACVC,WAAW,GAAAtC,IAAA,CAAXsC,WAAW;IACXC,eAAe,GAAAvC,IAAA,CAAfuC,eAAe;AAEf,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAAC,SAAA,GAA8CC,QAAQ,CAACtD,gBAAgB,CAAC;IAAAuD,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAjEI,IAAAA,eAAe,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEf,IAAAA,mBAAkB,GAAAe,UAAA,CAAA,CAAA,CAAA;AAC1C,EAAA,IAAAG,UAAA,GAAoCJ,QAAQ,CAAC,EAAE,CAAC;IAAAK,UAAA,GAAAH,cAAA,CAAAE,UAAA,EAAA,CAAA,CAAA;AAAzCE,IAAAA,UAAU,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA;EAEhC,IAAAG,kBAAA,GAKIC,iBAAiB,CAAC;AAAEH,MAAAA,UAAU,EAAVA,UAAU;AAAEI,MAAAA,QAAQ,EAAEP;AAAgB,KAAC,CAAC;IAAAQ,qBAAA,GAAAH,kBAAA,CAJ9DI,WAAW;AAAXA,IAAAA,WAAW,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IACnBE,aAAa,GAAAL,kBAAA,CAAbK,aAAa;IACFC,kBAAkB,GAAAN,kBAAA,CAA7BO,SAAS;IAAAC,qBAAA,GAAAR,kBAAA,CACTS,IAAI;AAAJA,IAAAA,IAAI,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;EAGX,IAAAE,kBAAA,GAAiCC,iBAAiB,CAAC;AACjDC,MAAAA,OAAO,EAAEN,kBAAkB;AAC3BF,MAAAA,WAAW,EAAXA,WAAW;AACXS,MAAAA,UAAU,EAAER,aAAa;AACzBS,MAAAA,UAAU,EAAE,mBAAmB;AAC/BC,MAAAA,SAAS,EAAE1E;AACb,KAAC,CAAC;IAAA2E,mBAAA,GAAAtB,cAAA,CAAAgB,kBAAA,EAAA,CAAA,CAAA;AANKO,IAAAA,SAAS,GAAAD,mBAAA,CAAA,CAAA,CAAA;IAAIE,OAAO,GAAAF,mBAAA,CAAA,CAAA,CAAA,CAAPE,OAAO;AAQ3B,EAAA,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAGlD,QAAQ,EAAI;AAClCa,IAAAA,gBAAgB,CAAC/C,gBAAgB,CAACE,OAAO,CAAC;IAC1C8C,mBAAmB,CAACd,QAAQ,CAAC;GAC9B;AAED,EAAA,IAAIqC,kBAAkB,EAAE;AACtB,IAAA,oBACE5C,GAAA,CAAA,KAAA,EAAA;AAAKH,MAAAA,SAAS,EAAC,gDAAgD;AAAAE,MAAAA,QAAA,eAC7DC,GAAA,CAAC0D,OAAO,EAAE,EAAA;AAAC,KACR,CAAC;AAEV;AAEA,EAAA,IAAAC,UAAA,GAA0DZ,IAAI,CAAtDa,IAAI;AAAJA,IAAAA,IAAI,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAAE,eAAA,GAAyCd,IAAI,CAA3Ce,SAAS;AAATA,IAAAA,SAAS,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,eAAA;IAAAE,oBAAA,GAAyBhB,IAAI,CAA3BiB,cAAc;AAAdA,IAAAA,cAAc,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,oBAAA;AAErD,EAAA,IAAME,UAAU,GAAAC,CAAAA,aAAA,CAAAA,aAAA,KAAS1F,gBAAgB,CAAA,EAAA,EAAA,EAAA;AAAEsC,IAAAA,KAAK,EAAEkD;AAAc,GAAA,CAAA,CAAA,CAAAtD,MAAA,CAAAyD,kBAAA,CAAOP,IAAI,CAAC,CAAA;AAE5E,EAAA,oBACEhE,IAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,mFAAmF;AAAAE,IAAAA,QAAA,gBAChGH,IAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,qJAAqJ;AAAAE,MAAAA,QAAA,gBAClKH,IAAA,CAAA,KAAA,EAAA;AAAKC,QAAAA,SAAS,EAAC,WAAW;AAAAE,QAAAA,QAAA,gBACxBH,IAAA,CAAA,KAAA,EAAA;AAAKC,UAAAA,SAAS,EAAC,WAAW;UAAAE,QAAA,EAAA,cACxBC,GAAA,CAACE,UAAU,EAAA;AACT,YAAA,SAAA,EAAQ,uBAAuB;AAC/BE,YAAAA,KAAK,EAAC,IAAI;AACVC,YAAAA,MAAM,EAAC,UAAU;YAAAN,QAAA,EAEhB6B,CAAC,CAAC,yCAAyC;AAAC,WACnC,CAAC,eACb5B,GAAA,CAACE,UAAU,EAAA;AAACC,YAAAA,UAAU,EAAC,QAAQ;AAACC,YAAAA,KAAK,EAAC,OAAO;YAAAL,QAAA,EAC1C6B,CAAC,CAAC,qCAAqC;AAAC,WAC/B,CAAC;AAAA,SACV,CAAC,eACN5B,GAAA,CAACoE,MAAM,EAAA;UACLC,SAAS,EAAA,IAAA;UACTC,iBAAiB,EAAA,IAAA;AACjB,UAAA,SAAA,EAAQ,uBAAuB;AAC/BC,UAAAA,WAAW,EAAE3C,CAAC,CAAC,gCAAgC,CAAE;AACjD4C,UAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEC,KAAK,EAAA;YAAA,OAAIpC,aAAa,CAACoC,KAAK,CAAC;AAAA;AAAC,SACzC,CAAC;AAAA,OACC,CAAC,eACNzE,GAAA,CAAC0E,SAAS,EAAA;AAAC7E,QAAAA,SAAS,EAAC,WAAW;AAAAE,QAAAA,QAAA,eAC9BC,GAAA,CAAC0E,SAAS,CAACC,IAAI,EAAA;AAACtF,UAAAA,KAAK,EAAEuC,CAAC,CAAC,oCAAoC,CAAE;AAAA7B,UAAAA,QAAA,EAC5DkE,UAAU,CAACW,GAAG,CAAC,UAAAC,KAAA,EAAA;AAAA,YAAA,IAAGpG,EAAE,GAAAoG,KAAA,CAAFpG,EAAE;cAAEC,IAAI,GAAAmG,KAAA,CAAJnG,IAAI;cAAEoC,KAAK,GAAA+D,KAAA,CAAL/D,KAAK;YAAA,oBAChCgE,aAAA,CAAClE,YAAY,EAAA;AACLE,cAAAA,KAAK,EAALA,KAAK;AACXC,cAAAA,QAAQ,EAAEkB,eAAe,CAACxD,EAAE,KAAKA,EAAG;AACpCsG,cAAAA,GAAG,EAAEtG,EAAG;AACRoC,cAAAA,KAAK,EAAEnC,IAAK;cACZsC,kBAAkB,EAAE,SAApBA,kBAAkBA,GAAA;AAAA,gBAAA,OAAQA,mBAAkB,CAAC;AAAEvC,kBAAAA,EAAE,EAAFA,EAAE;AAAEC,kBAAAA,IAAI,EAAJA;AAAK,iBAAC,CAAC;AAAA;AAAC,aAC5D,CAAC;WACH;SACa;OACP,CAAC,eACZkB,IAAA,CAAA,KAAA,EAAA;AAAKC,QAAAA,SAAS,EAAC,2BAA2B;QAAAE,QAAA,EAAA,cACxCC,GAAA,CAACE,UAAU,EAAA;AACTL,UAAAA,SAAS,EAAC,WAAW;AACrB,UAAA,SAAA,EAAQ,2BAA2B;AACnCO,UAAAA,KAAK,EAAC,IAAI;UAAAL,QAAA,EAET6B,CAAC,CAAC,oCAAoC;SAC7B,CAAC,eACb5B,GAAA,CAAA,KAAA,EAAA;AAAKH,UAAAA,SAAS,EAAC,WAAW;AAAAE,UAAAA,QAAA,EACvBkE,UAAU,CAACW,GAAG,CAAC,UAAAI,KAAA,EAAA;AAAA,YAAA,IAAGvG,EAAE,GAAAuG,KAAA,CAAFvG,EAAE;cAAEC,IAAI,GAAAsG,KAAA,CAAJtG,IAAI;cAAEoC,KAAK,GAAAkE,KAAA,CAALlE,KAAK;YAAA,oBAChCgE,aAAA,CAAClE,YAAY,EAAA;AACLE,cAAAA,KAAK,EAALA,KAAK;AACXC,cAAAA,QAAQ,EAAEkB,eAAe,CAACxD,EAAE,KAAKA,EAAG;AACpCsG,cAAAA,GAAG,EAAEtG,EAAG;AACRoC,cAAAA,KAAK,EAAEnC,IAAK;cACZsC,kBAAkB,EAAE,SAApBA,kBAAkBA,GAAA;AAAA,gBAAA,OAAQA,mBAAkB,CAAC;AAAEvC,kBAAAA,EAAE,EAAFA,EAAE;AAAEC,kBAAAA,IAAI,EAAJA;AAAK,iBAAC,CAAC;AAAA;AAAC,aAC5D,CAAC;WACH;AAAC,SACC,CAAC;AAAA,OACH,CAAC;KACH,CAAC,eACNsB,GAAA,CAAA,KAAA,EAAA;AACEH,MAAAA,SAAS,EAAC,2EAA2E;AACrFoF,MAAAA,GAAG,EAAEzB,OAAQ;AAAAzD,MAAAA,QAAA,eAEbH,IAAA,CAAA,KAAA,EAAA;AAAKC,QAAAA,SAAS,EAAC,qBAAqB;AAAAE,QAAAA,QAAA,gBAClCH,IAAA,CAAA,KAAA,EAAA;AAAKC,UAAAA,SAAS,EAAC,wFAAwF;UAAAE,QAAA,EAAA,cACrGC,GAAA,CAACf,SAAS,EAAA;AACRK,YAAAA,WAAW,EAAEsC,CAAC,CAAC,+CAA+C,CAAE;AAChEjC,YAAAA,QAAQ,EAAE4B,UAAW;AACrBnC,YAAAA,IAAI,EAAEmC,UAAU,GAAGmC,OAAO,GAAGwB,SAAU;AACvC7F,YAAAA,KAAK,EAAEuC,CAAC,CAAC,yCAAyC,CAAE;AACpDpC,YAAAA,OAAO,EAAE8B;WACV,CAAC,EACDwC,SAAS,CAACc,GAAG,CAAC,UAACrE,QAAQ,EAAE4E,KAAK,EAAA;YAAA,oBAC7BL,aAAA,CAACxE,IAAI,EAAA;AACGkB,cAAAA,WAAW,EAAXA,WAAW;AAAEC,cAAAA,eAAe,EAAfA,eAAe;AAAElB,cAAAA,QAAQ,EAARA,QAAQ;AAC5CwE,cAAAA,GAAG,EAAEI,KAAM;cACX3F,OAAO,EAAE,SAATA,OAAOA,GAAA;gBAAA,OAAQiE,eAAe,CAAClD,QAAQ,CAAC;AAAA;AAAC,aAC1C,CAAC;AAAA,WACH,CAAC;AAAA,SACC,CAAC,EACLmC,WAAW,iBACV1C,GAAA,CAAA,KAAA,EAAA;AAAKH,UAAAA,SAAS,EAAC,mBAAmB;AAACoF,UAAAA,GAAG,EAAE1B,SAAU;AAAAxD,UAAAA,QAAA,eAChDC,GAAA,CAAC0D,OAAO,EAAE,EAAA;AAAC,SACR,CACN;OACE;AAAC,KACH,CAAC;AAAA,GACH,CAAC;AAEV,CAAC;;AC5ID,IAAM0B,OAAO,GAAG,SAAVA,OAAOA,CAAAlG,IAAA,EAKP;AAAA,EAAA,IAJJmG,gBAAgB,GAAAnG,IAAA,CAAhBmG,gBAAgB;IAChBjE,gBAAgB,GAAAlC,IAAA,CAAhBkC,gBAAgB;IAChBI,WAAW,GAAAtC,IAAA,CAAXsC,WAAW;IACXC,eAAe,GAAAvC,IAAA,CAAfuC,eAAe;AAEf,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAA0D,eAAA,GAAmBC,cAAc,EAAE;IAA3BC,MAAM,GAAAF,eAAA,CAANE,MAAM;AAEd,EAAA,IAAAC,kBAAA,GAA0DC,iBAAiB,EAAE;IAA7DC,cAAc,GAAAF,kBAAA,CAAtBG,MAAM;IAA6BrE,UAAU,GAAAkE,kBAAA,CAArBI,SAAS;AAEzC,EAAA,IAAAhE,SAAA,GAA4CC,QAAQ,CAClDlD,kBAAkB,CAACC,OACrB,CAAC;IAAAkD,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAFMiE,IAAAA,cAAc,GAAA/D,UAAA,CAAA,CAAA,CAAA;AAAEgE,IAAAA,iBAAiB,GAAAhE,UAAA,CAAA,CAAA,CAAA;AAIxC,EAAA,IAAMiE,oBAAoB,GAAG,SAAvBA,oBAAoBA,GAAS;AACjCL,IAAAA,cAAc,CACZ;MAAElH,EAAE,EAAE4G,gBAAgB,CAAC5G;AAAG,KAAC,EAC3B;AACEwH,MAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEC,QAAQ,EAAI;QACrB1E,WAAW,CAAC0E,QAAQ,CAAC;AACrBzE,QAAAA,eAAe,EAAE;AACnB;AACF,KACF,CAAC;GACF;AAED,EAAA,IAAQpC,KAAK,GAAiBgG,gBAAgB,CAAtChG,KAAK;IAAE8G,UAAU,GAAKd,gBAAgB,CAA/Bc,UAAU;AAEzB,EAAA,oBACEvG,IAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,+DAA+D;AAAAE,IAAAA,QAAA,gBAC5EC,GAAA,CAAA,KAAA,EAAA;AAAKH,MAAAA,SAAS,EAAC,kFAAkF;AAAAE,MAAAA,QAAA,eAC/FH,IAAA,CAAA,KAAA,EAAA;AAAKC,QAAAA,SAAS,EAAC,qEAAqE;AAAAE,QAAAA,QAAA,gBAClFC,GAAA,CAAA,KAAA,EAAA;AAAKH,UAAAA,SAAS,EAAC,OAAO;UAAAE,QAAA,eACpBC,GAAA,CAACE,UAAU,EAAA;AACTL,YAAAA,SAAS,EAAC,wBAAwB;AAClC,YAAA,SAAA,EAAQ,wBAAwB;AAChCO,YAAAA,KAAK,EAAC,IAAI;AACVC,YAAAA,MAAM,EAAC,UAAU;AAAAN,YAAAA,QAAA,EAEhBV;WACS;SACT,CAAC,eACNW,GAAA,CAAA,KAAA,EAAA;AAAKH,UAAAA,SAAS,EAAC,8BAA8B;UAAAE,QAAA,eAC3CC,GAAA,CAACoG,sBAAsB,EAAA;AACfN,YAAAA,cAAc,EAAdA,cAAc;AACpBO,YAAAA,cAAc,EAAEN;WACjB;SACE,CAAC,eACNnG,IAAA,CAAA,KAAA,EAAA;AAAKC,UAAAA,SAAS,EAAC,2CAA2C;UAAAE,QAAA,EAAA,cACxDC,GAAA,CAACsG,MAAM,EAAA;AACLzG,YAAAA,SAAS,EAAC,eAAe;AACzB,YAAA,SAAA,EAAQ,8BAA8B;AACtCO,YAAAA,KAAK,EAAC,WAAW;AACjBS,YAAAA,KAAK,EACH2E,MAAM,CAAC,QAAQ,CAAC,GACZ5D,CAAC,CAAC,8BAA8B,CAAC,GACjCA,CAAC,CAAC,yCAAyC,CAChD;YACDpC,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,cAAA,OAAQ4B,gBAAgB,CAAC/C,gBAAgB,CAACC,IAAI,CAAC;AAAA;AAAC,WACxD,CAAC,eACF0B,GAAA,CAACsG,MAAM,EAAA;AACLzG,YAAAA,SAAS,EAAC,eAAe;AACzB,YAAA,SAAA,EAAQ,6BAA6B;AACrCF,YAAAA,QAAQ,EAAE4B,UAAW;AACrBV,YAAAA,KAAK,EAAEe,CAAC,CAAC,sCAAsC,CAAE;AACjDsB,YAAAA,OAAO,EAAE3B,UAAW;AACpB/B,YAAAA,OAAO,EAAEwG;AAAqB,WAC/B,CAAC;AAAA,SACC,CAAC;OACH;KACF,CAAC,eACNhG,GAAA,CAAA,KAAA,EAAA;AAAKH,MAAAA,SAAS,EAAC,0FAA0F;AAAAE,MAAAA,QAAA,eACvGC,GAAA,CAAA,KAAA,EAAA;AACEH,QAAAA,SAAS,EAAEqB,UAAU,CACnB,kDAAkD,EAClD;AACE,UAAA,oDAAoD,EAClD4E,cAAc,KAAKlH,kBAAkB,CAACC,OAAO;AAC/C,UAAA,mDAAmD,EACjDiH,cAAc,KAAKlH,kBAAkB,CAACE,MAAM;AAC9C,UAAA,mDAAmD,EACjDgH,cAAc,KAAKlH,kBAAkB,CAACG;AAC1C,SACF,CAAE;AAAAgB,QAAAA,QAAA,eAEFC,GAAA,CAAA,KAAA,EAAA;AAAKH,UAAAA,SAAS,EAAC,gEAAgE;AAAAE,UAAAA,QAAA,eAC7EC,GAAA,CAAA,QAAA,EAAA;AACEH,YAAAA,SAAS,EAAC,qEAAqE;AAC/E,YAAA,SAAA,EAAQ,WAAW;AACnBW,YAAAA,GAAG,EAAE2F;WACN;SACE;OACF;AAAC,KACH,CAAC;AAAA,GACH,CAAC;AAEV,CAAC;;AClGD,IAAMI,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAArH,IAAA,EAOnB;AAAA,EAAA,IANJsH,MAAM,GAAAtH,IAAA,CAANsH,MAAM;IACNC,OAAO,GAAAvH,IAAA,CAAPuH,OAAO;IACPlF,UAAU,GAAArC,IAAA,CAAVqC,UAAU;IACVE,eAAe,GAAAvC,IAAA,CAAfuC,eAAe;IAAAiF,aAAA,GAAAxH,IAAA,CACfoC,QAAQ;AAARA,IAAAA,QAAQ,GAAAoF,aAAA,KAAGjH,KAAAA,CAAAA,GAAAA,IAAI,GAAAiH,aAAA;IAAAC,gBAAA,GAAAzH,IAAA,CACfsC,WAAW;AAAXA,IAAAA,WAAW,GAAAmF,gBAAA,KAAGlH,KAAAA,CAAAA,GAAAA,IAAI,GAAAkH,gBAAA;AAElB,EAAA,IAAA9E,SAAA,GAA0CC,QAAQ,CAACzD,gBAAgB,CAACC,IAAI,CAAC;IAAAyD,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlE+E,IAAAA,aAAa,GAAA7E,UAAA,CAAA,CAAA,CAAA;AAAEX,IAAAA,gBAAgB,GAAAW,UAAA,CAAA,CAAA,CAAA;AACtC,EAAA,IAAAG,UAAA,GAAgDJ,QAAQ,CAAC,EAAE,CAAC;IAAAK,UAAA,GAAAH,cAAA,CAAAE,UAAA,EAAA,CAAA,CAAA;AAArDmD,IAAAA,gBAAgB,GAAAlD,UAAA,CAAA,CAAA,CAAA;AAAEd,IAAAA,mBAAmB,GAAAc,UAAA,CAAA,CAAA,CAAA;AAE5C,EAAA,IAAM0E,YAAY,GAAG,SAAfA,YAAYA,GAAS;AACzBJ,IAAAA,OAAO,EAAE;AACTK,IAAAA,UAAU,CAAC,YAAM;AACf1F,MAAAA,gBAAgB,CAAC/C,gBAAgB,CAACC,IAAI,CAAC;AACzC,KAAC,EAAE,GAAG,CAAC,CAAC;GACT;EAED,oBACE0B,GAAA,CAAC+G,KAAK,EAAA;AACEP,IAAAA,MAAM,EAANA,MAAM;AACZ3G,IAAAA,SAAS,EAAC,uDAAuD;AACjEmH,IAAAA,WAAW,EAAEJ,aAAa,KAAKvI,gBAAgB,CAACC,IAAK;AACrD2B,IAAAA,IAAI,EAAC,YAAY;AACjBwG,IAAAA,OAAO,EAAEI,YAAa;IAAA9G,QAAA,EAErB6G,aAAa,KAAKvI,gBAAgB,CAACC,IAAI,gBACtC0B,GAAA,CAACmB,IAAI,EAAA;AAEDK,MAAAA,WAAW,EAAXA,WAAW;AACXD,MAAAA,UAAU,EAAVA,UAAU;AACVD,MAAAA,QAAQ,EAARA,QAAQ;AACRG,MAAAA,eAAe,EAAfA,eAAe;AACfL,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBC,MAAAA,mBAAmB,EAAnBA;AAAmB,KAEtB,CAAC,gBAEFrB,GAAA,CAACoF,OAAO,EAAA;AAEJ5D,MAAAA,WAAW,EAAXA,WAAW;AACXC,MAAAA,eAAe,EAAfA,eAAe;AACf4D,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBjE,MAAAA,gBAAgB,EAAhBA;KAEH;AACF,GACI,CAAC;AAEZ;;;;","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 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 { isPresent } from \"neetocist\";\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}) => {\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 <div className=\"flex gap-1.5 items-center\">\n <Typography\n data-cy=\"create-new-form-title\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {t(\"neetoTemplate.templates.createNewEntity\")}\n </Typography>\n {isPresent(titleHelpPopoverProps) && (\n <HelpPopover\n {...titleHelpPopoverProps}\n popoverProps={{ position: \"top\" }}\n />\n )}\n </div>\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 titleHelpPopoverProps = {},\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 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","setCurrentScreen","setSelectedTemplate","onCreate","isCreating","afterCreate","refetchResource","titleHelpPopoverProps","_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","isPresent","HelpPopover","popoverProps","position","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","_ref$titleHelpPopover","currentScreen","onModalClose","setTimeout","Modal","closeButton"],"mappings":"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","x_google_ignoreList":[1,2]}
@@ -7,6 +7,7 @@ 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 HelpPopover = require('@bigbinary/neeto-molecules/HelpPopover');
10
11
  var Search = require('@bigbinary/neeto-molecules/Search');
11
12
  var Spinner = require('@bigbinary/neetoui/Spinner');
12
13
  var Typography = require('@bigbinary/neetoui/Typography');
@@ -382,7 +383,8 @@ var List = function List(_ref) {
382
383
  onCreate = _ref.onCreate,
383
384
  isCreating = _ref.isCreating,
384
385
  afterCreate = _ref.afterCreate,
385
- refetchResource = _ref.refetchResource;
386
+ refetchResource = _ref.refetchResource,
387
+ titleHelpPopoverProps = _ref.titleHelpPopoverProps;
386
388
  var _useTranslation = reactI18next.useTranslation(),
387
389
  t = _useTranslation.t;
388
390
  var _useState = React.useState(DEFAULT_CATEGORY),
@@ -440,11 +442,18 @@ var List = function List(_ref) {
440
442
  className: "space-y-4",
441
443
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
442
444
  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")
445
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
446
+ className: "flex gap-1.5 items-center",
447
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
448
+ "data-cy": "create-new-form-title",
449
+ style: "h2",
450
+ weight: "semibold",
451
+ children: t("neetoTemplate.templates.createNewEntity")
452
+ }), neetoCist.isPresent(titleHelpPopoverProps) && /*#__PURE__*/jsxRuntime.jsx(HelpPopover, _objectSpread(_objectSpread({}, titleHelpPopoverProps), {}, {
453
+ popoverProps: {
454
+ position: "top"
455
+ }
456
+ }))]
448
457
  }), /*#__PURE__*/jsxRuntime.jsx(Typography, {
449
458
  lineHeight: "normal",
450
459
  style: "body2",
@@ -641,7 +650,9 @@ var CreateTemplateModal = function CreateTemplateModal(_ref) {
641
650
  _ref$onCreate = _ref.onCreate,
642
651
  onCreate = _ref$onCreate === void 0 ? neetoCist.noop : _ref$onCreate,
643
652
  _ref$afterCreate = _ref.afterCreate,
644
- afterCreate = _ref$afterCreate === void 0 ? neetoCist.noop : _ref$afterCreate;
653
+ afterCreate = _ref$afterCreate === void 0 ? neetoCist.noop : _ref$afterCreate,
654
+ _ref$titleHelpPopover = _ref.titleHelpPopoverProps,
655
+ titleHelpPopoverProps = _ref$titleHelpPopover === void 0 ? {} : _ref$titleHelpPopover;
645
656
  var _useState = React.useState(TEMPLATE_SCREENS.LIST),
646
657
  _useState2 = _slicedToArray(_useState, 2),
647
658
  currentScreen = _useState2[0],
@@ -668,7 +679,8 @@ var CreateTemplateModal = function CreateTemplateModal(_ref) {
668
679
  onCreate: onCreate,
669
680
  refetchResource: refetchResource,
670
681
  setCurrentScreen: setCurrentScreen,
671
- setSelectedTemplate: setSelectedTemplate
682
+ setSelectedTemplate: setSelectedTemplate,
683
+ titleHelpPopoverProps: titleHelpPopoverProps
672
684
  }) : /*#__PURE__*/jsxRuntime.jsx(Preview, {
673
685
  afterCreate: afterCreate,
674
686
  refetchResource: refetchResource,