@plasmicpkgs/plasmic-contentful 0.0.175 → 0.0.177

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.d.mts CHANGED
@@ -1,54 +1,9 @@
1
1
  import registerComponent from '@plasmicapp/host/registerComponent';
2
2
  import registerGlobalContext from '@plasmicapp/host/registerGlobalContext';
3
- import { GlobalContextMeta, ComponentMeta } from '@plasmicapp/host';
4
- import React, { ReactNode } from 'react';
5
-
6
- declare function ensure<T>(x: T | null | undefined, msg?: string): T;
7
- interface ContentfulCredentialsProviderProps {
8
- space: string;
9
- accessToken: string;
10
- environment?: string;
11
- }
12
- declare const ContentfulCredentialsProviderMeta: GlobalContextMeta<ContentfulCredentialsProviderProps>;
13
- declare function ContentfulCredentialsProvider({ accessToken, space, environment, children, }: React.PropsWithChildren<ContentfulCredentialsProviderProps>): React.JSX.Element;
14
- interface ContentfulControlContextData {
15
- types?: {
16
- name: string;
17
- id: string;
18
- }[];
19
- fields?: string[];
20
- queryOptions?: [];
21
- }
22
- interface ContentfulFetcherProps {
23
- contentType: string;
24
- children?: ReactNode;
25
- className?: string;
26
- limit?: number;
27
- include?: number;
28
- order?: string;
29
- reverseOrder?: boolean;
30
- filterField?: string;
31
- searchParameter?: string;
32
- filterValue?: string | number;
33
- noAutoRepeat?: boolean;
34
- noLayout?: boolean;
35
- setControlContextData?: (data: ContentfulControlContextData) => void;
36
- }
37
- declare const ContentfulFetcherMeta: ComponentMeta<ContentfulFetcherProps>;
38
- declare function ContentfulFetcher({ filterField, filterValue, searchParameter, noAutoRepeat, contentType, children, className, order, reverseOrder, limit, include, noLayout, setControlContextData, }: ContentfulFetcherProps): React.JSX.Element;
39
- interface ContentfulFieldProps {
40
- className?: string;
41
- objectPath?: (string | number)[];
42
- setControlContextData?: (data: {
43
- data: object;
44
- }) => void;
45
- }
46
- declare const ContentfulFieldMeta: ComponentMeta<ContentfulFieldProps>;
47
- declare function ContentfulField({ className, objectPath, setControlContextData, }: ContentfulFieldProps): React.JSX.Element;
48
3
 
49
4
  declare function registerAll(loader?: {
50
5
  registerComponent: typeof registerComponent;
51
6
  registerGlobalContext: typeof registerGlobalContext;
52
7
  }): void;
53
8
 
54
- export { ContentfulCredentialsProvider, ContentfulCredentialsProviderMeta, ContentfulFetcher, ContentfulFetcherMeta, ContentfulField, ContentfulFieldMeta, ensure, registerAll };
9
+ export { registerAll };
package/dist/index.d.ts CHANGED
@@ -1,54 +1,9 @@
1
1
  import registerComponent from '@plasmicapp/host/registerComponent';
2
2
  import registerGlobalContext from '@plasmicapp/host/registerGlobalContext';
3
- import { GlobalContextMeta, ComponentMeta } from '@plasmicapp/host';
4
- import React, { ReactNode } from 'react';
5
-
6
- declare function ensure<T>(x: T | null | undefined, msg?: string): T;
7
- interface ContentfulCredentialsProviderProps {
8
- space: string;
9
- accessToken: string;
10
- environment?: string;
11
- }
12
- declare const ContentfulCredentialsProviderMeta: GlobalContextMeta<ContentfulCredentialsProviderProps>;
13
- declare function ContentfulCredentialsProvider({ accessToken, space, environment, children, }: React.PropsWithChildren<ContentfulCredentialsProviderProps>): React.JSX.Element;
14
- interface ContentfulControlContextData {
15
- types?: {
16
- name: string;
17
- id: string;
18
- }[];
19
- fields?: string[];
20
- queryOptions?: [];
21
- }
22
- interface ContentfulFetcherProps {
23
- contentType: string;
24
- children?: ReactNode;
25
- className?: string;
26
- limit?: number;
27
- include?: number;
28
- order?: string;
29
- reverseOrder?: boolean;
30
- filterField?: string;
31
- searchParameter?: string;
32
- filterValue?: string | number;
33
- noAutoRepeat?: boolean;
34
- noLayout?: boolean;
35
- setControlContextData?: (data: ContentfulControlContextData) => void;
36
- }
37
- declare const ContentfulFetcherMeta: ComponentMeta<ContentfulFetcherProps>;
38
- declare function ContentfulFetcher({ filterField, filterValue, searchParameter, noAutoRepeat, contentType, children, className, order, reverseOrder, limit, include, noLayout, setControlContextData, }: ContentfulFetcherProps): React.JSX.Element;
39
- interface ContentfulFieldProps {
40
- className?: string;
41
- objectPath?: (string | number)[];
42
- setControlContextData?: (data: {
43
- data: object;
44
- }) => void;
45
- }
46
- declare const ContentfulFieldMeta: ComponentMeta<ContentfulFieldProps>;
47
- declare function ContentfulField({ className, objectPath, setControlContextData, }: ContentfulFieldProps): React.JSX.Element;
48
3
 
49
4
  declare function registerAll(loader?: {
50
5
  registerComponent: typeof registerComponent;
51
6
  registerGlobalContext: typeof registerGlobalContext;
52
7
  }): void;
53
8
 
54
- export { ContentfulCredentialsProvider, ContentfulCredentialsProviderMeta, ContentfulFetcher, ContentfulFetcherMeta, ContentfulField, ContentfulFieldMeta, ensure, registerAll };
9
+ export { registerAll };
package/dist/index.js CHANGED
@@ -30,13 +30,6 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  // src/index.tsx
31
31
  var src_exports = {};
32
32
  __export(src_exports, {
33
- ContentfulCredentialsProvider: () => ContentfulCredentialsProvider,
34
- ContentfulCredentialsProviderMeta: () => ContentfulCredentialsProviderMeta,
35
- ContentfulFetcher: () => ContentfulFetcher,
36
- ContentfulFetcherMeta: () => ContentfulFetcherMeta,
37
- ContentfulField: () => ContentfulField,
38
- ContentfulFieldMeta: () => ContentfulFieldMeta,
39
- ensure: () => ensure,
40
33
  registerAll: () => registerAll
41
34
  });
42
35
  module.exports = __toCommonJS(src_exports);
@@ -47,6 +40,7 @@ var import_registerGlobalContext = __toESM(require("@plasmicapp/host/registerGlo
47
40
  var import_rich_text_html_renderer = require("@contentful/rich-text-html-renderer");
48
41
  var import_host = require("@plasmicapp/host");
49
42
  var import_query = require("@plasmicapp/query");
43
+ var import_contentful = require("@plasmicpkgs/contentful");
50
44
  var import_change_case = require("change-case");
51
45
  var import_dlv = __toESM(require("dlv"));
52
46
  var import_react = __toESM(require("react"));
@@ -70,16 +64,8 @@ var searchParameters = [
70
64
  label: "Greater than or equal "
71
65
  }
72
66
  ];
73
- var uniq = (xs) => Array.from(new Set(xs));
74
67
 
75
68
  // src/contentful.tsx
76
- function ensure(x, msg) {
77
- if (x === null || x === void 0) {
78
- throw new Error(msg != null ? msg : `Value must not be undefined or null`);
79
- } else {
80
- return x;
81
- }
82
- }
83
69
  var modulePath = "@plasmicpkgs/plasmic-contentful";
84
70
  var makeDataProviderName = (contentType) => `currentContentful${(0, import_change_case.pascalCase)(contentType)}Item`;
85
71
  var CredentialsContext = import_react.default.createContext(void 0);
@@ -251,7 +237,7 @@ function ContentfulFetcher({
251
237
  setControlContextData
252
238
  }) {
253
239
  var _a, _b, _c, _d, _e, _f, _g;
254
- const creds = ensure(
240
+ const creds = (0, import_contentful._ensure)(
255
241
  (0, import_react.useContext)(CredentialsContext),
256
242
  "Could not find context with current credentials"
257
243
  );
@@ -366,7 +352,7 @@ function ContentfulFetcher({
366
352
  setControlContextData == null ? void 0 : setControlContextData({
367
353
  queryOptions: operators != null ? operators : [],
368
354
  types: (_b = contentTypes == null ? void 0 : contentTypes.items) != null ? _b : [],
369
- fields: uniq(filterFields != null ? filterFields : [])
355
+ fields: (0, import_contentful._uniq)(filterFields != null ? filterFields : [])
370
356
  });
371
357
  if (filterField) {
372
358
  if (!searchParameter) {
@@ -376,99 +362,13 @@ function ContentfulFetcher({
376
362
  return /* @__PURE__ */ import_react.default.createElement("div", null, "Please specify a Filter value");
377
363
  }
378
364
  }
379
- function denormalizeData(data) {
380
- if (!(data == null ? void 0 : data.items) || !(data == null ? void 0 : data.includes)) {
381
- return data;
382
- }
383
- const entryMap = {};
384
- if (data.includes.Entry) {
385
- data.includes.Entry.forEach((entry) => {
386
- entryMap[entry.sys.id] = entry;
387
- });
388
- }
389
- const processedFields = /* @__PURE__ */ new Set();
390
- const denormalizeField = (fieldValue) => {
391
- var _a2, _b2;
392
- if (Array.isArray(fieldValue)) {
393
- const updatedArray = fieldValue.map((arrayItem) => {
394
- return denormalizeField(arrayItem);
395
- });
396
- return updatedArray;
397
- } else if (fieldValue && typeof fieldValue === "object") {
398
- if (data.includes.Asset && "sys" in fieldValue && fieldValue.sys.linkType === "Asset") {
399
- const fieldId = fieldValue.sys.id;
400
- const asset = data.includes.Asset.find(
401
- (a) => a.sys.id === fieldId
402
- );
403
- if (asset) {
404
- fieldValue = {
405
- ...fieldValue,
406
- url: "https:" + ((_b2 = (_a2 = asset.fields) == null ? void 0 : _a2.file) == null ? void 0 : _b2.url)
407
- };
408
- } else {
409
- console.log(`Asset URL not found for ID: ${fieldId}`);
410
- }
411
- } else if (data.includes.Entry && "sys" in fieldValue && fieldValue.sys.linkType === "Entry") {
412
- const fieldId = fieldValue.sys.id;
413
- if (entryMap[fieldId]) {
414
- if (processedFields.has(fieldId)) {
415
- console.warn(
416
- `Circular reference detected for Entry ID: ${fieldId}.`
417
- );
418
- } else {
419
- fieldValue = {
420
- ...fieldValue,
421
- fields: denormalizeItem(entryMap[fieldId]).fields
422
- };
423
- }
424
- } else {
425
- console.log(`Entry not found for ID: ${fieldId}`);
426
- }
427
- }
428
- fieldValue = Object.entries(fieldValue).reduce((obj, [key, value]) => {
429
- if (key === "sys" || key === "fields") {
430
- obj[key] = value;
431
- } else {
432
- obj[key] = denormalizeField(value);
433
- }
434
- return obj;
435
- }, {});
436
- }
437
- return fieldValue;
438
- };
439
- const denormalizeItem = (item) => {
440
- var _a2;
441
- const itemId = (_a2 = item.sys) == null ? void 0 : _a2.id;
442
- if (itemId) {
443
- processedFields.add(itemId);
444
- }
445
- const updatedFields = {};
446
- for (const fieldName in item.fields) {
447
- updatedFields[fieldName] = denormalizeField(item.fields[fieldName]);
448
- }
449
- if (itemId) {
450
- processedFields.delete(itemId);
451
- }
452
- return {
453
- ...item,
454
- fields: updatedFields != null ? updatedFields : void 0
455
- };
456
- };
457
- const itemsWithDenormalizedFields = data.items.map((item) => {
458
- return denormalizeItem(item);
459
- });
460
- return {
461
- ...data,
462
- items: itemsWithDenormalizedFields
463
- };
464
- }
465
365
  let renderedData;
466
- const fixedData = entriesData ? denormalizeData(entriesData) : void 0;
366
+ const fixedData = entriesData ? (0, import_contentful._denormalizeData)(entriesData) : void 0;
467
367
  if (filteredData) {
468
368
  if (((_c = filteredData == null ? void 0 : filteredData.items) == null ? void 0 : _c.length) === 0) {
469
369
  return /* @__PURE__ */ import_react.default.createElement("div", { className }, "No published entry found");
470
370
  }
471
- renderedData = noAutoRepeat ? children : (_e = (_d = denormalizeData(filteredData)) == null ? void 0 : _d.items) == null ? void 0 : _e.map(
371
+ renderedData = noAutoRepeat ? children : (_e = (_d = (0, import_contentful._denormalizeData)(filteredData)) == null ? void 0 : _d.items) == null ? void 0 : _e.map(
472
372
  (item, index) => {
473
373
  var _a2;
474
374
  return /* @__PURE__ */ import_react.default.createElement(
@@ -588,12 +488,5 @@ function registerAll(loader) {
588
488
  }
589
489
  // Annotate the CommonJS export names for ESM import in node:
590
490
  0 && (module.exports = {
591
- ContentfulCredentialsProvider,
592
- ContentfulCredentialsProviderMeta,
593
- ContentfulFetcher,
594
- ContentfulFetcherMeta,
595
- ContentfulField,
596
- ContentfulFieldMeta,
597
- ensure,
598
491
  registerAll
599
492
  });
package/dist/index.mjs CHANGED
@@ -10,6 +10,11 @@ import {
10
10
  useSelector
11
11
  } from "@plasmicapp/host";
12
12
  import { usePlasmicQueryData } from "@plasmicapp/query";
13
+ import {
14
+ _denormalizeData as denormalizeData,
15
+ _ensure as ensure,
16
+ _uniq as uniq
17
+ } from "@plasmicpkgs/contentful";
13
18
  import { pascalCase } from "change-case";
14
19
  import get from "dlv";
15
20
  import React, { useContext } from "react";
@@ -33,16 +38,8 @@ var searchParameters = [
33
38
  label: "Greater than or equal "
34
39
  }
35
40
  ];
36
- var uniq = (xs) => Array.from(new Set(xs));
37
41
 
38
42
  // src/contentful.tsx
39
- function ensure(x, msg) {
40
- if (x === null || x === void 0) {
41
- throw new Error(msg != null ? msg : `Value must not be undefined or null`);
42
- } else {
43
- return x;
44
- }
45
- }
46
43
  var modulePath = "@plasmicpkgs/plasmic-contentful";
47
44
  var makeDataProviderName = (contentType) => `currentContentful${pascalCase(contentType)}Item`;
48
45
  var CredentialsContext = React.createContext(void 0);
@@ -339,92 +336,6 @@ function ContentfulFetcher({
339
336
  return /* @__PURE__ */ React.createElement("div", null, "Please specify a Filter value");
340
337
  }
341
338
  }
342
- function denormalizeData(data) {
343
- if (!(data == null ? void 0 : data.items) || !(data == null ? void 0 : data.includes)) {
344
- return data;
345
- }
346
- const entryMap = {};
347
- if (data.includes.Entry) {
348
- data.includes.Entry.forEach((entry) => {
349
- entryMap[entry.sys.id] = entry;
350
- });
351
- }
352
- const processedFields = /* @__PURE__ */ new Set();
353
- const denormalizeField = (fieldValue) => {
354
- var _a2, _b2;
355
- if (Array.isArray(fieldValue)) {
356
- const updatedArray = fieldValue.map((arrayItem) => {
357
- return denormalizeField(arrayItem);
358
- });
359
- return updatedArray;
360
- } else if (fieldValue && typeof fieldValue === "object") {
361
- if (data.includes.Asset && "sys" in fieldValue && fieldValue.sys.linkType === "Asset") {
362
- const fieldId = fieldValue.sys.id;
363
- const asset = data.includes.Asset.find(
364
- (a) => a.sys.id === fieldId
365
- );
366
- if (asset) {
367
- fieldValue = {
368
- ...fieldValue,
369
- url: "https:" + ((_b2 = (_a2 = asset.fields) == null ? void 0 : _a2.file) == null ? void 0 : _b2.url)
370
- };
371
- } else {
372
- console.log(`Asset URL not found for ID: ${fieldId}`);
373
- }
374
- } else if (data.includes.Entry && "sys" in fieldValue && fieldValue.sys.linkType === "Entry") {
375
- const fieldId = fieldValue.sys.id;
376
- if (entryMap[fieldId]) {
377
- if (processedFields.has(fieldId)) {
378
- console.warn(
379
- `Circular reference detected for Entry ID: ${fieldId}.`
380
- );
381
- } else {
382
- fieldValue = {
383
- ...fieldValue,
384
- fields: denormalizeItem(entryMap[fieldId]).fields
385
- };
386
- }
387
- } else {
388
- console.log(`Entry not found for ID: ${fieldId}`);
389
- }
390
- }
391
- fieldValue = Object.entries(fieldValue).reduce((obj, [key, value]) => {
392
- if (key === "sys" || key === "fields") {
393
- obj[key] = value;
394
- } else {
395
- obj[key] = denormalizeField(value);
396
- }
397
- return obj;
398
- }, {});
399
- }
400
- return fieldValue;
401
- };
402
- const denormalizeItem = (item) => {
403
- var _a2;
404
- const itemId = (_a2 = item.sys) == null ? void 0 : _a2.id;
405
- if (itemId) {
406
- processedFields.add(itemId);
407
- }
408
- const updatedFields = {};
409
- for (const fieldName in item.fields) {
410
- updatedFields[fieldName] = denormalizeField(item.fields[fieldName]);
411
- }
412
- if (itemId) {
413
- processedFields.delete(itemId);
414
- }
415
- return {
416
- ...item,
417
- fields: updatedFields != null ? updatedFields : void 0
418
- };
419
- };
420
- const itemsWithDenormalizedFields = data.items.map((item) => {
421
- return denormalizeItem(item);
422
- });
423
- return {
424
- ...data,
425
- items: itemsWithDenormalizedFields
426
- };
427
- }
428
339
  let renderedData;
429
340
  const fixedData = entriesData ? denormalizeData(entriesData) : void 0;
430
341
  if (filteredData) {
@@ -550,12 +461,5 @@ function registerAll(loader) {
550
461
  _registerComponent(ContentfulField, ContentfulFieldMeta);
551
462
  }
552
463
  export {
553
- ContentfulCredentialsProvider,
554
- ContentfulCredentialsProviderMeta,
555
- ContentfulFetcher,
556
- ContentfulFetcherMeta,
557
- ContentfulField,
558
- ContentfulFieldMeta,
559
- ensure,
560
464
  registerAll
561
465
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plasmicpkgs/plasmic-contentful",
3
- "version": "0.0.175",
3
+ "version": "0.0.177",
4
4
  "description": "Plasmic Contentful components.",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -34,6 +34,7 @@
34
34
  "devDependencies": {
35
35
  "@plasmicapp/host": "1.0.231",
36
36
  "@plasmicapp/query": "0.1.81",
37
+ "@plasmicpkgs/contentful": "0.0.4",
37
38
  "@types/dlv": "^1.1.2",
38
39
  "@types/react": "^18.0.27",
39
40
  "@types/react-dom": "^18.0.10",
@@ -42,7 +43,7 @@
42
43
  "react-dom": "^18.2.0",
43
44
  "tslib": "^2.3.1",
44
45
  "tsup": "^7.2.0",
45
- "typescript": "^5.2.2"
46
+ "typescript": "^5.7.3"
46
47
  },
47
48
  "dependencies": {
48
49
  "@contentful/rich-text-html-renderer": "^15.13.1",
@@ -50,5 +51,5 @@
50
51
  "change-case": "^4.1.2",
51
52
  "dlv": "^1.1.3"
52
53
  },
53
- "gitHead": "6b9428c7b4f35d9b84241981523e746e18e2abb7"
54
+ "gitHead": "2c9c29a9dbf8ed52d84b51d8b1347661cbbbe3d2"
54
55
  }