@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.
Files changed (57) hide show
  1. package/README.md +531 -93
  2. package/index.esm.js +2992 -786
  3. package/package.json +9 -11
  4. package/src/index.d.ts +7 -1
  5. package/src/lib/next/__test__/mock.d.ts +2 -1
  6. package/src/lib/next/components/Column/Column.d.ts +1 -1
  7. package/src/lib/next/components/Container/Container.d.ts +1 -1
  8. package/src/lib/next/components/Container/{ContainerFallbakcs.d.ts → ContainerFallbacks.d.ts} +2 -2
  9. package/src/lib/next/components/Contentlet/Contentlet.d.ts +2 -2
  10. package/src/lib/next/components/DotCMSBlockEditorRenderer/DotCMSBlockEditorRenderer.d.ts +27 -0
  11. package/src/lib/{deprecated/components/BlockEditorRenderer/item → next/components/DotCMSBlockEditorRenderer/components}/BlockEditorBlock.d.ts +8 -5
  12. package/src/lib/next/components/DotCMSBlockEditorRenderer/components/blocks/Code.d.ts +24 -0
  13. package/src/lib/next/components/DotCMSBlockEditorRenderer/components/blocks/DotContent.d.ts +14 -0
  14. package/src/lib/next/components/DotCMSBlockEditorRenderer/components/blocks/Image.d.ts +10 -0
  15. package/src/lib/{deprecated/components/BlockEditorRenderer → next/components/DotCMSBlockEditorRenderer/components}/blocks/Lists.d.ts +8 -4
  16. package/src/lib/next/components/DotCMSBlockEditorRenderer/components/blocks/NoComponentProvided.d.ts +3 -0
  17. package/src/lib/{deprecated/components/BlockEditorRenderer → next/components/DotCMSBlockEditorRenderer/components}/blocks/Table.d.ts +3 -3
  18. package/src/lib/{deprecated/components/BlockEditorRenderer → next/components/DotCMSBlockEditorRenderer/components}/blocks/Texts.d.ts +23 -13
  19. package/src/lib/next/components/DotCMSBlockEditorRenderer/components/blocks/Video.d.ts +10 -0
  20. package/src/lib/{deprecated/components/DotEditableText/DotEditableText.d.ts → next/components/DotCMSEditableText/DotCMSEditableText.d.ts} +8 -6
  21. package/src/lib/{deprecated/components/DotEditableText → next/components/DotCMSEditableText}/utils.d.ts +9 -9
  22. package/src/lib/next/components/DotCMSLayoutBody/DotCMSLayoutBody.d.ts +5 -5
  23. package/src/lib/next/components/DotCMSLayoutBody/components/ErrorMessage.d.ts +1 -4
  24. package/src/lib/next/components/DotCMSShow/DotCMSShow.d.ts +2 -2
  25. package/src/lib/next/components/FallbackComponent/FallbackComponent.d.ts +6 -6
  26. package/src/lib/next/components/Row/Row.d.ts +1 -1
  27. package/src/lib/next/contexts/DotCMSPageContext.d.ts +2 -3
  28. package/src/lib/next/hooks/{useShowInUVE.d.ts → useDotCMSShowWhen.d.ts} +5 -5
  29. package/src/lib/next/hooks/useEditableDotCMSPage.d.ts +90 -0
  30. package/src/lib/next/hooks/useIsDevMode.d.ts +2 -5
  31. package/es.regexp.to-string.esm.js +0 -1878
  32. package/next.esm.d.ts +0 -1
  33. package/next.esm.js +0 -738
  34. package/src/lib/deprecated/components/BlockEditorRenderer/BlockEditorRenderer.d.ts +0 -37
  35. package/src/lib/deprecated/components/BlockEditorRenderer/blocks/Code.d.ts +0 -17
  36. package/src/lib/deprecated/components/BlockEditorRenderer/blocks/Contentlet.d.ts +0 -41
  37. package/src/lib/deprecated/components/BlockEditorRenderer/blocks/Image.d.ts +0 -8
  38. package/src/lib/deprecated/components/BlockEditorRenderer/blocks/Video.d.ts +0 -8
  39. package/src/lib/deprecated/components/Column/Column.d.ts +0 -19
  40. package/src/lib/deprecated/components/Container/Container.d.ts +0 -19
  41. package/src/lib/deprecated/components/DotcmsLayout/DotcmsLayout.d.ts +0 -34
  42. package/src/lib/deprecated/components/PageProvider/PageProvider.d.ts +0 -14
  43. package/src/lib/deprecated/components/Row/Row.d.ts +0 -26
  44. package/src/lib/deprecated/contexts/PageContext.d.ts +0 -8
  45. package/src/lib/deprecated/deprecated_api.d.ts +0 -7
  46. package/src/lib/deprecated/hooks/useCheckHaveContent.d.ts +0 -5
  47. package/src/lib/deprecated/hooks/useDotcmsEditor.d.ts +0 -13
  48. package/src/lib/deprecated/hooks/useDotcmsPageContext.d.ts +0 -9
  49. package/src/lib/deprecated/mocks/index.d.ts +0 -1
  50. package/src/lib/deprecated/mocks/mockPageContext.d.ts +0 -7
  51. package/src/lib/deprecated/models/blocks.interface.d.ts +0 -89
  52. package/src/lib/deprecated/models/content-node.interface.d.ts +0 -82
  53. package/src/lib/deprecated/models/index.d.ts +0 -127
  54. package/src/lib/deprecated/utils/utils.d.ts +0 -58
  55. package/src/lib/next/types.d.ts +0 -421
  56. package/src/lib/next/utils/index.d.ts +0 -136
  57. 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 context mode (or the optional `renderMode` argument) is set to 'development', or
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: (renderMode?: DotCMSPageRendererMode) => boolean;
10
+ export declare const useIsDevMode: () => boolean;