@cntrl-site/sdk-nextjs 0.11.0 → 0.11.1

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.
Binary file
package/lib/index.js CHANGED
@@ -14,9 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.useCntrlContext = exports.CntrlProvider = exports.YoutubeEmbedItem = exports.VimeoEmbedItem = exports.LayoutStyle = exports.VideoItem = exports.RichTextItem = exports.RectangleItem = exports.ImageItem = exports.Item = exports.Section = exports.Article = exports.Head = exports.Page = exports.RichTextConverter = exports.cntrlSdkContext = void 0;
18
- var defaultContext_1 = require("./provider/defaultContext");
19
- Object.defineProperty(exports, "cntrlSdkContext", { enumerable: true, get: function () { return defaultContext_1.cntrlSdkContext; } });
17
+ exports.cntrlSdkContext = exports.customSections = exports.customItems = exports.useCntrlContext = exports.CntrlProvider = exports.YoutubeEmbedItem = exports.VimeoEmbedItem = exports.LayoutStyle = exports.VideoItem = exports.RichTextItem = exports.RectangleItem = exports.ImageItem = exports.Item = exports.Section = exports.Article = exports.Head = exports.Page = exports.RichTextConverter = void 0;
20
18
  __exportStar(require("@cntrl-site/sdk"), exports);
21
19
  var RichTextConverter_1 = require("./utils/RichTextConverter/RichTextConverter");
22
20
  Object.defineProperty(exports, "RichTextConverter", { enumerable: true, get: function () { return RichTextConverter_1.RichTextConverter; } });
@@ -44,8 +42,11 @@ var VimeoEmbed_1 = require("./components/items/VimeoEmbed");
44
42
  Object.defineProperty(exports, "VimeoEmbedItem", { enumerable: true, get: function () { return VimeoEmbed_1.VimeoEmbedItem; } });
45
43
  var YoutubeEmbed_1 = require("./components/items/YoutubeEmbed");
46
44
  Object.defineProperty(exports, "YoutubeEmbedItem", { enumerable: true, get: function () { return YoutubeEmbed_1.YoutubeEmbedItem; } });
47
- // custom items
45
+ const defaultContext_1 = require("./provider/defaultContext");
48
46
  var CntrlProvider_1 = require("./provider/CntrlProvider");
49
47
  Object.defineProperty(exports, "CntrlProvider", { enumerable: true, get: function () { return CntrlProvider_1.CntrlProvider; } });
50
48
  var useCntrlContext_1 = require("./provider/useCntrlContext");
51
49
  Object.defineProperty(exports, "useCntrlContext", { enumerable: true, get: function () { return useCntrlContext_1.useCntrlContext; } });
50
+ exports.customItems = defaultContext_1.cntrlSdkContext.customItems;
51
+ exports.customSections = defaultContext_1.cntrlSdkContext.customSections;
52
+ exports.cntrlSdkContext = defaultContext_1.cntrlSdkContext;
@@ -7,6 +7,18 @@ class CntrlSdkContext {
7
7
  this.customSections = customSections;
8
8
  this._layouts = [];
9
9
  }
10
+ async resolveSectionData(sections) {
11
+ const resolvers = sections.map(section => {
12
+ const resolver = section.name ? this.customSections.getResolver(section.name) : undefined;
13
+ if (!resolver)
14
+ return;
15
+ return {
16
+ name: section.name,
17
+ resolver
18
+ };
19
+ }).filter(isDefined);
20
+ return Object.fromEntries(await Promise.all(resolvers.map(async ({ name, resolver }) => [name, await resolver()])));
21
+ }
10
22
  setTypePresets(typePresets) {
11
23
  this._typePresets = typePresets;
12
24
  }
@@ -21,3 +33,6 @@ class CntrlSdkContext {
21
33
  }
22
34
  }
23
35
  exports.CntrlSdkContext = CntrlSdkContext;
36
+ function isDefined(value) {
37
+ return value !== undefined;
38
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cntrl-site/sdk-nextjs",
3
- "version": "0.11.0",
3
+ "version": "0.11.1",
4
4
  "description": "SDK for Next.js",
5
5
  "main": "lib/index.js",
6
6
  "types": "src/index.ts",
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "homepage": "https://github.com/cntrl-site/sdk-nextjs#readme",
23
23
  "dependencies": {
24
- "@cntrl-site/sdk": "^1.1.0",
24
+ "@cntrl-site/sdk": "^1.1.1",
25
25
  "html-react-parser": "^3.0.1",
26
26
  "styled-jsx": "^5.0.2"
27
27
  },
package/src/index.ts CHANGED
@@ -1,5 +1,3 @@
1
- export { cntrlSdkContext } from './provider/defaultContext';
2
-
3
1
  export * from '@cntrl-site/sdk';
4
2
 
5
3
  export { RichTextConverter } from './utils/RichTextConverter/RichTextConverter';
@@ -17,7 +15,10 @@ export { LayoutStyle } from './components/LayoutStyle';
17
15
  export { VimeoEmbedItem } from './components/items/VimeoEmbed';
18
16
  export { YoutubeEmbedItem } from './components/items/YoutubeEmbed';
19
17
 
20
- // custom items
18
+ import { cntrlSdkContext as sdk } from './provider/defaultContext';
21
19
  export { CntrlProvider } from './provider/CntrlProvider';
22
20
  export type { CustomItemComponent } from './provider/CustomItemTypes';
23
21
  export { useCntrlContext } from './provider/useCntrlContext';
22
+ export const customItems = sdk.customItems;
23
+ export const customSections = sdk.customSections;
24
+ export const cntrlSdkContext = sdk;
@@ -1,5 +1,5 @@
1
1
  import { CustomItemRegistry } from './CustomItemRegistry';
2
- import { TLayout, TTypePresets, } from '@cntrl-site/sdk';
2
+ import { TArticleSection, TLayout, TTypePresets } from '@cntrl-site/sdk';
3
3
  import { CustomSectionRegistry } from './CustomSectionRegistry';
4
4
 
5
5
  export class CntrlSdkContext {
@@ -10,6 +10,20 @@ export class CntrlSdkContext {
10
10
  public readonly customSections: CustomSectionRegistry
11
11
  ) {}
12
12
 
13
+ async resolveSectionData(sections: TArticleSection[]): Promise<Record<string, any>> {
14
+ const resolvers = sections.map(section => {
15
+ const resolver = section.name ? this.customSections.getResolver(section.name) : undefined;
16
+ if (!resolver) return;
17
+ return {
18
+ name: section.name,
19
+ resolver
20
+ };
21
+ }).filter(isDefined);
22
+ return Object.fromEntries(
23
+ await Promise.all(resolvers.map(async ({ name, resolver }) => [name, await resolver()]))
24
+ );
25
+ }
26
+
13
27
  setTypePresets(typePresets: TTypePresets) {
14
28
  this._typePresets = typePresets;
15
29
  }
@@ -26,3 +40,7 @@ export class CntrlSdkContext {
26
40
  return this._typePresets;
27
41
  }
28
42
  }
43
+
44
+ function isDefined<T>(value: T): value is Exclude<T, undefined> {
45
+ return value !== undefined;
46
+ }