@dotcms/react 0.0.1-beta.9 → 1.0.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 +531 -93
- package/index.esm.js +2992 -786
- package/package.json +9 -11
- package/src/index.d.ts +7 -1
- package/src/lib/next/__test__/mock.d.ts +2 -1
- package/src/lib/next/components/Column/Column.d.ts +1 -1
- package/src/lib/next/components/Container/Container.d.ts +1 -1
- package/src/lib/next/components/Container/{ContainerFallbakcs.d.ts → ContainerFallbacks.d.ts} +2 -2
- package/src/lib/next/components/Contentlet/Contentlet.d.ts +2 -2
- package/src/lib/next/components/DotCMSBlockEditorRenderer/DotCMSBlockEditorRenderer.d.ts +27 -0
- package/src/lib/{deprecated/components/BlockEditorRenderer/item → next/components/DotCMSBlockEditorRenderer/components}/BlockEditorBlock.d.ts +8 -5
- package/src/lib/next/components/DotCMSBlockEditorRenderer/components/blocks/Code.d.ts +24 -0
- package/src/lib/next/components/DotCMSBlockEditorRenderer/components/blocks/DotContent.d.ts +14 -0
- package/src/lib/next/components/DotCMSBlockEditorRenderer/components/blocks/Image.d.ts +10 -0
- package/src/lib/{deprecated/components/BlockEditorRenderer → next/components/DotCMSBlockEditorRenderer/components}/blocks/Lists.d.ts +8 -4
- package/src/lib/next/components/DotCMSBlockEditorRenderer/components/blocks/NoComponentProvided.d.ts +3 -0
- package/src/lib/{deprecated/components/BlockEditorRenderer → next/components/DotCMSBlockEditorRenderer/components}/blocks/Table.d.ts +3 -3
- package/src/lib/{deprecated/components/BlockEditorRenderer → next/components/DotCMSBlockEditorRenderer/components}/blocks/Texts.d.ts +23 -13
- package/src/lib/next/components/DotCMSBlockEditorRenderer/components/blocks/Video.d.ts +10 -0
- package/src/lib/{deprecated/components/DotEditableText/DotEditableText.d.ts → next/components/DotCMSEditableText/DotCMSEditableText.d.ts} +8 -6
- package/src/lib/{deprecated/components/DotEditableText → next/components/DotCMSEditableText}/utils.d.ts +9 -9
- package/src/lib/next/components/DotCMSLayoutBody/DotCMSLayoutBody.d.ts +5 -5
- package/src/lib/next/components/DotCMSLayoutBody/components/ErrorMessage.d.ts +1 -4
- package/src/lib/next/components/DotCMSShow/DotCMSShow.d.ts +2 -2
- package/src/lib/next/components/FallbackComponent/FallbackComponent.d.ts +6 -6
- package/src/lib/next/components/Row/Row.d.ts +1 -1
- package/src/lib/next/contexts/DotCMSPageContext.d.ts +2 -3
- package/src/lib/next/hooks/{useShowInUVE.d.ts → useDotCMSShowWhen.d.ts} +5 -5
- package/src/lib/next/hooks/useEditableDotCMSPage.d.ts +90 -0
- package/src/lib/next/hooks/useIsDevMode.d.ts +2 -5
- package/es.regexp.to-string.esm.js +0 -1878
- package/next.esm.d.ts +0 -1
- package/next.esm.js +0 -738
- package/src/lib/deprecated/components/BlockEditorRenderer/BlockEditorRenderer.d.ts +0 -37
- package/src/lib/deprecated/components/BlockEditorRenderer/blocks/Code.d.ts +0 -17
- package/src/lib/deprecated/components/BlockEditorRenderer/blocks/Contentlet.d.ts +0 -41
- package/src/lib/deprecated/components/BlockEditorRenderer/blocks/Image.d.ts +0 -8
- package/src/lib/deprecated/components/BlockEditorRenderer/blocks/Video.d.ts +0 -8
- package/src/lib/deprecated/components/Column/Column.d.ts +0 -19
- package/src/lib/deprecated/components/Container/Container.d.ts +0 -19
- package/src/lib/deprecated/components/DotcmsLayout/DotcmsLayout.d.ts +0 -34
- package/src/lib/deprecated/components/PageProvider/PageProvider.d.ts +0 -14
- package/src/lib/deprecated/components/Row/Row.d.ts +0 -26
- package/src/lib/deprecated/contexts/PageContext.d.ts +0 -8
- package/src/lib/deprecated/deprecated_api.d.ts +0 -7
- package/src/lib/deprecated/hooks/useCheckHaveContent.d.ts +0 -5
- package/src/lib/deprecated/hooks/useDotcmsEditor.d.ts +0 -13
- package/src/lib/deprecated/hooks/useDotcmsPageContext.d.ts +0 -9
- package/src/lib/deprecated/mocks/index.d.ts +0 -1
- package/src/lib/deprecated/mocks/mockPageContext.d.ts +0 -7
- package/src/lib/deprecated/models/blocks.interface.d.ts +0 -89
- package/src/lib/deprecated/models/content-node.interface.d.ts +0 -82
- package/src/lib/deprecated/models/index.d.ts +0 -127
- package/src/lib/deprecated/utils/utils.d.ts +0 -58
- package/src/lib/next/types.d.ts +0 -421
- package/src/lib/next/utils/index.d.ts +0 -136
- package/src/next.d.ts +0 -3
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { DotCMSComposedPageResponse } from '@dotcms/types';
|
|
2
|
+
/**
|
|
3
|
+
* Custom hook to manage the editable state of a DotCMS page.
|
|
4
|
+
*
|
|
5
|
+
* This hook initializes the Universal Visual Editor (UVE) and subscribes to content changes.
|
|
6
|
+
* It updates the editable page state when content changes are detected in the UVE,
|
|
7
|
+
* ensuring your React components always display the latest content when editing in DotCMS.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* // Import the hook and the client
|
|
12
|
+
* import { useEditableDotCMSPage } from '@dotcms/react';
|
|
13
|
+
* import { createDotCMSClient } from '@dotcms/client';
|
|
14
|
+
*
|
|
15
|
+
* // Create the client
|
|
16
|
+
* const client = createDotCMSClient({
|
|
17
|
+
* dotcmsURL: 'https://your-dotcms-instance.com',
|
|
18
|
+
* authToken: 'your-auth-token'
|
|
19
|
+
* });
|
|
20
|
+
*
|
|
21
|
+
* // Get the page
|
|
22
|
+
* const page = await client.page.get('/', {
|
|
23
|
+
* languageId: '1',
|
|
24
|
+
* });
|
|
25
|
+
*
|
|
26
|
+
* // Use the hook to get an editable version of the page
|
|
27
|
+
* const editablePage = useEditableDotCMSPage(page);
|
|
28
|
+
*
|
|
29
|
+
* // Then use the page data in your component
|
|
30
|
+
* return (
|
|
31
|
+
* <div>
|
|
32
|
+
* <h1>{editablePage.page.title}</h1>
|
|
33
|
+
* <div dangerouslySetInnerHTML={{ __html: editablePage.page.body }} />
|
|
34
|
+
* </div>
|
|
35
|
+
* );
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* // Import the hook and the client
|
|
41
|
+
* import { useEditableDotCMSPage } from '@dotcms/react';
|
|
42
|
+
* import { createDotCMSClient } from '@dotcms/client';
|
|
43
|
+
*
|
|
44
|
+
* // Create the client
|
|
45
|
+
* const client = createDotCMSClient({
|
|
46
|
+
* dotcmsURL: 'https://your-dotcms-instance.com',
|
|
47
|
+
* authToken: 'your-auth-token'
|
|
48
|
+
* });
|
|
49
|
+
*
|
|
50
|
+
* // Get the page with GraphQL content
|
|
51
|
+
* const page = await client.page.get('/', {
|
|
52
|
+
* languageId: '1',
|
|
53
|
+
* graphql: {
|
|
54
|
+
* content: {
|
|
55
|
+
* products: `ProductCollection(query: "+title:snow", limit: 10, offset: 0, sortBy: "score") {
|
|
56
|
+
* title
|
|
57
|
+
* urlMap
|
|
58
|
+
* category {
|
|
59
|
+
* name
|
|
60
|
+
* inode
|
|
61
|
+
* }
|
|
62
|
+
* retailPrice
|
|
63
|
+
* image {
|
|
64
|
+
* versionPath
|
|
65
|
+
* }
|
|
66
|
+
* }`
|
|
67
|
+
* }
|
|
68
|
+
* }
|
|
69
|
+
* });
|
|
70
|
+
*
|
|
71
|
+
* // Use the hook to get an editable version of the page and its content
|
|
72
|
+
* const editablePage = useEditableDotCMSPage(page);
|
|
73
|
+
*
|
|
74
|
+
* // Access both page data and GraphQL content
|
|
75
|
+
* const { page: pageData, content } = editablePage;
|
|
76
|
+
*
|
|
77
|
+
* // Use the products from GraphQL content
|
|
78
|
+
* return (
|
|
79
|
+
* <div>
|
|
80
|
+
* <h1>{pageData.title}</h1>
|
|
81
|
+
* <ProductList products={content.products} />
|
|
82
|
+
* </div>
|
|
83
|
+
* );
|
|
84
|
+
* ```
|
|
85
|
+
* @param {DotCMSPageResponse} pageResponse - The initial editable page data from client.page.get().
|
|
86
|
+
*
|
|
87
|
+
* @returns {DotCMSPageResponse} The updated editable page state that reflects any changes made in the UVE.
|
|
88
|
+
* The structure includes page data and any GraphQL content that was requested.
|
|
89
|
+
*/
|
|
90
|
+
export declare const useEditableDotCMSPage: <T extends Partial<Pick<import("@dotcms/types").DotCMSPageResponse, "pageAsset" | "content">>>(pageResponse: DotCMSComposedPageResponse<T>) => DotCMSComposedPageResponse<T>;
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
import { DotCMSPageRendererMode } from '../contexts/DotCMSPageContext';
|
|
2
1
|
/**
|
|
3
2
|
* @internal
|
|
4
3
|
* A React hook that determines if the current environment is in development mode.
|
|
5
4
|
*
|
|
6
5
|
* The hook returns `true` if either:
|
|
7
|
-
* - The
|
|
8
|
-
* - The application is running inside the DotCMS editor (as determined by `isInsideEditor()`).
|
|
6
|
+
* - The application is running inside the DotCMS editor (as determined by `getUVEState()`).
|
|
9
7
|
*
|
|
10
|
-
* @param {DotCMSPageRendererMode} [renderMode] - Optional override for the render mode.
|
|
11
8
|
* @returns {boolean} - `true` if in development mode or inside the editor; otherwise, `false`.
|
|
12
9
|
*/
|
|
13
|
-
export declare const useIsDevMode: (
|
|
10
|
+
export declare const useIsDevMode: () => boolean;
|