@plasmicpkgs/plasmic-strapi 0.1.124 → 0.1.126

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,743 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
-
7
- var registerComponent = _interopDefault(require('@plasmicapp/host/registerComponent'));
8
- var registerGlobalContext = _interopDefault(require('@plasmicapp/host/registerGlobalContext'));
9
- var host = require('@plasmicapp/host');
10
- var query = require('@plasmicapp/query');
11
- var qs = require('qs');
12
- var get = _interopDefault(require('dlv'));
13
- var changeCase = require('change-case');
14
- var React = require('react');
15
- var React__default = _interopDefault(React);
16
-
17
- function _regeneratorRuntime() {
18
- _regeneratorRuntime = function () {
19
- return e;
20
- };
21
- var t,
22
- e = {},
23
- r = Object.prototype,
24
- n = r.hasOwnProperty,
25
- o = Object.defineProperty || function (t, e, r) {
26
- t[e] = r.value;
27
- },
28
- i = "function" == typeof Symbol ? Symbol : {},
29
- a = i.iterator || "@@iterator",
30
- c = i.asyncIterator || "@@asyncIterator",
31
- u = i.toStringTag || "@@toStringTag";
32
- function define(t, e, r) {
33
- return Object.defineProperty(t, e, {
34
- value: r,
35
- enumerable: !0,
36
- configurable: !0,
37
- writable: !0
38
- }), t[e];
39
- }
40
- try {
41
- define({}, "");
42
- } catch (t) {
43
- define = function (t, e, r) {
44
- return t[e] = r;
45
- };
46
- }
47
- function wrap(t, e, r, n) {
48
- var i = e && e.prototype instanceof Generator ? e : Generator,
49
- a = Object.create(i.prototype),
50
- c = new Context(n || []);
51
- return o(a, "_invoke", {
52
- value: makeInvokeMethod(t, r, c)
53
- }), a;
54
- }
55
- function tryCatch(t, e, r) {
56
- try {
57
- return {
58
- type: "normal",
59
- arg: t.call(e, r)
60
- };
61
- } catch (t) {
62
- return {
63
- type: "throw",
64
- arg: t
65
- };
66
- }
67
- }
68
- e.wrap = wrap;
69
- var h = "suspendedStart",
70
- l = "suspendedYield",
71
- f = "executing",
72
- s = "completed",
73
- y = {};
74
- function Generator() {}
75
- function GeneratorFunction() {}
76
- function GeneratorFunctionPrototype() {}
77
- var p = {};
78
- define(p, a, function () {
79
- return this;
80
- });
81
- var d = Object.getPrototypeOf,
82
- v = d && d(d(values([])));
83
- v && v !== r && n.call(v, a) && (p = v);
84
- var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
85
- function defineIteratorMethods(t) {
86
- ["next", "throw", "return"].forEach(function (e) {
87
- define(t, e, function (t) {
88
- return this._invoke(e, t);
89
- });
90
- });
91
- }
92
- function AsyncIterator(t, e) {
93
- function invoke(r, o, i, a) {
94
- var c = tryCatch(t[r], t, o);
95
- if ("throw" !== c.type) {
96
- var u = c.arg,
97
- h = u.value;
98
- return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
99
- invoke("next", t, i, a);
100
- }, function (t) {
101
- invoke("throw", t, i, a);
102
- }) : e.resolve(h).then(function (t) {
103
- u.value = t, i(u);
104
- }, function (t) {
105
- return invoke("throw", t, i, a);
106
- });
107
- }
108
- a(c.arg);
109
- }
110
- var r;
111
- o(this, "_invoke", {
112
- value: function (t, n) {
113
- function callInvokeWithMethodAndArg() {
114
- return new e(function (e, r) {
115
- invoke(t, n, e, r);
116
- });
117
- }
118
- return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
119
- }
120
- });
121
- }
122
- function makeInvokeMethod(e, r, n) {
123
- var o = h;
124
- return function (i, a) {
125
- if (o === f) throw new Error("Generator is already running");
126
- if (o === s) {
127
- if ("throw" === i) throw a;
128
- return {
129
- value: t,
130
- done: !0
131
- };
132
- }
133
- for (n.method = i, n.arg = a;;) {
134
- var c = n.delegate;
135
- if (c) {
136
- var u = maybeInvokeDelegate(c, n);
137
- if (u) {
138
- if (u === y) continue;
139
- return u;
140
- }
141
- }
142
- if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
143
- if (o === h) throw o = s, n.arg;
144
- n.dispatchException(n.arg);
145
- } else "return" === n.method && n.abrupt("return", n.arg);
146
- o = f;
147
- var p = tryCatch(e, r, n);
148
- if ("normal" === p.type) {
149
- if (o = n.done ? s : l, p.arg === y) continue;
150
- return {
151
- value: p.arg,
152
- done: n.done
153
- };
154
- }
155
- "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
156
- }
157
- };
158
- }
159
- function maybeInvokeDelegate(e, r) {
160
- var n = r.method,
161
- o = e.iterator[n];
162
- 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;
163
- var i = tryCatch(o, e.iterator, r.arg);
164
- if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
165
- var a = i.arg;
166
- 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);
167
- }
168
- function pushTryEntry(t) {
169
- var e = {
170
- tryLoc: t[0]
171
- };
172
- 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
173
- }
174
- function resetTryEntry(t) {
175
- var e = t.completion || {};
176
- e.type = "normal", delete e.arg, t.completion = e;
177
- }
178
- function Context(t) {
179
- this.tryEntries = [{
180
- tryLoc: "root"
181
- }], t.forEach(pushTryEntry, this), this.reset(!0);
182
- }
183
- function values(e) {
184
- if (e || "" === e) {
185
- var r = e[a];
186
- if (r) return r.call(e);
187
- if ("function" == typeof e.next) return e;
188
- if (!isNaN(e.length)) {
189
- var o = -1,
190
- i = function next() {
191
- for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
192
- return next.value = t, next.done = !0, next;
193
- };
194
- return i.next = i;
195
- }
196
- }
197
- throw new TypeError(typeof e + " is not iterable");
198
- }
199
- return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
200
- value: GeneratorFunctionPrototype,
201
- configurable: !0
202
- }), o(GeneratorFunctionPrototype, "constructor", {
203
- value: GeneratorFunction,
204
- configurable: !0
205
- }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
206
- var e = "function" == typeof t && t.constructor;
207
- return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
208
- }, e.mark = function (t) {
209
- return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
210
- }, e.awrap = function (t) {
211
- return {
212
- __await: t
213
- };
214
- }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
215
- return this;
216
- }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
217
- void 0 === i && (i = Promise);
218
- var a = new AsyncIterator(wrap(t, r, n, o), i);
219
- return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
220
- return t.done ? t.value : a.next();
221
- });
222
- }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
223
- return this;
224
- }), define(g, "toString", function () {
225
- return "[object Generator]";
226
- }), e.keys = function (t) {
227
- var e = Object(t),
228
- r = [];
229
- for (var n in e) r.push(n);
230
- return r.reverse(), function next() {
231
- for (; r.length;) {
232
- var t = r.pop();
233
- if (t in e) return next.value = t, next.done = !1, next;
234
- }
235
- return next.done = !0, next;
236
- };
237
- }, e.values = values, Context.prototype = {
238
- constructor: Context,
239
- reset: function (e) {
240
- 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);
241
- },
242
- stop: function () {
243
- this.done = !0;
244
- var t = this.tryEntries[0].completion;
245
- if ("throw" === t.type) throw t.arg;
246
- return this.rval;
247
- },
248
- dispatchException: function (e) {
249
- if (this.done) throw e;
250
- var r = this;
251
- function handle(n, o) {
252
- return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
253
- }
254
- for (var o = this.tryEntries.length - 1; o >= 0; --o) {
255
- var i = this.tryEntries[o],
256
- a = i.completion;
257
- if ("root" === i.tryLoc) return handle("end");
258
- if (i.tryLoc <= this.prev) {
259
- var c = n.call(i, "catchLoc"),
260
- u = n.call(i, "finallyLoc");
261
- if (c && u) {
262
- if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
263
- if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
264
- } else if (c) {
265
- if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
266
- } else {
267
- if (!u) throw new Error("try statement without catch or finally");
268
- if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
269
- }
270
- }
271
- }
272
- },
273
- abrupt: function (t, e) {
274
- for (var r = this.tryEntries.length - 1; r >= 0; --r) {
275
- var o = this.tryEntries[r];
276
- if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
277
- var i = o;
278
- break;
279
- }
280
- }
281
- i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
282
- var a = i ? i.completion : {};
283
- return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
284
- },
285
- complete: function (t, e) {
286
- if ("throw" === t.type) throw t.arg;
287
- 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;
288
- },
289
- finish: function (t) {
290
- for (var e = this.tryEntries.length - 1; e >= 0; --e) {
291
- var r = this.tryEntries[e];
292
- if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
293
- }
294
- },
295
- catch: function (t) {
296
- for (var e = this.tryEntries.length - 1; e >= 0; --e) {
297
- var r = this.tryEntries[e];
298
- if (r.tryLoc === t) {
299
- var n = r.completion;
300
- if ("throw" === n.type) {
301
- var o = n.arg;
302
- resetTryEntry(r);
303
- }
304
- return o;
305
- }
306
- }
307
- throw new Error("illegal catch attempt");
308
- },
309
- delegateYield: function (e, r, n) {
310
- return this.delegate = {
311
- iterator: values(e),
312
- resultName: r,
313
- nextLoc: n
314
- }, "next" === this.method && (this.arg = t), y;
315
- }
316
- }, e;
317
- }
318
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
319
- try {
320
- var info = gen[key](arg);
321
- var value = info.value;
322
- } catch (error) {
323
- reject(error);
324
- return;
325
- }
326
- if (info.done) {
327
- resolve(value);
328
- } else {
329
- Promise.resolve(value).then(_next, _throw);
330
- }
331
- }
332
- function _asyncToGenerator(fn) {
333
- return function () {
334
- var self = this,
335
- args = arguments;
336
- return new Promise(function (resolve, reject) {
337
- var gen = fn.apply(self, args);
338
- function _next(value) {
339
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
340
- }
341
- function _throw(err) {
342
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
343
- }
344
- _next(undefined);
345
- });
346
- };
347
- }
348
- function _extends() {
349
- _extends = Object.assign ? Object.assign.bind() : function (target) {
350
- for (var i = 1; i < arguments.length; i++) {
351
- var source = arguments[i];
352
- for (var key in source) {
353
- if (Object.prototype.hasOwnProperty.call(source, key)) {
354
- target[key] = source[key];
355
- }
356
- }
357
- }
358
- return target;
359
- };
360
- return _extends.apply(this, arguments);
361
- }
362
-
363
- var queryParameters = [{
364
- value: '$eq',
365
- label: 'Equal'
366
- }, {
367
- value: '$ne',
368
- label: 'Not equal'
369
- }, {
370
- value: '$lt',
371
- label: 'Less than'
372
- }, {
373
- value: '$lte',
374
- label: 'Less than or equal to'
375
- }, {
376
- value: '$gt',
377
- label: 'Greater than'
378
- }, {
379
- value: '$gte',
380
- label: 'Greater than or equal to'
381
- }, {
382
- value: '$in',
383
- label: 'Included in an array'
384
- }, {
385
- value: '$notIn',
386
- label: 'Not included in an array'
387
- }, {
388
- value: '$contains',
389
- label: 'Contains'
390
- }, {
391
- value: '$notContains',
392
- label: 'Does not contain'
393
- }];
394
- var uniq = function uniq(xs) {
395
- return Array.from(new Set(xs));
396
- };
397
-
398
- function ensure(x) {
399
- if (x === null || x === undefined) {
400
- throw new Error("Value must not be undefined or null");
401
- } else {
402
- return x;
403
- }
404
- }
405
- var modulePath = "@plasmicpkgs/plasmic-strapi";
406
- var makeDataProviderName = function makeDataProviderName(collection) {
407
- return "currentStrapi" + changeCase.pascalCase(collection) + "Item";
408
- };
409
- var CredentialsContext = /*#__PURE__*/React__default.createContext(undefined);
410
- var strapiCredentialsProviderMeta = {
411
- name: "StrapiCredentialsProvider",
412
- displayName: "Strapi Credentials Provider",
413
- description: "[See tutorial video](https://www.youtube.com/watch?v=1SLoVY3hkQ4).\n\nAPI token is needed only if data is not publicly readable.\n\nLearn how to [get your API token](https://docs.strapi.io/user-docs/latest/settings/managing-global-settings.html#managing-api-tokens).",
414
- importName: "StrapiCredentialsProvider",
415
- importPath: modulePath,
416
- props: {
417
- host: {
418
- type: "string",
419
- displayName: "Host",
420
- defaultValueHint: "https://strapi-app.plasmic.app",
421
- defaultValue: "https://strapi-app.plasmic.app",
422
- description: "Server where you application is hosted."
423
- },
424
- token: {
425
- type: "string",
426
- displayName: "API Token",
427
- description: "API Token (generated in http://yourhost/admin/settings/api-tokens) (or leave blank for unauthenticated usage)."
428
- }
429
- }
430
- };
431
- function StrapiCredentialsProvider(_ref) {
432
- var _host;
433
- var host = _ref.host,
434
- token = _ref.token,
435
- children = _ref.children;
436
- host = ((_host = host) == null ? void 0 : _host.slice(-1)) === "/" ? host.slice(0, -1) : host;
437
- return React__default.createElement(CredentialsContext.Provider, {
438
- value: {
439
- host: host,
440
- token: token
441
- }
442
- }, children);
443
- }
444
- var strapiCollectionMeta = {
445
- name: "StrapiCollection",
446
- displayName: "Strapi Collection",
447
- importName: "StrapiCollection",
448
- importPath: modulePath,
449
- providesData: true,
450
- description: "Fetches Strapi data of a given collection, and repeats `children` slot content for each row fetched. [See tutorial video](https://www.youtube.com/watch?v=1SLoVY3hkQ4).",
451
- defaultStyles: {
452
- display: "grid",
453
- gridTemplateColumns: "1fr 1fr 1fr 1fr",
454
- gridRowGap: "8px",
455
- gridColumnGap: "8px",
456
- padding: "8px",
457
- maxWidth: "100%"
458
- },
459
- props: {
460
- children: {
461
- type: "slot",
462
- defaultValue: {
463
- type: "vbox",
464
- children: {
465
- type: "component",
466
- name: "StrapiField"
467
- }
468
- }
469
- },
470
- name: {
471
- type: "string",
472
- displayName: "Name",
473
- description: "Name of the collection to be fetched.",
474
- defaultValueHint: "restaurants"
475
- },
476
- filterField: {
477
- type: "choice",
478
- displayName: "Filter field",
479
- description: "Field (from Collection) to filter by",
480
- options: function options(props, ctx) {
481
- var _ctx$strapiFields;
482
- return (_ctx$strapiFields = ctx == null ? void 0 : ctx.strapiFields) != null ? _ctx$strapiFields : [];
483
- },
484
- hidden: function hidden(props, ctx) {
485
- return !props.name;
486
- }
487
- },
488
- filterParameter: {
489
- type: "choice",
490
- displayName: "Filter Parameter",
491
- description: "Field Parameter filter by",
492
- options: function options(props, ctx) {
493
- return queryParameters.map(function (item) {
494
- return {
495
- label: item == null ? void 0 : item.label,
496
- value: item == null ? void 0 : item.value
497
- };
498
- });
499
- },
500
- hidden: function hidden(props, ctx) {
501
- return !props.filterField;
502
- }
503
- },
504
- filterValue: {
505
- type: "string",
506
- displayName: "Filter value",
507
- description: "Value to filter by, should be of filter field type",
508
- hidden: function hidden(props, ctx) {
509
- return !props.filterParameter;
510
- }
511
- },
512
- limit: {
513
- type: "number",
514
- displayName: "Limit",
515
- description: "Maximum n umber of collections to fetch (0 for unlimited)."
516
- },
517
- noLayout: {
518
- type: "boolean",
519
- displayName: "No layout",
520
- description: "When set, Strapi Collection 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.",
521
- defaultValue: false
522
- },
523
- noAutoRepeat: {
524
- type: "boolean",
525
- displayName: "No auto-repeat",
526
- description: "Do not automatically repeat children for every category.",
527
- defaultValue: false
528
- }
529
- }
530
- };
531
- function StrapiCollection(_ref2) {
532
- var name = _ref2.name,
533
- filterParameter = _ref2.filterParameter,
534
- filterValue = _ref2.filterValue,
535
- filterField = _ref2.filterField,
536
- limit = _ref2.limit,
537
- children = _ref2.children,
538
- className = _ref2.className,
539
- noLayout = _ref2.noLayout,
540
- noAutoRepeat = _ref2.noAutoRepeat,
541
- setControlContextData = _ref2.setControlContextData;
542
- var creds = ensure(React.useContext(CredentialsContext));
543
- if (!creds.host) {
544
- return React__default.createElement("div", null, "Please specify a host.");
545
- }
546
- var query$1 = creds.host + "/api/" + name;
547
- var cacheKey = JSON.stringify({
548
- creds: creds,
549
- name: name,
550
- filterField: filterField,
551
- filterValue: filterValue,
552
- filterParameter: filterParameter
553
- });
554
- var data = query.usePlasmicQueryData(cacheKey, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
555
- var _filterField, _filters;
556
- var requestInit, queryParams, resp;
557
- return _regeneratorRuntime().wrap(function _callee$(_context) {
558
- while (1) switch (_context.prev = _context.next) {
559
- case 0:
560
- if (query$1) {
561
- _context.next = 2;
562
- break;
563
- }
564
- return _context.abrupt("return", null);
565
- case 2:
566
- requestInit = {
567
- method: "GET"
568
- };
569
- if (creds.token) {
570
- requestInit.headers = {
571
- Authorization: "Bearer " + creds.token
572
- };
573
- }
574
- queryParams = qs.stringify(_extends({}, filterField && filterParameter && filterValue ? {
575
- filters: (_filters = {}, _filters[filterField] = (_filterField = {}, _filterField[filterParameter] = filterValue, _filterField), _filters)
576
- } : {}, {
577
- populate: "*"
578
- }));
579
- _context.next = 7;
580
- return fetch(query$1 + "?" + queryParams, requestInit);
581
- case 7:
582
- resp = _context.sent;
583
- return _context.abrupt("return", resp.json());
584
- case 9:
585
- case "end":
586
- return _context.stop();
587
- }
588
- }, _callee);
589
- })));
590
- if (!(data != null && data.data)) {
591
- return React__default.createElement("div", null, "Please configure the Strapi provider with a valid host and token.");
592
- }
593
- if (!get(data.data, ["data"])) {
594
- return React__default.createElement("div", null, "Please specify a valid collection.");
595
- }
596
- var collectionData = get(data.data, ["data"]);
597
- var filterFieds = collectionData.flatMap(function (item) {
598
- var attributes = get(item, ["attributes"]);
599
- var displayableFields = Object.keys(attributes).filter(function (field) {
600
- var _value$data;
601
- var value = attributes[field];
602
- var maybeMime = value == null || (_value$data = value.data) == null || (_value$data = _value$data.attributes) == null ? void 0 : _value$data.mime;
603
- return typeof value !== "object" || typeof maybeMime === "string" && maybeMime.startsWith("image");
604
- });
605
- return displayableFields;
606
- });
607
- setControlContextData == null || setControlContextData({
608
- strapiFields: uniq(filterFieds != null ? filterFieds : [])
609
- });
610
- if (filterParameter && !filterValue && !filterField) {
611
- return React__default.createElement("div", null, "Please specify a Filter Field and a Filter Value");
612
- }
613
- if (!filterParameter && filterValue && !filterField) {
614
- return React__default.createElement("div", null, "Please specify a Filter Parameter and a Filter Field");
615
- }
616
- if (!filterParameter && !filterValue && filterField) {
617
- return React__default.createElement("div", null, "Please specify a Filter Parameter and a Filter Value");
618
- }
619
- if (filterParameter && filterValue && !filterField) {
620
- return React__default.createElement("div", null, "Please specify a Filter Field");
621
- }
622
- if (!filterParameter && filterValue && filterField) {
623
- return React__default.createElement("div", null, "Please specify a Filter Parameter");
624
- }
625
- if (filterParameter && !filterValue && filterField) {
626
- return React__default.createElement("div", null, "Please specify a Filter Value");
627
- }
628
- var collection = limit > 0 ? collectionData.slice(0, limit) : collectionData;
629
- if (collection.length === 0) {
630
- return React__default.createElement("div", null, "No collection found ");
631
- }
632
- var repElements = noAutoRepeat ? children : collection.map(function (item, index) {
633
- return React__default.createElement(host.DataProvider, {
634
- key: item.id,
635
- name: "strapiItem",
636
- data: item,
637
- hidden: true
638
- }, React__default.createElement(host.DataProvider, {
639
- name: makeDataProviderName(name),
640
- data: item
641
- }, host.repeatedElement(index, children)));
642
- });
643
- return React__default.createElement(host.DataProvider, {
644
- name: "strapiItems",
645
- data: collection
646
- }, noLayout ? React__default.createElement(React__default.Fragment, null, " ", repElements, " ") : React__default.createElement("div", {
647
- className: className
648
- }, " ", repElements, " "));
649
- }
650
- var strapiFieldMeta = {
651
- name: "StrapiField",
652
- displayName: "Strapi Field",
653
- importName: "StrapiField",
654
- importPath: modulePath,
655
- props: {
656
- path: {
657
- type: "choice",
658
- options: function options(props, ctx) {
659
- var _ctx$fields;
660
- return (_ctx$fields = ctx == null ? void 0 : ctx.fields) != null ? _ctx$fields : [];
661
- },
662
- displayName: "Field",
663
- description: "Field name"
664
- }
665
- }
666
- };
667
- function StrapiField(_ref4) {
668
- var _data$data;
669
- var className = _ref4.className,
670
- path = _ref4.path,
671
- setControlContextData = _ref4.setControlContextData;
672
- var item = host.useSelector("strapiItem");
673
- if (!item) {
674
- return React__default.createElement("div", null, "StrapiField must be used within a StrapiCollection");
675
- }
676
- // Getting only fields that aren't objects
677
- var attributes = get(item, ["attributes"]);
678
- var displayableFields = Object.keys(attributes).filter(function (field) {
679
- var _value$data2;
680
- var value = attributes[field];
681
- var maybeMime = (_value$data2 = value.data) == null || (_value$data2 = _value$data2.attributes) == null ? void 0 : _value$data2.mime;
682
- return typeof value !== "object" || typeof maybeMime === "string" && maybeMime.startsWith("image");
683
- });
684
- setControlContextData == null || setControlContextData({
685
- fields: displayableFields,
686
- isImage: false
687
- });
688
- if (!path) {
689
- return React__default.createElement("div", null, "StrapiField must specify a field name.");
690
- }
691
- var data = get(item, ["attributes", path]);
692
- var maybeMime = data == null || (_data$data = data.data) == null || (_data$data = _data$data.attributes) == null ? void 0 : _data$data.mime;
693
- setControlContextData == null || setControlContextData({
694
- fields: displayableFields,
695
- isImage: typeof maybeMime === "string" && maybeMime.startsWith("image")
696
- });
697
- if (!data) {
698
- return React__default.createElement("div", null, "Please specify a valid field name.");
699
- } else if (typeof maybeMime === "string" && maybeMime.startsWith("image")) {
700
- var creds = ensure(React.useContext(CredentialsContext));
701
- var attrs = data.data.attributes;
702
- var img_url = attrs.url.startsWith("http") ? attrs.url : creds.host + attrs.url;
703
- var img_width = attrs.width;
704
- var img_height = attrs.height;
705
- return React__default.createElement("img", {
706
- className: className,
707
- src: img_url,
708
- width: 300,
709
- height: 300 * img_height / img_width
710
- });
711
- } else {
712
- return React__default.createElement("div", {
713
- className: className
714
- }, data);
715
- }
716
- }
717
-
718
- function registerAll(loader) {
719
- var _registerComponent = function _registerComponent(Component, defaultMeta) {
720
- if (loader) {
721
- loader.registerComponent(Component, defaultMeta);
722
- } else {
723
- registerComponent(Component, defaultMeta);
724
- }
725
- };
726
- if (loader) {
727
- loader.registerGlobalContext(StrapiCredentialsProvider, strapiCredentialsProviderMeta);
728
- } else {
729
- registerGlobalContext(StrapiCredentialsProvider, strapiCredentialsProviderMeta);
730
- }
731
- _registerComponent(StrapiCollection, strapiCollectionMeta);
732
- _registerComponent(StrapiField, strapiFieldMeta);
733
- }
734
-
735
- exports.StrapiCollection = StrapiCollection;
736
- exports.StrapiCredentialsProvider = StrapiCredentialsProvider;
737
- exports.StrapiField = StrapiField;
738
- exports.ensure = ensure;
739
- exports.registerAll = registerAll;
740
- exports.strapiCollectionMeta = strapiCollectionMeta;
741
- exports.strapiCredentialsProviderMeta = strapiCredentialsProviderMeta;
742
- exports.strapiFieldMeta = strapiFieldMeta;
743
- //# sourceMappingURL=plasmic-strapi.cjs.development.js.map