@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 +2 -2
- package/dist/{bridge-opx0v5j0.mjs → bridge-clh7r0bg.mjs} +4 -2
- package/dist/{bridge-ca5685t4.js → bridge-o8sdq0mv.js} +4 -2
- package/dist/index.d.mts +3 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +2 -2
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>;
|
package/dist/index.d.mts.map
CHANGED
|
@@ -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,
|
|
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>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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-
|
|
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-
|
|
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.
|
|
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.
|
|
48
|
+
"@obelism/content": "^0.2.0"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@obelism/content-typescript-config": "^0.0.0",
|