Repository: dotCMS/core
Pull request #31673: feat(sdks): Migrated enums, types and interfaces from client to uve lib
Author: login: KevinDavilaDotCMS
Created: 2025-03-19T14:46:58Z | Merged: 2025-03-21T16:20:50Z

### Name Changes

| Original Name                 | New Name                                                | Location          |
|--------------------------------|--------------------------------------------------------|-------------------|
| INLINE_EDITING_EVENT_KEY       | DotCMSInlineEditingEventType                          | types/events      |
| InlineEditorData               | DotCMSInlineEditorData                                | types/events      |
| InlineEditEventData            | Removed (Duplicate of InlineEditorData)              | deleted           |
| ListenerCallbackMessage        | DotCMSMessageListenerCallback                        | types/events      |
| ListenerCallbackPointer        | DotCMSPointerListenerCallback                        | types/events      |
| CustomClientParams             | DotCMSClientParams                                   | types/editor      |
| EditorConfig                   | DotCMSEditorConfig                                   | types/editor      |
| ReorderMenuConfig              | DotCMSReorderMenuConfig                              | types/editor      |
| CLIENT_ACTIONS                 | DotClientActionType                                  | types/client      |
| PostMessageProps               | DotCMSPostMessageProps                              | types/client      |
| DotUVE                         | DotCMSUVE                                           | types/client      |
| DotcmsClientListener           | DotCMSClientListener                                | types/client      |


This pull request includes several changes to the `core-web/libs/sdk/uve` module, primarily focusing on restructuring and adding new types and interfaces to support the DotCMS editor. The most important changes include adding new types for client actions and editor configurations, as well as updating import paths to reflect the new structure.

### Restructuring and Imports:

* [`core-web/libs/sdk/uve/src/internal/constants.ts`](diffhunk://#diff-2e459af18d802a308e3b04050d91db8718ca5c470275622f59fb68c36b82154cL3-R3): Updated import paths for `UVECallback` and `UVEEvent` to reflect the new directory structure.
* [`core-web/libs/sdk/uve/src/lib/utils.ts`](diffhunk://#diff-9cb9e61b3ad482cd4dafebfdb3d19e42876b180919442cc0e19e0d4a5b30bab7L1-R1): Updated import paths for `UVE_MODE`, `UVECallback`, `UVEState`, and `UVESubscription` to reflect the new directory structure.
* [`core-web/libs/sdk/uve/src/types.ts`](diffhunk://#diff-6008d2fbe7f2f234bf0bc27fed1e2ace8190336043e81bbba031606033dbae44L1-R3): Updated export paths to include new public types for client, editor, and events.

### New Types and Interfaces:

* [`core-web/libs/sdk/uve/src/lib/types/client/client.model.ts`](diffhunk://#diff-2a67ac8ca60314e8776d9dc0a68092e66f74627ecbb586509f057616d80f9e46R1-R55): Added new types and interfaces for DotCMS client actions, including `DotCMSPostMessageProps`, `DotUVE`, and `DotCMSClientListener`.
* [`core-web/libs/sdk/uve/src/lib/types/client/public.ts`](diffhunk://#diff-7789ae42ee52119a2c30a4bd9a3717fce56ec29faacfe22d30eb2b39a786ff87R1-R65): Introduced the `DotClientActionType` enum to define various actions sent to the DotCMS editor.
* [`core-web/libs/sdk/uve/src/lib/types/editor/editor.model.ts`](diffhunk://#diff-21669af09ff6a718c3bb06673c3fe180da99de7092848918ca0476e9ad047eb6R1-R21): Added `DotCMSClientParams` and `DotCMSReorderMenuConfig` types to support custom client parameters and menu reordering configurations.
* [`core-web/libs/sdk/uve/src/lib/types/editor/public.ts`](diffhunk://#diff-da86cc332791e50043f12b2ef89364ec91a48aa9324bfb4b01e1e388ab743c90R67-R113): Added `DotCMSEditorConfig` and `DotCMSPageEditorConfig` to represent configuration options for the DotCMS page editor.
* [`core-web/libs/sdk/uve/src/lib/types/events/events.model.ts`](diffhunk://#diff-cccb30444116f71b6954342b5a3922f917a073a9fc217585d59b0547eb8497eaR1-R25): Added `DotCMSPageEditorListener`, `DotCMSPageEditorObserver`, and `DotCMSPageEditorSubscription` to support event handling for the DotCMS editor.
* [`core-web/libs/sdk/uve/src/lib/types/events/public.ts`](diffhunk://#diff-53391a23134f45f39e82dece035356a1f582e28f5dafd7ed06f5dbb390e77dfcR1-R52): Added `DotCMSInlineEditingEventType`, `DotCMSInlineEditorData`, and `DotCMSClientNotificationType` to handle inline editing events and client notifications.

This PR fixes: #31652


Diff:
diff --git a/core-web/libs/portlets/edit-ema/portlet/src/lib/edit-ema-editor/edit-ema-editor.component.ts b/core-web/libs/portlets/edit-ema/portlet/src/lib/edit-ema-editor/edit-ema-editor.component.ts
index b6ebb62df267..e8d90602b76b 100644
--- a/core-web/libs/portlets/edit-ema/portlet/src/lib/edit-ema-editor/edit-ema-editor.component.ts
+++ b/core-web/libs/portlets/edit-ema/portlet/src/lib/edit-ema-editor/edit-ema-editor.component.ts
@@ -48,7 +48,7 @@ import {
 import { DotResultsSeoToolComponent } from '@dotcms/portlets/dot-ema/ui';
 import { SafeUrlPipe, DotSpinnerModule, DotCopyContentModalService } from '@dotcms/ui';
 import { isEqual, WINDOW } from '@dotcms/utils';
-import { __NOTIFY_CLIENT__ } from '@dotcms/uve/internal';
+import { __DOTCMS_UVE_EVENT__ } from '@dotcms/uve/internal';
 
 import { DotUvePageVersionNotFoundComponent } from './components/dot-uve-page-version-not-found/dot-uve-page-version-not-found.component';
 import { DotUveToolbarComponent } from './components/dot-uve-toolbar/dot-uve-toolbar.component';
@@ -200,7 +200,10 @@ export class EditEmaEditorComponent implements OnInit, OnDestroy {
             return;
         }
 
-        this.contentWindow?.postMessage({ name: __NOTIFY_CLIENT__.UVE_REQUEST_BOUNDS }, this.host);
+        this.contentWindow?.postMessage(
+            { name: __DOTCMS_UVE_EVENT__.UVE_REQUEST_BOUNDS },
+            this.host
+        );
     });
 
     ngOnInit(): void {
@@ -305,7 +308,7 @@ export class EditEmaEditorComponent implements OnInit, OnDestroy {
                 this.uveStore.setEditorState(EDITOR_STATE.DRAGGING);
                 this.contentWindow?.postMessage(
                     {
-                        name: __NOTIFY_CLIENT__.UVE_REQUEST_BOUNDS
+                        name: __DOTCMS_UVE_EVENT__.UVE_REQUEST_BOUNDS
                     },
                     this.host
                 );
@@ -372,7 +375,7 @@ export class EditEmaEditorComponent implements OnInit, OnDestroy {
                 this.uveStore.updateEditorScrollDragState();
 
                 this.contentWindow?.postMessage(
-                    { name: __NOTIFY_CLIENT__.UVE_SCROLL_INSIDE_IFRAME, direction },
+                    { name: __DOTCMS_UVE_EVENT__.UVE_SCROLL_INSIDE_IFRAME, direction },
                     this.host
                 );
             });
@@ -737,7 +740,7 @@ export class EditEmaEditorComponent implements OnInit, OnDestroy {
                 if (clientAction === CLIENT_ACTIONS.EDIT_CONTENTLET) {
                     this.contentWindow?.postMessage(
                         {
-                            name: __NOTIFY_CLIENT__.UVE_RELOAD_PAGE
+                            name: __DOTCMS_UVE_EVENT__.UVE_RELOAD_PAGE
                         },
                         this.host
                     );
@@ -816,7 +819,7 @@ export class EditEmaEditorComponent implements OnInit, OnDestroy {
                 // we should change this with a new SDK reload strategy
                 this.contentWindow?.postMessage(
                     {
-                        name: __NOTIFY_CLIENT__.UVE_RELOAD_PAGE
+                        name: __DOTCMS_UVE_EVENT__.UVE_RELOAD_PAGE
                     },
                     this.host
                 );
@@ -945,7 +948,7 @@ export class EditEmaEditorComponent implements OnInit, OnDestroy {
 
                         if (!this.uveStore.isTraditionalPage()) {
                             const message = {
-                                name: __NOTIFY_CLIENT__.UVE_COPY_CONTENTLET_INLINE_EDITING_SUCCESS,
+                                name: __DOTCMS_UVE_EVENT__.UVE_COPY_CONTENTLET_INLINE_EDITING_SUCCESS,
                                 payload: data
                             };
 
@@ -1052,7 +1055,10 @@ export class EditEmaEditorComponent implements OnInit, OnDestroy {
      */
     reloadIframeContent() {
         this.iframe?.nativeElement?.contentWindow?.postMessage(
-            { name: __NOTIFY_CLIENT__.UVE_SET_PAGE_DATA, payload: this.uveStore.pageAPIResponse() },
+            {
+                name: __DOTCMS_UVE_EVENT__.UVE_SET_PAGE_DATA,
+                payload: this.uveStore.pageAPIResponse()
+            },
             this.host
         );
     }
diff --git a/core-web/libs/sdk/uve/src/internal.ts b/core-web/libs/sdk/uve/src/internal.ts
index d0b55789b2de..2cff4e5b16a7 100644
--- a/core-web/libs/sdk/uve/src/internal.ts
+++ b/core-web/libs/sdk/uve/src/internal.ts
@@ -1 +1,4 @@
 export * from './internal/index';
+
+export * from './lib/types/editor/internal';
+export * from './lib/types/events/internal';
diff --git a/core-web/libs/sdk/uve/src/internal/constants.ts b/core-web/libs/sdk/uve/src/internal/constants.ts
index 74676975a4aa..4a897279135b 100644
--- a/core-web/libs/sdk/uve/src/internal/constants.ts
+++ b/core-web/libs/sdk/uve/src/internal/constants.ts
@@ -1,6 +1,5 @@
-import { __NOTIFY_CLIENT__ } from './enums';
-
-import { UVECallback, UVEEvent } from '../lib/types';
+import { UVECallback, UVEEvent } from '../lib/types/editor/public';
+import { __DOTCMS_UVE_EVENT__ } from '../lib/types/events/internal';
 
 // TODO: WE NEED TO LOOK FOR ALL THE NOTIFY_CLIENT EVENTS AND ADD THEM TO THE UVE_EVENTS CONSTANT WHEN WE MIGRATE THE EDITOR TO THE NEW UVE LIBRARY
 
@@ -13,7 +12,7 @@ import { UVECallback, UVEEvent } from '../lib/types';
 export const __UVE_EVENTS__: Record<string, UVEEvent> = {
     changes: (callback: UVECallback) => {
         const messageCallback = (event: MessageEvent) => {
-            if (event.data.name === __NOTIFY_CLIENT__.UVE_SET_PAGE_DATA) {
+            if (event.data.name === __DOTCMS_UVE_EVENT__.UVE_SET_PAGE_DATA) {
                 callback(event.data.payload);
             }
         };
diff --git a/core-web/libs/sdk/uve/src/internal/index.ts b/core-web/libs/sdk/uve/src/internal/index.ts
index 373d6abf3e1d..c94f80f843a1 100644
--- a/core-web/libs/sdk/uve/src/internal/index.ts
+++ b/core-web/libs/sdk/uve/src/internal/index.ts
@@ -1,2 +1 @@
 export * from './constants';
-export * from './enums';
diff --git a/core-web/libs/sdk/uve/src/lib/types.ts b/core-web/libs/sdk/uve/src/lib/types.ts
deleted file mode 100644
index efd3293e6fcb..000000000000
--- a/core-web/libs/sdk/uve/src/lib/types.ts
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * Represents the state of the Universal Visual Editor (UVE)
- * @interface
- * @property {UVE_MODE} mode - The current mode of operation for UVE (EDIT, PREVIEW, LIVE, or UNKNOWN)
- * @property {string | null} persona - The selected persona for content personalization
- * @property {string | null} variantName - The name of the current content variant
- * @property {string | null} experimentId - The identifier for the current A/B testing experiment
- * @property {string | null} publishDate - The scheduled publish date for content
- * @property {string | null} languageId - The identifier for the current language selection
- */
-export interface UVEState {
-    mode: UVE_MODE;
-    persona: string | null;
-    variantName: string | null;
-    experimentId: string | null;
-    publishDate: string | null;
-    languageId: string | null;
-}
-
-/**
- * Possible modes of UVE (Universal Visual Editor)
- * @enum {string}
- *
- * @property {string} LIVE - Shows published and future content
- * @property {string} PREVIEW - Shows published and working content
- * @property {string} EDIT - Enables content editing functionality in UVE
- * @property {string} UNKNOWN - Error state, UVE should not remain in this mode
- */
-export enum UVE_MODE {
-    EDIT = 'EDIT_MODE',
-    PREVIEW = 'PREVIEW_MODE',
-    LIVE = 'LIVE',
-    UNKNOWN = 'UNKNOWN'
-}
-
-/**
- * Callback function for UVE events
- * @callback UVECallback
- * @param {unknown} payload - The payload of the event
- */
-export type UVECallback = (payload: unknown) => void;
-
-/**
- * Unsubscribe function for UVE events
- * @callback UnsubscribeUVE
- */
-export type UnsubscribeUVE = () => void;
-
-/**
- * UVESubscription type
- * @typedef {Object} UVESubscription
- * @property {UnsubscribeUVE} unsubscribe - The unsubscribe function for the UVE event
- * @property {string} event - The event name
- */
-export type UVESubscription = {
-    unsubscribe: UnsubscribeUVE;
-    event: string;
-};
-
-/**
- * UVE event type
- * @typedef {function} UVEEvent
- */
-export type UVEEvent = (callback: UVECallback) => UVESubscription;
diff --git a/core-web/libs/sdk/uve/src/lib/types/editor/internal.ts b/core-web/libs/sdk/uve/src/lib/types/editor/internal.ts
new file mode 100644
index 000000000000..ddabb8b833ae
--- /dev/null
+++ b/core-web/libs/sdk/uve/src/lib/types/editor/internal.ts
@@ -0,0 +1,51 @@
+import { DotCMSUVEAction } from './public';
+
+/**
+ * @description Custom client parameters for fetching data.
+ */
+export type DotCMSCustomerParams = {
+    depth: string;
+};
+
+/**
+ * Configuration for reordering a menu.
+ */
+export interface DotCMSReorderMenuConfig {
+    /**
+     * The starting level of the menu to be reordered.
+     */
+    startLevel: number;
+
+    /**
+     * The depth of the menu levels to be reordered.
+     */
+    depth: number;
+}
+
+declare global {
+    interface Window {
+        dotCMSUVE: DotCMSUVE;
+    }
+}
+
+/**
+ * Post message props
+ *
+ * @export
+ * @template T
+ * @interface DotCMSUVEMessage
+ */
+export type DotCMSUVEMessage<T> = {
+    action: DotCMSUVEAction;
+    payload?: T;
+};
+
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+type DotCMSUVEFunction = (...args: any[]) => void;
+
+export interface DotCMSUVE {
+    editContentlet: DotCMSUVEFunction;
+    initInlineEditing: DotCMSUVEFunction;
+    reorderMenu: DotCMSUVEFunction;
+    lastScrollYPosition: number;
+}
diff --git a/core-web/libs/sdk/uve/src/lib/types/editor/public.ts b/core-web/libs/sdk/uve/src/lib/types/editor/public.ts
new file mode 100644
index 000000000000..4a4d2bc9ad43
--- /dev/null
+++ b/core-web/libs/sdk/uve/src/lib/types/editor/public.ts
@@ -0,0 +1,140 @@
+/**
+ * Represents the state of the Universal Visual Editor (UVE)
+ * @interface
+ * @property {UVE_MODE} mode - The current mode of operation for UVE (EDIT, PREVIEW, LIVE, or UNKNOWN)
+ * @property {string | null} persona - The selected persona for content personalization
+ * @property {string | null} variantName - The name of the current content variant
+ * @property {string | null} experimentId - The identifier for the current A/B testing experiment
+ * @property {string | null} publishDate - The scheduled publish date for content
+ * @property {string | null} languageId - The identifier for the current language selection
+ */
+export interface UVEState {
+    mode: UVE_MODE;
+    persona: string | null;
+    variantName: string | null;
+    experimentId: string | null;
+    publishDate: string | null;
+    languageId: string | null;
+}
+
+/**
+ * Possible modes of UVE (Universal Visual Editor)
+ * @enum {string}
+ *
+ * @property {string} LIVE - Shows published and future content
+ * @property {string} PREVIEW - Shows published and working content
+ * @property {string} EDIT - Enables content editing functionality in UVE
+ * @property {string} UNKNOWN - Error state, UVE should not remain in this mode
+ */
+export enum UVE_MODE {
+    EDIT = 'EDIT_MODE',
+    PREVIEW = 'PREVIEW_MODE',
+    LIVE = 'LIVE',
+    UNKNOWN = 'UNKNOWN'
+}
+
+/**
+ * Callback function for UVE events
+ * @callback UVECallback
+ * @param {unknown} payload - The payload of the event
+ */
+export type UVECallback = (payload: unknown) => void;
+
+/**
+ * Unsubscribe function for UVE events
+ * @callback UnsubscribeUVE
+ */
+export type UnsubscribeUVE = () => void;
+
+/**
+ * UVESubscription type
+ * @typedef {Object} UVESubscription
+ * @property {UnsubscribeUVE} unsubscribe - The unsubscribe function for the UVE event
+ * @property {string} event - The event name
+ */
+export type UVESubscription = {
+    unsubscribe: UnsubscribeUVE;
+    event: string;
+};
+
+/**
+ * UVE event type
+ * @typedef {function} UVEEvent
+ */
+export type UVEEvent = (callback: UVECallback) => UVESubscription;
+
+//TODO: Recheck this after changes
+/**
+ * Configuration type for DotCMS Editor
+ * @typedef {Object} DotCMSEditoConfig
+ * @property {Object} [params] - Parameters for Page API configuration
+ * @property {number} [params.depth] - The depth level for fetching page data
+ * @property {string} [query] - GraphQL query string for data fetching
+ */
+export type DotCMSEditorConfig = { params: { depth: number } } | { query: string };
+
+/**
+ * Actions send to the dotcms editor
+ *
+ * @export
+ * @enum {number}
+ */
+export enum DotCMSUVEAction {
+    /**
+     * Tell the dotcms editor that page change
+     */
+    NAVIGATION_UPDATE = 'set-url',
+    /**
+     * Send the element position of the rows, columnsm containers and contentlets
+     */
+    SET_BOUNDS = 'set-bounds',
+    /**
+     * Send the information of the hovered contentlet
+     */
+    SET_CONTENTLET = 'set-contentlet',
+    /**
+     * Tell the editor that the page is being scrolled
+     */
+    IFRAME_SCROLL = 'scroll',
+    /**
+     * Tell the editor that the page has stopped scrolling
+     */
+    IFRAME_SCROLL_END = 'scroll-end',
+    /**
+     * Ping the editor to see if the page is inside the editor
+     */
+    PING_EDITOR = 'ping-editor',
+    /**
+     * Tell the editor to init the inline editing editor.
+     */
+    INIT_INLINE_EDITING = 'init-inline-editing',
+    /**
+     * Tell the editor to open the Copy-contentlet dialog
+     * To copy a content and then edit it inline.
+     */
+    COPY_CONTENTLET_INLINE_EDITING = 'copy-contentlet-inline-editing',
+    /**
+     * Tell the editor to save inline edited contentlet
+     */
+    UPDATE_CONTENTLET_INLINE_EDITING = 'update-contentlet-inline-editing',
+    /**
+     * Tell the editor to trigger a menu reorder
+     */
+    REORDER_MENU = 'reorder-menu',
+    /**
+     * Tell the editor to send the page info to iframe
+     */
+    GET_PAGE_DATA = 'get-page-data',
+    /**
+     * Tell the editor an user send a graphql query
+     */
+    CLIENT_READY = 'client-ready',
+    /**
+     * Tell the editor to edit a contentlet
+     */
+    EDIT_CONTENTLET = 'edit-contentlet',
+    /**
+     * Tell the editor to do nothing
+     */
+    NOOP = 'noop'
+}
diff --git a/core-web/libs/sdk/uve/src/internal/enums.ts b/core-web/libs/sdk/uve/src/lib/types/events/internal.ts
similarity index 86%
rename from core-web/libs/sdk/uve/src/internal/enums.ts
rename to core-web/libs/sdk/uve/src/lib/types/events/internal.ts
index e015f9051671..c8bbf75f7e2e 100644
--- a/core-web/libs/sdk/uve/src/internal/enums.ts
+++ b/core-web/libs/sdk/uve/src/lib/types/events/internal.ts
@@ -1,10 +1,10 @@
 /**
- * Actions received from the dotCMS UVE
+ * Actions received from the dotcms editor
  *
- * @internal
- * @enum {string}
+ * @export
+ * @enum {number}
  */
-export enum __NOTIFY_CLIENT__ {
+export enum __DOTCMS_UVE_EVENT__ {
     /**
      * Request to page to reload
      */
diff --git a/core-web/libs/sdk/uve/src/lib/types/events/public.ts b/core-web/libs/sdk/uve/src/lib/types/events/public.ts
new file mode 100644
index 000000000000..5bbd001ddeb4
--- /dev/null
+++ b/core-web/libs/sdk/uve/src/lib/types/events/public.ts
@@ -0,0 +1,19 @@
+export type DotCMSInlineEditingType = 'BLOCK_EDITOR' | 'WYSIWYG';
+
+/**
+ * Interface representing the data needed for inline editing in DotCMS
+ *
+ * @interface DotCMSInlineEditorData
+ * @property {string} inode - The inode identifier of the content being edited
+ * @property {number} language - The language ID of the content
+ * @property {string} contentType - The content type identifier
+ * @property {string} fieldName - The name of the field being edited
+ * @property {Record<string, unknown>} content - The content data as key-value pairs
+ */
+export interface DotCMSInlineEditingPayload {
+    inode: string;
+    language: number;
+    contentType: string;
+    fieldName: string;
+    content: Record<string, unknown>;
+}
diff --git a/core-web/libs/sdk/uve/src/lib/utils.spec.ts b/core-web/libs/sdk/uve/src/lib/utils.spec.ts
index c998946095d8..be73957e9449 100644
--- a/core-web/libs/sdk/uve/src/lib/utils.spec.ts
+++ b/core-web/libs/sdk/uve/src/lib/utils.spec.ts
@@ -1,10 +1,9 @@
 import { describe, it, expect, beforeAll, beforeEach, afterEach } from '@jest/globals';
 
-import { UVE_MODE } from './types';
+import { UVE_MODE } from './types/editor/public';
+import { __DOTCMS_UVE_EVENT__ } from './types/events/internal';
 import { getUVEState, createUVESubscription } from './utils';
 
-import { __NOTIFY_CLIENT__ } from '../internal';
-
 describe('getUVEStatus', () => {
     beforeAll(() => {
         jest.spyOn(global, 'window', 'get').mockReset();
@@ -369,7 +368,7 @@ describe('createUVESubscription', () => {
         // Create and dispatch a message event
         const messageEvent = new MessageEvent('message', {
             data: {
-                name: __NOTIFY_CLIENT__.UVE_SET_PAGE_DATA,
+                name: __DOTCMS_UVE_EVENT__.UVE_SET_PAGE_DATA,
                 payload: { test: 'data' }
             }
         });
diff --git a/core-web/libs/sdk/uve/src/lib/utils.ts b/core-web/libs/sdk/uve/src/lib/utils.ts
index 2824f1e70f2e..a75bbe3ace0d 100644
--- a/core-web/libs/sdk/uve/src/lib/utils.ts
+++ b/core-web/libs/sdk/uve/src/lib/utils.ts
@@ -1,4 +1,4 @@
-import { UVE_MODE, UVECallback, UVEState, UVESubscription } from './types';
+import { UVE_MODE, UVECallback, UVEState, UVESubscription } from './types/editor/public';
 
 import { __UVE_EVENTS__, __UVE_EVENT_ERROR_FALLBACK__ } from '../internal/constants';
 
diff --git a/core-web/libs/sdk/uve/src/types.ts b/core-web/libs/sdk/uve/src/types.ts
index a8664ad50481..79f1b8dbef20 100644
--- a/core-web/libs/sdk/uve/src/types.ts
+++ b/core-web/libs/sdk/uve/src/types.ts
@@ -1 +1,2 @@
-export * from './lib/types';
+export * from './lib/types/editor/public';
+export * from './lib/types/events/public';


Reviews:
user: login: copilot-pull-request-reviewer[bot]
body: ## Pull Request Overview

This pull request migrates enums, types, and interfaces from the client module into a dedicated UVE library to support the DotCMS editor. Key changes include:
- Renaming and reorganizing of types and interfaces (client actions, editor configurations, events).
- Restructuring of import paths across multiple files to reflect the new module structure.
- Introduction of new types for improved type safety in client, editor, and event handling.

### Reviewed Changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.

<details>
<summary>Show a summary per file</summary>

| File                                                         | Description                                                                    |
| ------------------------------------------------------------ | ------------------------------------------------------------------------------ |
| core-web/libs/sdk/uve/src/lib/types/client/client.model.ts   | Added types for client actions and a global definition for DotCMSUVE           |
| core-web/libs/sdk/uve/src/lib/types/client/public.ts         | Introduced the DotClientActionType enum for editor interactions                 |
| core-web/libs/sdk/uve/src/lib/types/editor/public.ts         | Added DotCMSEditorConfig and DotCMSPageEditorConfig types for editor settings   |
| core-web/libs/sdk/uve/src/lib/types/editor/editor.model.ts     | Added types for custom client parameters and menu reorder configuration        |
| core-web/libs/sdk/uve/src/types.ts                           | Re-exported public types from client, editor, and events                       |
| core-web/libs/sdk/uve/src/lib/types/events/public.ts         | Added inline editing event types and a client notification enum                |
| core-web/libs/sdk/uve/src/lib/types/events/events.model.ts     | Added types for DotCMS page editor listeners and observers                     |
| core-web/libs/sdk/uve/src/lib/utils.ts                       | Updated import paths to align with the new structure                           |
| core-web/libs/sdk/uve/src/internal/constants.ts              | Updated import paths for event types for compatibility with the new structure    |
</details>



<details>
<summary>Comments suppressed due to low confidence (2)</summary>

**core-web/libs/sdk/uve/src/lib/utils.ts:1**
* The import of UVE_MODE, UVECallback, UVEState, and UVESubscription from './types/editor/public' may fail if they are not actually exported from that module. Please verify that these types are correctly exported or update the import path accordingly.
```
import { UVE_MODE, UVECallback, UVEState, UVESubscription } from './types/editor/public';
```
**core-web/libs/sdk/uve/src/internal/constants.ts:3**
* Ensure that UVECallback and UVEEvent are exported from './types/editor/public'; if not, either update the module to export these types or adjust the import path to reference the correct module.
```
import { UVECallback, UVEEvent } from '../lib/types/editor/public';
```
</details>


state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-19T18:02:07Z
user: login: rjvelazco
state: CHANGES_REQUESTED
author_association: MEMBER
submitted_at: 2025-03-19T19:02:00Z
user: login: KevinDavilaDotCMS
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-19T20:38:33Z
user: login: KevinDavilaDotCMS
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-19T20:40:10Z
user: login: KevinDavilaDotCMS
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-19T20:46:52Z
user: login: KevinDavilaDotCMS
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-19T21:04:23Z
user: login: KevinDavilaDotCMS
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-19T22:07:03Z
user: login: copilot-pull-request-reviewer[bot]
body: ## Pull Request Overview

This pull request migrates and reorganizes various enums, types, and interfaces from the client to the UVE library to support the new DotCMS editor.  
- Renamed existing types and enums to follow new naming conventions.  
- Updated import paths throughout the module to reflect the new directory structure.  
- Introduced new configuration and client models for enhanced editor functionality.

### Reviewed Changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

<details>
<summary>Show a summary per file</summary>

| File                                                        | Description                                                   |
| ----------------------------------------------------------- | ------------------------------------------------------------- |
| core-web/libs/sdk/uve/src/lib/types/client/client.model.ts  | Added client model interfaces for DotCMS UVE actions.         |
| core-web/libs/sdk/uve/src/lib/types/client/public.ts        | Introduced the DotCMSUveAction enum for editor actions.         |
| core-web/libs/sdk/uve/src/types.ts                           | Updated export paths for new public type modules.             |
| core-web/libs/sdk/uve/src/lib/types/events/public.ts         | Added new event types and interfaces for inline editing.       |
| core-web/libs/sdk/uve/src/lib/types/editor/editor.model.ts   | Added types for client parameters and menu reordering.          |
| core-web/libs/sdk/uve/src/lib/types/editor/public.ts         | Added editor configuration type (with a typo in the type name).  |
| core-web/libs/sdk/uve/src/lib/utils.ts                       | Updated import paths to the new location for editor types.       |
| core-web/libs/sdk/uve/src/internal/constants.ts              | Updated import paths for UVE types to reflect the new structure. |
| core-web/libs/sdk/uve/src/lib/utils.spec.ts                  | Updated tests to import UVE_MODE from the correct module.        |
</details>





state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-20T02:37:37Z
user: login: zJaaal
state: CHANGES_REQUESTED
author_association: MEMBER
submitted_at: 2025-03-20T15:03:56Z
user: login: rjvelazco
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-20T15:19:44Z
user: login: rjvelazco
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-20T15:20:49Z
user: login: KevinDavilaDotCMS
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-20T16:36:02Z
user: login: rjvelazco
state: APPROVED
author_association: MEMBER
submitted_at: 2025-03-20T18:41:20Z
user: login: zJaaal
state: APPROVED
author_association: MEMBER
submitted_at: 2025-03-21T14:06:07Z

Review comments:
diff_hunk: @@ -0,0 +1,55 @@
+import { DotClientActionType } from './public';
+
+declare global {
+    interface Window {
+        dotCMSUVE: DotCMSUVE;
+    }
+}
+
+/**
+ * Post message props
+ *
+ * @export
+ * @template T
+ * @interface DotCMSPostMessageProps
+ */
+type DotCMSPostMessageProps<T> = {
path: core-web/libs/sdk/uve/src/lib/types/client/client.model.ts
user: login: rjvelazco
body: What do you think about naming this `DotUVEAction`? It refers to an action that the UVE will execute based on the provided payload. We also need to define the `payload` structure for each action

```suggestion
type DotUVEAction<T> = {
```  

created_at: 2025-03-19T18:26:43Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,55 @@
+import { DotClientActionType } from './public';
+
+declare global {
+    interface Window {
+        dotCMSUVE: DotCMSUVE;
+    }
+}
+
+/**
+ * Post message props
+ *
+ * @export
+ * @template T
+ * @interface DotCMSPostMessageProps
+ */
+type DotCMSPostMessageProps<T> = {
+    action: DotClientActionType;
+    payload?: T;
+};
+
+/**
+ * Post message to dotcms page editor
+ *
+ * @export
+ * @template T
+ * @param {DotCMSPostMessageProps<T>} message
+ */
+export function sendPostMessageToEditor<T = unknown>(message: DotCMSPostMessageProps<T>) {
+    window.parent.postMessage(message, '*');
+}
path: core-web/libs/sdk/uve/src/lib/types/client/client.model.ts
user: login: rjvelazco
body: This is a function, not a type. Do we actually need it? We already have `postMessageToEditor`, so I believe it's safe to remove.
created_at: 2025-03-19T18:29:36Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,55 @@
+import { DotClientActionType } from './public';
+
+declare global {
+    interface Window {
+        dotCMSUVE: DotCMSUVE;
+    }
+}
+
+/**
+ * Post message props
+ *
+ * @export
+ * @template T
+ * @interface DotCMSPostMessageProps
+ */
+type DotCMSPostMessageProps<T> = {
+    action: DotClientActionType;
+    payload?: T;
+};
+
+/**
+ * Post message to dotcms page editor
+ *
+ * @export
+ * @template T
+ * @param {DotCMSPostMessageProps<T>} message
+ */
+export function sendPostMessageToEditor<T = unknown>(message: DotCMSPostMessageProps<T>) {
+    window.parent.postMessage(message, '*');
+}
+
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+type DotCMSUVEFunction = (...args: any[]) => void;
+
+export interface DotCMSUVE {
+    editContentlet: DotCMSUVEFunction;
+    initInlineEditing: DotCMSUVEFunction;
+    reorderMenu: DotCMSUVEFunction;
+    lastScrollYPosition: number;
+}
+
+/**
+ * Represents a listener for DotCMSClientListener.
+ *
+ * @typedef {Object} DotCMSClientListener
+ * @property {string} action - The action that triggers the event.
+ * @property {string} event - The name of the event.
+ * @property {function(...args: any[]): void} callback - The callback function to handle the event.
+ */
+export type DotCMSClientListener = {
+    action: string;
+    event: string;
+    // eslint-disable-next-line @typescript-eslint/no-explicit-any
+    callback: (...args: any[]) => void;
+};
path: core-web/libs/sdk/uve/src/lib/types/client/client.model.ts
user: login: rjvelazco
body: This type belongs to `@dotcms/client`, not `@dotcms/uve`
created_at: 2025-03-19T18:30:15Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,65 @@
+/**
+ * Actions send to the dotcms editor
+ *
+ * @export
+ * @enum {number}
+ */
+export enum DotClientActionType {
path: core-web/libs/sdk/uve/src/lib/types/client/public.ts
user: login: rjvelazco
body: This is part of `@dotcms/uve`, so let's rename it to `DotUVEActionType`. We should also remove `client` from the types and replace it with `UVE` for consistency.

```suggestion
export enum DotUVEActionType {
```
created_at: 2025-03-19T18:40:18Z
author_association: MEMBER
diff_hunk: @@ -62,3 +64,50 @@ export type UVESubscription = {
  * @typedef {function} UVEEvent
  */
 export type UVEEvent = (callback: UVECallback) => UVESubscription;
+
+/**
+ * @description Union type for fetch configurations.
+ * @typedef {GraphQLFetchConfig | PageAPIFetchConfig} DotCMSFetchConfig
+ */
+export type DotCMSEditorConfig =
+    | {
+          params: DotCMSClientParams;
+      }
+    | {
+          query: string;
+      };
+
+/**
+ * Represents the configuration options for the DotCMS page editor.
+ * @export
+ * @interface DotCMSPageEditorConfig
+ */
+export interface DotCMSPageEditorConfig {
path: core-web/libs/sdk/uve/src/lib/types/editor/public.ts
user: login: rjvelazco
body: Maybe?

```suggestion
export interface DotUVEConfig {
```
created_at: 2025-03-19T18:42:03Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,52 @@
+export type DotCMSInlineEditingEventType = 'BLOCK_EDITOR' | 'WYSIWYG';
+
+/**
+ * Interface representing the data needed for inline editing in DotCMS
+ *
+ * @interface DotCMSInlineEditorData
+ * @property {string} inode - The inode identifier of the content being edited
+ * @property {number} language - The language ID of the content
+ * @property {string} contentType - The content type identifier
+ * @property {string} fieldName - The name of the field being edited
+ * @property {Record<string, unknown>} content - The content data as key-value pairs
+ */
+export interface DotCMSInlineEditorData {
+    inode: string;
+    language: number;
+    contentType: string;
+    fieldName: string;
+    content: Record<string, unknown>;
+}
+
+/**
+ * Actions received from the dotcms editor
+ *
+ * @export
+ * @enum {number}
+ */
+export enum DotCMSClientNotificationType {
path: core-web/libs/sdk/uve/src/lib/types/events/public.ts
user: login: rjvelazco
body: These are `events` that the dev can receive from the `UVE`, right? We could use this name:

```suggestion
export enum DotUVEEventType {
```
created_at: 2025-03-19T18:47:41Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,25 @@
+type DotCMSMessageListenerCallback = (event: MessageEvent) => void;
+type DotCMSPointerListenerCallback = (event: PointerEvent) => void;
+
+/**
+ * Listener for the dotcms editor
+ *
+ * @interface DotCMSPageEditorListener
+ */
+interface DotCMSPageEditorListener {
path: core-web/libs/sdk/uve/src/lib/types/events/events.model.ts
user: login: rjvelazco
body: ```suggestion
interface DotUVEListener {
```

I think we should replace `PageEditor` with `UVE`. It can also be just `Editor`.

Thoughts on this, @fmontes @zJaaal @KevinDavilaDotCMS ?
created_at: 2025-03-19T18:49:24Z
author_association: MEMBER
diff_hunk: @@ -62,3 +64,50 @@ export type UVESubscription = {
  * @typedef {function} UVEEvent
  */
 export type UVEEvent = (callback: UVECallback) => UVESubscription;
+
+/**
+ * @description Union type for fetch configurations.
+ * @typedef {GraphQLFetchConfig | PageAPIFetchConfig} DotCMSFetchConfig
+ */
+export type DotCMSEditorConfig =
+    | {
+          params: DotCMSClientParams;
+      }
+    | {
+          query: string;
+      };
path: core-web/libs/sdk/uve/src/lib/types/editor/public.ts
user: login: rjvelazco
body: We'll deprecate this but for now:

```suggestion
export type DotCMSEditoConfig = { params: { depth: number } } | { query: string; };
```
created_at: 2025-03-19T18:53:58Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,25 @@
+type DotCMSMessageListenerCallback = (event: MessageEvent) => void;
+type DotCMSPointerListenerCallback = (event: PointerEvent) => void;
+
+/**
+ * Listener for the dotcms editor
+ *
+ * @interface DotCMSPageEditorListener
+ */
+interface DotCMSPageEditorListener {
path: core-web/libs/sdk/uve/src/lib/types/events/events.model.ts
user: login: rjvelazco
body: @KevinDavilaDotCMS I believe our `listeners` will be replaced by `createUVESubscription` in this ticket: https://github.com/dotCMS/core/pull/31516.

Could you add a comment like "Revisit to confirm if this is still needed in this PR"?
created_at: 2025-03-19T19:00:11Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,52 @@
+export type DotCMSInlineEditingEventType = 'BLOCK_EDITOR' | 'WYSIWYG';
+
+/**
+ * Interface representing the data needed for inline editing in DotCMS
+ *
+ * @interface DotCMSInlineEditorData
+ * @property {string} inode - The inode identifier of the content being edited
+ * @property {number} language - The language ID of the content
+ * @property {string} contentType - The content type identifier
+ * @property {string} fieldName - The name of the field being edited
+ * @property {Record<string, unknown>} content - The content data as key-value pairs
+ */
+export interface DotCMSInlineEditorData {
path: core-web/libs/sdk/uve/src/lib/types/events/public.ts
user: login: rjvelazco
body: ```suggestion
export interface DotCMSInlineEditingPayload {
```
created_at: 2025-03-19T19:01:20Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,52 @@
+export type DotCMSInlineEditingEventType = 'BLOCK_EDITOR' | 'WYSIWYG';
path: core-web/libs/sdk/uve/src/lib/types/events/public.ts
user: login: rjvelazco
body: ```suggestion
export type DotCMSInlineEditingType = 'BLOCK_EDITOR' | 'WYSIWYG';
```
created_at: 2025-03-19T19:01:39Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,55 @@
+import { DotClientActionType } from './public';
+
+declare global {
+    interface Window {
+        dotCMSUVE: DotCMSUVE;
+    }
+}
+
+/**
+ * Post message props
+ *
+ * @export
+ * @template T
+ * @interface DotCMSPostMessageProps
+ */
+type DotCMSPostMessageProps<T> = {
path: core-web/libs/sdk/uve/src/lib/types/client/client.model.ts
user: login: KevinDavilaDotCMS
body: I like the idea, but the SDK naming standards says to use the prefix "DotCMS", so i change it to  DotCMSUVEAction
created_at: 2025-03-19T20:38:33Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,55 @@
+import { DotClientActionType } from './public';
+
+declare global {
+    interface Window {
+        dotCMSUVE: DotCMSUVE;
+    }
+}
+
+/**
+ * Post message props
+ *
+ * @export
+ * @template T
+ * @interface DotCMSPostMessageProps
+ */
+type DotCMSPostMessageProps<T> = {
+    action: DotClientActionType;
+    payload?: T;
+};
+
+/**
+ * Post message to dotcms page editor
+ *
+ * @export
+ * @template T
+ * @param {DotCMSPostMessageProps<T>} message
+ */
+export function sendPostMessageToEditor<T = unknown>(message: DotCMSPostMessageProps<T>) {
+    window.parent.postMessage(message, '*');
+}
path: core-web/libs/sdk/uve/src/lib/types/client/client.model.ts
user: login: KevinDavilaDotCMS
body: I remove it, but this is the original `postMessageToEditor` but with other name
And if we use `DotCMSUVEAction`, probably the function name should be `sendActionToUVE`

thoughts? cc: @zJaaal @fmontes 
created_at: 2025-03-19T20:40:10Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,55 @@
+import { DotClientActionType } from './public';
+
+declare global {
+    interface Window {
+        dotCMSUVE: DotCMSUVE;
+    }
+}
+
+/**
+ * Post message props
+ *
+ * @export
+ * @template T
+ * @interface DotCMSPostMessageProps
+ */
+type DotCMSPostMessageProps<T> = {
path: core-web/libs/sdk/uve/src/lib/types/client/client.model.ts
user: login: KevinDavilaDotCMS
body: After read this comment: https://github.com/dotCMS/core/pull/31673#discussion_r2004016562
I think a better name for this is DotCMSUVEMessage

And inside, the action can be DotCMSUVEAction

export type DotCMSUVEMessage<T> = {
    action: DotCMSUVEAction;
    payload?: T;
}

created_at: 2025-03-19T20:46:52Z
author_association: MEMBER
diff_hunk: @@ -62,3 +64,50 @@ export type UVESubscription = {
  * @typedef {function} UVEEvent
  */
 export type UVEEvent = (callback: UVECallback) => UVESubscription;
+
+/**
+ * @description Union type for fetch configurations.
+ * @typedef {GraphQLFetchConfig | PageAPIFetchConfig} DotCMSFetchConfig
+ */
+export type DotCMSEditorConfig =
+    | {
+          params: DotCMSClientParams;
+      }
+    | {
+          query: string;
+      };
+
+/**
+ * Represents the configuration options for the DotCMS page editor.
+ * @export
+ * @interface DotCMSPageEditorConfig
+ */
+export interface DotCMSPageEditorConfig {
path: core-web/libs/sdk/uve/src/lib/types/editor/public.ts
user: login: KevinDavilaDotCMS
body: I remove this interface,  seems we won't need it
created_at: 2025-03-19T21:04:23Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,25 @@
+type DotCMSMessageListenerCallback = (event: MessageEvent) => void;
+type DotCMSPointerListenerCallback = (event: PointerEvent) => void;
+
+/**
+ * Listener for the dotcms editor
+ *
+ * @interface DotCMSPageEditorListener
+ */
+interface DotCMSPageEditorListener {
path: core-web/libs/sdk/uve/src/lib/types/events/events.model.ts
user: login: KevinDavilaDotCMS
body: Right, we dont need this anymore, i deleted it
created_at: 2025-03-19T22:07:03Z
author_association: MEMBER
diff_hunk: @@ -62,3 +62,12 @@ export type UVESubscription = {
  * @typedef {function} UVEEvent
  */
 export type UVEEvent = (callback: UVECallback) => UVESubscription;
+
+/**
+ * Configuration type for DotCMS Editor
+ * @typedef {Object} DotCMSEditoConfig
+ * @property {Object} [params] - Parameters for Page API configuration
+ * @property {number} [params.depth] - The depth level for fetching page data
+ * @property {string} [query] - GraphQL query string for data fetching
+ */
+export type DotCMSEditoConfig = { params: { depth: number } } | { query: string };
path: core-web/libs/sdk/uve/src/lib/types/editor/public.ts
user: login: Copilot
body: Typo in the type name 'DotCMSEditoConfig'; consider renaming it to 'DotCMSEditorConfig' to maintain consistency with the PR description and naming conventions.
```suggestion
export type DotCMSEditorConfig = { params: { depth: number } } | { query: string };
```
created_at: 2025-03-20T02:37:37Z
author_association: CONTRIBUTOR
path: core-web/libs/sdk/uve/src/lib/types/editor/editor.model.ts
user: login: zJaaal
body: Is this exposed to the devs?
created_at: 2025-03-20T15:02:28Z
author_association: MEMBER
diff_hunk: @@ -62,3 +62,12 @@ export type UVESubscription = {
  * @typedef {function} UVEEvent
  */
 export type UVEEvent = (callback: UVECallback) => UVESubscription;
+
+/**
+ * Configuration type for DotCMS Editor
+ * @typedef {Object} DotCMSEditoConfig
+ * @property {Object} [params] - Parameters for Page API configuration
+ * @property {number} [params.depth] - The depth level for fetching page data
+ * @property {string} [query] - GraphQL query string for data fetching
+ */
+export type DotCMSEditoConfig = { params: { depth: number } } | { query: string };
path: core-web/libs/sdk/uve/src/lib/types/editor/public.ts
user: login: zJaaal
body: Looks like we can use here the `DotCMSClientParams` type and maybe add another one for the `query` variant
created_at: 2025-03-20T15:03:32Z
author_association: MEMBER
diff_hunk: @@ -62,3 +62,12 @@ export type UVESubscription = {
  * @typedef {function} UVEEvent
  */
 export type UVEEvent = (callback: UVECallback) => UVESubscription;
+
+/**
+ * Configuration type for DotCMS Editor
+ * @typedef {Object} DotCMSEditoConfig
+ * @property {Object} [params] - Parameters for Page API configuration
+ * @property {number} [params.depth] - The depth level for fetching page data
+ * @property {string} [query] - GraphQL query string for data fetching
+ */
+export type DotCMSEditoConfig = { params: { depth: number } } | { query: string };
path: core-web/libs/sdk/uve/src/lib/types/editor/public.ts
user: login: rjvelazco
body: @kevindaviladev This is a good one
created_at: 2025-03-20T15:19:44Z
author_association: MEMBER
diff_hunk: @@ -62,3 +62,12 @@ export type UVESubscription = {
  * @typedef {function} UVEEvent
  */
 export type UVEEvent = (callback: UVECallback) => UVESubscription;
+
+/**
+ * Configuration type for DotCMS Editor
+ * @typedef {Object} DotCMSEditoConfig
+ * @property {Object} [params] - Parameters for Page API configuration
+ * @property {number} [params.depth] - The depth level for fetching page data
+ * @property {string} [query] - GraphQL query string for data fetching
+ */
+export type DotCMSEditoConfig = { params: { depth: number } } | { query: string };
path: core-web/libs/sdk/uve/src/lib/types/editor/public.ts
user: login: rjvelazco
body: We'll deprecate this config, @zJaaal. We should a config similar to the new `client.page.get()`
created_at: 2025-03-20T15:20:49Z
author_association: MEMBER
path: core-web/libs/sdk/uve/src/lib/types/editor/editor.model.ts
user: login: KevinDavilaDotCMS
body: Yes, in /internal
created_at: 2025-03-20T16:36:02Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,65 @@
+/**
+ * Actions send to the dotcms editor
+ *
+ * @export
+ * @enum {number}
+ */
+export enum DotCMSUveAction {
path: core-web/libs/sdk/uve/src/lib/types/client/public.ts
user: login: rjvelazco
body: ```suggestion
export enum DotCMSUVEAction {
```
created_at: 2025-03-20T18:40:20Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,21 @@
+/**
+ * @description Custom client parameters for fetching data.
+ */
+export type DotCMSClientParams = {
path: core-web/libs/sdk/uve/src/lib/types/editor/internal.ts
user: login: rjvelazco
body: To avoid confusion with `@dotcms/client` 

```suggestion
export type DotCMSCustomerParams = {
```
created_at: 2025-03-20T18:41:01Z
author_association: MEMBER

PR comments:
user: login: rjvelazco
created_at: 2025-03-19T16:13:12Z
body: Can you add a list/table of the names that have changed, @KevinDavilaDotCMS? If any, of course
author_association: MEMBER
user: login: KevinDavilaDotCMS
created_at: 2025-03-19T18:01:15Z
body: > Can you add a list/table of the names that have changed, @KevinDavilaDotCMS? If any, of course

Good idea! I just add that info
author_association: MEMBER