@bigbinary/neeto-templates-frontend 2.0.2 → 2.2.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,1342 +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
- initialPageParam: 1,
507
- placeholderData: reactQuery.keepPreviousData
508
- });
509
- };
510
- var useCreateTemplate = function useCreateTemplate() {
511
- return reactQuery.useMutation({
512
- mutationFn: templatesApi.create
513
- });
514
- };
515
- var useFetchTemplate = function useFetchTemplate(_ref3, options) {
516
- var resourceId = _ref3.resourceId;
517
- return reactQuery.useQuery(_objectSpread$5({
518
- queryKey: [QUERY_KEYS.TEMPLATE, resourceId],
519
- queryFn: function queryFn() {
520
- return templatesApi.fetch({
521
- templateId: resourceId
522
- });
523
- }
524
- }, options));
525
- };
526
- var useUpdateTemplate = function useUpdateTemplate(_ref4) {
527
- var resourceId = _ref4.resourceId;
528
- return reactUtils.useMutationWithInvalidation(function (_ref5) {
529
- var template = _ref5.template;
530
- return templatesApi.update({
531
- resourceId: resourceId,
532
- payload: {
533
- template: template
534
- }
535
- });
536
- }, {
537
- keysToInvalidate: [[QUERY_KEYS.TEMPLATES_LIST], [QUERY_KEYS.TEMPLATE, resourceId]],
538
- onSuccess: function onSuccess() {
539
- neetoTagsFrontend.refetchTags();
540
- }
541
- });
542
- };
543
-
544
- var BlankCard = function BlankCard(_ref) {
545
- var Icon = _ref.icon,
546
- title = _ref.title,
547
- description = _ref.description,
548
- _ref$onClick = _ref.onClick,
549
- onClick = _ref$onClick === void 0 ? neetoCist.noop : _ref$onClick,
550
- _ref$disabled = _ref.disabled,
551
- disabled = _ref$disabled === void 0 ? false : _ref$disabled;
552
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
553
- 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",
554
- "data-cy": "start-from-scratch-button",
555
- tabIndex: 0,
556
- onClick: !disabled ? onClick : neetoCist.noop,
557
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
558
- className: "neeto-ui-text-primary-500 mb-4",
559
- children: /*#__PURE__*/jsxRuntime.jsx(Icon, {
560
- size: 40
561
- })
562
- }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
563
- className: "text-center",
564
- lineHeight: "normal",
565
- style: "h5",
566
- weight: "semibold",
567
- children: title
568
- }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
569
- className: "neeto-ui-text-gray-600 text-center",
570
- lineHeight: "leading-4",
571
- style: "body3",
572
- children: description
573
- })]
574
- });
575
- };
576
-
577
- var Card = function Card(_ref) {
578
- var template = _ref.template,
579
- onClick = _ref.onClick;
580
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
581
- onClick: onClick,
582
- 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",
583
- "data-cy": "template-card",
584
- tabIndex: 0,
585
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
586
- className: "neeto-template__header relative overflow-hidden",
587
- children: /*#__PURE__*/jsxRuntime.jsx("img", {
588
- className: "neeto-template__image",
589
- "data-cy": "template-thumbnail-image",
590
- src: template.imageUrl || "https://d2v7kzglnr2dnh.cloudfront.net/images/neetoForm/default-form-template.svg"
591
- })
592
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
593
- className: "neeto-template__description neeto-ui-bg-white flex items-center justify-between gap-2 rounded-b-lg px-3 py-1.5",
594
- children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
595
- className: "neeto-template-thumbnail__title line-clamp-2",
596
- "data-cy": "template-card-title",
597
- lineHeight: "normal",
598
- style: "h5",
599
- children: template.title
600
- })
601
- })]
602
- });
603
- };
604
-
605
- var CategoryItem = function CategoryItem(_ref) {
606
- var label = _ref.label,
607
- count = _ref.count,
608
- isActive = _ref.isActive,
609
- setCurrentCategory = _ref.setCurrentCategory;
610
- return /*#__PURE__*/jsxRuntime.jsxs("button", {
611
- "data-cy": "category-".concat(utils.joinHyphenCase(label)),
612
- tabIndex: 0,
613
- 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", {
614
- "neeto-ui-text-gray-700 hover:neeto-ui-bg-gray-200 focus:neeto-ui-bg-gray-200 border-transparent": !isActive,
615
- "neeto-ui-text-gray-800 neeto-ui-bg-white neeto-ui-border-gray-300 focus:neeto-ui-border-gray-500": isActive
616
- }),
617
- onClick: setCurrentCategory,
618
- children: [/*#__PURE__*/jsxRuntime.jsx("span", {
619
- children: label
620
- }), /*#__PURE__*/jsxRuntime.jsx("span", {
621
- children: count
622
- })]
623
- });
624
- };
625
-
626
- 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; }
627
- 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; }
628
- var List = function List(_ref) {
629
- var setCurrentScreen = _ref.setCurrentScreen,
630
- setSelectedTemplate = _ref.setSelectedTemplate,
631
- onCreate = _ref.onCreate,
632
- isCreating = _ref.isCreating,
633
- afterCreate = _ref.afterCreate,
634
- refetchResource = _ref.refetchResource;
635
- var _useTranslation = reactI18next.useTranslation(),
636
- t = _useTranslation.t;
637
- var _useState = React.useState(DEFAULT_CATEGORY),
638
- _useState2 = _slicedToArray(_useState, 2),
639
- currentCategory = _useState2[0],
640
- _setCurrentCategory = _useState2[1];
641
- var _useState3 = React.useState(""),
642
- _useState4 = _slicedToArray(_useState3, 2),
643
- searchTerm = _useState4[0],
644
- setSearchTerm = _useState4[1];
645
- var _useFetchTemplates = useFetchTemplates({
646
- searchTerm: searchTerm,
647
- category: currentCategory
648
- }),
649
- _useFetchTemplates$ha = _useFetchTemplates.hasNextPage,
650
- hasNextPage = _useFetchTemplates$ha === void 0 ? false : _useFetchTemplates$ha,
651
- fetchNextPage = _useFetchTemplates.fetchNextPage,
652
- isTemplatesLoading = _useFetchTemplates.isLoading,
653
- _useFetchTemplates$da = _useFetchTemplates.data,
654
- data = _useFetchTemplates$da === void 0 ? {} : _useFetchTemplates$da;
655
- var _useInfiniteScroll = useInfiniteScroll({
656
- loading: isTemplatesLoading,
657
- hasNextPage: hasNextPage,
658
- onLoadMore: fetchNextPage,
659
- rootMargin: "0px 0px 700px 0px",
660
- delayInMs: INFINITE_SCROLL_DELAY
661
- }),
662
- _useInfiniteScroll2 = _slicedToArray(_useInfiniteScroll, 2),
663
- sentryRef = _useInfiniteScroll2[0],
664
- rootRef = _useInfiniteScroll2[1].rootRef;
665
- var handleCardClick = function handleCardClick(template) {
666
- setCurrentScreen(TEMPLATE_SCREENS.PREVIEW);
667
- setSelectedTemplate(template);
668
- };
669
- if (isTemplatesLoading) {
670
- return /*#__PURE__*/jsxRuntime.jsx(PageLoader__default["default"], {});
671
- }
672
- var _data$tags = data.tags,
673
- tags = _data$tags === void 0 ? [] : _data$tags,
674
- _data$templates = data.templates,
675
- templates = _data$templates === void 0 ? [] : _data$templates,
676
- _data$templatesCount = data.templatesCount,
677
- templatesCount = _data$templatesCount === void 0 ? 0 : _data$templatesCount;
678
- var categories = [_objectSpread$4(_objectSpread$4({}, DEFAULT_CATEGORY), {}, {
679
- count: templatesCount
680
- })].concat(_toConsumableArray(tags));
681
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
682
- className: "neeto-ui-bg-gray-100 relative flex min-h-full items-start",
683
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
684
- 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",
685
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
686
- className: "space-y-4",
687
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
688
- className: "space-y-1",
689
- children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
690
- "data-cy": "create-new-form-title",
691
- style: "h2",
692
- weight: "semibold",
693
- children: t("neetoTemplate.templates.createNewEntity")
694
- }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
695
- lineHeight: "normal",
696
- style: "body2",
697
- children: t("neetoTemplate.templates.description")
698
- })]
699
- }), /*#__PURE__*/jsxRuntime.jsx(Search__default["default"], {
700
- autoFocus: true,
701
- disableTrimOnBlur: true,
702
- "data-cy": "template-search-input",
703
- placeholder: t("neetoTemplate.templates.search"),
704
- onSearch: function onSearch(value) {
705
- return setSearchTerm(value);
706
- }
707
- })]
708
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
709
- className: "space-y-3",
710
- children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
711
- className: "uppercase",
712
- "data-cy": "template-categories-label",
713
- style: "h6",
714
- children: t("neetoTemplate.templates.categories")
715
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
716
- className: "space-y-2",
717
- children: categories.map(function (_ref2) {
718
- var id = _ref2.id,
719
- name = _ref2.name,
720
- count = _ref2.count;
721
- return /*#__PURE__*/React.createElement(CategoryItem, {
722
- count: count,
723
- isActive: currentCategory.id === id,
724
- key: id,
725
- label: name,
726
- setCurrentCategory: function setCurrentCategory() {
727
- return _setCurrentCategory({
728
- id: id,
729
- name: name
730
- });
731
- }
732
- });
733
- })
734
- })]
735
- })]
736
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
737
- className: "h-screen w-full overflow-y-auto py-8 pl-5 pr-4 md:pl-8 md:pr-20 xl:px-20",
738
- ref: rootRef,
739
- children: /*#__PURE__*/jsxRuntime.jsxs("div", {
740
- className: "flex-grow space-y-6",
741
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
742
- 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",
743
- children: [/*#__PURE__*/jsxRuntime.jsx(BlankCard, {
744
- description: t("neetoTemplate.templates.blankCard.description"),
745
- disabled: isCreating,
746
- icon: isCreating ? Spinner__default["default"] : SvgCustom,
747
- title: t("neetoTemplate.templates.blankCard.title"),
748
- onClick: onCreate
749
- }), templates.map(function (template, index) {
750
- return /*#__PURE__*/React.createElement(Card, {
751
- afterCreate: afterCreate,
752
- refetchResource: refetchResource,
753
- template: template,
754
- key: index,
755
- onClick: function onClick() {
756
- return handleCardClick(template);
757
- }
758
- });
759
- })]
760
- }), hasNextPage && /*#__PURE__*/jsxRuntime.jsx("div", {
761
- className: "my-10 text-center",
762
- ref: sentryRef,
763
- children: /*#__PURE__*/jsxRuntime.jsx(Spinner__default["default"], {})
764
- })]
765
- })
766
- })]
767
- });
768
- };
769
-
770
- var Preview$1 = function Preview(_ref) {
771
- var selectedTemplate = _ref.selectedTemplate,
772
- setCurrentScreen = _ref.setCurrentScreen,
773
- afterCreate = _ref.afterCreate,
774
- refetchResource = _ref.refetchResource;
775
- var _useTranslation = reactI18next.useTranslation(),
776
- t = _useTranslation.t;
777
- var _useBreakpoints = reactUtils.useBreakpoints(),
778
- isSize = _useBreakpoints.isSize;
779
- var _useCreateTemplate = useCreateTemplate(),
780
- createTemplate = _useCreateTemplate.mutate,
781
- isCreating = _useCreateTemplate.isPending;
782
- var _useState = React.useState(RESPONSIVE_DEVICES.DESKTOP),
783
- _useState2 = _slicedToArray(_useState, 2),
784
- selectedDevice = _useState2[0],
785
- setSelectedDevice = _useState2[1];
786
- var handleCreateTemplate = function handleCreateTemplate() {
787
- createTemplate({
788
- id: selectedTemplate.id
789
- }, {
790
- onSuccess: function onSuccess(response) {
791
- afterCreate(response);
792
- refetchResource();
793
- }
794
- });
795
- };
796
- var title = selectedTemplate.title,
797
- previewUrl = selectedTemplate.previewUrl;
798
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
799
- className: "neeto-templates-full-page-preview flex h-full w-full flex-col",
800
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
801
- className: "neeto-templates-full-page-preview__header neeto-ui-border-gray-200 border-b px-4",
802
- children: /*#__PURE__*/jsxRuntime.jsxs("div", {
803
- className: "mx-auto flex w-full max-w-6xl items-center justify-between py-[9px]",
804
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
805
- className: "w-1/3",
806
- children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
807
- className: "truncate leading-tight",
808
- "data-cy": "preview-template-title",
809
- style: "h3",
810
- weight: "semibold",
811
- children: title
812
- })
813
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
814
- className: "hidden flex-shrink-0 lg:flex",
815
- children: /*#__PURE__*/jsxRuntime.jsx(ResponsiveDevicePicker__default["default"], {
816
- selectedDevice: selectedDevice,
817
- onDeviceChange: setSelectedDevice
818
- })
819
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
820
- className: "flex w-1/3 items-center justify-end gap-2",
821
- children: [/*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
822
- className: "flex-shrink-0",
823
- "data-cy": "preview-template-back-button",
824
- style: "secondary",
825
- label: isSize("mobile") ? t("neetoTemplate.templates.back") : t("neetoTemplate.templates.backToTemplates"),
826
- onClick: function onClick() {
827
- return setCurrentScreen(TEMPLATE_SCREENS.LIST);
828
- }
829
- }), /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
830
- className: "flex-shrink-0",
831
- "data-cy": "preview-use-template-button",
832
- disabled: isCreating,
833
- label: t("neetoTemplate.templates.editTemplate"),
834
- loading: isCreating,
835
- onClick: handleCreateTemplate
836
- })]
837
- })]
838
- })
839
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
840
- className: "neeto-ui-bg-gray-200 neeto-templates-full-page-preview__holder-wrapper min-h-0 flex-grow",
841
- children: /*#__PURE__*/jsxRuntime.jsx("div", {
842
- className: classnames__default["default"]("neeto-templates-full-page-preview__holder m-auto", {
843
- "neeto-templates-full-page-preview__holder--desktop": selectedDevice === RESPONSIVE_DEVICES.DESKTOP,
844
- "neeto-templates-full-page-preview__holder--tablet": selectedDevice === RESPONSIVE_DEVICES.TABLET,
845
- "neeto-templates-full-page-preview__holder--mobile": selectedDevice === RESPONSIVE_DEVICES.MOBILE
846
- }),
847
- children: /*#__PURE__*/jsxRuntime.jsx("div", {
848
- className: "neeto-templates-full-page-preview__device-border h-full w-full",
849
- children: /*#__PURE__*/jsxRuntime.jsx("iframe", {
850
- className: "neeto-templates-full-page-preview__iframe h-full w-full border-none",
851
- "data-cy": "iframe-id",
852
- src: previewUrl
853
- })
854
- })
855
- })
856
- })]
857
- });
858
- };
859
-
860
- var CreateTemplateModal = function CreateTemplateModal(_ref) {
861
- var isOpen = _ref.isOpen,
862
- onClose = _ref.onClose,
863
- isCreating = _ref.isCreating,
864
- refetchResource = _ref.refetchResource,
865
- _ref$onCreate = _ref.onCreate,
866
- onCreate = _ref$onCreate === void 0 ? neetoCist.noop : _ref$onCreate,
867
- _ref$afterCreate = _ref.afterCreate,
868
- afterCreate = _ref$afterCreate === void 0 ? neetoCist.noop : _ref$afterCreate;
869
- var _useState = React.useState(TEMPLATE_SCREENS.LIST),
870
- _useState2 = _slicedToArray(_useState, 2),
871
- currentScreen = _useState2[0],
872
- setCurrentScreen = _useState2[1];
873
- var _useState3 = React.useState({}),
874
- _useState4 = _slicedToArray(_useState3, 2),
875
- selectedTemplate = _useState4[0],
876
- setSelectedTemplate = _useState4[1];
877
- var onModalClose = function onModalClose() {
878
- onClose();
879
- setTimeout(function () {
880
- setCurrentScreen(TEMPLATE_SCREENS.LIST);
881
- }, 300); //To accommodate the animation duration.
882
- };
883
-
884
- return /*#__PURE__*/jsxRuntime.jsx(Modal__default["default"], {
885
- isOpen: isOpen,
886
- className: "neeto-template-list h-screen w-screen overflow-y-auto",
887
- closeButton: currentScreen === TEMPLATE_SCREENS.LIST,
888
- size: "fullScreen",
889
- onClose: onModalClose,
890
- children: currentScreen === TEMPLATE_SCREENS.LIST ? /*#__PURE__*/jsxRuntime.jsx(List, {
891
- afterCreate: afterCreate,
892
- isCreating: isCreating,
893
- onCreate: onCreate,
894
- refetchResource: refetchResource,
895
- setCurrentScreen: setCurrentScreen,
896
- setSelectedTemplate: setSelectedTemplate
897
- }) : /*#__PURE__*/jsxRuntime.jsx(Preview$1, {
898
- afterCreate: afterCreate,
899
- refetchResource: refetchResource,
900
- selectedTemplate: selectedTemplate,
901
- setCurrentScreen: setCurrentScreen
902
- })
903
- });
904
- };
905
-
906
- var create = function create(payload) {
907
- return axios__default["default"].post(TEMPLATE_TAGS_URL, {
908
- tag: payload
909
- }, {
910
- showToastr: false
911
- });
912
- };
913
- var list = function list() {
914
- return axios__default["default"].get(TEMPLATE_TAGS_URL);
915
- };
916
- var templateTagsApi = {
917
- create: create,
918
- list: list
919
- };
920
-
921
- 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; }
922
- 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; }
923
- var useCreateTemplateTag = function useCreateTemplateTag(options) {
924
- return reactQuery.useMutation(_objectSpread$3(_objectSpread$3({
925
- mutationFn: templateTagsApi.create
926
- }, options), {}, {
927
- onSuccess: function onSuccess() {
928
- var _options$onSuccess;
929
- neetoTagsFrontend.refetchTags();
930
- options === null || options === void 0 || (_options$onSuccess = options.onSuccess) === null || _options$onSuccess === void 0 || _options$onSuccess.call(options);
931
- }
932
- }));
933
- };
934
- var useFetchTemplateTags = function useFetchTemplateTags() {
935
- return reactQuery.useQuery({
936
- queryKey: [QUERY_KEYS.TEMPLATE_TAGS],
937
- queryFn: templateTagsApi.list
938
- });
939
- };
940
-
941
- var FormikImageUploader = function FormikImageUploader(_ref) {
942
- var name = _ref.name;
943
- var _useField = formik.useField(name),
944
- _useField2 = _slicedToArray(_useField, 3),
945
- field = _useField2[0];
946
- _useField2[1];
947
- var setValue = _useField2[2].setValue;
948
- var _useFormikContext = formik.useFormikContext(),
949
- setFieldValue = _useFormikContext.setFieldValue;
950
- var handleImageUpload = function handleImageUpload(file) {
951
- setFieldValue("imageSignedId", file.signedId);
952
- return setValue(file.url);
953
- };
954
- return /*#__PURE__*/jsxRuntime.jsx(neetoImageUploaderFrontend.ImageUploader, {
955
- className: "h-52 w-full md:h-80",
956
- src: field.value,
957
- uploadConfig: IMAGE_UPLOAD_CONFIG,
958
- onUploadComplete: handleImageUpload
959
- });
960
- };
961
-
962
- var PageWrapper = function PageWrapper(_ref) {
963
- var children = _ref.children,
964
- className = _ref.className;
965
- return /*#__PURE__*/jsxRuntime.jsx("div", {
966
- className: classnames__default["default"]("w-full flex-col", className),
967
- children: children
968
- });
969
- };
970
- var PageHeader = function PageHeader(_ref2) {
971
- var title = _ref2.title,
972
- breadcrumbs = _ref2.breadcrumbs;
973
- return /*#__PURE__*/jsxRuntime.jsx("div", {
974
- className: "w-full px-6",
975
- children: /*#__PURE__*/jsxRuntime.jsx(Header__default["default"], {
976
- breadcrumbs: breadcrumbs,
977
- size: "small",
978
- title: title
979
- })
980
- });
981
- };
982
- var customPropEqualityCheck = function customPropEqualityCheck(prevProps, nextProps) {
983
- return prevProps.title === nextProps.title && prevProps.breadcrumbs === nextProps.breadcrumbs;
984
- };
985
- var MemoizedPageHeader = /*#__PURE__*/React.memo(PageHeader, customPropEqualityCheck);
986
- var PageContent = function PageContent(_ref3) {
987
- var children = _ref3.children,
988
- _ref3$className = _ref3.className,
989
- className = _ref3$className === void 0 ? "" : _ref3$className;
990
- return /*#__PURE__*/jsxRuntime.jsx(Scrollable__default["default"], {
991
- className: "w-full px-6 pb-6",
992
- children: /*#__PURE__*/jsxRuntime.jsx("div", {
993
- className: classnames__default["default"](["mx-auto max-w-7xl", className]),
994
- children: children
995
- })
996
- });
997
- };
998
-
999
- 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; }
1000
- 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; }
1001
- var Tags = function Tags(_ref) {
1002
- var allTags = _ref.allTags,
1003
- selectedTags = _ref.selectedTags,
1004
- onUpdate = _ref.onUpdate,
1005
- onCreate = _ref.onCreate,
1006
- isLoading = _ref.isLoading,
1007
- className = _ref.className,
1008
- _ref$labelProps = _ref.labelProps,
1009
- labelProps = _ref$labelProps === void 0 ? {} : _ref$labelProps;
1010
- var handleTagSelect = function handleTagSelect(newTag) {
1011
- return onUpdate([].concat(_toConsumableArray(selectedTags), [newTag]));
1012
- };
1013
- var handleTagRemove = function handleTagRemove(removedTag) {
1014
- var updatedTags = neetoCist.removeBy({
1015
- value: removedTag.value
1016
- }, selectedTags);
1017
- onUpdate(updatedTags);
1018
- };
1019
- var handleTagCreate = function handleTagCreate(tagName) {
1020
- onCreate({
1021
- name: tagName
1022
- }, {
1023
- onSuccess: function onSuccess(_ref2) {
1024
- var tag = _ref2.tag;
1025
- return handleTagSelect({
1026
- value: tag.id,
1027
- label: tag.name
1028
- });
1029
- }
1030
- });
1031
- };
1032
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
1033
- className: className,
1034
- children: [labelProps.label && /*#__PURE__*/jsxRuntime.jsx(Label__default["default"], _objectSpread$2(_objectSpread$2({}, labelProps), {}, {
1035
- children: labelProps.label
1036
- })), /*#__PURE__*/jsxRuntime.jsx("div", {
1037
- className: "neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-ui-bg-white border p-4",
1038
- children: /*#__PURE__*/jsxRuntime.jsx(neetoTagsFrontend.TagsComponent, {
1039
- allTags: allTags,
1040
- selectedTags: selectedTags,
1041
- buttonProps: {
1042
- loading: isLoading,
1043
- disabled: isLoading,
1044
- iconPosition: "left"
1045
- },
1046
- onTagCreate: handleTagCreate,
1047
- onTagDelete: handleTagRemove,
1048
- onTagSelect: handleTagSelect
1049
- })
1050
- })]
1051
- });
1052
- };
1053
-
1054
- var Preview = function Preview(_ref) {
1055
- var template = _ref.template,
1056
- imageUrl = _ref.imageUrl;
1057
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
1058
- 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",
1059
- tabIndex: 0,
1060
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
1061
- className: "neeto-template__header",
1062
- children: /*#__PURE__*/jsxRuntime.jsx("img", {
1063
- className: "neeto-template__image",
1064
- "data-cy": "template-image-preview",
1065
- src: imageUrl || "https://d2v7kzglnr2dnh.cloudfront.net/images/neetoForm/default-form-template.svg"
1066
- })
1067
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
1068
- className: "neeto-ui-bg-white flex items-center justify-between gap-2 rounded-b-lg px-2 py-1.5",
1069
- children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
1070
- className: "neeto-ui-text-gray-800",
1071
- "data-cy": "template-title-text",
1072
- lineHeight: "normal",
1073
- style: "body2",
1074
- children: template.title
1075
- })
1076
- })]
1077
- });
1078
- };
1079
-
1080
- var buildSelectOptionsBy = function buildSelectOptionsBy(labelField) {
1081
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
1082
- var valueField = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "id";
1083
- return options.map(function (option) {
1084
- return {
1085
- value: option[valueField],
1086
- label: option[labelField]
1087
- };
1088
- });
1089
- };
1090
- var buildTagOptions = function buildTagOptions() {
1091
- var tags = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
1092
- return neetoCist.renameKeys({
1093
- id: "value",
1094
- name: "label"
1095
- }, tags);
1096
- };
1097
- var buildTemplateUpdatePayload = function buildTemplateUpdatePayload(values) {
1098
- return {
1099
- image: values.imageSignedId || null,
1100
- tagIds: ramda.pluck("value", values === null || values === void 0 ? void 0 : values.tags)
1101
- };
1102
- };
1103
-
1104
- 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; }
1105
- 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; }
1106
- var TemplateSettings = function TemplateSettings(_ref) {
1107
- var _ref$onCancelTemplate = _ref.onCancelTemplatePreview,
1108
- onCancelTemplatePreview = _ref$onCancelTemplate === void 0 ? "" : _ref$onCancelTemplate,
1109
- _ref$breadcrumbs = _ref.breadcrumbs,
1110
- breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs,
1111
- _ref$className = _ref.className,
1112
- className = _ref$className === void 0 ? "" : _ref$className;
1113
- var _useParams = reactRouterDom.useParams(),
1114
- resourceId = _useParams.id;
1115
- var _useTranslation = reactI18next.useTranslation(),
1116
- t = _useTranslation.t;
1117
- var _useFetchTemplate = useFetchTemplate({
1118
- resourceId: resourceId
1119
- }),
1120
- data = _useFetchTemplate.data,
1121
- isFetchingTemplate = _useFetchTemplate.isLoading;
1122
- var _useUpdateTemplate = useUpdateTemplate({
1123
- resourceId: resourceId
1124
- }),
1125
- updateTemplate = _useUpdateTemplate.mutate,
1126
- isUpdatingTemplate = _useUpdateTemplate.isPending;
1127
- var _useCreateTemplateTag = useCreateTemplateTag(),
1128
- createTemplateTag = _useCreateTemplateTag.mutate,
1129
- isCreatingTags = _useCreateTemplateTag.isPending;
1130
- var _useFetchTemplateTags = useFetchTemplateTags(),
1131
- _useFetchTemplateTags2 = _useFetchTemplateTags.data,
1132
- templateTags = _useFetchTemplateTags2 === void 0 ? {} : _useFetchTemplateTags2,
1133
- isTagsLoading = _useFetchTemplateTags.isLoading;
1134
- var handleSubmit = function handleSubmit(values) {
1135
- updateTemplate({
1136
- template: buildTemplateUpdatePayload(values)
1137
- });
1138
- };
1139
- var isLoading = isFetchingTemplate || isTagsLoading;
1140
- var tags = buildTagOptions(data === null || data === void 0 ? void 0 : data.tags);
1141
- var resourceInitialValues = _objectSpread$1(_objectSpread$1({
1142
- imageUrl: null
1143
- }, data), {}, {
1144
- tags: tags
1145
- });
1146
- return /*#__PURE__*/jsxRuntime.jsxs(PageWrapper, {
1147
- className: className,
1148
- children: [/*#__PURE__*/jsxRuntime.jsx(MemoizedPageHeader, {
1149
- breadcrumbs: breadcrumbs,
1150
- title: t("neetoTemplate.templateSettings.title")
1151
- }), /*#__PURE__*/jsxRuntime.jsx(PageContent, {
1152
- className: classnames__default["default"]({
1153
- "min-h-0": !isLoading,
1154
- "h-full": isLoading
1155
- }),
1156
- children: isLoading ? /*#__PURE__*/jsxRuntime.jsx(PageLoader__default["default"], {}) : /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
1157
- children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
1158
- className: "mb-1",
1159
- "data-cy": "thank-you-action-text",
1160
- style: "h2",
1161
- weight: "semibold",
1162
- children: t("neetoTemplate.templateSettings.configureTemplates")
1163
- }), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
1164
- className: "mb-2",
1165
- "data-cy": "thank-you-description-label",
1166
- style: "body2",
1167
- children: t("neetoTemplate.templateSettings.subText")
1168
- }), /*#__PURE__*/jsxRuntime.jsx(Form__default["default"], {
1169
- formikProps: {
1170
- enableReinitialize: true,
1171
- initialValues: resourceInitialValues,
1172
- onSubmit: handleSubmit
1173
- },
1174
- children: function children(_ref2) {
1175
- var values = _ref2.values,
1176
- setFieldValue = _ref2.setFieldValue;
1177
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
1178
- className: "grid grid-cols-2 gap-8 pt-6",
1179
- children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
1180
- className: "space-y-4",
1181
- children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
1182
- className: "mb-3",
1183
- style: "h4",
1184
- weight: "semibold",
1185
- children: t("neetoTemplate.templateSettings.imageLabel")
1186
- }), /*#__PURE__*/jsxRuntime.jsx(FormikImageUploader, {
1187
- name: "imageUrl"
1188
- }), /*#__PURE__*/jsxRuntime.jsx(Tags, {
1189
- allTags: buildSelectOptionsBy("name", templateTags.tags),
1190
- className: "space-y-2",
1191
- isLoading: isCreatingTags,
1192
- selectedTags: values.tags,
1193
- labelProps: {
1194
- label: t("neetoTemplate.templateSettings.categoryLabel")
1195
- },
1196
- onCreate: createTemplateTag,
1197
- onUpdate: function onUpdate(tags) {
1198
- return setFieldValue("tags", tags);
1199
- }
1200
- }), /*#__PURE__*/jsxRuntime.jsx("div", {
1201
- className: "mt-12 flex flex-row items-center justify-start",
1202
- children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock__default["default"], {
1203
- isSubmitting: isUpdatingTemplate,
1204
- cancelButtonProps: {
1205
- to: onCancelTemplatePreview,
1206
- "data-cy": "reset-changes-button",
1207
- onClick: neetoCist.noop
1208
- }
1209
- })
1210
- })]
1211
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
1212
- children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
1213
- className: "mb-3",
1214
- style: "h4",
1215
- weight: "semibold",
1216
- children: t("neetoTemplate.templateSettings.previewLabel")
1217
- }), /*#__PURE__*/jsxRuntime.jsx(Preview, {
1218
- imageUrl: values.imageUrl,
1219
- template: data
1220
- })]
1221
- })]
1222
- });
1223
- }
1224
- })]
1225
- })
1226
- })]
1227
- });
1228
- };
1229
-
1230
- function _objectWithoutPropertiesLoose(source, excluded) {
1231
- if (source == null) return {};
1232
- var target = {};
1233
- var sourceKeys = Object.keys(source);
1234
- var key, i;
1235
- for (i = 0; i < sourceKeys.length; i++) {
1236
- key = sourceKeys[i];
1237
- if (excluded.indexOf(key) >= 0) continue;
1238
- target[key] = source[key];
1239
- }
1240
- return target;
1241
- }
1242
-
1243
- function _objectWithoutProperties(source, excluded) {
1244
- if (source == null) return {};
1245
- var target = _objectWithoutPropertiesLoose(source, excluded);
1246
- var key, i;
1247
- if (Object.getOwnPropertySymbols) {
1248
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
1249
- for (i = 0; i < sourceSymbolKeys.length; i++) {
1250
- key = sourceSymbolKeys[i];
1251
- if (excluded.indexOf(key) >= 0) continue;
1252
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
1253
- target[key] = source[key];
1254
- }
1255
- }
1256
- return target;
1257
- }
1258
-
1259
- var TAG_TYPES = [{
1260
- id: 1,
1261
- label: i18next.t("neetoTemplate.templatesTags.template"),
1262
- url: "".concat(NEETO_TEMPLATES_URL, "/tags/template_tags"),
1263
- columns: [{
1264
- title: i18next.t("neetoTemplate.templatesTags.numberOfActiveTemplates"),
1265
- key: "templates_count",
1266
- dataIndex: "templatesCount",
1267
- align: "center",
1268
- width: 300,
1269
- sorter: true,
1270
- render: function render(templatesCount) {
1271
- return templatesCount !== 0 ? /*#__PURE__*/jsxRuntime.jsxs(Typography__default["default"], {
1272
- style: "body1",
1273
- children: [" ", templatesCount, " "]
1274
- }) : "-";
1275
- }
1276
- }]
1277
- }];
1278
-
1279
- var _excluded = ["breadcrumbs", "tagsPath"];
1280
- 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; }
1281
- 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; }
1282
- var TemplateTags = function TemplateTags(_ref) {
1283
- var breadcrumbs = _ref.breadcrumbs,
1284
- tagsPath = _ref.tagsPath,
1285
- otherProps = _objectWithoutProperties(_ref, _excluded);
1286
- var queryClient = reactQuery.useQueryClient();
1287
- var invalidateTags = function invalidateTags() {
1288
- queryClient.invalidateQueries({
1289
- queryKey: [QUERY_KEYS.TEMPLATE_TAGS]
1290
- });
1291
- };
1292
- var invalidateTagsAndTemplates = function invalidateTagsAndTemplates() {
1293
- invalidateTags();
1294
- queryClient.invalidateQueries({
1295
- queryKey: [QUERY_KEYS.TEMPLATES_LIST]
1296
- });
1297
- queryClient.invalidateQueries({
1298
- queryKey: [QUERY_KEYS.TEMPLATE]
1299
- });
1300
- };
1301
- var config = _objectSpread({
1302
- tagTypes: TAG_TYPES,
1303
- tagsMergable: true,
1304
- breadcrumbs: breadcrumbs,
1305
- displayMenu: false,
1306
- tagsPath: tagsPath,
1307
- onTagRowClick: neetoCist.noop,
1308
- createTags: {
1309
- onSuccess: {
1310
- callback: invalidateTags
1311
- }
1312
- },
1313
- updateTags: {
1314
- onSuccess: {
1315
- callback: invalidateTagsAndTemplates
1316
- }
1317
- },
1318
- deleteTags: {
1319
- onSuccess: {
1320
- callback: invalidateTagsAndTemplates
1321
- }
1322
- },
1323
- mergeTags: {
1324
- onSuccess: {
1325
- callback: invalidateTagsAndTemplates
1326
- }
1327
- }
1328
- }, otherProps);
1329
- return /*#__PURE__*/jsxRuntime.jsx(neetoTagsFrontend.NeetoTags, {
1330
- config: config
1331
- });
1332
- };
1333
-
1334
- 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}}
1335
-
1336
- 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 */";
1337
- n(css,{});
1338
-
1339
- exports.CreateTemplateModal = CreateTemplateModal;
1340
- exports.TemplateSettings = TemplateSettings;
1341
- exports.TemplateTags = TemplateTags;
1342
- //# sourceMappingURL=index.cjs.js.map