@plasmicpkgs/plasmic-content-stack 0.0.130 → 0.0.132

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.
@@ -1,859 +0,0 @@
1
- import registerComponent from '@plasmicapp/host/registerComponent';
2
- import registerGlobalContext from '@plasmicapp/host/registerGlobalContext';
3
- import { DataProvider, repeatedElement, useSelector } from '@plasmicapp/host';
4
- import { usePlasmicQueryData } from '@plasmicapp/query';
5
- import { pascalCase } from 'change-case';
6
- import get from 'dlv';
7
- import React, { useContext } from 'react';
8
-
9
- function _regeneratorRuntime() {
10
- _regeneratorRuntime = function () {
11
- return e;
12
- };
13
- var t,
14
- e = {},
15
- r = Object.prototype,
16
- n = r.hasOwnProperty,
17
- o = Object.defineProperty || function (t, e, r) {
18
- t[e] = r.value;
19
- },
20
- i = "function" == typeof Symbol ? Symbol : {},
21
- a = i.iterator || "@@iterator",
22
- c = i.asyncIterator || "@@asyncIterator",
23
- u = i.toStringTag || "@@toStringTag";
24
- function define(t, e, r) {
25
- return Object.defineProperty(t, e, {
26
- value: r,
27
- enumerable: !0,
28
- configurable: !0,
29
- writable: !0
30
- }), t[e];
31
- }
32
- try {
33
- define({}, "");
34
- } catch (t) {
35
- define = function (t, e, r) {
36
- return t[e] = r;
37
- };
38
- }
39
- function wrap(t, e, r, n) {
40
- var i = e && e.prototype instanceof Generator ? e : Generator,
41
- a = Object.create(i.prototype),
42
- c = new Context(n || []);
43
- return o(a, "_invoke", {
44
- value: makeInvokeMethod(t, r, c)
45
- }), a;
46
- }
47
- function tryCatch(t, e, r) {
48
- try {
49
- return {
50
- type: "normal",
51
- arg: t.call(e, r)
52
- };
53
- } catch (t) {
54
- return {
55
- type: "throw",
56
- arg: t
57
- };
58
- }
59
- }
60
- e.wrap = wrap;
61
- var h = "suspendedStart",
62
- l = "suspendedYield",
63
- f = "executing",
64
- s = "completed",
65
- y = {};
66
- function Generator() {}
67
- function GeneratorFunction() {}
68
- function GeneratorFunctionPrototype() {}
69
- var p = {};
70
- define(p, a, function () {
71
- return this;
72
- });
73
- var d = Object.getPrototypeOf,
74
- v = d && d(d(values([])));
75
- v && v !== r && n.call(v, a) && (p = v);
76
- var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
77
- function defineIteratorMethods(t) {
78
- ["next", "throw", "return"].forEach(function (e) {
79
- define(t, e, function (t) {
80
- return this._invoke(e, t);
81
- });
82
- });
83
- }
84
- function AsyncIterator(t, e) {
85
- function invoke(r, o, i, a) {
86
- var c = tryCatch(t[r], t, o);
87
- if ("throw" !== c.type) {
88
- var u = c.arg,
89
- h = u.value;
90
- return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
91
- invoke("next", t, i, a);
92
- }, function (t) {
93
- invoke("throw", t, i, a);
94
- }) : e.resolve(h).then(function (t) {
95
- u.value = t, i(u);
96
- }, function (t) {
97
- return invoke("throw", t, i, a);
98
- });
99
- }
100
- a(c.arg);
101
- }
102
- var r;
103
- o(this, "_invoke", {
104
- value: function (t, n) {
105
- function callInvokeWithMethodAndArg() {
106
- return new e(function (e, r) {
107
- invoke(t, n, e, r);
108
- });
109
- }
110
- return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
111
- }
112
- });
113
- }
114
- function makeInvokeMethod(e, r, n) {
115
- var o = h;
116
- return function (i, a) {
117
- if (o === f) throw new Error("Generator is already running");
118
- if (o === s) {
119
- if ("throw" === i) throw a;
120
- return {
121
- value: t,
122
- done: !0
123
- };
124
- }
125
- for (n.method = i, n.arg = a;;) {
126
- var c = n.delegate;
127
- if (c) {
128
- var u = maybeInvokeDelegate(c, n);
129
- if (u) {
130
- if (u === y) continue;
131
- return u;
132
- }
133
- }
134
- if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
135
- if (o === h) throw o = s, n.arg;
136
- n.dispatchException(n.arg);
137
- } else "return" === n.method && n.abrupt("return", n.arg);
138
- o = f;
139
- var p = tryCatch(e, r, n);
140
- if ("normal" === p.type) {
141
- if (o = n.done ? s : l, p.arg === y) continue;
142
- return {
143
- value: p.arg,
144
- done: n.done
145
- };
146
- }
147
- "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
148
- }
149
- };
150
- }
151
- function maybeInvokeDelegate(e, r) {
152
- var n = r.method,
153
- o = e.iterator[n];
154
- if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y;
155
- var i = tryCatch(o, e.iterator, r.arg);
156
- if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
157
- var a = i.arg;
158
- return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y);
159
- }
160
- function pushTryEntry(t) {
161
- var e = {
162
- tryLoc: t[0]
163
- };
164
- 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
165
- }
166
- function resetTryEntry(t) {
167
- var e = t.completion || {};
168
- e.type = "normal", delete e.arg, t.completion = e;
169
- }
170
- function Context(t) {
171
- this.tryEntries = [{
172
- tryLoc: "root"
173
- }], t.forEach(pushTryEntry, this), this.reset(!0);
174
- }
175
- function values(e) {
176
- if (e || "" === e) {
177
- var r = e[a];
178
- if (r) return r.call(e);
179
- if ("function" == typeof e.next) return e;
180
- if (!isNaN(e.length)) {
181
- var o = -1,
182
- i = function next() {
183
- for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
184
- return next.value = t, next.done = !0, next;
185
- };
186
- return i.next = i;
187
- }
188
- }
189
- throw new TypeError(typeof e + " is not iterable");
190
- }
191
- return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
192
- value: GeneratorFunctionPrototype,
193
- configurable: !0
194
- }), o(GeneratorFunctionPrototype, "constructor", {
195
- value: GeneratorFunction,
196
- configurable: !0
197
- }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
198
- var e = "function" == typeof t && t.constructor;
199
- return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
200
- }, e.mark = function (t) {
201
- return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
202
- }, e.awrap = function (t) {
203
- return {
204
- __await: t
205
- };
206
- }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
207
- return this;
208
- }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
209
- void 0 === i && (i = Promise);
210
- var a = new AsyncIterator(wrap(t, r, n, o), i);
211
- return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
212
- return t.done ? t.value : a.next();
213
- });
214
- }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
215
- return this;
216
- }), define(g, "toString", function () {
217
- return "[object Generator]";
218
- }), e.keys = function (t) {
219
- var e = Object(t),
220
- r = [];
221
- for (var n in e) r.push(n);
222
- return r.reverse(), function next() {
223
- for (; r.length;) {
224
- var t = r.pop();
225
- if (t in e) return next.value = t, next.done = !1, next;
226
- }
227
- return next.done = !0, next;
228
- };
229
- }, e.values = values, Context.prototype = {
230
- constructor: Context,
231
- reset: function (e) {
232
- if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);
233
- },
234
- stop: function () {
235
- this.done = !0;
236
- var t = this.tryEntries[0].completion;
237
- if ("throw" === t.type) throw t.arg;
238
- return this.rval;
239
- },
240
- dispatchException: function (e) {
241
- if (this.done) throw e;
242
- var r = this;
243
- function handle(n, o) {
244
- return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
245
- }
246
- for (var o = this.tryEntries.length - 1; o >= 0; --o) {
247
- var i = this.tryEntries[o],
248
- a = i.completion;
249
- if ("root" === i.tryLoc) return handle("end");
250
- if (i.tryLoc <= this.prev) {
251
- var c = n.call(i, "catchLoc"),
252
- u = n.call(i, "finallyLoc");
253
- if (c && u) {
254
- if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
255
- if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
256
- } else if (c) {
257
- if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
258
- } else {
259
- if (!u) throw new Error("try statement without catch or finally");
260
- if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
261
- }
262
- }
263
- }
264
- },
265
- abrupt: function (t, e) {
266
- for (var r = this.tryEntries.length - 1; r >= 0; --r) {
267
- var o = this.tryEntries[r];
268
- if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
269
- var i = o;
270
- break;
271
- }
272
- }
273
- i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
274
- var a = i ? i.completion : {};
275
- return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
276
- },
277
- complete: function (t, e) {
278
- if ("throw" === t.type) throw t.arg;
279
- return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y;
280
- },
281
- finish: function (t) {
282
- for (var e = this.tryEntries.length - 1; e >= 0; --e) {
283
- var r = this.tryEntries[e];
284
- if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
285
- }
286
- },
287
- catch: function (t) {
288
- for (var e = this.tryEntries.length - 1; e >= 0; --e) {
289
- var r = this.tryEntries[e];
290
- if (r.tryLoc === t) {
291
- var n = r.completion;
292
- if ("throw" === n.type) {
293
- var o = n.arg;
294
- resetTryEntry(r);
295
- }
296
- return o;
297
- }
298
- }
299
- throw new Error("illegal catch attempt");
300
- },
301
- delegateYield: function (e, r, n) {
302
- return this.delegate = {
303
- iterator: values(e),
304
- resultName: r,
305
- nextLoc: n
306
- }, "next" === this.method && (this.arg = t), y;
307
- }
308
- }, e;
309
- }
310
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
311
- try {
312
- var info = gen[key](arg);
313
- var value = info.value;
314
- } catch (error) {
315
- reject(error);
316
- return;
317
- }
318
- if (info.done) {
319
- resolve(value);
320
- } else {
321
- Promise.resolve(value).then(_next, _throw);
322
- }
323
- }
324
- function _asyncToGenerator(fn) {
325
- return function () {
326
- var self = this,
327
- args = arguments;
328
- return new Promise(function (resolve, reject) {
329
- var gen = fn.apply(self, args);
330
- function _next(value) {
331
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
332
- }
333
- function _throw(err) {
334
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
335
- }
336
- _next(undefined);
337
- });
338
- };
339
- }
340
- function _objectWithoutPropertiesLoose(source, excluded) {
341
- if (source == null) return {};
342
- var target = {};
343
- var sourceKeys = Object.keys(source);
344
- var key, i;
345
- for (i = 0; i < sourceKeys.length; i++) {
346
- key = sourceKeys[i];
347
- if (excluded.indexOf(key) >= 0) continue;
348
- target[key] = source[key];
349
- }
350
- return target;
351
- }
352
-
353
- var queryOperators = [{
354
- value: "",
355
- label: 'Is'
356
- }, {
357
- value: "$ne",
358
- label: 'Is not'
359
- }, {
360
- value: "$lt",
361
- label: 'Less than'
362
- }, {
363
- value: "$lte",
364
- label: 'Less than or equal'
365
- }, {
366
- value: "$gt",
367
- label: 'Greater than'
368
- }, {
369
- value: "$gte",
370
- label: 'Greater than or equal '
371
- }];
372
-
373
- var _excluded = ["objectPath", "setControlContextData"];
374
- function ensure(x) {
375
- if (x === null || x === undefined) {
376
- debugger;
377
- throw new Error("Value must not be undefined or null");
378
- } else {
379
- return x;
380
- }
381
- }
382
- var modulePath = "@plasmicpkgs/plasmic-content-stack";
383
- var makeDataProviderName = function makeDataProviderName(contentType) {
384
- return "currentContentstack" + pascalCase(contentType) + "Item";
385
- };
386
- var CredentialsContext = /*#__PURE__*/React.createContext(undefined);
387
- var ContentStackCredentialsProviderMeta = {
388
- name: "ContentStackCredentialsProvider",
389
- displayName: "ContentStack Credentials Provider",
390
- description: "The API key is a unique key assigned to each stack. Learn how to [get your API key](https://www.contentstack.com/docs/developers/apis/content-management-api/#how-to-get-stack-api-key).",
391
- importName: "ContentStackCredentialsProvider",
392
- importPath: modulePath,
393
- props: {
394
- apiKey: {
395
- type: "string",
396
- displayName: "API Key",
397
- description: "API Key of your Stack ",
398
- defaultValue: "blt02f7b45378b008ee"
399
- },
400
- accessToken: {
401
- type: "string",
402
- displayName: "Access Token ",
403
- description: "Access Token",
404
- defaultValue: "cs5b69faf35efdebd91d08bcf4"
405
- },
406
- environment: {
407
- type: "string",
408
- displayName: "Environment",
409
- defaultValue: "production"
410
- }
411
- }
412
- };
413
- function ContentStackCredentialsProvider(_ref) {
414
- var apiKey = _ref.apiKey,
415
- accessToken = _ref.accessToken,
416
- environment = _ref.environment,
417
- children = _ref.children;
418
- return React.createElement(CredentialsContext.Provider, {
419
- value: {
420
- apiKey: apiKey,
421
- accessToken: accessToken,
422
- environment: environment
423
- }
424
- }, children);
425
- }
426
- var ContentStackFetcherMeta = {
427
- name: "ContentStackFetcher",
428
- displayName: "ContentStack Fetcher",
429
- importName: "ContentStackFetcher",
430
- importPath: modulePath,
431
- providesData: true,
432
- description: "Fetches ContentStack data and repeats content of children once for every row fetched. ",
433
- defaultStyles: {
434
- display: "grid",
435
- gridTemplateColumns: "1fr 1fr 1fr 1fr",
436
- gridRowGap: "8px",
437
- gridColumnGap: "8px",
438
- padding: "8px",
439
- maxWidth: "100%"
440
- },
441
- props: {
442
- children: {
443
- type: "slot",
444
- defaultValue: {
445
- type: "vbox",
446
- styles: {
447
- padding: "8px"
448
- },
449
- children: {
450
- type: "component",
451
- name: "ContentStackField"
452
- }
453
- }
454
- },
455
- contentType: {
456
- type: "choice",
457
- options: function options(props, ctx) {
458
- var _ctx$types$map, _ctx$types;
459
- return (_ctx$types$map = ctx == null || (_ctx$types = ctx.types) == null ? void 0 : _ctx$types.map(function (type) {
460
- return {
461
- label: type == null ? void 0 : type.title,
462
- value: type == null ? void 0 : type.uid
463
- };
464
- })) != null ? _ctx$types$map : [];
465
- },
466
- displayName: "Content type",
467
- description: "Content type to be queried."
468
- },
469
- filterField: {
470
- type: "choice",
471
- displayName: "Filter field",
472
- description: "Field (from Collection) to filter by",
473
- options: function options(props, ctx) {
474
- var _ctx$filterFields;
475
- return (_ctx$filterFields = ctx == null ? void 0 : ctx.filterFields) != null ? _ctx$filterFields : [];
476
- },
477
- hidden: function hidden(props, ctx) {
478
- return !props.contentType;
479
- }
480
- },
481
- queryOperator: {
482
- type: "choice",
483
- displayName: "Query Operator",
484
- description: "Query Operator filter by",
485
- options: function options(props, ctx) {
486
- var _ctx$queryOptions;
487
- return (_ctx$queryOptions = ctx == null ? void 0 : ctx.queryOptions) != null ? _ctx$queryOptions : [];
488
- },
489
- hidden: function hidden(props, ctx) {
490
- return !props.filterField;
491
- }
492
- },
493
- filterValue: {
494
- type: "string",
495
- displayName: "Filter value",
496
- description: "Value to filter by, should be of filter field type"
497
- },
498
- limit: {
499
- type: "number",
500
- displayName: "Limit",
501
- description: "Limit"
502
- },
503
- noAutoRepeat: {
504
- type: "boolean",
505
- displayName: "No auto-repeat",
506
- description: "Do not automatically repeat children for every entries.",
507
- defaultValue: false
508
- },
509
- noLayout: {
510
- type: "boolean",
511
- displayName: "No layout",
512
- description: "When set, ContentStack Fetcher will not layout its children; instead, the layout set on its parent element will be used. Useful if you want to set flex gap or control container tag type.",
513
- defaultValue: false
514
- }
515
- }
516
- };
517
- function ContentStackFetcher(_ref2) {
518
- var _allContentTypes$data, _types$find;
519
- var contentType = _ref2.contentType,
520
- filterField = _ref2.filterField,
521
- filterValue = _ref2.filterValue,
522
- queryOperator = _ref2.queryOperator,
523
- limit = _ref2.limit,
524
- noAutoRepeat = _ref2.noAutoRepeat,
525
- children = _ref2.children,
526
- className = _ref2.className,
527
- noLayout = _ref2.noLayout,
528
- setControlContextData = _ref2.setControlContextData;
529
- var creds = ensure(useContext(CredentialsContext));
530
- var cacheKey = JSON.stringify({
531
- limit: limit,
532
- contentType: contentType,
533
- filterField: filterField,
534
- filterValue: filterValue,
535
- queryOperator: queryOperator,
536
- creds: creds
537
- });
538
- var allContentTypes = usePlasmicQueryData(cacheKey + "/contentTypes", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
539
- var resp;
540
- return _regeneratorRuntime().wrap(function _callee$(_context) {
541
- while (1) switch (_context.prev = _context.next) {
542
- case 0:
543
- _context.next = 2;
544
- return fetch("https://cdn.contentstack.io/v3/content_types?include_count=true&include_global_field_schema=true", {
545
- headers: {
546
- api_key: creds.apiKey,
547
- access_token: creds.accessToken
548
- }
549
- });
550
- case 2:
551
- resp = _context.sent;
552
- return _context.abrupt("return", resp.json());
553
- case 4:
554
- case "end":
555
- return _context.stop();
556
- }
557
- }, _callee);
558
- })));
559
- var contentTypes = (_allContentTypes$data = allContentTypes.data) != null ? _allContentTypes$data : [];
560
- var _usePlasmicQueryData = usePlasmicQueryData(contentType ? cacheKey + "/" + contentType + "/entries" : null, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
561
- var url, query, resp;
562
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
563
- while (1) switch (_context2.prev = _context2.next) {
564
- case 0:
565
- url = "https://cdn.contentstack.io/v3/content_types/" + contentType + "/entries?environment=" + creds.environment;
566
- if (limit) {
567
- query = url + "&limit=" + limit;
568
- } else {
569
- query = url;
570
- }
571
- _context2.next = 4;
572
- return fetch(query, {
573
- headers: {
574
- api_key: creds.apiKey,
575
- access_token: creds.accessToken
576
- }
577
- });
578
- case 4:
579
- resp = _context2.sent;
580
- _context2.next = 7;
581
- return resp.json();
582
- case 7:
583
- return _context2.abrupt("return", _context2.sent);
584
- case 8:
585
- case "end":
586
- return _context2.stop();
587
- }
588
- }, _callee2);
589
- }))),
590
- entriesData = _usePlasmicQueryData.data;
591
- var _usePlasmicQueryData2 = usePlasmicQueryData(contentType && filterField && filterValue && entriesData ? cacheKey + "/" + contentType + "/filtered" : null, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
592
- var matched, url, resp;
593
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
594
- while (1) switch (_context3.prev = _context3.next) {
595
- case 0:
596
- if (!(!contentType && !filterField && !filterValue && !entriesData && !contentTypes)) {
597
- _context3.next = 2;
598
- break;
599
- }
600
- return _context3.abrupt("return", null);
601
- case 2:
602
- matched = Object.values(entriesData).flatMap(function (model) {
603
- return Array.isArray(model) ? model : [model];
604
- }).map(function (item) {
605
- var fields = Object.entries(item).find(function (el) {
606
- return el[0] === filterField;
607
- });
608
- return fields;
609
- });
610
- if (!queryOperator) {
611
- Object.values(matched).map(function (model) {
612
- return Array.isArray(model) ? model : [model];
613
- }).map(function (item) {
614
- if (typeof item[1] === "number" && typeof item[1] !== "object") {
615
- url = "https://cdn.contentstack.io/v3/content_types/" + contentType + "/entries?environment=" + creds.environment + "&query={\"" + filterField + "\" : " + filterValue + "}";
616
- } else if (typeof item[1] !== "number" && typeof item[1] !== "object" && typeof item[1] === "string") {
617
- var _JSON$stringify;
618
- url = "https://cdn.contentstack.io/v3/content_types/" + contentType + "/entries?environment=" + creds.environment + "&query=" + JSON.stringify((_JSON$stringify = {}, _JSON$stringify[filterField] = filterValue, _JSON$stringify));
619
- } else {
620
- url = "";
621
- }
622
- });
623
- } else if (queryOperator === "$ne" || queryOperator === "$regex") {
624
- Object.values(matched).map(function (model) {
625
- return Array.isArray(model) ? model : [model];
626
- }).map(function (item) {
627
- if (typeof item[1] === "number" && typeof item[1] !== "object") {
628
- url = "https://cdn.contentstack.io/v3/content_types/" + contentType + "/entries?environment=" + creds.environment + "&query={\"" + filterField + "\":{\"" + queryOperator + "\":" + filterValue + "}}";
629
- } else if (typeof item[1] !== "number" && typeof item[1] !== "object" && typeof item[1] === "string") {
630
- var _filterField, _JSON$stringify2;
631
- url = "https://cdn.contentstack.io/v3/content_types/" + contentType + "/entries?environment=" + creds.environment + "&query=" + JSON.stringify((_JSON$stringify2 = {}, _JSON$stringify2[filterField] = (_filterField = {}, _filterField[queryOperator] = filterValue, _filterField), _JSON$stringify2));
632
- } else {
633
- url = "";
634
- }
635
- });
636
- } else {
637
- url = "https://cdn.contentstack.io/v3/content_types/" + contentType + "/entries?environment=" + creds.environment + "&query={\"" + filterField + "\":{\"" + queryOperator + "\" :" + filterValue + "}}";
638
- }
639
- _context3.next = 6;
640
- return fetch(url, {
641
- headers: {
642
- api_key: creds.apiKey,
643
- access_token: creds.accessToken
644
- }
645
- });
646
- case 6:
647
- resp = _context3.sent;
648
- _context3.next = 9;
649
- return resp.json();
650
- case 9:
651
- return _context3.abrupt("return", _context3.sent);
652
- case 10:
653
- case "end":
654
- return _context3.stop();
655
- }
656
- }, _callee3);
657
- }))),
658
- filteredData = _usePlasmicQueryData2.data;
659
- if (!contentTypes) {
660
- return React.createElement("div", null, "Please configure the ContentStack credentials");
661
- }
662
- var types = Object.values(contentTypes).flatMap(function (model) {
663
- return model;
664
- });
665
- setControlContextData == null || setControlContextData({
666
- types: types
667
- });
668
- if (!creds.apiKey || !creds.accessToken || !creds.environment) {
669
- return React.createElement("div", null, "Please specify a valid API Credentials: API Key, Access Token and Environment");
670
- }
671
- if (!entriesData) {
672
- return React.createElement("div", null, "Please specify content type ");
673
- }
674
- var fieldsForFilter = Object.values(entriesData).flatMap(function (model) {
675
- return Array.isArray(model) ? model : [model];
676
- }).map(function (item) {
677
- var fields = Object.keys(item).filter(function (field) {
678
- var value = get(item, field);
679
- return typeof value !== "object" && field !== "images" && typeof value === "number" || typeof value === "string" && !value.match(/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?Z?/gm) && !value.match(/^blt.*/);
680
- });
681
- return fields;
682
- });
683
- var operators;
684
- var matchedFields = Object.values(entriesData).flatMap(function (model) {
685
- return Array.isArray(model) ? model : [model];
686
- }).map(function (item) {
687
- var fields = Object.entries(item).find(function (el) {
688
- return el[0] === filterField;
689
- });
690
- return fields;
691
- });
692
- Object.values(matchedFields).map(function (model) {
693
- return Array.isArray(model) ? model : [model];
694
- }).map(function (item) {
695
- if (typeof item[1] === "number" && typeof item[1] !== "object") {
696
- operators = queryOperators;
697
- } else if (typeof item[1] !== "number" && typeof item[1] !== "object" && typeof item[1] === "string") {
698
- operators = [{
699
- value: "",
700
- label: "Is"
701
- }, {
702
- value: "$ne",
703
- label: "Is not"
704
- }, {
705
- value: "$regex",
706
- label: "Matches regex"
707
- }];
708
- }
709
- });
710
- setControlContextData == null || setControlContextData({
711
- queryOptions: operators,
712
- types: types,
713
- filterFields: fieldsForFilter[0]
714
- });
715
- if (queryOperator && !filterValue && !filterField) {
716
- return React.createElement("div", null, "Please specify a Filter Field and a Filter Value");
717
- }
718
- if (!queryOperator && filterValue && !filterField) {
719
- return React.createElement("div", null, "Please specify a Query Operator and a Filter Field");
720
- }
721
- if (!queryOperator && !filterValue && filterField) {
722
- return React.createElement("div", null, "Please specify a Query Operator and a Filter Value");
723
- }
724
- if (queryOperator && filterValue && !filterField) {
725
- return React.createElement("div", null, "Please specify a Filter Field");
726
- }
727
- if (queryOperator && !filterValue && filterField) {
728
- return React.createElement("div", null, "Please specify a Filter Value");
729
- }
730
- var entries = Object.values(entriesData).flatMap(function (item) {
731
- return Array.isArray(item) ? item : [item];
732
- });
733
- var renderedData;
734
- if (filteredData) {
735
- var filtered = Object.values(filteredData).flatMap(function (model) {
736
- return model;
737
- }).length;
738
- if (filtered === 0) {
739
- return React.createElement("div", null, "No published entry found ");
740
- }
741
- var _entries = Object.values(filteredData).flatMap(function (model) {
742
- return Array.isArray(model) ? model : [model];
743
- });
744
- renderedData = _entries == null ? void 0 : _entries.map(function (item, index) {
745
- return React.createElement(DataProvider, {
746
- key: item._id,
747
- name: "contentstackItem",
748
- data: item,
749
- hidden: true
750
- }, React.createElement(DataProvider, {
751
- name: makeDataProviderName(contentType),
752
- data: item
753
- }, repeatedElement(index, children)));
754
- });
755
- } else {
756
- var _entries2 = Object.values(entriesData).flatMap(function (model) {
757
- return Array.isArray(model) ? model : [model];
758
- });
759
- renderedData = _entries2 == null ? void 0 : _entries2.map(function (item, index) {
760
- return React.createElement(DataProvider, {
761
- key: item._id,
762
- name: "contentstackItem",
763
- data: item,
764
- hidden: true
765
- }, React.createElement(DataProvider, {
766
- name: makeDataProviderName(contentType),
767
- data: item
768
- }, repeatedElement(index, children)));
769
- });
770
- }
771
- return React.createElement(DataProvider, {
772
- data: entries,
773
- name: "contentStackItems"
774
- }, noAutoRepeat ? children : React.createElement(DataProvider, {
775
- name: "contentstackSchema",
776
- data: types == null || (_types$find = types.find(function (type) {
777
- return type.uid === contentType;
778
- })) == null ? void 0 : _types$find.schema,
779
- hidden: true
780
- }, noLayout ? React.createElement(React.Fragment, null, " ", renderedData, " ") : React.createElement("div", {
781
- className: className
782
- }, " ", renderedData, " ")));
783
- }
784
- var ContentStackFieldMeta = {
785
- name: "ContentStackField",
786
- displayName: "ContentStack Field",
787
- importName: "ContentStackField",
788
- importPath: modulePath,
789
- props: {
790
- objectPath: {
791
- type: "dataSelector",
792
- data: function data(props, ctx) {
793
- var _ctx$data;
794
- return (_ctx$data = ctx == null ? void 0 : ctx.data) != null ? _ctx$data : {};
795
- },
796
- displayName: "Field",
797
- description: "Field to be displayed."
798
- }
799
- }
800
- };
801
- function ContentStackField(_ref6) {
802
- var _data$content_type;
803
- var objectPath = _ref6.objectPath,
804
- setControlContextData = _ref6.setControlContextData,
805
- rest = _objectWithoutPropertiesLoose(_ref6, _excluded);
806
- var item = useSelector("contentstackItem");
807
- if (!item) {
808
- return React.createElement("div", null, "ContentStackField must be used within a ContentStackFetcher ");
809
- }
810
- var schema = useSelector("contentstackSchema");
811
- setControlContextData == null || setControlContextData({
812
- data: item
813
- });
814
- if (!objectPath) {
815
- return React.createElement("div", null, "Please specify a valid path or select a field.");
816
- }
817
- var isRichText = function isRichText() {
818
- var _schema$find;
819
- return schema == null || (_schema$find = schema.find(function (field) {
820
- return field.uid === get(objectPath, [0]);
821
- })) == null || (_schema$find = _schema$find.field_metadata) == null ? void 0 : _schema$find.allow_rich_text;
822
- };
823
- var data = get(item, objectPath);
824
- if (typeof data === "object" && data != null && (_data$content_type = data.content_type) != null && _data$content_type.startsWith("image")) {
825
- return React.createElement("img", Object.assign({}, rest, {
826
- src: data.url
827
- }));
828
- } else if (!data || typeof data === "object") {
829
- return React.createElement("div", Object.assign({}, rest), " Please specify a valid field.");
830
- } else if (isRichText()) {
831
- return React.createElement("div", Object.assign({}, rest, {
832
- dangerouslySetInnerHTML: {
833
- __html: data
834
- }
835
- }));
836
- } else {
837
- return React.createElement("div", Object.assign({}, rest), " ", data, " ");
838
- }
839
- }
840
-
841
- function registerAll(loader) {
842
- var _registerComponent = function _registerComponent(Component, defaultMeta) {
843
- if (loader) {
844
- loader.registerComponent(Component, defaultMeta);
845
- } else {
846
- registerComponent(Component, defaultMeta);
847
- }
848
- };
849
- if (loader) {
850
- loader.registerGlobalContext(ContentStackCredentialsProvider, ContentStackCredentialsProviderMeta);
851
- } else {
852
- registerGlobalContext(ContentStackCredentialsProvider, ContentStackCredentialsProviderMeta);
853
- }
854
- _registerComponent(ContentStackFetcher, ContentStackFetcherMeta);
855
- _registerComponent(ContentStackField, ContentStackFieldMeta);
856
- }
857
-
858
- export { ContentStackCredentialsProvider, ContentStackCredentialsProviderMeta, ContentStackFetcher, ContentStackFetcherMeta, ContentStackField, ContentStackFieldMeta, ensure, registerAll };
859
- //# sourceMappingURL=plasmic-content-stack.esm.js.map