@bigbinary/neeto-templates-frontend 2.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js DELETED
@@ -1,1341 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
- var neetoCist = require('@bigbinary/neeto-cist');
7
- var Modal = require('@bigbinary/neetoui/Modal');
8
- var PageLoader = require('@bigbinary/neeto-molecules/PageLoader');
9
- var Search = require('@bigbinary/neeto-molecules/Search');
10
- var Spinner = require('@bigbinary/neetoui/Spinner');
11
- var Typography = require('@bigbinary/neetoui/Typography');
12
- var reactI18next = require('react-i18next');
13
- var neetoTagsFrontend = require('@bigbinary/neeto-tags-frontend');
14
- var reactQuery = require('@tanstack/react-query');
15
- var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
16
- var ramda = require('ramda');
17
- var axios = require('axios');
18
- var jsxRuntime = require('react/jsx-runtime');
19
- var classnames = require('classnames');
20
- var utils = require('@bigbinary/neeto-commons-frontend/utils');
21
- var ResponsiveDevicePicker = require('@bigbinary/neeto-molecules/ResponsiveDevicePicker');
22
- var Button = require('@bigbinary/neetoui/Button');
23
- var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
24
- var Form = require('@bigbinary/neetoui/formik/Form');
25
- var reactRouterDom = require('react-router-dom');
26
- var neetoImageUploaderFrontend = require('@bigbinary/neeto-image-uploader-frontend');
27
- var formik = require('formik');
28
- var Header = require('@bigbinary/neeto-molecules/Header');
29
- var Scrollable = require('@bigbinary/neeto-molecules/Scrollable');
30
- var Label = require('@bigbinary/neetoui/Label');
31
- var i18next = require('i18next');
32
-
33
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
34
-
35
- function _interopNamespace(e) {
36
- if (e && e.__esModule) return e;
37
- var n = Object.create(null);
38
- if (e) {
39
- Object.keys(e).forEach(function (k) {
40
- if (k !== 'default') {
41
- var d = Object.getOwnPropertyDescriptor(e, k);
42
- Object.defineProperty(n, k, d.get ? d : {
43
- enumerable: true,
44
- get: function () { return e[k]; }
45
- });
46
- }
47
- });
48
- }
49
- n["default"] = e;
50
- return Object.freeze(n);
51
- }
52
-
53
- var React__namespace = /*#__PURE__*/_interopNamespace(React);
54
- var Modal__default = /*#__PURE__*/_interopDefaultLegacy(Modal);
55
- var PageLoader__default = /*#__PURE__*/_interopDefaultLegacy(PageLoader);
56
- var Search__default = /*#__PURE__*/_interopDefaultLegacy(Search);
57
- var Spinner__default = /*#__PURE__*/_interopDefaultLegacy(Spinner);
58
- var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
59
- var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
60
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
61
- var ResponsiveDevicePicker__default = /*#__PURE__*/_interopDefaultLegacy(ResponsiveDevicePicker);
62
- var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
63
- var ActionBlock__default = /*#__PURE__*/_interopDefaultLegacy(ActionBlock);
64
- var Form__default = /*#__PURE__*/_interopDefaultLegacy(Form);
65
- var Header__default = /*#__PURE__*/_interopDefaultLegacy(Header);
66
- var Scrollable__default = /*#__PURE__*/_interopDefaultLegacy(Scrollable);
67
- var Label__default = /*#__PURE__*/_interopDefaultLegacy(Label);
68
-
69
- function _arrayWithHoles(arr) {
70
- if (Array.isArray(arr)) return arr;
71
- }
72
-
73
- function _iterableToArrayLimit(r, l) {
74
- var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
75
- if (null != t) {
76
- var e,
77
- n,
78
- i,
79
- u,
80
- a = [],
81
- f = !0,
82
- o = !1;
83
- try {
84
- if (i = (t = t.call(r)).next, 0 === l) {
85
- if (Object(t) !== t) return;
86
- f = !1;
87
- } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
88
- } catch (r) {
89
- o = !0, n = r;
90
- } finally {
91
- try {
92
- if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
93
- } finally {
94
- if (o) throw n;
95
- }
96
- }
97
- return a;
98
- }
99
- }
100
-
101
- function _arrayLikeToArray(arr, len) {
102
- if (len == null || len > arr.length) len = arr.length;
103
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
104
- return arr2;
105
- }
106
-
107
- function _unsupportedIterableToArray(o, minLen) {
108
- if (!o) return;
109
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
110
- var n = Object.prototype.toString.call(o).slice(8, -1);
111
- if (n === "Object" && o.constructor) n = o.constructor.name;
112
- if (n === "Map" || n === "Set") return Array.from(o);
113
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
114
- }
115
-
116
- function _nonIterableRest() {
117
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
118
- }
119
-
120
- function _slicedToArray(arr, i) {
121
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
122
- }
123
-
124
- var TEMPLATE_SCREENS = {
125
- LIST: "List",
126
- PREVIEW: "Preview"
127
- };
128
- var DEFAULT_CATEGORY = {
129
- id: "all",
130
- name: "All"
131
- };
132
- var INFINITE_SCROLL_DELAY = 500;
133
- var RESPONSIVE_DEVICES = {
134
- DESKTOP: "desktop",
135
- TABLET: "tablet",
136
- MOBILE: "mobile"
137
- };
138
-
139
- function _typeof(o) {
140
- "@babel/helpers - typeof";
141
-
142
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
143
- return typeof o;
144
- } : function (o) {
145
- return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
146
- }, _typeof(o);
147
- }
148
-
149
- function _toPrimitive(input, hint) {
150
- if (_typeof(input) !== "object" || input === null) return input;
151
- var prim = input[Symbol.toPrimitive];
152
- if (prim !== undefined) {
153
- var res = prim.call(input, hint || "default");
154
- if (_typeof(res) !== "object") return res;
155
- throw new TypeError("@@toPrimitive must return a primitive value.");
156
- }
157
- return (hint === "string" ? String : Number)(input);
158
- }
159
-
160
- function _toPropertyKey(arg) {
161
- var key = _toPrimitive(arg, "string");
162
- return _typeof(key) === "symbol" ? key : String(key);
163
- }
164
-
165
- function _defineProperty(obj, key, value) {
166
- key = _toPropertyKey(key);
167
- if (key in obj) {
168
- Object.defineProperty(obj, key, {
169
- value: value,
170
- enumerable: true,
171
- configurable: true,
172
- writable: true
173
- });
174
- } else {
175
- obj[key] = value;
176
- }
177
- return obj;
178
- }
179
-
180
- function _arrayWithoutHoles(arr) {
181
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
182
- }
183
-
184
- function _iterableToArray(iter) {
185
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
186
- }
187
-
188
- function _nonIterableSpread() {
189
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
190
- }
191
-
192
- function _toConsumableArray(arr) {
193
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
194
- }
195
-
196
- function createObserverCache() {
197
- var cachesByRoot = new Map();
198
-
199
- function getObserver(_ref) {
200
- var root = _ref.root,
201
- rootMargin = _ref.rootMargin,
202
- threshold = _ref.threshold;
203
- var cacheByRoot = cachesByRoot.get(root);
204
-
205
- if (!cacheByRoot) {
206
- cacheByRoot = new Map();
207
- cachesByRoot.set(root, cacheByRoot);
208
- }
209
-
210
- var cacheKey = JSON.stringify({
211
- rootMargin: rootMargin,
212
- threshold: threshold
213
- });
214
- var cachedObserver = cacheByRoot.get(cacheKey);
215
-
216
- if (!cachedObserver) {
217
- var entryCallbacks = new Map();
218
- var observer = new IntersectionObserver(function (entries) {
219
- entries.forEach(function (entry) {
220
- var callback = entryCallbacks.get(entry.target);
221
- callback == null ? void 0 : callback(entry);
222
- });
223
- }, {
224
- root: root,
225
- rootMargin: rootMargin,
226
- threshold: threshold
227
- });
228
- cachedObserver = {
229
- observer: observer,
230
- entryCallbacks: entryCallbacks
231
- };
232
- cacheByRoot.set(cacheKey, cachedObserver);
233
- }
234
-
235
- return {
236
- observe: function observe(node, callback) {
237
- var _cachedObserver, _cachedObserver2;
238
-
239
- (_cachedObserver = cachedObserver) == null ? void 0 : _cachedObserver.entryCallbacks.set(node, callback);
240
- (_cachedObserver2 = cachedObserver) == null ? void 0 : _cachedObserver2.observer.observe(node);
241
- },
242
- unobserve: function unobserve(node) {
243
- var _cachedObserver3, _cachedObserver4;
244
-
245
- (_cachedObserver3 = cachedObserver) == null ? void 0 : _cachedObserver3.entryCallbacks["delete"](node);
246
- (_cachedObserver4 = cachedObserver) == null ? void 0 : _cachedObserver4.observer.unobserve(node);
247
- }
248
- };
249
- }
250
-
251
- return {
252
- getObserver: getObserver
253
- };
254
- }
255
-
256
- var DEFAULT_ROOT_MARGIN = '0px';
257
- var DEFAULT_THRESHOLD = [0];
258
- var observerCache = /*#__PURE__*/createObserverCache(); // For more info:
259
- // https://developers.google.com/web/updates/2016/04/intersectionobserver
260
- // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
261
-
262
- function useIntersectionObserver(args) {
263
- var _args$rootMargin, _args$threshold;
264
-
265
- var rootMargin = (_args$rootMargin = args == null ? void 0 : args.rootMargin) != null ? _args$rootMargin : DEFAULT_ROOT_MARGIN;
266
- var threshold = (_args$threshold = args == null ? void 0 : args.threshold) != null ? _args$threshold : DEFAULT_THRESHOLD;
267
- var nodeRef = React.useRef(null);
268
- var rootRef = React.useRef(null);
269
- var observerRef = React.useRef(null);
270
-
271
- var _useState = React.useState(),
272
- entry = _useState[0],
273
- setEntry = _useState[1];
274
-
275
- var observe = React.useCallback(function () {
276
- var node = nodeRef.current;
277
-
278
- if (!node) {
279
- setEntry(undefined);
280
- return;
281
- }
282
-
283
- var observer = observerCache.getObserver({
284
- root: rootRef.current,
285
- rootMargin: rootMargin,
286
- threshold: threshold
287
- });
288
- observer.observe(node, function (observedEntry) {
289
- setEntry(observedEntry);
290
- });
291
- observerRef.current = observer;
292
- }, [rootMargin, threshold]);
293
- var unobserve = React.useCallback(function () {
294
- var currentObserver = observerRef.current;
295
- var node = nodeRef.current;
296
-
297
- if (node) {
298
- currentObserver == null ? void 0 : currentObserver.unobserve(node);
299
- }
300
-
301
- observerRef.current = null;
302
- }, []); // React will call the ref callback with the DOM element when the component mounts,
303
- // and call it with null when it unmounts.
304
- // So, we don't need an useEffect etc to unobserve nodes.
305
- // When nodeRef.current is null, it will be unobserved and observe function
306
- // won't do anything.
307
-
308
- var refCallback = React.useCallback(function (node) {
309
- unobserve();
310
- nodeRef.current = node;
311
- observe();
312
- }, [observe, unobserve]);
313
- var rootRefCallback = React.useCallback(function (rootNode) {
314
- unobserve();
315
- rootRef.current = rootNode;
316
- observe();
317
- }, [observe, unobserve]);
318
- return [refCallback, {
319
- entry: entry,
320
- rootRef: rootRefCallback
321
- }];
322
- }
323
-
324
- function _extends$1() {
325
- _extends$1 = Object.assign || function (target) {
326
- for (var i = 1; i < arguments.length; i++) {
327
- var source = arguments[i];
328
-
329
- for (var key in source) {
330
- if (Object.prototype.hasOwnProperty.call(source, key)) {
331
- target[key] = source[key];
332
- }
333
- }
334
- }
335
-
336
- return target;
337
- };
338
-
339
- return _extends$1.apply(this, arguments);
340
- }
341
-
342
- function useTrackVisibility(args) {
343
- var _result$entry;
344
-
345
- var _useIntersectionObser = useIntersectionObserver(args),
346
- ref = _useIntersectionObser[0],
347
- result = _useIntersectionObser[1];
348
-
349
- var isVisible = Boolean((_result$entry = result.entry) == null ? void 0 : _result$entry.isIntersecting);
350
-
351
- var _useState = React.useState(isVisible),
352
- wasEverVisible = _useState[0],
353
- setWasEverVisible = _useState[1];
354
-
355
- if (isVisible && !wasEverVisible) {
356
- setWasEverVisible(true);
357
- }
358
-
359
- return [ref, _extends$1({}, result, {
360
- isVisible: isVisible,
361
- wasEverVisible: wasEverVisible
362
- })];
363
- }
364
-
365
- var DEFAULT_DELAY_IN_MS = 100;
366
-
367
- function useInfiniteScroll(_ref) {
368
- var loading = _ref.loading,
369
- hasNextPage = _ref.hasNextPage,
370
- onLoadMore = _ref.onLoadMore,
371
- rootMargin = _ref.rootMargin,
372
- disabled = _ref.disabled,
373
- _ref$delayInMs = _ref.delayInMs,
374
- delayInMs = _ref$delayInMs === void 0 ? DEFAULT_DELAY_IN_MS : _ref$delayInMs;
375
-
376
- var _useTrackVisibility = useTrackVisibility({
377
- rootMargin: rootMargin
378
- }),
379
- ref = _useTrackVisibility[0],
380
- _useTrackVisibility$ = _useTrackVisibility[1],
381
- rootRef = _useTrackVisibility$.rootRef,
382
- isVisible = _useTrackVisibility$.isVisible;
383
-
384
- var shouldLoadMore = !disabled && !loading && isVisible && hasNextPage; // eslint-disable-next-line consistent-return
385
-
386
- React.useEffect(function () {
387
- if (shouldLoadMore) {
388
- // When we trigger 'onLoadMore' and new items are added to the list,
389
- // right before they become rendered on the screen, 'loading' becomes false
390
- // and 'isVisible' can be true for a brief time, based on the scroll position.
391
- // So, it triggers 'onLoadMore' just after the first one is finished.
392
- // We use a small delay here to prevent this kind of situations.
393
- // It can be configured by hook args.
394
- var timer = setTimeout(function () {
395
- onLoadMore();
396
- }, delayInMs);
397
- return function () {
398
- clearTimeout(timer);
399
- };
400
- }
401
- }, [onLoadMore, shouldLoadMore, delayInMs]);
402
- return [ref, {
403
- rootRef: rootRef
404
- }];
405
- }
406
-
407
- var _rect, _path;
408
- 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); }
409
- const SvgCustom = props => /*#__PURE__*/React__namespace.createElement("svg", _extends({
410
- xmlns: "http://www.w3.org/2000/svg",
411
- width: 46,
412
- height: 46,
413
- fill: "none"
414
- }, props), _rect || (_rect = /*#__PURE__*/React__namespace.createElement("rect", {
415
- width: 40,
416
- height: 40,
417
- x: 3,
418
- y: 2,
419
- fill: "#008068",
420
- rx: 2
421
- })), _path || (_path = /*#__PURE__*/React__namespace.createElement("path", {
422
- fill: "#fff",
423
- fillRule: "evenodd",
424
- 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",
425
- clipRule: "evenodd"
426
- })));
427
-
428
- var IMAGE_SIZE_LIMIT_IN_MEGABYTES = 1;
429
- var NEETO_TEMPLATES_URL = "/neeto_templates_engine/api/v1";
430
- var TEMPLATE_TAGS_URL = "".concat(NEETO_TEMPLATES_URL, "/tags/template_tags");
431
-
432
- //routes of the host
433
- var TEMPLATES_URL = "/api/v1/templates";
434
- var TEMPLATES_SETTINGS_URL = "/api/v1/settings";
435
- var IMAGE_UPLOAD_CONFIG = {
436
- maxImageSize: IMAGE_SIZE_LIMIT_IN_MEGABYTES
437
- };
438
-
439
- var list$1 = function list(params) {
440
- return axios__default["default"].get(TEMPLATES_URL, {
441
- params: params
442
- });
443
- };
444
- var create$1 = function create(_ref) {
445
- var id = _ref.id;
446
- return axios__default["default"].post(TEMPLATES_URL, {
447
- template: {
448
- id: id
449
- }
450
- }, {
451
- showToastr: false
452
- });
453
- };
454
- var fetch = function fetch(_ref2) {
455
- var templateId = _ref2.templateId;
456
- return axios__default["default"].get("".concat(TEMPLATES_SETTINGS_URL, "/").concat(templateId));
457
- };
458
- var update = function update(_ref3) {
459
- var resourceId = _ref3.resourceId,
460
- payload = _ref3.payload;
461
- return axios__default["default"].put("".concat(TEMPLATES_SETTINGS_URL, "/").concat(resourceId), payload);
462
- };
463
- var templatesApi = {
464
- list: list$1,
465
- create: create$1,
466
- update: update,
467
- fetch: fetch
468
- };
469
-
470
- var QUERY_KEYS = {
471
- TEMPLATES_LIST: "templates-list",
472
- TEMPLATE: "templates-detail",
473
- TEMPLATE_TAGS: "tag-key"
474
- };
475
-
476
- function ownKeys$5(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; }
477
- function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
478
- var useFetchTemplates = function useFetchTemplates(_ref) {
479
- var searchTerm = _ref.searchTerm,
480
- category = _ref.category;
481
- return reactQuery.useInfiniteQuery({
482
- queryKey: [QUERY_KEYS.TEMPLATES_LIST, searchTerm, category],
483
- queryFn: function queryFn(_ref2) {
484
- var _ref2$pageParam = _ref2.pageParam,
485
- pageParam = _ref2$pageParam === void 0 ? 1 : _ref2$pageParam;
486
- return templatesApi.list({
487
- page: pageParam,
488
- searchTerm: searchTerm,
489
- category: category
490
- });
491
- },
492
- getNextPageParam: function getNextPageParam(lastPage) {
493
- return lastPage.hasNextPage ? lastPage.page + 1 : undefined;
494
- },
495
- select: function select(data) {
496
- var templates = data.pages.flatMap(ramda.prop("templates"));
497
- var lastPage = data.pages[data.pages.length - 1];
498
- return {
499
- templates: templates,
500
- hasNextPage: lastPage.hasNextPage,
501
- page: lastPage.page,
502
- tags: lastPage.tags,
503
- templatesCount: lastPage.templatesCount
504
- };
505
- },
506
- keepPreviousData: true
507
- });
508
- };
509
- var useCreateTemplate = function useCreateTemplate() {
510
- return reactQuery.useMutation({
511
- mutationFn: templatesApi.create
512
- });
513
- };
514
- var useFetchTemplate = function useFetchTemplate(_ref3, options) {
515
- var resourceId = _ref3.resourceId;
516
- return reactQuery.useQuery(_objectSpread$5({
517
- queryKey: [QUERY_KEYS.TEMPLATE, resourceId],
518
- queryFn: function queryFn() {
519
- return templatesApi.fetch({
520
- templateId: resourceId
521
- });
522
- }
523
- }, options));
524
- };
525
- var useUpdateTemplate = function useUpdateTemplate(_ref4) {
526
- var resourceId = _ref4.resourceId;
527
- return reactUtils.useMutationWithInvalidation(function (_ref5) {
528
- var template = _ref5.template;
529
- return templatesApi.update({
530
- resourceId: resourceId,
531
- payload: {
532
- template: template
533
- }
534
- });
535
- }, {
536
- keysToInvalidate: [[QUERY_KEYS.TEMPLATES_LIST], [QUERY_KEYS.TEMPLATE, resourceId]],
537
- onSuccess: function onSuccess() {
538
- neetoTagsFrontend.refetchTags();
539
- }
540
- });
541
- };
542
-
543
- var BlankCard = function BlankCard(_ref) {
544
- var Icon = _ref.icon,
545
- title = _ref.title,
546
- description = _ref.description,
547
- _ref$onClick = _ref.onClick,
548
- onClick = _ref$onClick === void 0 ? neetoCist.noop : _ref$onClick,
549
- _ref$disabled = _ref.disabled,
550
- disabled = _ref$disabled === void 0 ? false : _ref$disabled;
551
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
552
- 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",
553
- "data-cy": "start-from-scratch-button",
554
- tabIndex: 0,
555
- onClick: !disabled ? onClick : neetoCist.noop,
556
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
557
- className: "neeto-ui-text-primary-500 mb-4",
558
- children: /*#__PURE__*/jsxRuntime.jsx(Icon, {
559
- size: 40
560
- })
561
- }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
562
- className: "text-center",
563
- lineHeight: "normal",
564
- style: "h5",
565
- weight: "semibold",
566
- children: title
567
- }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
568
- className: "neeto-ui-text-gray-600 text-center",
569
- lineHeight: "leading-4",
570
- style: "body3",
571
- children: description
572
- })]
573
- });
574
- };
575
-
576
- var Card = function Card(_ref) {
577
- var template = _ref.template,
578
- onClick = _ref.onClick;
579
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
580
- onClick: onClick,
581
- 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",
582
- "data-cy": "template-card",
583
- tabIndex: 0,
584
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
585
- className: "neeto-template__header relative overflow-hidden",
586
- children: /*#__PURE__*/jsxRuntime.jsx("img", {
587
- className: "neeto-template__image",
588
- "data-cy": "template-thumbnail-image",
589
- src: template.imageUrl || "https://d2v7kzglnr2dnh.cloudfront.net/images/neetoForm/default-form-template.svg"
590
- })
591
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
592
- className: "neeto-template__description neeto-ui-bg-white flex items-center justify-between gap-2 rounded-b-lg px-3 py-1.5",
593
- children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
594
- className: "neeto-template-thumbnail__title line-clamp-2",
595
- "data-cy": "template-card-title",
596
- lineHeight: "normal",
597
- style: "h5",
598
- children: template.title
599
- })
600
- })]
601
- });
602
- };
603
-
604
- var CategoryItem = function CategoryItem(_ref) {
605
- var label = _ref.label,
606
- count = _ref.count,
607
- isActive = _ref.isActive,
608
- setCurrentCategory = _ref.setCurrentCategory;
609
- return /*#__PURE__*/jsxRuntime.jsxs("button", {
610
- "data-cy": "category-".concat(utils.joinHyphenCase(label)),
611
- tabIndex: 0,
612
- className: classnames__default["default"]("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", {
613
- "neeto-ui-text-gray-700 hover:neeto-ui-bg-gray-200 focus:neeto-ui-bg-gray-200 border-transparent": !isActive,
614
- "neeto-ui-text-gray-800 neeto-ui-bg-white neeto-ui-border-gray-300 focus:neeto-ui-border-gray-500": isActive
615
- }),
616
- onClick: setCurrentCategory,
617
- children: [/*#__PURE__*/jsxRuntime.jsx("span", {
618
- children: label
619
- }), /*#__PURE__*/jsxRuntime.jsx("span", {
620
- children: count
621
- })]
622
- });
623
- };
624
-
625
- function ownKeys$4(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; }
626
- function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
627
- var List = function List(_ref) {
628
- var setCurrentScreen = _ref.setCurrentScreen,
629
- setSelectedTemplate = _ref.setSelectedTemplate,
630
- onCreate = _ref.onCreate,
631
- isCreating = _ref.isCreating,
632
- afterCreate = _ref.afterCreate,
633
- refetchResource = _ref.refetchResource;
634
- var _useTranslation = reactI18next.useTranslation(),
635
- t = _useTranslation.t;
636
- var _useState = React.useState(DEFAULT_CATEGORY),
637
- _useState2 = _slicedToArray(_useState, 2),
638
- currentCategory = _useState2[0],
639
- _setCurrentCategory = _useState2[1];
640
- var _useState3 = React.useState(""),
641
- _useState4 = _slicedToArray(_useState3, 2),
642
- searchTerm = _useState4[0],
643
- setSearchTerm = _useState4[1];
644
- var _useFetchTemplates = useFetchTemplates({
645
- searchTerm: searchTerm,
646
- category: currentCategory
647
- }),
648
- _useFetchTemplates$ha = _useFetchTemplates.hasNextPage,
649
- hasNextPage = _useFetchTemplates$ha === void 0 ? false : _useFetchTemplates$ha,
650
- fetchNextPage = _useFetchTemplates.fetchNextPage,
651
- isTemplatesLoading = _useFetchTemplates.isLoading,
652
- _useFetchTemplates$da = _useFetchTemplates.data,
653
- data = _useFetchTemplates$da === void 0 ? {} : _useFetchTemplates$da;
654
- var _useInfiniteScroll = useInfiniteScroll({
655
- loading: isTemplatesLoading,
656
- hasNextPage: hasNextPage,
657
- onLoadMore: fetchNextPage,
658
- rootMargin: "0px 0px 700px 0px",
659
- delayInMs: INFINITE_SCROLL_DELAY
660
- }),
661
- _useInfiniteScroll2 = _slicedToArray(_useInfiniteScroll, 2),
662
- sentryRef = _useInfiniteScroll2[0],
663
- rootRef = _useInfiniteScroll2[1].rootRef;
664
- var handleCardClick = function handleCardClick(template) {
665
- setCurrentScreen(TEMPLATE_SCREENS.PREVIEW);
666
- setSelectedTemplate(template);
667
- };
668
- if (isTemplatesLoading) {
669
- return /*#__PURE__*/jsxRuntime.jsx(PageLoader__default["default"], {});
670
- }
671
- var _data$tags = data.tags,
672
- tags = _data$tags === void 0 ? [] : _data$tags,
673
- _data$templates = data.templates,
674
- templates = _data$templates === void 0 ? [] : _data$templates,
675
- _data$templatesCount = data.templatesCount,
676
- templatesCount = _data$templatesCount === void 0 ? 0 : _data$templatesCount;
677
- var categories = [_objectSpread$4(_objectSpread$4({}, DEFAULT_CATEGORY), {}, {
678
- count: templatesCount
679
- })].concat(_toConsumableArray(tags));
680
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
681
- className: "neeto-ui-bg-gray-100 relative flex min-h-full items-start",
682
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
683
- className: "sticky left-0 top-0 w-52 flex-shrink-0 space-y-8 py-6 pl-4 md:w-72 md:pl-10 lg:w-80 xl:pl-16",
684
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
685
- className: "space-y-4",
686
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
687
- className: "space-y-1",
688
- children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
689
- "data-cy": "create-new-form-title",
690
- style: "h2",
691
- weight: "semibold",
692
- children: t("neetoTemplate.templates.createNewEntity")
693
- }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
694
- lineHeight: "normal",
695
- style: "body2",
696
- children: t("neetoTemplate.templates.description")
697
- })]
698
- }), /*#__PURE__*/jsxRuntime.jsx(Search__default["default"], {
699
- autoFocus: true,
700
- disableTrimOnBlur: true,
701
- "data-cy": "template-search-input",
702
- placeholder: t("neetoTemplate.templates.search"),
703
- onSearch: function onSearch(value) {
704
- return setSearchTerm(value);
705
- }
706
- })]
707
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
708
- className: "space-y-3",
709
- children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
710
- className: "uppercase",
711
- "data-cy": "template-categories-label",
712
- style: "h6",
713
- children: t("neetoTemplate.templates.categories")
714
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
715
- className: "space-y-2",
716
- children: categories.map(function (_ref2) {
717
- var id = _ref2.id,
718
- name = _ref2.name,
719
- count = _ref2.count;
720
- return /*#__PURE__*/React.createElement(CategoryItem, {
721
- count: count,
722
- isActive: currentCategory.id === id,
723
- key: id,
724
- label: name,
725
- setCurrentCategory: function setCurrentCategory() {
726
- return _setCurrentCategory({
727
- id: id,
728
- name: name
729
- });
730
- }
731
- });
732
- })
733
- })]
734
- })]
735
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
736
- className: "h-screen w-full overflow-y-auto py-8 pl-5 pr-4 md:pl-8 md:pr-20 xl:px-20",
737
- ref: rootRef,
738
- children: /*#__PURE__*/jsxRuntime.jsxs("div", {
739
- className: "flex-grow space-y-6",
740
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
741
- className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3 lg:gap-5 xl:gap-6 2xl:grid-cols-4",
742
- children: [/*#__PURE__*/jsxRuntime.jsx(BlankCard, {
743
- description: t("neetoTemplate.templates.blankCard.description"),
744
- disabled: isCreating,
745
- icon: isCreating ? Spinner__default["default"] : SvgCustom,
746
- title: t("neetoTemplate.templates.blankCard.title"),
747
- onClick: onCreate
748
- }), templates.map(function (template, index) {
749
- return /*#__PURE__*/React.createElement(Card, {
750
- afterCreate: afterCreate,
751
- refetchResource: refetchResource,
752
- template: template,
753
- key: index,
754
- onClick: function onClick() {
755
- return handleCardClick(template);
756
- }
757
- });
758
- })]
759
- }), hasNextPage && /*#__PURE__*/jsxRuntime.jsx("div", {
760
- className: "my-10 text-center",
761
- ref: sentryRef,
762
- children: /*#__PURE__*/jsxRuntime.jsx(Spinner__default["default"], {})
763
- })]
764
- })
765
- })]
766
- });
767
- };
768
-
769
- var Preview$1 = function Preview(_ref) {
770
- var selectedTemplate = _ref.selectedTemplate,
771
- setCurrentScreen = _ref.setCurrentScreen,
772
- afterCreate = _ref.afterCreate,
773
- refetchResource = _ref.refetchResource;
774
- var _useTranslation = reactI18next.useTranslation(),
775
- t = _useTranslation.t;
776
- var _useBreakpoints = reactUtils.useBreakpoints(),
777
- isSize = _useBreakpoints.isSize;
778
- var _useCreateTemplate = useCreateTemplate(),
779
- createTemplate = _useCreateTemplate.mutate,
780
- isCreating = _useCreateTemplate.isPending;
781
- var _useState = React.useState(RESPONSIVE_DEVICES.DESKTOP),
782
- _useState2 = _slicedToArray(_useState, 2),
783
- selectedDevice = _useState2[0],
784
- setSelectedDevice = _useState2[1];
785
- var handleCreateTemplate = function handleCreateTemplate() {
786
- createTemplate({
787
- id: selectedTemplate.id
788
- }, {
789
- onSuccess: function onSuccess(response) {
790
- afterCreate(response);
791
- refetchResource();
792
- }
793
- });
794
- };
795
- var title = selectedTemplate.title,
796
- previewUrl = selectedTemplate.previewUrl;
797
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
798
- className: "neeto-templates-full-page-preview flex h-full w-full flex-col",
799
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
800
- className: "neeto-templates-full-page-preview__header neeto-ui-border-gray-200 border-b px-4",
801
- children: /*#__PURE__*/jsxRuntime.jsxs("div", {
802
- className: "mx-auto flex w-full max-w-6xl items-center justify-between py-[9px]",
803
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
804
- className: "w-1/3",
805
- children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
806
- className: "truncate leading-tight",
807
- "data-cy": "preview-template-title",
808
- style: "h3",
809
- weight: "semibold",
810
- children: title
811
- })
812
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
813
- className: "hidden flex-shrink-0 lg:flex",
814
- children: /*#__PURE__*/jsxRuntime.jsx(ResponsiveDevicePicker__default["default"], {
815
- selectedDevice: selectedDevice,
816
- onDeviceChange: setSelectedDevice
817
- })
818
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
819
- className: "flex w-1/3 items-center justify-end gap-2",
820
- children: [/*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
821
- className: "flex-shrink-0",
822
- "data-cy": "preview-template-back-button",
823
- style: "secondary",
824
- label: isSize("mobile") ? t("neetoTemplate.templates.back") : t("neetoTemplate.templates.backToTemplates"),
825
- onClick: function onClick() {
826
- return setCurrentScreen(TEMPLATE_SCREENS.LIST);
827
- }
828
- }), /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
829
- className: "flex-shrink-0",
830
- "data-cy": "preview-use-template-button",
831
- disabled: isCreating,
832
- label: t("neetoTemplate.templates.editTemplate"),
833
- loading: isCreating,
834
- onClick: handleCreateTemplate
835
- })]
836
- })]
837
- })
838
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
839
- className: "neeto-ui-bg-gray-200 neeto-templates-full-page-preview__holder-wrapper min-h-0 flex-grow",
840
- children: /*#__PURE__*/jsxRuntime.jsx("div", {
841
- className: classnames__default["default"]("neeto-templates-full-page-preview__holder m-auto", {
842
- "neeto-templates-full-page-preview__holder--desktop": selectedDevice === RESPONSIVE_DEVICES.DESKTOP,
843
- "neeto-templates-full-page-preview__holder--tablet": selectedDevice === RESPONSIVE_DEVICES.TABLET,
844
- "neeto-templates-full-page-preview__holder--mobile": selectedDevice === RESPONSIVE_DEVICES.MOBILE
845
- }),
846
- children: /*#__PURE__*/jsxRuntime.jsx("div", {
847
- className: "neeto-templates-full-page-preview__device-border h-full w-full",
848
- children: /*#__PURE__*/jsxRuntime.jsx("iframe", {
849
- className: "neeto-templates-full-page-preview__iframe h-full w-full border-none",
850
- "data-cy": "iframe-id",
851
- src: previewUrl
852
- })
853
- })
854
- })
855
- })]
856
- });
857
- };
858
-
859
- var CreateTemplateModal = function CreateTemplateModal(_ref) {
860
- var isOpen = _ref.isOpen,
861
- onClose = _ref.onClose,
862
- isCreating = _ref.isCreating,
863
- refetchResource = _ref.refetchResource,
864
- _ref$onCreate = _ref.onCreate,
865
- onCreate = _ref$onCreate === void 0 ? neetoCist.noop : _ref$onCreate,
866
- _ref$afterCreate = _ref.afterCreate,
867
- afterCreate = _ref$afterCreate === void 0 ? neetoCist.noop : _ref$afterCreate;
868
- var _useState = React.useState(TEMPLATE_SCREENS.LIST),
869
- _useState2 = _slicedToArray(_useState, 2),
870
- currentScreen = _useState2[0],
871
- setCurrentScreen = _useState2[1];
872
- var _useState3 = React.useState({}),
873
- _useState4 = _slicedToArray(_useState3, 2),
874
- selectedTemplate = _useState4[0],
875
- setSelectedTemplate = _useState4[1];
876
- var onModalClose = function onModalClose() {
877
- onClose();
878
- setTimeout(function () {
879
- setCurrentScreen(TEMPLATE_SCREENS.LIST);
880
- }, 300); //To accommodate the animation duration.
881
- };
882
-
883
- return /*#__PURE__*/jsxRuntime.jsx(Modal__default["default"], {
884
- isOpen: isOpen,
885
- className: "neeto-template-list h-screen w-screen overflow-y-auto",
886
- closeButton: currentScreen === TEMPLATE_SCREENS.LIST,
887
- size: "fullScreen",
888
- onClose: onModalClose,
889
- children: currentScreen === TEMPLATE_SCREENS.LIST ? /*#__PURE__*/jsxRuntime.jsx(List, {
890
- afterCreate: afterCreate,
891
- isCreating: isCreating,
892
- onCreate: onCreate,
893
- refetchResource: refetchResource,
894
- setCurrentScreen: setCurrentScreen,
895
- setSelectedTemplate: setSelectedTemplate
896
- }) : /*#__PURE__*/jsxRuntime.jsx(Preview$1, {
897
- afterCreate: afterCreate,
898
- refetchResource: refetchResource,
899
- selectedTemplate: selectedTemplate,
900
- setCurrentScreen: setCurrentScreen
901
- })
902
- });
903
- };
904
-
905
- var create = function create(payload) {
906
- return axios__default["default"].post(TEMPLATE_TAGS_URL, {
907
- tag: payload
908
- }, {
909
- showToastr: false
910
- });
911
- };
912
- var list = function list() {
913
- return axios__default["default"].get(TEMPLATE_TAGS_URL);
914
- };
915
- var templateTagsApi = {
916
- create: create,
917
- list: list
918
- };
919
-
920
- function ownKeys$3(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; }
921
- function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
922
- var useCreateTemplateTag = function useCreateTemplateTag(options) {
923
- return reactQuery.useMutation(_objectSpread$3(_objectSpread$3({
924
- mutationFn: templateTagsApi.create
925
- }, options), {}, {
926
- onSuccess: function onSuccess() {
927
- var _options$onSuccess;
928
- neetoTagsFrontend.refetchTags();
929
- options === null || options === void 0 || (_options$onSuccess = options.onSuccess) === null || _options$onSuccess === void 0 || _options$onSuccess.call(options);
930
- }
931
- }));
932
- };
933
- var useFetchTemplateTags = function useFetchTemplateTags() {
934
- return reactQuery.useQuery({
935
- queryKey: [QUERY_KEYS.TEMPLATE_TAGS],
936
- queryFn: templateTagsApi.list
937
- });
938
- };
939
-
940
- var FormikImageUploader = function FormikImageUploader(_ref) {
941
- var name = _ref.name;
942
- var _useField = formik.useField(name),
943
- _useField2 = _slicedToArray(_useField, 3),
944
- field = _useField2[0];
945
- _useField2[1];
946
- var setValue = _useField2[2].setValue;
947
- var _useFormikContext = formik.useFormikContext(),
948
- setFieldValue = _useFormikContext.setFieldValue;
949
- var handleImageUpload = function handleImageUpload(file) {
950
- setFieldValue("imageSignedId", file.signedId);
951
- return setValue(file.url);
952
- };
953
- return /*#__PURE__*/jsxRuntime.jsx(neetoImageUploaderFrontend.ImageUploader, {
954
- className: "h-52 w-full md:h-80",
955
- src: field.value,
956
- uploadConfig: IMAGE_UPLOAD_CONFIG,
957
- onUploadComplete: handleImageUpload
958
- });
959
- };
960
-
961
- var PageWrapper = function PageWrapper(_ref) {
962
- var children = _ref.children,
963
- className = _ref.className;
964
- return /*#__PURE__*/jsxRuntime.jsx("div", {
965
- className: classnames__default["default"]("w-full flex-col", className),
966
- children: children
967
- });
968
- };
969
- var PageHeader = function PageHeader(_ref2) {
970
- var title = _ref2.title,
971
- breadcrumbs = _ref2.breadcrumbs;
972
- return /*#__PURE__*/jsxRuntime.jsx("div", {
973
- className: "w-full px-6",
974
- children: /*#__PURE__*/jsxRuntime.jsx(Header__default["default"], {
975
- breadcrumbs: breadcrumbs,
976
- size: "small",
977
- title: title
978
- })
979
- });
980
- };
981
- var customPropEqualityCheck = function customPropEqualityCheck(prevProps, nextProps) {
982
- return prevProps.title === nextProps.title && prevProps.breadcrumbs === nextProps.breadcrumbs;
983
- };
984
- var MemoizedPageHeader = /*#__PURE__*/React.memo(PageHeader, customPropEqualityCheck);
985
- var PageContent = function PageContent(_ref3) {
986
- var children = _ref3.children,
987
- _ref3$className = _ref3.className,
988
- className = _ref3$className === void 0 ? "" : _ref3$className;
989
- return /*#__PURE__*/jsxRuntime.jsx(Scrollable__default["default"], {
990
- className: "w-full px-6 pb-6",
991
- children: /*#__PURE__*/jsxRuntime.jsx("div", {
992
- className: classnames__default["default"](["mx-auto max-w-7xl", className]),
993
- children: children
994
- })
995
- });
996
- };
997
-
998
- function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
999
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1000
- var Tags = function Tags(_ref) {
1001
- var allTags = _ref.allTags,
1002
- selectedTags = _ref.selectedTags,
1003
- onUpdate = _ref.onUpdate,
1004
- onCreate = _ref.onCreate,
1005
- isLoading = _ref.isLoading,
1006
- className = _ref.className,
1007
- _ref$labelProps = _ref.labelProps,
1008
- labelProps = _ref$labelProps === void 0 ? {} : _ref$labelProps;
1009
- var handleTagSelect = function handleTagSelect(newTag) {
1010
- return onUpdate([].concat(_toConsumableArray(selectedTags), [newTag]));
1011
- };
1012
- var handleTagRemove = function handleTagRemove(removedTag) {
1013
- var updatedTags = neetoCist.removeBy({
1014
- value: removedTag.value
1015
- }, selectedTags);
1016
- onUpdate(updatedTags);
1017
- };
1018
- var handleTagCreate = function handleTagCreate(tagName) {
1019
- onCreate({
1020
- name: tagName
1021
- }, {
1022
- onSuccess: function onSuccess(_ref2) {
1023
- var tag = _ref2.tag;
1024
- return handleTagSelect({
1025
- value: tag.id,
1026
- label: tag.name
1027
- });
1028
- }
1029
- });
1030
- };
1031
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
1032
- className: className,
1033
- children: [labelProps.label && /*#__PURE__*/jsxRuntime.jsx(Label__default["default"], _objectSpread$2(_objectSpread$2({}, labelProps), {}, {
1034
- children: labelProps.label
1035
- })), /*#__PURE__*/jsxRuntime.jsx("div", {
1036
- className: "neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-ui-bg-white border p-4",
1037
- children: /*#__PURE__*/jsxRuntime.jsx(neetoTagsFrontend.TagsComponent, {
1038
- allTags: allTags,
1039
- selectedTags: selectedTags,
1040
- buttonProps: {
1041
- loading: isLoading,
1042
- disabled: isLoading,
1043
- iconPosition: "left"
1044
- },
1045
- onTagCreate: handleTagCreate,
1046
- onTagDelete: handleTagRemove,
1047
- onTagSelect: handleTagSelect
1048
- })
1049
- })]
1050
- });
1051
- };
1052
-
1053
- var Preview = function Preview(_ref) {
1054
- var template = _ref.template,
1055
- imageUrl = _ref.imageUrl;
1056
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
1057
- className: "neeto-template neeto-ui-bg-white outline-none neeto-ui-shadow-sm hover:neeto-ui-border-gray-400 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex cursor-pointer flex-col overflow-hidden border transition-colors duration-300 ease-in-out",
1058
- tabIndex: 0,
1059
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
1060
- className: "neeto-template__header",
1061
- children: /*#__PURE__*/jsxRuntime.jsx("img", {
1062
- className: "neeto-template__image",
1063
- "data-cy": "template-image-preview",
1064
- src: imageUrl || "https://d2v7kzglnr2dnh.cloudfront.net/images/neetoForm/default-form-template.svg"
1065
- })
1066
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
1067
- className: "neeto-ui-bg-white flex items-center justify-between gap-2 rounded-b-lg px-2 py-1.5",
1068
- children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
1069
- className: "neeto-ui-text-gray-800",
1070
- "data-cy": "template-title-text",
1071
- lineHeight: "normal",
1072
- style: "body2",
1073
- children: template.title
1074
- })
1075
- })]
1076
- });
1077
- };
1078
-
1079
- var buildSelectOptionsBy = function buildSelectOptionsBy(labelField) {
1080
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
1081
- var valueField = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "id";
1082
- return options.map(function (option) {
1083
- return {
1084
- value: option[valueField],
1085
- label: option[labelField]
1086
- };
1087
- });
1088
- };
1089
- var buildTagOptions = function buildTagOptions() {
1090
- var tags = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
1091
- return neetoCist.renameKeys({
1092
- id: "value",
1093
- name: "label"
1094
- }, tags);
1095
- };
1096
- var buildTemplateUpdatePayload = function buildTemplateUpdatePayload(values) {
1097
- return {
1098
- image: values.imageSignedId || null,
1099
- tagIds: ramda.pluck("value", values === null || values === void 0 ? void 0 : values.tags)
1100
- };
1101
- };
1102
-
1103
- function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1104
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1105
- var TemplateSettings = function TemplateSettings(_ref) {
1106
- var _ref$onCancelTemplate = _ref.onCancelTemplatePreview,
1107
- onCancelTemplatePreview = _ref$onCancelTemplate === void 0 ? "" : _ref$onCancelTemplate,
1108
- _ref$breadcrumbs = _ref.breadcrumbs,
1109
- breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs,
1110
- _ref$className = _ref.className,
1111
- className = _ref$className === void 0 ? "" : _ref$className;
1112
- var _useParams = reactRouterDom.useParams(),
1113
- resourceId = _useParams.id;
1114
- var _useTranslation = reactI18next.useTranslation(),
1115
- t = _useTranslation.t;
1116
- var _useFetchTemplate = useFetchTemplate({
1117
- resourceId: resourceId
1118
- }),
1119
- data = _useFetchTemplate.data,
1120
- isFetchingTemplate = _useFetchTemplate.isLoading;
1121
- var _useUpdateTemplate = useUpdateTemplate({
1122
- resourceId: resourceId
1123
- }),
1124
- updateTemplate = _useUpdateTemplate.mutate,
1125
- isUpdatingTemplate = _useUpdateTemplate.isPending;
1126
- var _useCreateTemplateTag = useCreateTemplateTag(),
1127
- createTemplateTag = _useCreateTemplateTag.mutate,
1128
- isCreatingTags = _useCreateTemplateTag.isPending;
1129
- var _useFetchTemplateTags = useFetchTemplateTags(),
1130
- _useFetchTemplateTags2 = _useFetchTemplateTags.data,
1131
- templateTags = _useFetchTemplateTags2 === void 0 ? {} : _useFetchTemplateTags2,
1132
- isTagsLoading = _useFetchTemplateTags.isLoading;
1133
- var handleSubmit = function handleSubmit(values) {
1134
- updateTemplate({
1135
- template: buildTemplateUpdatePayload(values)
1136
- });
1137
- };
1138
- var isLoading = isFetchingTemplate || isTagsLoading;
1139
- var tags = buildTagOptions(data === null || data === void 0 ? void 0 : data.tags);
1140
- var resourceInitialValues = _objectSpread$1(_objectSpread$1({
1141
- imageUrl: null
1142
- }, data), {}, {
1143
- tags: tags
1144
- });
1145
- return /*#__PURE__*/jsxRuntime.jsxs(PageWrapper, {
1146
- className: className,
1147
- children: [/*#__PURE__*/jsxRuntime.jsx(MemoizedPageHeader, {
1148
- breadcrumbs: breadcrumbs,
1149
- title: t("neetoTemplate.templateSettings.title")
1150
- }), /*#__PURE__*/jsxRuntime.jsx(PageContent, {
1151
- className: classnames__default["default"]({
1152
- "min-h-0": !isLoading,
1153
- "h-full": isLoading
1154
- }),
1155
- children: isLoading ? /*#__PURE__*/jsxRuntime.jsx(PageLoader__default["default"], {}) : /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
1156
- children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
1157
- className: "mb-1",
1158
- "data-cy": "thank-you-action-text",
1159
- style: "h2",
1160
- weight: "semibold",
1161
- children: t("neetoTemplate.templateSettings.configureTemplates")
1162
- }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
1163
- className: "mb-2",
1164
- "data-cy": "thank-you-description-label",
1165
- style: "body2",
1166
- children: t("neetoTemplate.templateSettings.subText")
1167
- }), /*#__PURE__*/jsxRuntime.jsx(Form__default["default"], {
1168
- formikProps: {
1169
- enableReinitialize: true,
1170
- initialValues: resourceInitialValues,
1171
- onSubmit: handleSubmit
1172
- },
1173
- children: function children(_ref2) {
1174
- var values = _ref2.values,
1175
- setFieldValue = _ref2.setFieldValue;
1176
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
1177
- className: "grid grid-cols-2 gap-8 pt-6",
1178
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
1179
- className: "space-y-4",
1180
- children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
1181
- className: "mb-3",
1182
- style: "h4",
1183
- weight: "semibold",
1184
- children: t("neetoTemplate.templateSettings.imageLabel")
1185
- }), /*#__PURE__*/jsxRuntime.jsx(FormikImageUploader, {
1186
- name: "imageUrl"
1187
- }), /*#__PURE__*/jsxRuntime.jsx(Tags, {
1188
- allTags: buildSelectOptionsBy("name", templateTags.tags),
1189
- className: "space-y-2",
1190
- isLoading: isCreatingTags,
1191
- selectedTags: values.tags,
1192
- labelProps: {
1193
- label: t("neetoTemplate.templateSettings.categoryLabel")
1194
- },
1195
- onCreate: createTemplateTag,
1196
- onUpdate: function onUpdate(tags) {
1197
- return setFieldValue("tags", tags);
1198
- }
1199
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
1200
- className: "mt-12 flex flex-row items-center justify-start",
1201
- children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock__default["default"], {
1202
- isSubmitting: isUpdatingTemplate,
1203
- cancelButtonProps: {
1204
- to: onCancelTemplatePreview,
1205
- "data-cy": "reset-changes-button",
1206
- onClick: neetoCist.noop
1207
- }
1208
- })
1209
- })]
1210
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
1211
- children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
1212
- className: "mb-3",
1213
- style: "h4",
1214
- weight: "semibold",
1215
- children: t("neetoTemplate.templateSettings.previewLabel")
1216
- }), /*#__PURE__*/jsxRuntime.jsx(Preview, {
1217
- imageUrl: values.imageUrl,
1218
- template: data
1219
- })]
1220
- })]
1221
- });
1222
- }
1223
- })]
1224
- })
1225
- })]
1226
- });
1227
- };
1228
-
1229
- function _objectWithoutPropertiesLoose(source, excluded) {
1230
- if (source == null) return {};
1231
- var target = {};
1232
- var sourceKeys = Object.keys(source);
1233
- var key, i;
1234
- for (i = 0; i < sourceKeys.length; i++) {
1235
- key = sourceKeys[i];
1236
- if (excluded.indexOf(key) >= 0) continue;
1237
- target[key] = source[key];
1238
- }
1239
- return target;
1240
- }
1241
-
1242
- function _objectWithoutProperties(source, excluded) {
1243
- if (source == null) return {};
1244
- var target = _objectWithoutPropertiesLoose(source, excluded);
1245
- var key, i;
1246
- if (Object.getOwnPropertySymbols) {
1247
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
1248
- for (i = 0; i < sourceSymbolKeys.length; i++) {
1249
- key = sourceSymbolKeys[i];
1250
- if (excluded.indexOf(key) >= 0) continue;
1251
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
1252
- target[key] = source[key];
1253
- }
1254
- }
1255
- return target;
1256
- }
1257
-
1258
- var TAG_TYPES = [{
1259
- id: 1,
1260
- label: i18next.t("neetoTemplate.templatesTags.template"),
1261
- url: "".concat(NEETO_TEMPLATES_URL, "/tags/template_tags"),
1262
- columns: [{
1263
- title: i18next.t("neetoTemplate.templatesTags.numberOfActiveTemplates"),
1264
- key: "templates_count",
1265
- dataIndex: "templatesCount",
1266
- align: "center",
1267
- width: 300,
1268
- sorter: true,
1269
- render: function render(templatesCount) {
1270
- return templatesCount !== 0 ? /*#__PURE__*/jsxRuntime.jsxs(Typography__default["default"], {
1271
- style: "body1",
1272
- children: [" ", templatesCount, " "]
1273
- }) : "-";
1274
- }
1275
- }]
1276
- }];
1277
-
1278
- var _excluded = ["breadcrumbs", "tagsPath"];
1279
- 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; }
1280
- 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; }
1281
- var TemplateTags = function TemplateTags(_ref) {
1282
- var breadcrumbs = _ref.breadcrumbs,
1283
- tagsPath = _ref.tagsPath,
1284
- otherProps = _objectWithoutProperties(_ref, _excluded);
1285
- var queryClient = reactQuery.useQueryClient();
1286
- var invalidateTags = function invalidateTags() {
1287
- queryClient.invalidateQueries({
1288
- queryKey: [QUERY_KEYS.TEMPLATE_TAGS]
1289
- });
1290
- };
1291
- var invalidateTagsAndTemplates = function invalidateTagsAndTemplates() {
1292
- invalidateTags();
1293
- queryClient.invalidateQueries({
1294
- queryKey: [QUERY_KEYS.TEMPLATES_LIST]
1295
- });
1296
- queryClient.invalidateQueries({
1297
- queryKey: [QUERY_KEYS.TEMPLATE]
1298
- });
1299
- };
1300
- var config = _objectSpread({
1301
- tagTypes: TAG_TYPES,
1302
- tagsMergable: true,
1303
- breadcrumbs: breadcrumbs,
1304
- displayMenu: false,
1305
- tagsPath: tagsPath,
1306
- onTagRowClick: neetoCist.noop,
1307
- createTags: {
1308
- onSuccess: {
1309
- callback: invalidateTags
1310
- }
1311
- },
1312
- updateTags: {
1313
- onSuccess: {
1314
- callback: invalidateTagsAndTemplates
1315
- }
1316
- },
1317
- deleteTags: {
1318
- onSuccess: {
1319
- callback: invalidateTagsAndTemplates
1320
- }
1321
- },
1322
- mergeTags: {
1323
- onSuccess: {
1324
- callback: invalidateTagsAndTemplates
1325
- }
1326
- }
1327
- }, otherProps);
1328
- return /*#__PURE__*/jsxRuntime.jsx(neetoTagsFrontend.NeetoTags, {
1329
- config: config
1330
- });
1331
- };
1332
-
1333
- var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
1334
-
1335
- var css = ".neeto-template-list .neeto-ui-modal__close{z-index:1}.neeto-template__header{flex-grow:1;min-height:120px}.neeto-template__image{aspect-ratio:16/9;max-height:100%;max-width:100%;-o-object-fit:cover;object-fit:cover;width:100%}.neeto-template__description{min-height:54px}.neeto-template-thumbnail .neeto-template__image{transition:transform .5s ease}.neeto-template-thumbnail .neeto-template-thumbnail__title{transition:color .5s ease}.neeto-template-thumbnail:hover .neeto-template__image{transform:scale(1.08)}.neeto-template-thumbnail:hover .neeto-template-thumbnail__title{color:rgb(var(--neeto-ui-black))!important}.neeto-templates-full-page-preview__holder{transition:all .2s ease-in-out}.neeto-templates-full-page-preview__holder--desktop{height:100%;max-width:100%;width:100%}.neeto-templates-full-page-preview__holder--tablet{height:1024px;margin-top:16px!important;max-height:calc(100% - 32px);max-width:768px}.neeto-templates-full-page-preview__holder--tablet .neeto-templates-full-page-preview__iframe{border:1px solid rgb(var(--neeto-ui-gray-300))!important}.neeto-templates-full-page-preview__holder--mobile{height:896px;margin-top:16px!important;max-height:calc(100% - 32px);max-width:384px}.neeto-templates-full-page-preview__holder--mobile .neeto-templates-full-page-preview__iframe{border:1px solid rgb(var(--neeto-ui-gray-300))!important}.neeto-templates-share-preview{background-color:rgb(var(--neeto-ui-white));border:thin solid rgb(var(--neeto-ui-gray-300));box-shadow:var(--neeto-ui-shadow-m);display:flex;flex-direction:column;height:calc(100vh - 104px);width:100%}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3N0eWxlc2hlZXRzL3RlbXBsYXRlcy9fdGVtcGxhdGUtbGlzdC5zY3NzIiwiYXBwL2phdmFzY3JpcHQvc3R5bGVzaGVldHMvYXBwbGljYXRpb24uc2NzcyIsImFwcC9qYXZhc2NyaXB0L3N0eWxlc2hlZXRzL3RlbXBsYXRlcy9fc2hhcmUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDRSw0Q0FDRSxTQ0FKLENES0Usd0JBRUUsV0FBQSxDQURBLGdCQ0RKLENES0UsdUJBRUUsaUJBQUEsQ0FHQSxlQUFBLENBREEsY0FBQSxDQURBLG1CQUFBLENBQUEsZ0JBQUEsQ0FGQSxVQ0NKLENES0UsNkJBQ0UsZUNISixDRFFFLGlEQUNFLDZCQ0xKLENET0UsMkRBQ0UseUJDTEosQ0RRSSx1REFDRSxxQkNOTixDRFFJLGlFQUNFLDBDQ05OLENEV0EsMkNBQ0UsOEJDUkYsQ0RXQSxvREFFRSxXQUFBLENBQ0EsY0FBQSxDQUZBLFVDTkYsQ0RXQSxtREFFRSxhQUFBLENBRUEseUJBQUEsQ0FEQSw0QkFBQSxDQUZBLGVDTEYsQ0RVRSw4RkFDRSx3RENSSixDRFlBLG1EQUVFLFlBQUEsQ0FFQSx5QkFBQSxDQURBLDRCQUFBLENBRkEsZUNORixDRFdFLDhGQUNFLHdEQ1RKLENDNURBLCtCQU9FLDJDQUFBLENBSkEsK0NBQUEsQ0FDQSxtQ0FBQSxDQUNBLFlBQUEsQ0FDQSxxQkFBQSxDQUpBLDBCQUFBLENBREEsVURxRUYiLCJzb3VyY2VzQ29udGVudCI6WyIubmVldG8tdGVtcGxhdGUtbGlzdCB7XG4gIC5uZWV0by11aS1tb2RhbF9fY2xvc2Uge1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cblxuLm5lZXRvLXRlbXBsYXRlIHtcbiAgJl9faGVhZGVyIHtcbiAgICBtaW4taGVpZ2h0OiAkbmVldG8tdGVtcGxhdGUtaGVhZGVyLW1pbi1oZWlnaHQ7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgJl9faW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGFzcGVjdC1yYXRpbzogMTYgLyA5O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG4gICZfX2Rlc2NyaXB0aW9uIHtcbiAgICBtaW4taGVpZ2h0OiAkbmVldG8tdGVtcGxhdGUtZGVzY3JpcHRpb24tbWluLWhlaWdodDtcbiAgfVxufVxuXG4ubmVldG8tdGVtcGxhdGUtdGh1bWJuYWlsIHtcbiAgLm5lZXRvLXRlbXBsYXRlX19pbWFnZSB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgfVxuICAubmVldG8tdGVtcGxhdGUtdGh1bWJuYWlsX190aXRsZSB7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cyBlYXNlO1xuICB9XG4gICY6aG92ZXIge1xuICAgIC5uZWV0by10ZW1wbGF0ZV9faW1hZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KTtcbiAgICB9XG4gICAgLm5lZXRvLXRlbXBsYXRlLXRodW1ibmFpbF9fdGl0bGUge1xuICAgICAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ibGFjaykpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi5uZWV0by10ZW1wbGF0ZXMtZnVsbC1wYWdlLXByZXZpZXdfX2hvbGRlciB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4ubmVldG8tdGVtcGxhdGVzLWZ1bGwtcGFnZS1wcmV2aWV3X19ob2xkZXItLWRlc2t0b3Age1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5uZWV0by10ZW1wbGF0ZXMtZnVsbC1wYWdlLXByZXZpZXdfX2hvbGRlci0tdGFibGV0IHtcbiAgbWF4LXdpZHRoOiA3NjhweDtcbiAgaGVpZ2h0OiAxMDI0cHg7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDMycHgpO1xuICBtYXJnaW4tdG9wOiAxNnB4ICFpbXBvcnRhbnQ7XG5cbiAgLm5lZXRvLXRlbXBsYXRlcy1mdWxsLXBhZ2UtcHJldmlld19faWZyYW1lIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5uZWV0by10ZW1wbGF0ZXMtZnVsbC1wYWdlLXByZXZpZXdfX2hvbGRlci0tbW9iaWxlIHtcbiAgbWF4LXdpZHRoOiAzODRweDtcbiAgaGVpZ2h0OiA4OTZweDtcbiAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gMzJweCk7XG4gIG1hcmdpbi10b3A6IDE2cHggIWltcG9ydGFudDtcblxuICAubmVldG8tdGVtcGxhdGVzLWZ1bGwtcGFnZS1wcmV2aWV3X19pZnJhbWUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi5uZWV0by10ZW1wbGF0ZS1saXN0IC5uZWV0by11aS1tb2RhbF9fY2xvc2Uge1xuICB6LWluZGV4OiAxO1xufVxuXG4ubmVldG8tdGVtcGxhdGVfX2hlYWRlciB7XG4gIG1pbi1oZWlnaHQ6IDEyMHB4O1xuICBmbGV4LWdyb3c6IDE7XG59XG4ubmVldG8tdGVtcGxhdGVfX2ltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cbi5uZWV0by10ZW1wbGF0ZV9fZGVzY3JpcHRpb24ge1xuICBtaW4taGVpZ2h0OiA1NHB4O1xufVxuXG4ubmVldG8tdGVtcGxhdGUtdGh1bWJuYWlsIC5uZWV0by10ZW1wbGF0ZV9faW1hZ2Uge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xufVxuLm5lZXRvLXRlbXBsYXRlLXRodW1ibmFpbCAubmVldG8tdGVtcGxhdGUtdGh1bWJuYWlsX190aXRsZSB7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuNXMgZWFzZTtcbn1cbi5uZWV0by10ZW1wbGF0ZS10aHVtYm5haWw6aG92ZXIgLm5lZXRvLXRlbXBsYXRlX19pbWFnZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wOCk7XG59XG4ubmVldG8tdGVtcGxhdGUtdGh1bWJuYWlsOmhvdmVyIC5uZWV0by10ZW1wbGF0ZS10aHVtYm5haWxfX3RpdGxlIHtcbiAgY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS1ibGFjaykpICFpbXBvcnRhbnQ7XG59XG5cbi5uZWV0by10ZW1wbGF0ZXMtZnVsbC1wYWdlLXByZXZpZXdfX2hvbGRlciB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4ubmVldG8tdGVtcGxhdGVzLWZ1bGwtcGFnZS1wcmV2aWV3X19ob2xkZXItLWRlc2t0b3Age1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5uZWV0by10ZW1wbGF0ZXMtZnVsbC1wYWdlLXByZXZpZXdfX2hvbGRlci0tdGFibGV0IHtcbiAgbWF4LXdpZHRoOiA3NjhweDtcbiAgaGVpZ2h0OiAxMDI0cHg7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDMycHgpO1xuICBtYXJnaW4tdG9wOiAxNnB4ICFpbXBvcnRhbnQ7XG59XG4ubmVldG8tdGVtcGxhdGVzLWZ1bGwtcGFnZS1wcmV2aWV3X19ob2xkZXItLXRhYmxldCAubmVldG8tdGVtcGxhdGVzLWZ1bGwtcGFnZS1wcmV2aWV3X19pZnJhbWUge1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKSAhaW1wb3J0YW50O1xufVxuXG4ubmVldG8tdGVtcGxhdGVzLWZ1bGwtcGFnZS1wcmV2aWV3X19ob2xkZXItLW1vYmlsZSB7XG4gIG1heC13aWR0aDogMzg0cHg7XG4gIGhlaWdodDogODk2cHg7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDMycHgpO1xuICBtYXJnaW4tdG9wOiAxNnB4ICFpbXBvcnRhbnQ7XG59XG4ubmVldG8tdGVtcGxhdGVzLWZ1bGwtcGFnZS1wcmV2aWV3X19ob2xkZXItLW1vYmlsZSAubmVldG8tdGVtcGxhdGVzLWZ1bGwtcGFnZS1wcmV2aWV3X19pZnJhbWUge1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2IodmFyKC0tbmVldG8tdWktZ3JheS0zMDApKSAhaW1wb3J0YW50O1xufVxuXG4ubmVldG8tdGVtcGxhdGVzLXNoYXJlLXByZXZpZXcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTA0cHgpO1xuICBib3JkZXI6IHRoaW4gc29saWQgcmdiKHZhcigtLW5lZXRvLXVpLWdyYXktMzAwKSk7XG4gIGJveC1zaGFkb3c6IHZhcigtLW5lZXRvLXVpLXNoYWRvdy1tKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLXdoaXRlKSk7XG59IiwiLm5lZXRvLXRlbXBsYXRlcy1zaGFyZS1wcmV2aWV3IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDEwNHB4KTtcbiAgYm9yZGVyOiB0aGluIHNvbGlkIHJnYih2YXIoLS1uZWV0by11aS1ncmF5LTMwMCkpO1xuICBib3gtc2hhZG93OiB2YXIoLS1uZWV0by11aS1zaGFkb3ctbSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYih2YXIoLS1uZWV0by11aS13aGl0ZSkpO1xufVxuIl19 */";
1336
- n(css,{});
1337
-
1338
- exports.CreateTemplateModal = CreateTemplateModal;
1339
- exports.TemplateSettings = TemplateSettings;
1340
- exports.TemplateTags = TemplateTags;
1341
- //# sourceMappingURL=index.cjs.js.map