@obelism/content-react 0.1.0 → 0.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/README.md CHANGED
@@ -28,14 +28,14 @@ export const Page = ({ entry }) => {
28
28
  - `useContentBridge()`: `{ isEditing, entryId, environment }`, after hydration.
29
29
  - `useContentBridgeEvent('saved' | 'published' | 'update', listener)`, e.g.
30
30
  `router.refresh()` on publish.
31
- - `<ContentBridge url? prompt? />`: pass `url` only when not on content.obelism.studio.
31
+ - `<ContentBridge url? prompt? pagePath? />`: pass `url` only when not on content.obelism.studio; `pagePath` maps a CMS path to the site's URL for pages made with New page (default `/` + path).
32
32
 
33
33
  ## Prompt editing
34
34
 
35
35
  `<ContentBridge />` shows editors a prompt box inside the visual editor (see
36
36
  `@obelism/content`). `<ContentBridge prompt={false} />` leaves it out;
37
37
  `useContentPrompt()` gives `{ available, prompting, canUndo, selectedUid,
38
- prompt, undo, select }` for your own UI.
38
+ prompt, createPage, undo, select }` for your own UI.
39
39
 
40
40
  ## Rich text
41
41
 
@@ -27,10 +27,11 @@ const useBridge = (options)=>{
27
27
  // out). Renders nothing, and does nothing outside the editor. Its options
28
28
  // apply when it is the first to start the bridge, which in a root layout it
29
29
  // is.
30
- const ContentBridge = ({ url, prompt })=>{
30
+ const ContentBridge = ({ url, prompt, pagePath })=>{
31
31
  useBridge({
32
32
  url,
33
- prompt
33
+ prompt,
34
+ pagePath
34
35
  });
35
36
  return null;
36
37
  };
@@ -115,6 +116,7 @@ const useContentPrompt = ({ url } = {})=>{
115
116
  available: state.features.includes('prompt'),
116
117
  mode: bridge?.mode ?? null,
117
118
  prompt: bridge ? bridge.prompt : notStarted,
119
+ createPage: bridge ? bridge.createPage : notOnSite,
118
120
  undo: bridge ? bridge.undo : noop,
119
121
  select: bridge ? bridge.select : noop,
120
122
  save: bridge ? bridge.save : notOnSite,
@@ -27,10 +27,11 @@ const useBridge = (options)=>{
27
27
  // out). Renders nothing, and does nothing outside the editor. Its options
28
28
  // apply when it is the first to start the bridge, which in a root layout it
29
29
  // is.
30
- const ContentBridge = ({ url, prompt })=>{
30
+ const ContentBridge = ({ url, prompt, pagePath })=>{
31
31
  useBridge({
32
32
  url,
33
- prompt
33
+ prompt,
34
+ pagePath
34
35
  });
35
36
  return null;
36
37
  };
@@ -115,6 +116,7 @@ const useContentPrompt = ({ url } = {})=>{
115
116
  available: state.features.includes('prompt'),
116
117
  mode: bridge$1?.mode ?? null,
117
118
  prompt: bridge$1 ? bridge$1.prompt : notStarted,
119
+ createPage: bridge$1 ? bridge$1.createPage : notOnSite,
118
120
  undo: bridge$1 ? bridge$1.undo : noop,
119
121
  select: bridge$1 ? bridge$1.select : noop,
120
122
  save: bridge$1 ? bridge$1.save : notOnSite,
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { BridgeOptions, ContentBridge as ContentBridge$1, BridgeState, PromptResult, BridgeEvent, BridgeListener } from '@obelism/content/bridge';
1
+ import { BridgeOptions, ContentBridge as ContentBridge$1, BridgeState, PromptResult, CreatePageResult, BridgeEvent, BridgeListener } from '@obelism/content/bridge';
2
2
  export { BridgeEvent, BridgeEvents, BridgeOptions, BridgeState, PromptBoxOptions, PromptLabels, PromptResult } from '@obelism/content/bridge';
3
3
  import { Entry, RichTextNode, RichTextMark, EntryStub, Asset } from '@obelism/content';
4
4
  export { Asset, Block, Entry, EntryStub, RichTextDocument, RichTextNode, editable } from '@obelism/content';
@@ -6,7 +6,7 @@ import * as react from 'react';
6
6
  import { ReactNode } from 'react';
7
7
 
8
8
  type ContentBridgeProps = BridgeOptions;
9
- declare const ContentBridge: ({ url, prompt }: ContentBridgeProps) => null;
9
+ declare const ContentBridge: ({ url, prompt, pagePath, }: ContentBridgeProps) => null;
10
10
  type ContentBridgeState = Pick<ContentBridge$1, 'isEditing' | 'mode' | 'entryId' | 'environment'>;
11
11
  declare const useContentBridge: ({ url, }?: BridgeOptions) => ContentBridgeState;
12
12
  declare const useContentBridgeEvent: <E extends BridgeEvent>(event: E, listener: BridgeListener<E>, { url }?: BridgeOptions) => void;
@@ -18,6 +18,7 @@ type ContentPromptState = BridgeState & {
18
18
  prompt: (prompt: string, options?: {
19
19
  uid?: string | null;
20
20
  }) => Promise<PromptResult>;
21
+ createPage: (path: string, prompt: string) => Promise<CreatePageResult>;
21
22
  undo: () => void;
22
23
  select: (uid: string | null) => void;
23
24
  save: () => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sources":["../src/bridge.ts","../src/RichText.tsx"],"mappings":";;;;;;;AAEA,KAAK,kBAAkB,GAAG,aAAa;AACvC,cAAc,aAAa,oBAAoB,kBAAkB;AACjE,KAAK,kBAAkB,GAAG,IAAI,CAACA,eAAM;AACrC,cAAc,gBAAgB,cAAc,aAAa,KAAK,kBAAkB;AAChF,cAAc,qBAAqB,aAAa,WAAW,sBAAsB,cAAc,eAAe,aAAa;AAC3H,iBAAiB,YAAY,gBAAgB,KAAK,2BAA2B,aAAa;AAC1F,iBAAiB,YAAY,gBAAgB,KAAK,8CAA8C,aAAa;AAC7G,KAAK,kBAAkB,GAAG,WAAW;AACrC;AACA,UAAUA,eAAM;AAChB;AACA;AACA,UAAU,OAAO,CAAC,YAAY;AAC9B;AACA;AACA,gBAAgB,OAAO;AACvB,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA,cAAc,gBAAgB,cAAc,IAAI,CAAC,aAAa,aAAa,kBAAkB;;ACnB7F,KAAK,iBAAiB;AACtB,UAAU,YAAY;AACtB,eAAe,SAAS;AACxB;AACA,KAAK,iBAAiB;AACtB,UAAU,YAAY;AACtB,eAAe,SAAS;AACxB;AACA,KAAK,kBAAkB;AACvB,YAAY,OAAO,CAAC,MAAM,iBAAiB,iBAAiB,KAAK,SAAS;AAC1E,YAAY,OAAO,CAAC,MAAM,iBAAiB,iBAAiB,KAAK,SAAS;AAC1E;AACA,eAAe,KAAK,GAAG,SAAS;AAChC,cAAc,YAAY;AAC1B,UAAU,SAAS;AACnB;AACA,eAAe,KAAK;AACpB,cAAc,YAAY;AAC1B,UAAU,SAAS;AACnB;AACA,KAAK,aAAa,GAAG,kBAAkB;AACvC,cAAc,YAAY;AAC1B;AACA,cAAc,QAAQ,6EAA6E,aAAa,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO;;","names":["Bridge"]}
1
+ {"version":3,"file":"index.d.mts","sources":["../src/bridge.ts","../src/RichText.tsx"],"mappings":";;;;;;;AAEA,KAAK,kBAAkB,GAAG,aAAa;AACvC,cAAc,aAAa,+BAA+B,kBAAkB;AAC5E,KAAK,kBAAkB,GAAG,IAAI,CAACA,eAAM;AACrC,cAAc,gBAAgB,cAAc,aAAa,KAAK,kBAAkB;AAChF,cAAc,qBAAqB,aAAa,WAAW,sBAAsB,cAAc,eAAe,aAAa;AAC3H,iBAAiB,YAAY,gBAAgB,KAAK,2BAA2B,aAAa;AAC1F,iBAAiB,YAAY,gBAAgB,KAAK,8CAA8C,aAAa;AAC7G,KAAK,kBAAkB,GAAG,WAAW;AACrC;AACA,UAAUA,eAAM;AAChB;AACA;AACA,UAAU,OAAO,CAAC,YAAY;AAC9B,kDAAkD,OAAO,CAAC,gBAAgB;AAC1E;AACA;AACA,gBAAgB,OAAO;AACvB,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA,cAAc,gBAAgB,cAAc,IAAI,CAAC,aAAa,aAAa,kBAAkB;;ACpB7F,KAAK,iBAAiB;AACtB,UAAU,YAAY;AACtB,eAAe,SAAS;AACxB;AACA,KAAK,iBAAiB;AACtB,UAAU,YAAY;AACtB,eAAe,SAAS;AACxB;AACA,KAAK,kBAAkB;AACvB,YAAY,OAAO,CAAC,MAAM,iBAAiB,iBAAiB,KAAK,SAAS;AAC1E,YAAY,OAAO,CAAC,MAAM,iBAAiB,iBAAiB,KAAK,SAAS;AAC1E;AACA,eAAe,KAAK,GAAG,SAAS;AAChC,cAAc,YAAY;AAC1B,UAAU,SAAS;AACnB;AACA,eAAe,KAAK;AACpB,cAAc,YAAY;AAC1B,UAAU,SAAS;AACnB;AACA,KAAK,aAAa,GAAG,kBAAkB;AACvC,cAAc,YAAY;AAC1B;AACA,cAAc,QAAQ,6EAA6E,aAAa,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO;;","names":["Bridge"]}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { BridgeOptions, ContentBridge as ContentBridge$1, BridgeState, PromptResult, BridgeEvent, BridgeListener } from '@obelism/content/bridge';
1
+ import { BridgeOptions, ContentBridge as ContentBridge$1, BridgeState, PromptResult, CreatePageResult, BridgeEvent, BridgeListener } from '@obelism/content/bridge';
2
2
  export { BridgeEvent, BridgeEvents, BridgeOptions, BridgeState, PromptBoxOptions, PromptLabels, PromptResult } from '@obelism/content/bridge';
3
3
  import { Entry, RichTextNode, RichTextMark, EntryStub, Asset } from '@obelism/content';
4
4
  export { Asset, Block, Entry, EntryStub, RichTextDocument, RichTextNode, editable } from '@obelism/content';
@@ -6,7 +6,7 @@ import * as react from 'react';
6
6
  import { ReactNode } from 'react';
7
7
 
8
8
  type ContentBridgeProps = BridgeOptions;
9
- declare const ContentBridge: ({ url, prompt }: ContentBridgeProps) => null;
9
+ declare const ContentBridge: ({ url, prompt, pagePath, }: ContentBridgeProps) => null;
10
10
  type ContentBridgeState = Pick<ContentBridge$1, 'isEditing' | 'mode' | 'entryId' | 'environment'>;
11
11
  declare const useContentBridge: ({ url, }?: BridgeOptions) => ContentBridgeState;
12
12
  declare const useContentBridgeEvent: <E extends BridgeEvent>(event: E, listener: BridgeListener<E>, { url }?: BridgeOptions) => void;
@@ -18,6 +18,7 @@ type ContentPromptState = BridgeState & {
18
18
  prompt: (prompt: string, options?: {
19
19
  uid?: string | null;
20
20
  }) => Promise<PromptResult>;
21
+ createPage: (path: string, prompt: string) => Promise<CreatePageResult>;
21
22
  undo: () => void;
22
23
  select: (uid: string | null) => void;
23
24
  save: () => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../src/bridge.ts","../src/RichText.tsx"],"mappings":";;;;;;;AAEA,KAAK,kBAAkB,GAAG,aAAa;AACvC,cAAc,aAAa,oBAAoB,kBAAkB;AACjE,KAAK,kBAAkB,GAAG,IAAI,CAACA,eAAM;AACrC,cAAc,gBAAgB,cAAc,aAAa,KAAK,kBAAkB;AAChF,cAAc,qBAAqB,aAAa,WAAW,sBAAsB,cAAc,eAAe,aAAa;AAC3H,iBAAiB,YAAY,gBAAgB,KAAK,2BAA2B,aAAa;AAC1F,iBAAiB,YAAY,gBAAgB,KAAK,8CAA8C,aAAa;AAC7G,KAAK,kBAAkB,GAAG,WAAW;AACrC;AACA,UAAUA,eAAM;AAChB;AACA;AACA,UAAU,OAAO,CAAC,YAAY;AAC9B;AACA;AACA,gBAAgB,OAAO;AACvB,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA,cAAc,gBAAgB,cAAc,IAAI,CAAC,aAAa,aAAa,kBAAkB;;ACnB7F,KAAK,iBAAiB;AACtB,UAAU,YAAY;AACtB,eAAe,SAAS;AACxB;AACA,KAAK,iBAAiB;AACtB,UAAU,YAAY;AACtB,eAAe,SAAS;AACxB;AACA,KAAK,kBAAkB;AACvB,YAAY,OAAO,CAAC,MAAM,iBAAiB,iBAAiB,KAAK,SAAS;AAC1E,YAAY,OAAO,CAAC,MAAM,iBAAiB,iBAAiB,KAAK,SAAS;AAC1E;AACA,eAAe,KAAK,GAAG,SAAS;AAChC,cAAc,YAAY;AAC1B,UAAU,SAAS;AACnB;AACA,eAAe,KAAK;AACpB,cAAc,YAAY;AAC1B,UAAU,SAAS;AACnB;AACA,KAAK,aAAa,GAAG,kBAAkB;AACvC,cAAc,YAAY;AAC1B;AACA,cAAc,QAAQ,6EAA6E,aAAa,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO;;","names":["Bridge"]}
1
+ {"version":3,"file":"index.d.ts","sources":["../src/bridge.ts","../src/RichText.tsx"],"mappings":";;;;;;;AAEA,KAAK,kBAAkB,GAAG,aAAa;AACvC,cAAc,aAAa,+BAA+B,kBAAkB;AAC5E,KAAK,kBAAkB,GAAG,IAAI,CAACA,eAAM;AACrC,cAAc,gBAAgB,cAAc,aAAa,KAAK,kBAAkB;AAChF,cAAc,qBAAqB,aAAa,WAAW,sBAAsB,cAAc,eAAe,aAAa;AAC3H,iBAAiB,YAAY,gBAAgB,KAAK,2BAA2B,aAAa;AAC1F,iBAAiB,YAAY,gBAAgB,KAAK,8CAA8C,aAAa;AAC7G,KAAK,kBAAkB,GAAG,WAAW;AACrC;AACA,UAAUA,eAAM;AAChB;AACA;AACA,UAAU,OAAO,CAAC,YAAY;AAC9B,kDAAkD,OAAO,CAAC,gBAAgB;AAC1E;AACA;AACA,gBAAgB,OAAO;AACvB,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA,cAAc,gBAAgB,cAAc,IAAI,CAAC,aAAa,aAAa,kBAAkB;;ACpB7F,KAAK,iBAAiB;AACtB,UAAU,YAAY;AACtB,eAAe,SAAS;AACxB;AACA,KAAK,iBAAiB;AACtB,UAAU,YAAY;AACtB,eAAe,SAAS;AACxB;AACA,KAAK,kBAAkB;AACvB,YAAY,OAAO,CAAC,MAAM,iBAAiB,iBAAiB,KAAK,SAAS;AAC1E,YAAY,OAAO,CAAC,MAAM,iBAAiB,iBAAiB,KAAK,SAAS;AAC1E;AACA,eAAe,KAAK,GAAG,SAAS;AAChC,cAAc,YAAY;AAC1B,UAAU,SAAS;AACnB;AACA,eAAe,KAAK;AACpB,cAAc,YAAY;AAC1B,UAAU,SAAS;AACnB;AACA,KAAK,aAAa,GAAG,kBAAkB;AACvC,cAAc,YAAY;AAC1B;AACA,cAAc,QAAQ,6EAA6E,aAAa,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO;;","names":["Bridge"]}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, '__esModule', { value: true });
2
2
 
3
- var bunchee_group_0 = require('./bridge-ca5685t4.js');
3
+ var bunchee_group_0 = require('./bridge-o8sdq0mv.js');
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var react = require('react');
6
6
  var content = require('@obelism/content');
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { C as ContentBridge, u as useContentBridge, a as useContentBridgeEvent, b as useContentPrompt, c as useLiveEntry } from './bridge-opx0v5j0.mjs';
1
+ export { C as ContentBridge, u as useContentBridge, a as useContentBridgeEvent, b as useContentPrompt, c as useLiveEntry } from './bridge-clh7r0bg.mjs';
2
2
  import { jsx, Fragment } from 'react/jsx-runtime';
3
3
  import { Fragment as Fragment$1 } from 'react';
4
4
  import { headingLevel, SAFE_HREF } from '@obelism/content';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@obelism/content-react",
3
3
  "description": "Obelism Content React SDK: live preview in the visual editor and rich text",
4
- "version": "0.1.0",
4
+ "version": "0.2.0",
5
5
  "keywords": [
6
6
  "cms",
7
7
  "headless-cms",
@@ -45,7 +45,7 @@
45
45
  "react": ">=18.0.0"
46
46
  },
47
47
  "dependencies": {
48
- "@obelism/content": "^0.1.0"
48
+ "@obelism/content": "^0.2.0"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@obelism/content-typescript-config": "^0.0.0",