@dotcms/angular 0.0.1-beta.23 → 0.0.1-beta.25
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/esm2022/lib/deprecated/components/dot-editable-text/dot-editable-text.component.mjs +5 -5
- package/esm2022/lib/deprecated/layout/dotcms-layout/dotcms-layout.component.mjs +2 -2
- package/esm2022/next/components/dotcms-block-editor-renderer/blocks/contentlet.component.mjs +1 -1
- package/esm2022/next/components/dotcms-block-editor-renderer/blocks/image.component.mjs +1 -1
- package/esm2022/next/components/dotcms-block-editor-renderer/blocks/table.component.mjs +1 -1
- package/esm2022/next/components/dotcms-block-editor-renderer/blocks/text.component.mjs +1 -1
- package/esm2022/next/components/dotcms-block-editor-renderer/blocks/video.components.mjs +1 -1
- package/esm2022/next/components/dotcms-block-editor-renderer/dotcms-block-editor-renderer.component.mjs +2 -2
- package/esm2022/next/components/dotcms-block-editor-renderer/item/dotcms-block-editor-item.component.mjs +3 -3
- package/esm2022/next/components/dotcms-editable-text/dotcms-editable-text.component.mjs +4 -4
- package/esm2022/next/components/dotcms-layout-body/components/column/column.component.mjs +1 -1
- package/esm2022/next/components/dotcms-layout-body/components/container/container.component.mjs +1 -1
- package/esm2022/next/components/dotcms-layout-body/components/contentlet/contentlet.component.mjs +1 -1
- package/esm2022/next/components/dotcms-layout-body/components/fallback-component/fallback-component.component.mjs +1 -1
- package/esm2022/next/components/dotcms-layout-body/components/row/row.component.mjs +1 -1
- package/esm2022/next/components/dotcms-layout-body/dotcms-layout-body.component.mjs +1 -1
- package/esm2022/next/directives/dotcms-show-when/dotcms-show-when.directive.mjs +2 -2
- package/esm2022/next/models/index.mjs +1 -1
- package/esm2022/next/store/dotcms.store.mjs +2 -2
- package/fesm2022/dotcms-angular-next.mjs +5 -4
- package/fesm2022/dotcms-angular-next.mjs.map +1 -1
- package/fesm2022/dotcms-angular.mjs +5 -5
- package/fesm2022/dotcms-angular.mjs.map +1 -1
- package/lib/deprecated/components/dot-editable-text/dot-editable-text.component.d.ts +6 -6
- package/lib/deprecated/components/dot-editable-text/dot-editable-text.component.d.ts.map +1 -1
- package/next/components/dotcms-block-editor-renderer/blocks/contentlet.component.d.ts +3 -3
- package/next/components/dotcms-block-editor-renderer/blocks/contentlet.component.d.ts.map +1 -1
- package/next/components/dotcms-block-editor-renderer/blocks/image.component.d.ts +2 -2
- package/next/components/dotcms-block-editor-renderer/blocks/image.component.d.ts.map +1 -1
- package/next/components/dotcms-block-editor-renderer/blocks/table.component.d.ts +2 -2
- package/next/components/dotcms-block-editor-renderer/blocks/table.component.d.ts.map +1 -1
- package/next/components/dotcms-block-editor-renderer/blocks/text.component.d.ts +3 -3
- package/next/components/dotcms-block-editor-renderer/blocks/text.component.d.ts.map +1 -1
- package/next/components/dotcms-block-editor-renderer/blocks/video.components.d.ts +2 -2
- package/next/components/dotcms-block-editor-renderer/blocks/video.components.d.ts.map +1 -1
- package/next/components/dotcms-block-editor-renderer/dotcms-block-editor-renderer.component.d.ts +3 -3
- package/next/components/dotcms-block-editor-renderer/dotcms-block-editor-renderer.component.d.ts.map +1 -1
- package/next/components/dotcms-block-editor-renderer/item/dotcms-block-editor-item.component.d.ts +4 -4
- package/next/components/dotcms-block-editor-renderer/item/dotcms-block-editor-item.component.d.ts.map +1 -1
- package/next/components/dotcms-editable-text/dotcms-editable-text.component.d.ts +3 -3
- package/next/components/dotcms-editable-text/dotcms-editable-text.component.d.ts.map +1 -1
- package/next/components/dotcms-layout-body/components/column/column.component.d.ts +1 -1
- package/next/components/dotcms-layout-body/components/column/column.component.d.ts.map +1 -1
- package/next/components/dotcms-layout-body/components/container/container.component.d.ts +3 -2
- package/next/components/dotcms-layout-body/components/container/container.component.d.ts.map +1 -1
- package/next/components/dotcms-layout-body/components/contentlet/contentlet.component.d.ts +4 -3
- package/next/components/dotcms-layout-body/components/contentlet/contentlet.component.d.ts.map +1 -1
- package/next/components/dotcms-layout-body/components/fallback-component/fallback-component.component.d.ts +2 -2
- package/next/components/dotcms-layout-body/components/fallback-component/fallback-component.component.d.ts.map +1 -1
- package/next/components/dotcms-layout-body/components/row/row.component.d.ts +1 -1
- package/next/components/dotcms-layout-body/components/row/row.component.d.ts.map +1 -1
- package/next/components/dotcms-layout-body/dotcms-layout-body.component.d.ts +1 -1
- package/next/components/dotcms-layout-body/dotcms-layout-body.component.d.ts.map +1 -1
- package/next/directives/dotcms-show-when/dotcms-show-when.directive.d.ts +1 -1
- package/next/directives/dotcms-show-when/dotcms-show-when.directive.d.ts.map +1 -1
- package/next/models/index.d.ts +1 -1
- package/next/models/index.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dotcms-angular.mjs","sources":["../../../../../libs/sdk/angular/src/lib/deprecated/components/dot-editable-text/utils.ts","../../../../../libs/sdk/angular/src/lib/deprecated/components/dot-editable-text/dot-editable-text.component.ts","../../../../../libs/sdk/angular/src/lib/deprecated/components/dot-editable-text/dot-editable-text.component.html","../../../../../libs/sdk/angular/src/lib/deprecated/services/dotcms-context/page-context.service.ts","../../../../../libs/sdk/angular/src/lib/deprecated/utils/index.ts","../../../../../libs/sdk/angular/src/lib/deprecated/components/no-component/no-component.component.ts","../../../../../libs/sdk/angular/src/lib/deprecated/layout/contentlet/contentlet.component.ts","../../../../../libs/sdk/angular/src/lib/deprecated/layout/container/container.component.ts","../../../../../libs/sdk/angular/src/lib/deprecated/layout/container/container.component.html","../../../../../libs/sdk/angular/src/lib/deprecated/layout/column/column.component.ts","../../../../../libs/sdk/angular/src/lib/deprecated/layout/row/row.component.ts","../../../../../libs/sdk/angular/src/lib/deprecated/layout/dotcms-layout/dotcms-layout.component.ts","../../../../../libs/sdk/angular/src/lib/deprecated/models/dotcms.model.ts","../../../../../libs/sdk/angular/src/lib/deprecated/models/index.ts","../../../../../libs/sdk/angular/src/lib/deprecated/utils/image_loader.ts","../../../../../libs/sdk/angular/src/lib/deprecated/deprecated-api.ts","../../../../../libs/sdk/angular/src/dotcms-angular.ts"],"sourcesContent":["import { EditorComponent } from '@tinymce/tinymce-angular';\n\nexport type DOT_EDITABLE_TEXT_MODE = 'minimal' | 'full' | 'plain';\n\nexport type DOT_EDITABLE_TEXT_FORMAT = 'html' | 'text';\n\nconst DEFAULT_TINYMCE_CONFIG: EditorComponent['init'] = {\n menubar: false,\n inline: true,\n valid_styles: {\n '*': 'font-size,font-family,color,text-decoration,text-align'\n },\n powerpaste_word_import: 'clean',\n powerpaste_html_import: 'clean',\n suffix: '.min', // Suffix to use when loading resources\n license_key: 'gpl'\n};\n\nexport const TINYMCE_CONFIG: {\n [key in DOT_EDITABLE_TEXT_MODE]: EditorComponent['init'];\n} = {\n minimal: {\n ...DEFAULT_TINYMCE_CONFIG,\n plugins: 'link autolink',\n toolbar: 'bold italic underline | link',\n valid_elements: 'strong,em,span[style],a[href]'\n },\n full: {\n ...DEFAULT_TINYMCE_CONFIG,\n plugins: 'link lists autolink charmap',\n style_formats: [\n { title: 'Paragraph', format: 'p' },\n { title: 'Header 1', format: 'h1' },\n { title: 'Header 2', format: 'h2' },\n { title: 'Header 3', format: 'h3' },\n { title: 'Header 4', format: 'h4' },\n { title: 'Header 5', format: 'h5' },\n { title: 'Header 6', format: 'h6' },\n { title: 'Pre', format: 'pre' },\n { title: 'Code', format: 'code' }\n ],\n toolbar: [\n 'styleselect undo redo | bold italic underline | forecolor backcolor | alignleft aligncenter alignright alignfull | numlist bullist outdent indent | hr charmap removeformat | link'\n ]\n },\n plain: {\n ...DEFAULT_TINYMCE_CONFIG,\n plugins: '',\n toolbar: ''\n }\n};\n","import { EditorComponent, TINYMCE_SCRIPT_SRC } from '@tinymce/tinymce-angular';\nimport { EventObj } from '@tinymce/tinymce-angular/editor/Events';\n\nimport {\n Component,\n ElementRef,\n HostListener,\n inject,\n Input,\n OnChanges,\n OnInit,\n Renderer2,\n SecurityContext,\n ViewChild\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport {\n CLIENT_ACTIONS,\n DotCmsClient,\n isInsideEditor,\n NOTIFY_CLIENT,\n postMessageToEditor\n} from '@dotcms/client';\n\nimport { TINYMCE_CONFIG, DOT_EDITABLE_TEXT_FORMAT, DOT_EDITABLE_TEXT_MODE } from './utils';\n\nimport { DotCMSContentlet } from '../../models';\n\n/**\n * @deprecated This component is deprecated and will be removed in future versions.\n * Please use the new Rich Text Editor component from the main SDK.\n * For more information, refer to the migration guide in the documentation.\n *\n * Dot editable text component.\n * This component is responsible to render a text field that can be edited inline.\n *\n * @export\n * @class DotEditableTextComponent\n * @implements {OnInit}\n * @implements {OnChanges}\n */\n@Component({\n selector: 'dot-editable-text',\n standalone: true,\n templateUrl: './dot-editable-text.component.html',\n styleUrl: './dot-editable-text.component.css',\n imports: [EditorComponent],\n providers: [\n {\n provide: TINYMCE_SCRIPT_SRC,\n useFactory: () => {\n return `${DotCmsClient.dotcmsUrl}/ext/tinymcev7/tinymce.min.js`;\n }\n }\n ]\n})\nexport class DotEditableTextComponent implements OnInit, OnChanges {\n @ViewChild(EditorComponent) editorComponent!: EditorComponent;\n\n /**\n * Represents the mode of the editor which can be `plain`, `minimal`, or `full`\n *\n * @type {DOT_EDITABLE_TEXT_MODE}\n * @memberof DotEditableTextComponent\n */\n @Input() mode: DOT_EDITABLE_TEXT_MODE = 'plain';\n /**\n * Represents the format of the editor which can be `text` or `html`\n *\n * @type {DOT_EDITABLE_TEXT_FORMAT}\n * @memberof DotEditableTextComponent\n */\n @Input() format: DOT_EDITABLE_TEXT_FORMAT = 'text';\n /**\n * Represents the `contentlet` that can be inline edited\n *\n * @type {DotCMSContentlet}\n * @memberof DotEditableTextComponent\n */\n @Input() contentlet!: DotCMSContentlet;\n /**\n * Represents the field name of the `contentlet` that can be edited\n *\n * @memberof DotEditableTextComponent\n */\n @Input() fieldName = '';\n\n /**\n * Represents the content of the `contentlet` that can be edited\n *\n * @protected\n * @memberof DotEditableTextComponent\n */\n protected content = '';\n /**\n * Represents the configuration of the editor\n *\n * @protected\n * @type {EditorComponent['init']}\n * @memberof DotEditableTextComponent\n */\n protected init!: EditorComponent['init'];\n /**\n * Represents if the component is inside the editor\n *\n * @protected\n * @type {boolean}\n * @memberof DotEditableTextComponent\n */\n protected isInsideEditor!: boolean;\n\n readonly #sanitizer = inject<DomSanitizer>(DomSanitizer);\n readonly #renderer = inject<Renderer2>(Renderer2);\n readonly #elementRef = inject<ElementRef>(ElementRef);\n\n /**\n * The TinyMCE editor\n *\n * @readonly\n * @memberof DotEditableTextComponent\n */\n get editor() {\n return this.editorComponent?.editor;\n }\n\n /**\n * Returns the number of pages the contentlet is on\n *\n * @readonly\n * @memberof DotEditableTextComponent\n */\n get onNumberOfPages() {\n return this.contentlet['onNumberOfPages'] || 1;\n }\n\n /**\n * Handle copy contentlet inline editing success event\n *\n * @param {MessageEvent} { data }\n * @return {*}\n * @memberof DotEditableTextComponent\n */\n @HostListener('window:message', ['$event'])\n onMessage({ data }: MessageEvent) {\n const { name, payload } = data;\n if (name !== NOTIFY_CLIENT.UVE_COPY_CONTENTLET_INLINE_EDITING_SUCCESS) {\n return;\n }\n\n const { oldInode, inode } = payload;\n const currentInode = this.contentlet.inode;\n\n if (currentInode === oldInode || currentInode === inode) {\n this.editorComponent.editor.focus();\n\n return;\n }\n }\n\n ngOnInit() {\n this.isInsideEditor = isInsideEditor();\n\n if (!this.isInsideEditor) {\n this.innerHTMLToElement();\n\n return;\n }\n\n this.init = {\n ...TINYMCE_CONFIG[this.mode],\n base_url: `${DotCmsClient.dotcmsUrl}/ext/tinymcev7`\n };\n }\n\n ngOnChanges() {\n this.content = this.contentlet[this.fieldName] || '';\n if (this.editor) {\n this.editor.setContent(this.content, { format: this.format });\n }\n }\n\n /**\n * Handle mouse down event\n *\n * @param {EventObj<MouseEvent>} { event }\n * @return {*}\n * @memberof DotEditableTextComponent\n */\n onMouseDown({ event }: EventObj<MouseEvent>) {\n if (this.onNumberOfPages <= 1 || this.editorComponent.editor.hasFocus()) {\n return;\n }\n\n const { inode, languageId: language } = this.contentlet;\n\n event.stopPropagation();\n event.preventDefault();\n\n try {\n postMessageToEditor({\n action: CLIENT_ACTIONS.COPY_CONTENTLET_INLINE_EDITING,\n payload: {\n dataset: {\n inode,\n language,\n fieldName: this.fieldName\n }\n }\n });\n } catch (error) {\n console.error('Failed to post message to editor:', error);\n }\n }\n /**\n * Handle focus out event\n *\n * @return {*}\n * @memberof DotEditableTextComponent\n */\n onFocusOut() {\n const content = this.editor.getContent({ format: this.format });\n\n if (!this.editor.isDirty() || !this.didContentChange(content)) {\n return;\n }\n\n const { inode, languageId: langId } = this.contentlet;\n\n try {\n postMessageToEditor({\n action: CLIENT_ACTIONS.UPDATE_CONTENTLET_INLINE_EDITING,\n payload: {\n content,\n dataset: {\n inode,\n langId,\n fieldName: this.fieldName\n }\n }\n });\n } catch (error) {\n console.error('Failed to post message to editor:', error);\n }\n }\n\n /**\n * inner HTML to element\n *\n * @private\n * @param {string} editedContent\n * @return {*}\n * @memberof DotEditableTextComponent\n */\n private innerHTMLToElement() {\n const element = this.#elementRef.nativeElement;\n const safeHtml = this.#sanitizer.bypassSecurityTrustHtml(this.content);\n const content = this.#sanitizer.sanitize(SecurityContext.HTML, safeHtml) || '';\n\n this.#renderer.setProperty(element, 'innerHTML', content);\n }\n\n /**\n * Check if the content has changed\n *\n * @private\n * @param {string} editedContent\n * @return {*}\n * @memberof DotEditableTextComponent\n */\n private didContentChange(editedContent: string) {\n return this.content !== editedContent;\n }\n}\n","@if (isInsideEditor) {\n <editor\n #tinyEditor\n [init]=\"init\"\n [initialValue]=\"content\"\n (onMouseDown)=\"onMouseDown($event)\"\n (onFocusOut)=\"onFocusOut()\" />\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\n\nimport { Injectable } from '@angular/core';\n\nimport { map } from 'rxjs/operators';\n\nimport { isInsideEditor } from '@dotcms/client';\n\nimport { DotCMSPageComponent, DotCMSPageContext } from '../../models';\nimport { DotCMSPageAsset } from '../../models/dotcms.model';\n\n/**\n * @deprecated This service is deprecated and will be removed in future versions.\n * Please use the new Page Context service from the main SDK.\n * For more information, refer to the migration guide in the documentation.\n *\n * @author dotCMS\n * @description This service is responsible for managing the page context.\n * @export\n * @class PageContextService\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class PageContextService {\n private context$ = new BehaviorSubject<DotCMSPageContext | null>(null);\n\n /**\n * @description Get the context\n * @readonly\n * @type {DotCMSPageContext}\n * @memberof PageContextService\n */\n get context(): DotCMSPageContext {\n return this.context$.getValue() as DotCMSPageContext;\n }\n\n /**\n * @description Get the context as an observable\n * @readonly\n * @memberof PageContextService\n */\n get contextObs$() {\n return this.context$.asObservable();\n }\n\n /**\n * @description Get the current page asset\n * @readonly\n * @type {(Observable<DotCMSPageAsset | null>)}\n * @memberof PageContextService\n */\n get currentPage$(): Observable<DotCMSPageAsset | null> {\n return this.contextObs$.pipe(map((context) => context?.pageAsset || null));\n }\n\n /**\n *\n * @description Set the context\n * @param {DotCMSPageAsset} value\n * @memberof DotcmsContextService\n */\n setContext(pageAsset: DotCMSPageAsset, components: DotCMSPageComponent) {\n this.context$.next({\n pageAsset,\n components,\n isInsideEditor: isInsideEditor()\n });\n }\n\n /**\n * @description Set the page asset in the context\n * @param {DotCMSPageAsset} pageAsset\n * @memberof PageContextService\n */\n setPageAsset(pageAsset: DotCMSPageAsset) {\n this.context$.next({\n ...this.context,\n pageAsset\n });\n }\n}\n","import { DotCMSContainer, DotCMSPageAssetContainer } from '../models/dotcms.model';\n\n//Changed the type, to avoid SQ issue.\n//This should be put inside a lib\n/**\n * Represents a mapping of numbers to corresponding CSS class names for column end values.\n * @typedef {Record<number, string | null>} EndClassMap\n */\nconst endClassMap: Record<number, string | null> = {\n 1: 'col-end-1',\n 2: 'col-end-2',\n 3: 'col-end-3',\n 4: 'col-end-4',\n 5: 'col-end-5',\n 6: 'col-end-6',\n 7: 'col-end-7',\n 8: 'col-end-8',\n 9: 'col-end-9',\n 10: 'col-end-10',\n 11: 'col-end-11',\n 12: 'col-end-12',\n 13: 'col-end-13'\n};\n\n//Changed the type, to avoid SQ issue.\n//This should be put inside a lib\n/**\n * Represents a mapping of numbers to CSS class names for starting columns.\n * @typedef {Record<number, string | null>} StartClassMap\n */\nconst startClassMap: Record<number, string | null> = {\n 1: 'col-start-1',\n 2: 'col-start-2',\n 3: 'col-start-3',\n 4: 'col-start-4',\n 5: 'col-start-5',\n 6: 'col-start-6',\n 7: 'col-start-7',\n 8: 'col-start-8',\n 9: 'col-start-9',\n 10: 'col-start-10',\n 11: 'col-start-11',\n 12: 'col-start-12'\n};\n\n/**\n * Retrieves the data for a set of containers.\n *\n * @param containers - The DotCMSPageAssetContainer object containing the containers.\n * @param containerRef - The DotCMSContainer object representing the container reference.\n * @returns An object containing the container data, accept types, contentlets, and variant ID.\n */\nexport const getContainersData = (\n containers: DotCMSPageAssetContainer,\n containerRef: DotCMSContainer\n) => {\n const { identifier, uuid } = containerRef;\n\n const { containerStructures, container } = containers[identifier];\n\n const { variantId } = container?.parentPermissionable || {};\n\n const acceptTypes: string = containerStructures\n .map((structure) => structure.contentTypeVar)\n .join(',');\n\n // Get the contentlets for \"this\" container\n const contentlets =\n containers[identifier].contentlets[`uuid-${uuid}`] ??\n containers[identifier].contentlets[`uuid-dotParser_${uuid}`];\n\n if (!contentlets) {\n console.warn(\n `We couldn't find the contentlets for the container with the identifier ${identifier} and the uuid ${uuid} becareful by adding content to this container.\\nWe recommend to change the container in the layout and add the content again.`\n );\n }\n\n return {\n ...containers[identifier].container,\n acceptTypes,\n contentlets: contentlets ?? [],\n variantId\n };\n};\n\n/**\n * Returns the position style classes based on the start and end values.\n * Used to set the grid column start and end values.\n * @param start - The start value.\n * @param end - The end value.\n * @returns An object containing the startClass and endClass.\n */\nexport const getPositionStyleClasses = (start: number, end: number) => {\n const startClass = startClassMap[start];\n const endClass = endClassMap[end];\n\n return {\n startClass,\n endClass\n };\n};\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\nimport { DotCMSContentlet } from '../../models';\n\n/**\n * This component is responsible to display a message when there is no component for a contentlet.\n *\n * @export\n * @class NoComponent\n */\n@Component({\n selector: 'dotcms-no-component',\n standalone: true,\n template: `\n No Component for {{ contentlet.contentType }}\n `,\n styleUrl: './no-component.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NoComponent {\n /**\n * The contentlet object containing content data.\n * The component displays a message based on the content type of this contentlet.\n */\n @Input() contentlet!: DotCMSContentlet;\n\n /**\n * The data-testid attribute used for identifying the component during testing.\n */\n @HostBinding('attr.data-testid') testId = 'no-component';\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnChanges } from '@angular/core';\n\nimport { DotCMSContentlet } from '../../models';\n\n/**\n * This component is responsible to display a contentlet.\n *\n * @export\n * @class ContentletComponent\n * @implements {OnChanges}\n */\n@Component({\n selector: 'dotcms-contentlet-wrapper',\n standalone: true,\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContentletComponent implements OnChanges {\n /**\n * The contentlet object containing content data.\n *\n * @type {DotCMSContentlet}\n * @memberof ContentletComponent\n */\n @Input({ required: true }) contentlet!: DotCMSContentlet;\n /**\n * The container data (as string) where the contentlet is located.\n *\n * @type {string}\n * @memberof ContentletComponent\n */\n @Input() container!: string;\n\n /**\n * The identifier of contentlet component.\n *\n * @type {(string | null)}\n * @memberof ContentletComponent\n */\n @HostBinding('attr.data-dot-identifier') identifier: string | null = null;\n /**\n * The base type of contentlet component.\n *\n * @type {(string | null)}\n * @memberof ContentletComponent\n */\n @HostBinding('attr.data-dot-basetype') baseType: string | null = null;\n /**\n * The title of contentlet component.\n *\n * @type {(string | null)}\n * @memberof ContentletComponent\n */\n @HostBinding('attr.data-dot-title') title: string | null = null;\n /**\n * The inode of contentlet component.\n *\n * @type {(string | null)}\n * @memberof ContentletComponent\n */\n @HostBinding('attr.data-dot-inode') inode: string | null = null;\n /**\n * The type of contentlet component.\n *\n * @type {(string | null)}\n * @memberof ContentletComponent\n */\n @HostBinding('attr.data-dot-type') dotType: string | null = null;\n /**\n * The container of contentlet component.\n *\n * @type {(string | null)}\n * @memberof ContentletComponent\n */\n @HostBinding('attr.data-dot-container') dotContainer: string | null = null;\n /**\n * The number of pages where the contentlet appears\n *\n * @type {(string | null)}\n * @memberof ContentletComponent\n */\n @HostBinding('attr.data-dot-on-number-of-pages') numberOfPages: string | null = null;\n /**\n * The content of contentlet component.\n *\n * @type {(string | null)}\n * @memberof ContentletComponent\n */\n @HostBinding('attr.data-dot-object') dotContent: string | null = null;\n\n ngOnChanges() {\n this.identifier = this.contentlet.identifier;\n this.baseType = this.contentlet.baseType;\n this.title = this.contentlet.title;\n this.inode = this.contentlet.inode;\n this.dotType = this.contentlet.contentType;\n this.dotContainer = this.container;\n this.numberOfPages = this.contentlet['onNumberOfPages'];\n this.dotContent = 'contentlet';\n }\n}\n","import { AsyncPipe, NgComponentOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n OnChanges,\n computed,\n inject,\n signal\n} from '@angular/core';\n\nimport { NoComponent } from '../../components/no-component/no-component.component';\nimport { DynamicComponentEntity } from '../../models';\nimport { DotCMSContainer, DotCMSContentlet } from '../../models/dotcms.model';\nimport { PageContextService } from '../../services/dotcms-context/page-context.service';\nimport { getContainersData } from '../../utils';\nimport { ContentletComponent } from '../contentlet/contentlet.component';\n\ninterface DotContainer {\n acceptTypes: string;\n identifier: string;\n maxContentlets: number;\n uuid: string;\n variantId?: string;\n}\n\n/**\n * This component is responsible to display a container with contentlets.\n *\n * @export\n * @class ContainerComponent\n * @implements {OnChanges}\n */\n@Component({\n selector: 'dotcms-container',\n standalone: true,\n imports: [AsyncPipe, NgComponentOutlet, NoComponent, ContentletComponent],\n templateUrl: './container.component.html',\n styleUrl: './container.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContainerComponent implements OnChanges {\n /**\n * The container object containing the contentlets.\n *\n * @type {DotCMSContainer}\n * @memberof ContainerComponent\n */\n @Input({ required: true }) container!: DotCMSContainer;\n\n private readonly pageContextService: PageContextService = inject(PageContextService);\n protected readonly NoComponent = NoComponent;\n protected readonly $isInsideEditor = signal<boolean>(false);\n\n protected componentsMap!: Record<string, DynamicComponentEntity>;\n protected $contentlets = signal<DotCMSContentlet[]>([]);\n protected $dotContainer = signal<DotContainer | null>(null);\n protected $dotContainerAsString = computed(() => JSON.stringify(this.$dotContainer()));\n\n /**\n * The accept types for the container component.\n *\n * @type {(string | null)}\n * @memberof ContainerComponent\n */\n @HostBinding('attr.data-dot-accept-types') acceptTypes: string | null = null;\n\n /**\n * The identifier for the container component.\n *\n * @type {(string | null)}\n * @memberof ContainerComponent\n */\n @HostBinding('attr.data-dot-identifier') identifier: string | null = null;\n /**\n * The max contentlets for the container component.\n *\n * @type {(number | null)}\n * @memberof ContainerComponent\n */\n @HostBinding('attr.data-max-contentlets') maxContentlets: number | null = null;\n /**\n * The uuid for the container component.\n *\n * @type {(string | null)}\n * @memberof ContainerComponent\n */\n @HostBinding('attr.data-dot-uuid') uuid: string | null = null;\n /**\n * The class for the container component.\n *\n * @type {(string | null)}\n * @memberof ContainerComponent\n */\n @HostBinding('class') class: string | null = null;\n /**\n * The dot object for the container component.\n *\n * @type {(string | null)}\n * @memberof ContainerComponent\n */\n @HostBinding('attr.data-dot-object') dotObject: string | null = null;\n /**\n * The data-testid attribute used for identifying the component during testing.\n *\n * @memberof ContainerComponent\n */\n @HostBinding('attr.data-testid') testId = 'dot-container';\n\n ngOnChanges() {\n const { pageAsset, components, isInsideEditor } = this.pageContextService.context;\n const { acceptTypes, maxContentlets, variantId, path, contentlets } = getContainersData(\n pageAsset.containers,\n this.container\n );\n const { identifier, uuid } = this.container;\n\n this.componentsMap = components;\n\n this.$isInsideEditor.set(isInsideEditor);\n this.$contentlets.set(contentlets);\n this.$dotContainer.set({\n identifier: path ?? identifier,\n acceptTypes,\n maxContentlets,\n variantId,\n uuid\n });\n\n if (this.$isInsideEditor()) {\n this.acceptTypes = acceptTypes;\n this.identifier = identifier;\n this.maxContentlets = maxContentlets;\n this.uuid = uuid;\n this.class = this.$contentlets().length ? null : 'empty-container';\n this.dotObject = 'container';\n }\n }\n}\n","@if ($isInsideEditor()) {\n @if ($contentlets().length) {\n @for (contentlet of $contentlets(); track $index) {\n <dotcms-contentlet-wrapper\n [contentlet]=\"contentlet\"\n [container]=\"$dotContainerAsString()\">\n <ng-container\n *ngComponentOutlet=\"\n (componentsMap[contentlet.contentType] || componentsMap['CustomNoComponent']\n | async) || NoComponent;\n inputs: { contentlet }\n \" />\n </dotcms-contentlet-wrapper>\n }\n } @else {\n This container is empty.\n }\n} @else {\n @for (contentlet of $contentlets(); track $index) {\n <ng-container\n *ngComponentOutlet=\"\n componentsMap[contentlet.contentType] | async;\n inputs: { contentlet }\n \" />\n }\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit } from '@angular/core';\n\nimport { DotPageAssetLayoutColumn } from '../../models';\nimport { getPositionStyleClasses } from '../../utils';\nimport { ContainerComponent } from '../container/container.component';\n\n/**\n * This component is responsible to display a column with containers.\n *\n * @export\n * @class ColumnComponent\n * @implements {OnInit}\n */\n@Component({\n selector: 'dotcms-column',\n standalone: true,\n imports: [ContainerComponent],\n template: `\n @for (container of column.containers; track $index) {\n <dotcms-container [container]=\"container\" />\n }\n `,\n styleUrl: './column.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ColumnComponent implements OnInit {\n /**\n * The column object containing the containers.\n *\n * @type {DotPageAssetLayoutColumn}\n * @memberof ColumnComponent\n */\n @Input() column!: DotPageAssetLayoutColumn;\n\n /**\n * The data-testid attribute used for identifying the component during testing.\n *\n * @memberof ColumnComponent\n */\n @HostBinding('class') containerClasses = '';\n\n ngOnInit() {\n const { startClass, endClass } = getPositionStyleClasses(\n this.column.leftOffset,\n this.column.width + this.column.leftOffset\n );\n this.containerClasses = `${startClass} ${endClass}`;\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { DotPageAssetLayoutRow } from '../../models';\nimport { ColumnComponent } from '../column/column.component';\n\n/**\n * This component is responsible to display a row with columns.\n *\n * @export\n * @class RowComponent\n */\n@Component({\n selector: 'dotcms-row',\n standalone: true,\n imports: [ColumnComponent],\n template: `\n @for (column of row.columns; track $index) {\n <dotcms-column [column]=\"column\" />\n }\n `,\n styleUrl: './row.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RowComponent {\n /**\n * The row object containing the columns.\n *\n * @type {DotPageAssetLayoutRow}\n * @memberof RowComponent\n */\n @Input({ required: true }) row!: DotPageAssetLayoutRow;\n}\n","import { AsyncPipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n Input,\n OnInit,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute } from '@angular/router';\n\nimport {\n CLIENT_ACTIONS,\n DotCmsClient,\n EditorConfig,\n initEditor,\n isInsideEditor,\n postMessageToEditor,\n updateNavigation\n} from '@dotcms/client';\nimport { createUVESubscription } from '@dotcms/uve';\nimport { UVEEventSubscription, UVEEventType } from '@dotcms/uve/types';\n\nimport { DotCMSPageComponent } from '../../models';\nimport { DotCMSPageAsset } from '../../models/dotcms.model';\nimport { PageContextService } from '../../services/dotcms-context/page-context.service';\nimport { RowComponent } from '../row/row.component';\n\n/**\n * @deprecated This component is deprecated and will be removed in future versions.\n * Please use the new Page Layout component from the main SDK.\n * For more information, refer to the migration guide in the documentation.\n *\n * `DotcmsLayoutComponent` is a class that represents the layout for a DotCMS page.\n * It includes a `pageAsset` property that represents the DotCMS page asset and a `components` property that represents the dynamic components for the page.\n *\n * @export\n * @class DotcmsLayoutComponent\n */\n@Component({\n selector: 'dotcms-layout',\n standalone: true,\n imports: [RowComponent, AsyncPipe],\n template: `\n @if (pageAsset$ | async; as page) {\n @for (row of page?.layout?.body?.rows; track $index) {\n <dotcms-row [row]=\"row\" />\n }\n }\n `,\n styleUrl: './dotcms-layout.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DotcmsLayoutComponent implements OnInit {\n private _pageAsset!: DotCMSPageAsset;\n\n /**\n * Represents the DotCMS page asset.\n *\n * @type {DotCMSPageAsset}\n * @memberof DotcmsLayoutComponent\n */\n @Input({ required: true })\n set pageAsset(value: DotCMSPageAsset) {\n this._pageAsset = value;\n if (!value.layout) {\n console.warn(\n 'Warning: pageAsset does not have a `layout` property. Might be using an advaced template or your dotCMS instance not have a enterprise license.'\n );\n }\n }\n\n /**\n * Returns the DotCMS page asset.\n *\n * @readonly\n * @type {DotCMSPageAsset}\n * @memberof DotcmsLayoutComponent\n */\n get pageAsset(): DotCMSPageAsset {\n return this._pageAsset;\n }\n\n /**\n * The `components` property is a record of dynamic components for each Contentlet on the page.\n *\n * @type {DotCMSPageComponent}\n * @memberof DotcmsLayoutComponent\n * @required\n */\n @Input({ required: true }) components!: DotCMSPageComponent;\n\n /**\n * The `onReload` property is a function that reloads the page after changes are made.\n *\n * @memberof DotcmsLayoutComponent\n * @deprecated In future implementation we will be listening for the changes from the editor to update the page state so reload will not be needed.\n */\n @Input() onReload!: () => void;\n\n /**\n *\n * @type {DotCMSFetchConfig}\n * @memberof DotCMSPageEditorConfig\n * @description The configuration custom params for data fetching on Edit Mode.\n * @example <caption>Example with Custom GraphQL query</caption>\n * <dotcms-layout [editor]=\"{ query: 'query { ... }' }\"/>\n *\n * @example <caption>Example usage with Custom Page API parameters</caption>\n * <dotcms-layout [editor]=\"{ params: { depth: '2' } }\"/>;\n */\n @Input() editor!: EditorConfig;\n\n private readonly route = inject(ActivatedRoute);\n private readonly pageContextService = inject(PageContextService);\n private readonly destroyRef$ = inject(DestroyRef);\n private client!: DotCmsClient;\n protected readonly pageAsset$ = this.pageContextService.currentPage$;\n\n private uveSubscription?: UVEEventSubscription;\n\n ngOnInit() {\n this.pageContextService.setContext(this.pageAsset, this.components);\n\n if (!isInsideEditor()) {\n return;\n }\n\n this.client = DotCmsClient.instance;\n this.route.url.pipe(takeUntilDestroyed(this.destroyRef$)).subscribe((urlSegments) => {\n const pathname = '/' + urlSegments.join('/');\n\n initEditor({ pathname });\n updateNavigation(pathname || '/');\n });\n\n this.uveSubscription = createUVESubscription(UVEEventType.CONTENT_CHANGES, (data) => {\n if (this.onReload) {\n this.onReload();\n\n return;\n }\n\n this.pageContextService.setPageAsset(data as unknown as DotCMSPageAsset);\n });\n\n postMessageToEditor({ action: CLIENT_ACTIONS.CLIENT_READY, payload: this.editor });\n }\n\n ngOnDestroy() {\n if (!isInsideEditor()) {\n return;\n }\n\n this.uveSubscription?.unsubscribe();\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport interface DotCMSPageAsset {\n canCreateTemplate: boolean;\n containers: DotCMSPageAssetContainer;\n layout: DotCMSLayout;\n page: DotCMSPage;\n site: DotCMSSite;\n template: DotCMSTemplate;\n viewAs: DotCMSViewAs;\n vanityUrl?: {\n pattern: string;\n vanityUrlId: string;\n url: string;\n siteId: string;\n languageId: number;\n forwardTo: string;\n response: number;\n order: number;\n temporaryRedirect: boolean;\n permanentRedirect: boolean;\n forward: boolean;\n };\n}\n\nexport interface DotPageAssetLayoutRow {\n identifier: number;\n value?: string;\n id?: string;\n columns: DotPageAssetLayoutColumn[];\n styleClass?: string;\n}\n\nexport interface DotPageAssetLayoutColumn {\n preview: boolean;\n containers: DotCMSContainer[];\n widthPercent: number;\n width: number;\n leftOffset: number;\n left: number;\n styleClass?: string;\n}\n\nexport interface DotCMSPageAssetContainer {\n [key: string]: {\n container: DotCMSContainer;\n containerStructures: DotCMSContainerStructure[];\n contentlets: {\n [key: string]: DotCMSContentlet[];\n };\n };\n}\n\nexport interface DotCMSContainer {\n identifier: string;\n uuid: string;\n iDate: number;\n type: string;\n owner?: string;\n inode: string;\n source: string;\n title: string;\n friendlyName: string;\n modDate: number;\n modUser: string;\n sortOrder: number;\n showOnMenu: boolean;\n code?: string;\n maxContentlets: number;\n useDiv: boolean;\n sortContentletsBy?: string;\n preLoop: string;\n postLoop: string;\n staticify: boolean;\n luceneQuery?: string;\n notes: string;\n languageId?: number;\n path?: string;\n live: boolean;\n locked: boolean;\n working: boolean;\n deleted: boolean;\n name: string;\n archived: boolean;\n permissionId: string;\n versionId: string;\n versionType: string;\n permissionType: string;\n categoryId: string;\n idate: number;\n new: boolean;\n acceptTypes: string;\n contentlets: DotCMSContentlet[];\n parentPermissionable: DotCMSSiteParentPermissionable;\n}\n\nexport interface DotCMSContentlet {\n archived: boolean;\n baseType: string;\n deleted?: boolean;\n binary?: string;\n binaryContentAsset?: string;\n binaryVersion?: string;\n contentType: string;\n file?: string;\n folder: string;\n hasLiveVersion?: boolean;\n hasTitleImage: boolean;\n host: string;\n hostName: string;\n identifier: string;\n inode: string;\n image?: string;\n languageId: number;\n language?: string;\n live: boolean;\n locked: boolean;\n mimeType?: string;\n modDate: string;\n modUser: string;\n modUserName: string;\n owner: string;\n sortOrder: number;\n stInode: string;\n title: string;\n titleImage: string;\n text?: string;\n url: string;\n working: boolean;\n body?: string;\n contentTypeIcon?: string;\n variant?: string;\n __icon__?: string;\n [key: string]: any; // This is a catch-all for any other custom properties that might be on the contentlet.\n}\n\nexport interface DotcmsNavigationItem {\n code?: any;\n folder: string;\n children?: DotcmsNavigationItem[];\n host: string;\n languageId: number;\n href: string;\n title: string;\n type: string;\n hash: number;\n target: string;\n order: number;\n}\n\ninterface DotCMSTemplate {\n iDate: number;\n type: string;\n owner: string;\n inode: string;\n identifier: string;\n source: string;\n title: string;\n friendlyName: string;\n modDate: number;\n modUser: string;\n sortOrder: number;\n showOnMenu: boolean;\n image: string;\n drawed: boolean;\n drawedBody: string;\n theme: string;\n anonymous: boolean;\n template: boolean;\n name: string;\n live: boolean;\n archived: boolean;\n locked: boolean;\n working: boolean;\n permissionId: string;\n versionId: string;\n versionType: string;\n deleted: boolean;\n permissionType: string;\n categoryId: string;\n idate: number;\n new: boolean;\n canEdit: boolean;\n}\n\ninterface DotCMSPage {\n template: string;\n modDate: number;\n metadata: string;\n cachettl: string;\n pageURI: string;\n title: string;\n type: string;\n showOnMenu: string;\n httpsRequired: boolean;\n inode: string;\n disabledWYSIWYG: any[];\n seokeywords: string;\n host: string;\n lastReview: number;\n working: boolean;\n locked: boolean;\n stInode: string;\n friendlyName: string;\n live: boolean;\n owner: string;\n identifier: string;\n nullProperties: any[];\n friendlyname: string;\n pagemetadata: string;\n languageId: number;\n url: string;\n seodescription: string;\n modUserName: string;\n folder: string;\n deleted: boolean;\n sortOrder: number;\n modUser: string;\n pageUrl: string;\n workingInode: string;\n shortyWorking: string;\n canEdit: boolean;\n canRead: boolean;\n canLock: boolean;\n lockedOn: number;\n lockedBy: string;\n lockedByName: string;\n liveInode: string;\n shortyLive: string;\n}\n\ninterface DotCMSViewAs {\n language: {\n id: number;\n languageCode: string;\n countryCode: string;\n language: string;\n country: string;\n };\n mode: string;\n}\n\ninterface DotCMSLayout {\n pageWidth: string;\n width: string;\n layout: string;\n title: string;\n header: boolean;\n footer: boolean;\n body: DotPageAssetLayoutBody;\n sidebar: DotPageAssetLayoutSidebar;\n}\n\ninterface DotCMSContainerStructure {\n id: string;\n structureId: string;\n containerInode: string;\n containerId: string;\n code: string;\n contentTypeVar: string;\n}\n\ninterface DotPageAssetLayoutSidebar {\n preview: boolean;\n containers: DotCMSContainer[];\n location: string;\n widthPercent: number;\n width: string;\n}\n\ninterface DotPageAssetLayoutBody {\n rows: DotPageAssetLayoutRow[];\n}\n\ninterface DotCMSSite {\n lowIndexPriority: boolean;\n name: string;\n default: boolean;\n aliases: string;\n parent: boolean;\n tagStorage: string;\n systemHost: boolean;\n inode: string;\n versionType: string;\n structureInode: string;\n hostname: string;\n hostThumbnail?: any;\n owner: string;\n permissionId: string;\n permissionType: string;\n type: string;\n identifier: string;\n modDate: number;\n host: string;\n live: boolean;\n indexPolicy: string;\n categoryId: string;\n actionId?: any;\n new: boolean;\n archived: boolean;\n locked: boolean;\n disabledWysiwyg: any[];\n modUser: string;\n working: boolean;\n titleImage: {\n present: boolean;\n };\n folder: string;\n htmlpage: boolean;\n fileAsset: boolean;\n vanityUrl: boolean;\n keyValue: boolean;\n structure?: DotCMSSiteStructure;\n title: string;\n languageId: number;\n indexPolicyDependencies: string;\n contentTypeId: string;\n versionId: string;\n lastReview: number;\n nextReview?: any;\n reviewInterval?: any;\n sortOrder: number;\n contentType: DotCMSSiteContentType;\n}\n\ninterface DotCMSSiteContentType {\n owner?: any;\n parentPermissionable: DotCMSSiteParentPermissionable;\n permissionId: string;\n permissionType: string;\n}\n\nexport interface DotCMSSiteParentPermissionable {\n Inode: string;\n Identifier: string;\n permissionByIdentifier: boolean;\n type: string;\n owner?: any;\n identifier: string;\n permissionId: string;\n parentPermissionable?: any;\n permissionType: string;\n inode: string;\n childrenPermissionable?: any;\n variantId?: string;\n}\n\ninterface DotCMSSiteStructure {\n iDate: number;\n type: string;\n owner?: any;\n inode: string;\n identifier: string;\n name: string;\n description: string;\n defaultStructure: boolean;\n reviewInterval?: any;\n reviewerRole?: any;\n pagedetail?: any;\n structureType: number;\n fixed: boolean;\n system: boolean;\n velocityVarName: string;\n urlMapPattern?: any;\n host: string;\n folder: string;\n publishDateVar?: any;\n expireDateVar?: any;\n modDate: number;\n fields: DotCMSSiteField[];\n widget: boolean;\n detailPage?: any;\n fieldsBySortOrder: DotCMSSiteField[];\n form: boolean;\n htmlpageAsset: boolean;\n content: boolean;\n fileAsset: boolean;\n persona: boolean;\n permissionId: string;\n permissionType: string;\n live: boolean;\n categoryId: string;\n idate: number;\n new: boolean;\n archived: boolean;\n locked: boolean;\n modUser: string;\n working: boolean;\n title: string;\n versionId: string;\n versionType: string;\n}\n\ninterface DotCMSSiteField {\n iDate: number;\n type: string;\n owner?: any;\n inode: string;\n identifier: string;\n structureInode: string;\n fieldName: string;\n fieldType: string;\n fieldRelationType?: any;\n fieldContentlet: string;\n required: boolean;\n velocityVarName: string;\n sortOrder: number;\n values?: any;\n regexCheck?: any;\n hint?: any;\n defaultValue?: any;\n indexed: boolean;\n listed: boolean;\n fixed: boolean;\n readOnly: boolean;\n searchable: boolean;\n unique: boolean;\n modDate: number;\n dataType: string;\n live: boolean;\n categoryId: string;\n idate: number;\n new: boolean;\n archived: boolean;\n locked: boolean;\n modUser: string;\n working: boolean;\n permissionId: string;\n parentPermissionable?: any;\n permissionType: string;\n title: string;\n versionId: string;\n versionType: string;\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nexport * from './dotcms.model';\n\nimport { Type } from '@angular/core';\n\nimport { DotCMSPageAsset } from './dotcms.model';\n\n/**\n * Represents a dynamic component entity.\n * @typedef {Promise<Type<any>>} DynamicComponentEntity\n * @memberof @dotcms/angular\n */\nexport type DynamicComponentEntity = Promise<Type<any>>;\n\n/**\n * Represents the context of a DotCMS page.\n */\nexport interface DotCMSPageContext {\n /**\n * Represents the DotCMS page asset.\n * @type {DotCMSPageAsset}\n * @memberof DotCMSPageContext\n */\n pageAsset: DotCMSPageAsset;\n\n /**\n * Represents the dynamic components of the page for each Content Type.\n * @type {DotCMSPageComponent}\n * @memberof DotCMSPageContext\n */\n components: DotCMSPageComponent;\n\n /**\n * Indicates whether the page is being viewed inside the editor.\n * @type {boolean}\n * @memberof DotCMSPageContext\n */\n isInsideEditor: boolean;\n}\n\n/**\n * Represents a DotCMS page component.\n * Used to store the dynamic components of a DotCMS page.\n * @typedef {Record<string, DynamicComponentEntity>} DotCMSPageComponent\n * @memberof @dotcms/angular\n */\nexport type DotCMSPageComponent = Record<string, DynamicComponentEntity>;\n","import { IMAGE_LOADER, ImageLoaderConfig } from '@angular/common';\nimport { Provider } from '@angular/core';\n\n/**\n * @deprecated This utility is deprecated and will be removed in future versions.\n * Please use the new Image Loader utility from the main SDK.\n * For more information, refer to the migration guide in the documentation.\n */\n\n/**\n * Type definition for the DotCMS image loader parameters\n */\ninterface DotCMSImageLoaderParams {\n isOutsideSRC?: boolean;\n languageId?: string;\n}\n\n/**\n * Validates if a given path is a valid URL string\n *\n * @param path - The path to validate\n * @returns boolean indicating if the path is valid\n */\nfunction isValidPath(path: unknown): boolean {\n if (typeof path !== 'string' || path.trim() === '') {\n return false;\n }\n\n try {\n new URL(path);\n\n return true;\n } catch {\n return false;\n }\n}\n\n/**\n * Provides a DotCMS image loader configuration for the Angular Image directive\n *\n * @param path - The base URL path to the DotCMS instance, or empty to use current site\n * @returns An array of providers for the IMAGE_LOADER token\n * @throws Error if the provided path is invalid\n * @example\n * ```typescript\n * // In your app.config.ts\n * export const appConfig: ApplicationConfig = {\n * providers: [\n * provideDotCMSImageLoader('https://demo.dotcms.com')\n * // Or use current site:\n * // provideDotCMSImageLoader()\n * ]\n * };\n * ```\n */\nexport function provideDotCMSImageLoader(path?: string): Provider[] {\n // If path is provided, validate it\n if (path && !isValidPath(path)) {\n throw new Error(\n `Image loader has detected an invalid path (\\`${path}\\`). ` +\n `To fix this, supply either the full URL to the dotCMS site, or leave it empty to use the current site.`\n );\n }\n\n return [\n {\n provide: IMAGE_LOADER,\n useValue: (config: ImageLoaderConfig) => createDotCMSUrl(config, path)\n }\n ];\n}\n\n/**\n * Creates a DotCMS-compatible URL for image loading\n *\n * @param config - The image loader configuration\n * @param path - The base URL path to the DotCMS instance\n * @returns A fully qualified URL for the image\n * @internal\n */\nfunction createDotCMSUrl(config: ImageLoaderConfig, path?: string): string {\n const { loaderParams, src, width } = config;\n const params = loaderParams as DotCMSImageLoaderParams;\n\n if (params?.isOutsideSRC) {\n return src;\n }\n\n // Use empty string as fallback to support using current site\n const dotcmsHost = path ? new URL(path).origin : '';\n const imageSRC = src.includes('/dA/') ? src : `/dA/${src}`;\n const languageId = params?.languageId ?? '1';\n\n if (width) {\n return `${dotcmsHost}${imageSRC}/${width}w?language_id=${languageId}`;\n }\n\n return `${dotcmsHost}${imageSRC}?language_id=${languageId}`;\n}\n","/**\n * @deprecated This API is deprecated and will be removed in future versions.\n * Please migrate to the new components and services in the main SDK.\n * For more information, refer to the migration guide in the documentation.\n */\n\nexport * from './components/dot-editable-text/dot-editable-text.component';\nexport * from './layout/dotcms-layout/dotcms-layout.component';\nexport * from './services/dotcms-context/page-context.service';\nexport * from './models';\nexport * from './utils/image_loader';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dotcms-angular.mjs","sources":["../../../../../libs/sdk/angular/src/lib/deprecated/components/dot-editable-text/utils.ts","../../../../../libs/sdk/angular/src/lib/deprecated/components/dot-editable-text/dot-editable-text.component.ts","../../../../../libs/sdk/angular/src/lib/deprecated/components/dot-editable-text/dot-editable-text.component.html","../../../../../libs/sdk/angular/src/lib/deprecated/services/dotcms-context/page-context.service.ts","../../../../../libs/sdk/angular/src/lib/deprecated/utils/index.ts","../../../../../libs/sdk/angular/src/lib/deprecated/components/no-component/no-component.component.ts","../../../../../libs/sdk/angular/src/lib/deprecated/layout/contentlet/contentlet.component.ts","../../../../../libs/sdk/angular/src/lib/deprecated/layout/container/container.component.ts","../../../../../libs/sdk/angular/src/lib/deprecated/layout/container/container.component.html","../../../../../libs/sdk/angular/src/lib/deprecated/layout/column/column.component.ts","../../../../../libs/sdk/angular/src/lib/deprecated/layout/row/row.component.ts","../../../../../libs/sdk/angular/src/lib/deprecated/layout/dotcms-layout/dotcms-layout.component.ts","../../../../../libs/sdk/angular/src/lib/deprecated/models/dotcms.model.ts","../../../../../libs/sdk/angular/src/lib/deprecated/models/index.ts","../../../../../libs/sdk/angular/src/lib/deprecated/utils/image_loader.ts","../../../../../libs/sdk/angular/src/lib/deprecated/deprecated-api.ts","../../../../../libs/sdk/angular/src/dotcms-angular.ts"],"sourcesContent":["import { EditorComponent } from '@tinymce/tinymce-angular';\n\nexport type DOT_EDITABLE_TEXT_MODE = 'minimal' | 'full' | 'plain';\n\nexport type DOT_EDITABLE_TEXT_FORMAT = 'html' | 'text';\n\nconst DEFAULT_TINYMCE_CONFIG: EditorComponent['init'] = {\n menubar: false,\n inline: true,\n valid_styles: {\n '*': 'font-size,font-family,color,text-decoration,text-align'\n },\n powerpaste_word_import: 'clean',\n powerpaste_html_import: 'clean',\n suffix: '.min', // Suffix to use when loading resources\n license_key: 'gpl'\n};\n\nexport const TINYMCE_CONFIG: {\n [key in DOT_EDITABLE_TEXT_MODE]: EditorComponent['init'];\n} = {\n minimal: {\n ...DEFAULT_TINYMCE_CONFIG,\n plugins: 'link autolink',\n toolbar: 'bold italic underline | link',\n valid_elements: 'strong,em,span[style],a[href]'\n },\n full: {\n ...DEFAULT_TINYMCE_CONFIG,\n plugins: 'link lists autolink charmap',\n style_formats: [\n { title: 'Paragraph', format: 'p' },\n { title: 'Header 1', format: 'h1' },\n { title: 'Header 2', format: 'h2' },\n { title: 'Header 3', format: 'h3' },\n { title: 'Header 4', format: 'h4' },\n { title: 'Header 5', format: 'h5' },\n { title: 'Header 6', format: 'h6' },\n { title: 'Pre', format: 'pre' },\n { title: 'Code', format: 'code' }\n ],\n toolbar: [\n 'styleselect undo redo | bold italic underline | forecolor backcolor | alignleft aligncenter alignright alignfull | numlist bullist outdent indent | hr charmap removeformat | link'\n ]\n },\n plain: {\n ...DEFAULT_TINYMCE_CONFIG,\n plugins: '',\n toolbar: ''\n }\n};\n","import { EditorComponent, TINYMCE_SCRIPT_SRC } from '@tinymce/tinymce-angular';\nimport { EventObj } from '@tinymce/tinymce-angular/editor/Events';\n\nimport {\n Component,\n ElementRef,\n HostListener,\n inject,\n Input,\n OnChanges,\n OnInit,\n Renderer2,\n SecurityContext,\n ViewChild\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport {\n CLIENT_ACTIONS,\n DotCmsClient,\n isInsideEditor,\n NOTIFY_CLIENT,\n postMessageToEditor\n} from '@dotcms/client';\n\nimport { TINYMCE_CONFIG, DOT_EDITABLE_TEXT_FORMAT, DOT_EDITABLE_TEXT_MODE } from './utils';\n\nimport { DotCMSContentlet } from '../../models';\n\n/**\n * @deprecated This component is deprecated and will be removed in future versions.\n * Please use the new Rich Text Editor component from the main SDK.\n * For more information, refer to the migration guide in the documentation.\n *\n * Dot editable text component.\n * This component is responsible to render a text field that can be edited inline.\n *\n * @export\n * @class DotEditableTextComponent\n * @implements {OnInit}\n * @implements {OnChanges}\n */\n@Component({\n selector: 'dot-editable-text',\n standalone: true,\n templateUrl: './dot-editable-text.component.html',\n styleUrl: './dot-editable-text.component.css',\n imports: [EditorComponent],\n providers: [\n {\n provide: TINYMCE_SCRIPT_SRC,\n useFactory: () => {\n return `${DotCmsClient.dotcmsUrl}/ext/tinymcev7/tinymce.min.js`;\n }\n }\n ]\n})\nexport class DotEditableTextComponent implements OnInit, OnChanges {\n @ViewChild(EditorComponent) editorComponent!: EditorComponent;\n\n /**\n * Represents the mode of the editor which can be `plain`, `minimal`, or `full`\n *\n * @type {DOT_EDITABLE_TEXT_MODE}\n * @memberof DotEditableTextComponent\n */\n @Input() mode: DOT_EDITABLE_TEXT_MODE = 'plain';\n /**\n * Represents the format of the editor which can be `text` or `html`\n *\n * @type {DOT_EDITABLE_TEXT_FORMAT}\n * @memberof DotEditableTextComponent\n */\n @Input() format: DOT_EDITABLE_TEXT_FORMAT = 'text';\n /**\n * Represents the field name of the `contentlet` that can be edited\n *\n * @memberof DotEditableTextComponent\n */\n @Input() fieldName = '';\n /**\n * Represents the `contentlet` that can be inline edited\n *\n * @type {DotCMSContentlet}\n * @memberof DotEditableTextComponent\n */\n @Input() contentlet!: DotCMSContentlet;\n\n /**\n * Represents the content of the `contentlet` that can be edited\n *\n * @protected\n * @memberof DotEditableTextComponent\n */\n protected content = '';\n /**\n * Represents the configuration of the editor\n *\n * @protected\n * @type {EditorComponent['init']}\n * @memberof DotEditableTextComponent\n */\n protected init!: EditorComponent['init'];\n /**\n * Represents if the component is inside the editor\n *\n * @protected\n * @type {boolean}\n * @memberof DotEditableTextComponent\n */\n protected isInsideEditor!: boolean;\n\n readonly #sanitizer = inject<DomSanitizer>(DomSanitizer);\n readonly #renderer = inject<Renderer2>(Renderer2);\n readonly #elementRef = inject<ElementRef>(ElementRef);\n\n /**\n * The TinyMCE editor\n *\n * @readonly\n * @memberof DotEditableTextComponent\n */\n get editor() {\n return this.editorComponent?.editor;\n }\n\n /**\n * Returns the number of pages the contentlet is on\n *\n * @readonly\n * @memberof DotEditableTextComponent\n */\n get onNumberOfPages() {\n return this.contentlet['onNumberOfPages'] || 1;\n }\n\n /**\n * Handle copy contentlet inline editing success event\n *\n * @param {MessageEvent} { data }\n * @return {*}\n * @memberof DotEditableTextComponent\n */\n @HostListener('window:message', ['$event'])\n onMessage({ data }: MessageEvent) {\n const { name, payload } = data;\n if (name !== NOTIFY_CLIENT.UVE_COPY_CONTENTLET_INLINE_EDITING_SUCCESS) {\n return;\n }\n\n const { oldInode, inode } = payload;\n const currentInode = this.contentlet.inode;\n\n if (currentInode === oldInode || currentInode === inode) {\n this.editorComponent.editor.focus();\n\n return;\n }\n }\n\n ngOnInit() {\n this.isInsideEditor = isInsideEditor();\n\n if (!this.isInsideEditor) {\n this.innerHTMLToElement();\n\n return;\n }\n\n this.init = {\n ...TINYMCE_CONFIG[this.mode],\n base_url: `${DotCmsClient.dotcmsUrl}/ext/tinymcev7`\n };\n }\n\n ngOnChanges() {\n this.content = this.contentlet[this.fieldName] || '';\n if (this.editor) {\n this.editor.setContent(this.content, { format: this.format });\n }\n }\n\n /**\n * Handle mouse down event\n *\n * @param {EventObj<MouseEvent>} { event }\n * @return {*}\n * @memberof DotEditableTextComponent\n */\n onMouseDown({ event }: EventObj<MouseEvent>) {\n if (Number(this.onNumberOfPages) <= 1 || this.editorComponent.editor.hasFocus()) {\n return;\n }\n\n const { inode, languageId: language } = this.contentlet;\n\n event.stopPropagation();\n event.preventDefault();\n\n try {\n postMessageToEditor({\n action: CLIENT_ACTIONS.COPY_CONTENTLET_INLINE_EDITING,\n payload: {\n dataset: {\n inode,\n language,\n fieldName: this.fieldName\n }\n }\n });\n } catch (error) {\n console.error('Failed to post message to editor:', error);\n }\n }\n /**\n * Handle focus out event\n *\n * @return {*}\n * @memberof DotEditableTextComponent\n */\n onFocusOut() {\n const content = this.editor.getContent({ format: this.format });\n\n if (!this.editor.isDirty() || !this.didContentChange(content)) {\n return;\n }\n\n const { inode, languageId: langId } = this.contentlet;\n\n try {\n postMessageToEditor({\n action: CLIENT_ACTIONS.UPDATE_CONTENTLET_INLINE_EDITING,\n payload: {\n content,\n dataset: {\n inode,\n langId,\n fieldName: this.fieldName\n }\n }\n });\n } catch (error) {\n console.error('Failed to post message to editor:', error);\n }\n }\n\n /**\n * inner HTML to element\n *\n * @private\n * @param {string} editedContent\n * @return {*}\n * @memberof DotEditableTextComponent\n */\n private innerHTMLToElement() {\n const element = this.#elementRef.nativeElement;\n const safeHtml = this.#sanitizer.bypassSecurityTrustHtml(this.content);\n const content = this.#sanitizer.sanitize(SecurityContext.HTML, safeHtml) || '';\n\n this.#renderer.setProperty(element, 'innerHTML', content);\n }\n\n /**\n * Check if the content has changed\n *\n * @private\n * @param {string} editedContent\n * @return {*}\n * @memberof DotEditableTextComponent\n */\n private didContentChange(editedContent: string) {\n return this.content !== editedContent;\n }\n}\n","@if (isInsideEditor) {\n <editor\n #tinyEditor\n [init]=\"init\"\n [initialValue]=\"content\"\n (onMouseDown)=\"onMouseDown($event)\"\n (onFocusOut)=\"onFocusOut()\" />\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\n\nimport { Injectable } from '@angular/core';\n\nimport { map } from 'rxjs/operators';\n\nimport { isInsideEditor } from '@dotcms/client';\n\nimport { DotCMSPageComponent, DotCMSPageContext } from '../../models';\nimport { DotCMSPageAsset } from '../../models/dotcms.model';\n\n/**\n * @deprecated This service is deprecated and will be removed in future versions.\n * Please use the new Page Context service from the main SDK.\n * For more information, refer to the migration guide in the documentation.\n *\n * @author dotCMS\n * @description This service is responsible for managing the page context.\n * @export\n * @class PageContextService\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class PageContextService {\n private context$ = new BehaviorSubject<DotCMSPageContext | null>(null);\n\n /**\n * @description Get the context\n * @readonly\n * @type {DotCMSPageContext}\n * @memberof PageContextService\n */\n get context(): DotCMSPageContext {\n return this.context$.getValue() as DotCMSPageContext;\n }\n\n /**\n * @description Get the context as an observable\n * @readonly\n * @memberof PageContextService\n */\n get contextObs$() {\n return this.context$.asObservable();\n }\n\n /**\n * @description Get the current page asset\n * @readonly\n * @type {(Observable<DotCMSPageAsset | null>)}\n * @memberof PageContextService\n */\n get currentPage$(): Observable<DotCMSPageAsset | null> {\n return this.contextObs$.pipe(map((context) => context?.pageAsset || null));\n }\n\n /**\n *\n * @description Set the context\n * @param {DotCMSPageAsset} value\n * @memberof DotcmsContextService\n */\n setContext(pageAsset: DotCMSPageAsset, components: DotCMSPageComponent) {\n this.context$.next({\n pageAsset,\n components,\n isInsideEditor: isInsideEditor()\n });\n }\n\n /**\n * @description Set the page asset in the context\n * @param {DotCMSPageAsset} pageAsset\n * @memberof PageContextService\n */\n setPageAsset(pageAsset: DotCMSPageAsset) {\n this.context$.next({\n ...this.context,\n pageAsset\n });\n }\n}\n","import { DotCMSContainer, DotCMSPageAssetContainer } from '../models/dotcms.model';\n\n//Changed the type, to avoid SQ issue.\n//This should be put inside a lib\n/**\n * Represents a mapping of numbers to corresponding CSS class names for column end values.\n * @typedef {Record<number, string | null>} EndClassMap\n */\nconst endClassMap: Record<number, string | null> = {\n 1: 'col-end-1',\n 2: 'col-end-2',\n 3: 'col-end-3',\n 4: 'col-end-4',\n 5: 'col-end-5',\n 6: 'col-end-6',\n 7: 'col-end-7',\n 8: 'col-end-8',\n 9: 'col-end-9',\n 10: 'col-end-10',\n 11: 'col-end-11',\n 12: 'col-end-12',\n 13: 'col-end-13'\n};\n\n//Changed the type, to avoid SQ issue.\n//This should be put inside a lib\n/**\n * Represents a mapping of numbers to CSS class names for starting columns.\n * @typedef {Record<number, string | null>} StartClassMap\n */\nconst startClassMap: Record<number, string | null> = {\n 1: 'col-start-1',\n 2: 'col-start-2',\n 3: 'col-start-3',\n 4: 'col-start-4',\n 5: 'col-start-5',\n 6: 'col-start-6',\n 7: 'col-start-7',\n 8: 'col-start-8',\n 9: 'col-start-9',\n 10: 'col-start-10',\n 11: 'col-start-11',\n 12: 'col-start-12'\n};\n\n/**\n * Retrieves the data for a set of containers.\n *\n * @param containers - The DotCMSPageAssetContainer object containing the containers.\n * @param containerRef - The DotCMSContainer object representing the container reference.\n * @returns An object containing the container data, accept types, contentlets, and variant ID.\n */\nexport const getContainersData = (\n containers: DotCMSPageAssetContainer,\n containerRef: DotCMSContainer\n) => {\n const { identifier, uuid } = containerRef;\n\n const { containerStructures, container } = containers[identifier];\n\n const { variantId } = container?.parentPermissionable || {};\n\n const acceptTypes: string = containerStructures\n .map((structure) => structure.contentTypeVar)\n .join(',');\n\n // Get the contentlets for \"this\" container\n const contentlets =\n containers[identifier].contentlets[`uuid-${uuid}`] ??\n containers[identifier].contentlets[`uuid-dotParser_${uuid}`];\n\n if (!contentlets) {\n console.warn(\n `We couldn't find the contentlets for the container with the identifier ${identifier} and the uuid ${uuid} becareful by adding content to this container.\\nWe recommend to change the container in the layout and add the content again.`\n );\n }\n\n return {\n ...containers[identifier].container,\n acceptTypes,\n contentlets: contentlets ?? [],\n variantId\n };\n};\n\n/**\n * Returns the position style classes based on the start and end values.\n * Used to set the grid column start and end values.\n * @param start - The start value.\n * @param end - The end value.\n * @returns An object containing the startClass and endClass.\n */\nexport const getPositionStyleClasses = (start: number, end: number) => {\n const startClass = startClassMap[start];\n const endClass = endClassMap[end];\n\n return {\n startClass,\n endClass\n };\n};\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\nimport { DotCMSContentlet } from '../../models';\n\n/**\n * This component is responsible to display a message when there is no component for a contentlet.\n *\n * @export\n * @class NoComponent\n */\n@Component({\n selector: 'dotcms-no-component',\n standalone: true,\n template: `\n No Component for {{ contentlet.contentType }}\n `,\n styleUrl: './no-component.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NoComponent {\n /**\n * The contentlet object containing content data.\n * The component displays a message based on the content type of this contentlet.\n */\n @Input() contentlet!: DotCMSContentlet;\n\n /**\n * The data-testid attribute used for identifying the component during testing.\n */\n @HostBinding('attr.data-testid') testId = 'no-component';\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnChanges } from '@angular/core';\n\nimport { DotCMSContentlet } from '../../models';\n\n/**\n * This component is responsible to display a contentlet.\n *\n * @export\n * @class ContentletComponent\n * @implements {OnChanges}\n */\n@Component({\n selector: 'dotcms-contentlet-wrapper',\n standalone: true,\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContentletComponent implements OnChanges {\n /**\n * The contentlet object containing content data.\n *\n * @type {DotCMSContentlet}\n * @memberof ContentletComponent\n */\n @Input({ required: true }) contentlet!: DotCMSContentlet;\n /**\n * The container data (as string) where the contentlet is located.\n *\n * @type {string}\n * @memberof ContentletComponent\n */\n @Input() container!: string;\n\n /**\n * The identifier of contentlet component.\n *\n * @type {(string | null)}\n * @memberof ContentletComponent\n */\n @HostBinding('attr.data-dot-identifier') identifier: string | null = null;\n /**\n * The base type of contentlet component.\n *\n * @type {(string | null)}\n * @memberof ContentletComponent\n */\n @HostBinding('attr.data-dot-basetype') baseType: string | null = null;\n /**\n * The title of contentlet component.\n *\n * @type {(string | null)}\n * @memberof ContentletComponent\n */\n @HostBinding('attr.data-dot-title') title: string | null = null;\n /**\n * The inode of contentlet component.\n *\n * @type {(string | null)}\n * @memberof ContentletComponent\n */\n @HostBinding('attr.data-dot-inode') inode: string | null = null;\n /**\n * The type of contentlet component.\n *\n * @type {(string | null)}\n * @memberof ContentletComponent\n */\n @HostBinding('attr.data-dot-type') dotType: string | null = null;\n /**\n * The container of contentlet component.\n *\n * @type {(string | null)}\n * @memberof ContentletComponent\n */\n @HostBinding('attr.data-dot-container') dotContainer: string | null = null;\n /**\n * The number of pages where the contentlet appears\n *\n * @type {(string | null)}\n * @memberof ContentletComponent\n */\n @HostBinding('attr.data-dot-on-number-of-pages') numberOfPages: string | null = null;\n /**\n * The content of contentlet component.\n *\n * @type {(string | null)}\n * @memberof ContentletComponent\n */\n @HostBinding('attr.data-dot-object') dotContent: string | null = null;\n\n ngOnChanges() {\n this.identifier = this.contentlet.identifier;\n this.baseType = this.contentlet.baseType;\n this.title = this.contentlet.title;\n this.inode = this.contentlet.inode;\n this.dotType = this.contentlet.contentType;\n this.dotContainer = this.container;\n this.numberOfPages = this.contentlet['onNumberOfPages'];\n this.dotContent = 'contentlet';\n }\n}\n","import { AsyncPipe, NgComponentOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Input,\n OnChanges,\n computed,\n inject,\n signal\n} from '@angular/core';\n\nimport { NoComponent } from '../../components/no-component/no-component.component';\nimport { DynamicComponentEntity } from '../../models';\nimport { DotCMSContainer, DotCMSContentlet } from '../../models/dotcms.model';\nimport { PageContextService } from '../../services/dotcms-context/page-context.service';\nimport { getContainersData } from '../../utils';\nimport { ContentletComponent } from '../contentlet/contentlet.component';\n\ninterface DotContainer {\n acceptTypes: string;\n identifier: string;\n maxContentlets: number;\n uuid: string;\n variantId?: string;\n}\n\n/**\n * This component is responsible to display a container with contentlets.\n *\n * @export\n * @class ContainerComponent\n * @implements {OnChanges}\n */\n@Component({\n selector: 'dotcms-container',\n standalone: true,\n imports: [AsyncPipe, NgComponentOutlet, NoComponent, ContentletComponent],\n templateUrl: './container.component.html',\n styleUrl: './container.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ContainerComponent implements OnChanges {\n /**\n * The container object containing the contentlets.\n *\n * @type {DotCMSContainer}\n * @memberof ContainerComponent\n */\n @Input({ required: true }) container!: DotCMSContainer;\n\n private readonly pageContextService: PageContextService = inject(PageContextService);\n protected readonly NoComponent = NoComponent;\n protected readonly $isInsideEditor = signal<boolean>(false);\n\n protected componentsMap!: Record<string, DynamicComponentEntity>;\n protected $contentlets = signal<DotCMSContentlet[]>([]);\n protected $dotContainer = signal<DotContainer | null>(null);\n protected $dotContainerAsString = computed(() => JSON.stringify(this.$dotContainer()));\n\n /**\n * The accept types for the container component.\n *\n * @type {(string | null)}\n * @memberof ContainerComponent\n */\n @HostBinding('attr.data-dot-accept-types') acceptTypes: string | null = null;\n\n /**\n * The identifier for the container component.\n *\n * @type {(string | null)}\n * @memberof ContainerComponent\n */\n @HostBinding('attr.data-dot-identifier') identifier: string | null = null;\n /**\n * The max contentlets for the container component.\n *\n * @type {(number | null)}\n * @memberof ContainerComponent\n */\n @HostBinding('attr.data-max-contentlets') maxContentlets: number | null = null;\n /**\n * The uuid for the container component.\n *\n * @type {(string | null)}\n * @memberof ContainerComponent\n */\n @HostBinding('attr.data-dot-uuid') uuid: string | null = null;\n /**\n * The class for the container component.\n *\n * @type {(string | null)}\n * @memberof ContainerComponent\n */\n @HostBinding('class') class: string | null = null;\n /**\n * The dot object for the container component.\n *\n * @type {(string | null)}\n * @memberof ContainerComponent\n */\n @HostBinding('attr.data-dot-object') dotObject: string | null = null;\n /**\n * The data-testid attribute used for identifying the component during testing.\n *\n * @memberof ContainerComponent\n */\n @HostBinding('attr.data-testid') testId = 'dot-container';\n\n ngOnChanges() {\n const { pageAsset, components, isInsideEditor } = this.pageContextService.context;\n const { acceptTypes, maxContentlets, variantId, path, contentlets } = getContainersData(\n pageAsset.containers,\n this.container\n );\n const { identifier, uuid } = this.container;\n\n this.componentsMap = components;\n\n this.$isInsideEditor.set(isInsideEditor);\n this.$contentlets.set(contentlets);\n this.$dotContainer.set({\n identifier: path ?? identifier,\n acceptTypes,\n maxContentlets,\n variantId,\n uuid\n });\n\n if (this.$isInsideEditor()) {\n this.acceptTypes = acceptTypes;\n this.identifier = identifier;\n this.maxContentlets = maxContentlets;\n this.uuid = uuid;\n this.class = this.$contentlets().length ? null : 'empty-container';\n this.dotObject = 'container';\n }\n }\n}\n","@if ($isInsideEditor()) {\n @if ($contentlets().length) {\n @for (contentlet of $contentlets(); track $index) {\n <dotcms-contentlet-wrapper\n [contentlet]=\"contentlet\"\n [container]=\"$dotContainerAsString()\">\n <ng-container\n *ngComponentOutlet=\"\n (componentsMap[contentlet.contentType] || componentsMap['CustomNoComponent']\n | async) || NoComponent;\n inputs: { contentlet }\n \" />\n </dotcms-contentlet-wrapper>\n }\n } @else {\n This container is empty.\n }\n} @else {\n @for (contentlet of $contentlets(); track $index) {\n <ng-container\n *ngComponentOutlet=\"\n componentsMap[contentlet.contentType] | async;\n inputs: { contentlet }\n \" />\n }\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit } from '@angular/core';\n\nimport { DotPageAssetLayoutColumn } from '../../models';\nimport { getPositionStyleClasses } from '../../utils';\nimport { ContainerComponent } from '../container/container.component';\n\n/**\n * This component is responsible to display a column with containers.\n *\n * @export\n * @class ColumnComponent\n * @implements {OnInit}\n */\n@Component({\n selector: 'dotcms-column',\n standalone: true,\n imports: [ContainerComponent],\n template: `\n @for (container of column.containers; track $index) {\n <dotcms-container [container]=\"container\" />\n }\n `,\n styleUrl: './column.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ColumnComponent implements OnInit {\n /**\n * The column object containing the containers.\n *\n * @type {DotPageAssetLayoutColumn}\n * @memberof ColumnComponent\n */\n @Input() column!: DotPageAssetLayoutColumn;\n\n /**\n * The data-testid attribute used for identifying the component during testing.\n *\n * @memberof ColumnComponent\n */\n @HostBinding('class') containerClasses = '';\n\n ngOnInit() {\n const { startClass, endClass } = getPositionStyleClasses(\n this.column.leftOffset,\n this.column.width + this.column.leftOffset\n );\n this.containerClasses = `${startClass} ${endClass}`;\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\nimport { DotPageAssetLayoutRow } from '../../models';\nimport { ColumnComponent } from '../column/column.component';\n\n/**\n * This component is responsible to display a row with columns.\n *\n * @export\n * @class RowComponent\n */\n@Component({\n selector: 'dotcms-row',\n standalone: true,\n imports: [ColumnComponent],\n template: `\n @for (column of row.columns; track $index) {\n <dotcms-column [column]=\"column\" />\n }\n `,\n styleUrl: './row.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RowComponent {\n /**\n * The row object containing the columns.\n *\n * @type {DotPageAssetLayoutRow}\n * @memberof RowComponent\n */\n @Input({ required: true }) row!: DotPageAssetLayoutRow;\n}\n","import { AsyncPipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n Input,\n OnInit,\n inject\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute } from '@angular/router';\n\nimport {\n CLIENT_ACTIONS,\n DotCmsClient,\n EditorConfig,\n initEditor,\n isInsideEditor,\n postMessageToEditor,\n updateNavigation\n} from '@dotcms/client';\nimport { UVEEventSubscription, UVEEventType } from '@dotcms/types';\nimport { createUVESubscription } from '@dotcms/uve';\n\nimport { DotCMSPageComponent } from '../../models';\nimport { DotCMSPageAsset } from '../../models/dotcms.model';\nimport { PageContextService } from '../../services/dotcms-context/page-context.service';\nimport { RowComponent } from '../row/row.component';\n\n/**\n * @deprecated This component is deprecated and will be removed in future versions.\n * Please use the new Page Layout component from the main SDK.\n * For more information, refer to the migration guide in the documentation.\n *\n * `DotcmsLayoutComponent` is a class that represents the layout for a DotCMS page.\n * It includes a `pageAsset` property that represents the DotCMS page asset and a `components` property that represents the dynamic components for the page.\n *\n * @export\n * @class DotcmsLayoutComponent\n */\n@Component({\n selector: 'dotcms-layout',\n standalone: true,\n imports: [RowComponent, AsyncPipe],\n template: `\n @if (pageAsset$ | async; as page) {\n @for (row of page?.layout?.body?.rows; track $index) {\n <dotcms-row [row]=\"row\" />\n }\n }\n `,\n styleUrl: './dotcms-layout.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DotcmsLayoutComponent implements OnInit {\n private _pageAsset!: DotCMSPageAsset;\n\n /**\n * Represents the DotCMS page asset.\n *\n * @type {DotCMSPageAsset}\n * @memberof DotcmsLayoutComponent\n */\n @Input({ required: true })\n set pageAsset(value: DotCMSPageAsset) {\n this._pageAsset = value;\n if (!value.layout) {\n console.warn(\n 'Warning: pageAsset does not have a `layout` property. Might be using an advaced template or your dotCMS instance not have a enterprise license.'\n );\n }\n }\n\n /**\n * Returns the DotCMS page asset.\n *\n * @readonly\n * @type {DotCMSPageAsset}\n * @memberof DotcmsLayoutComponent\n */\n get pageAsset(): DotCMSPageAsset {\n return this._pageAsset;\n }\n\n /**\n * The `components` property is a record of dynamic components for each Contentlet on the page.\n *\n * @type {DotCMSPageComponent}\n * @memberof DotcmsLayoutComponent\n * @required\n */\n @Input({ required: true }) components!: DotCMSPageComponent;\n\n /**\n * The `onReload` property is a function that reloads the page after changes are made.\n *\n * @memberof DotcmsLayoutComponent\n * @deprecated In future implementation we will be listening for the changes from the editor to update the page state so reload will not be needed.\n */\n @Input() onReload!: () => void;\n\n /**\n *\n * @type {DotCMSFetchConfig}\n * @memberof DotCMSPageEditorConfig\n * @description The configuration custom params for data fetching on Edit Mode.\n * @example <caption>Example with Custom GraphQL query</caption>\n * <dotcms-layout [editor]=\"{ query: 'query { ... }' }\"/>\n *\n * @example <caption>Example usage with Custom Page API parameters</caption>\n * <dotcms-layout [editor]=\"{ params: { depth: '2' } }\"/>;\n */\n @Input() editor!: EditorConfig;\n\n private readonly route = inject(ActivatedRoute);\n private readonly pageContextService = inject(PageContextService);\n private readonly destroyRef$ = inject(DestroyRef);\n private client!: DotCmsClient;\n protected readonly pageAsset$ = this.pageContextService.currentPage$;\n\n private uveSubscription?: UVEEventSubscription;\n\n ngOnInit() {\n this.pageContextService.setContext(this.pageAsset, this.components);\n\n if (!isInsideEditor()) {\n return;\n }\n\n this.client = DotCmsClient.instance;\n this.route.url.pipe(takeUntilDestroyed(this.destroyRef$)).subscribe((urlSegments) => {\n const pathname = '/' + urlSegments.join('/');\n\n initEditor({ pathname });\n updateNavigation(pathname || '/');\n });\n\n this.uveSubscription = createUVESubscription(UVEEventType.CONTENT_CHANGES, (data) => {\n if (this.onReload) {\n this.onReload();\n\n return;\n }\n\n this.pageContextService.setPageAsset(data as unknown as DotCMSPageAsset);\n });\n\n postMessageToEditor({ action: CLIENT_ACTIONS.CLIENT_READY, payload: this.editor });\n }\n\n ngOnDestroy() {\n if (!isInsideEditor()) {\n return;\n }\n\n this.uveSubscription?.unsubscribe();\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport interface DotCMSPageAsset {\n canCreateTemplate: boolean;\n containers: DotCMSPageAssetContainer;\n layout: DotCMSLayout;\n page: DotCMSPage;\n site: DotCMSSite;\n template: DotCMSTemplate;\n viewAs: DotCMSViewAs;\n vanityUrl?: {\n pattern: string;\n vanityUrlId: string;\n url: string;\n siteId: string;\n languageId: number;\n forwardTo: string;\n response: number;\n order: number;\n temporaryRedirect: boolean;\n permanentRedirect: boolean;\n forward: boolean;\n };\n}\n\nexport interface DotPageAssetLayoutRow {\n identifier: number;\n value?: string;\n id?: string;\n columns: DotPageAssetLayoutColumn[];\n styleClass?: string;\n}\n\nexport interface DotPageAssetLayoutColumn {\n preview: boolean;\n containers: DotCMSContainer[];\n widthPercent: number;\n width: number;\n leftOffset: number;\n left: number;\n styleClass?: string;\n}\n\nexport interface DotCMSPageAssetContainer {\n [key: string]: {\n container: DotCMSContainer;\n containerStructures: DotCMSContainerStructure[];\n contentlets: {\n [key: string]: DotCMSContentlet[];\n };\n };\n}\n\nexport interface DotCMSContainer {\n identifier: string;\n uuid: string;\n iDate: number;\n type: string;\n owner?: string;\n inode: string;\n source: string;\n title: string;\n friendlyName: string;\n modDate: number;\n modUser: string;\n sortOrder: number;\n showOnMenu: boolean;\n code?: string;\n maxContentlets: number;\n useDiv: boolean;\n sortContentletsBy?: string;\n preLoop: string;\n postLoop: string;\n staticify: boolean;\n luceneQuery?: string;\n notes: string;\n languageId?: number;\n path?: string;\n live: boolean;\n locked: boolean;\n working: boolean;\n deleted: boolean;\n name: string;\n archived: boolean;\n permissionId: string;\n versionId: string;\n versionType: string;\n permissionType: string;\n categoryId: string;\n idate: number;\n new: boolean;\n acceptTypes: string;\n contentlets: DotCMSContentlet[];\n parentPermissionable: DotCMSSiteParentPermissionable;\n}\n\nexport interface DotCMSContentlet {\n archived: boolean;\n baseType: string;\n deleted?: boolean;\n binary?: string;\n binaryContentAsset?: string;\n binaryVersion?: string;\n contentType: string;\n file?: string;\n folder: string;\n hasLiveVersion?: boolean;\n hasTitleImage: boolean;\n host: string;\n hostName: string;\n identifier: string;\n inode: string;\n image?: string;\n languageId: number;\n language?: string;\n live: boolean;\n locked: boolean;\n mimeType?: string;\n modDate: string;\n modUser: string;\n modUserName: string;\n owner: string;\n sortOrder: number;\n stInode: string;\n title: string;\n titleImage: string;\n text?: string;\n url: string;\n working: boolean;\n body?: string;\n contentTypeIcon?: string;\n variant?: string;\n __icon__?: string;\n [key: string]: any; // This is a catch-all for any other custom properties that might be on the contentlet.\n}\n\nexport interface DotcmsNavigationItem {\n code?: any;\n folder: string;\n children?: DotcmsNavigationItem[];\n host: string;\n languageId: number;\n href: string;\n title: string;\n type: string;\n hash: number;\n target: string;\n order: number;\n}\n\ninterface DotCMSTemplate {\n iDate: number;\n type: string;\n owner: string;\n inode: string;\n identifier: string;\n source: string;\n title: string;\n friendlyName: string;\n modDate: number;\n modUser: string;\n sortOrder: number;\n showOnMenu: boolean;\n image: string;\n drawed: boolean;\n drawedBody: string;\n theme: string;\n anonymous: boolean;\n template: boolean;\n name: string;\n live: boolean;\n archived: boolean;\n locked: boolean;\n working: boolean;\n permissionId: string;\n versionId: string;\n versionType: string;\n deleted: boolean;\n permissionType: string;\n categoryId: string;\n idate: number;\n new: boolean;\n canEdit: boolean;\n}\n\ninterface DotCMSPage {\n template: string;\n modDate: number;\n metadata: string;\n cachettl: string;\n pageURI: string;\n title: string;\n type: string;\n showOnMenu: string;\n httpsRequired: boolean;\n inode: string;\n disabledWYSIWYG: any[];\n seokeywords: string;\n host: string;\n lastReview: number;\n working: boolean;\n locked: boolean;\n stInode: string;\n friendlyName: string;\n live: boolean;\n owner: string;\n identifier: string;\n nullProperties: any[];\n friendlyname: string;\n pagemetadata: string;\n languageId: number;\n url: string;\n seodescription: string;\n modUserName: string;\n folder: string;\n deleted: boolean;\n sortOrder: number;\n modUser: string;\n pageUrl: string;\n workingInode: string;\n shortyWorking: string;\n canEdit: boolean;\n canRead: boolean;\n canLock: boolean;\n lockedOn: number;\n lockedBy: string;\n lockedByName: string;\n liveInode: string;\n shortyLive: string;\n}\n\ninterface DotCMSViewAs {\n language: {\n id: number;\n languageCode: string;\n countryCode: string;\n language: string;\n country: string;\n };\n mode: string;\n}\n\ninterface DotCMSLayout {\n pageWidth: string;\n width: string;\n layout: string;\n title: string;\n header: boolean;\n footer: boolean;\n body: DotPageAssetLayoutBody;\n sidebar: DotPageAssetLayoutSidebar;\n}\n\ninterface DotCMSContainerStructure {\n id: string;\n structureId: string;\n containerInode: string;\n containerId: string;\n code: string;\n contentTypeVar: string;\n}\n\ninterface DotPageAssetLayoutSidebar {\n preview: boolean;\n containers: DotCMSContainer[];\n location: string;\n widthPercent: number;\n width: string;\n}\n\ninterface DotPageAssetLayoutBody {\n rows: DotPageAssetLayoutRow[];\n}\n\ninterface DotCMSSite {\n lowIndexPriority: boolean;\n name: string;\n default: boolean;\n aliases: string;\n parent: boolean;\n tagStorage: string;\n systemHost: boolean;\n inode: string;\n versionType: string;\n structureInode: string;\n hostname: string;\n hostThumbnail?: any;\n owner: string;\n permissionId: string;\n permissionType: string;\n type: string;\n identifier: string;\n modDate: number;\n host: string;\n live: boolean;\n indexPolicy: string;\n categoryId: string;\n actionId?: any;\n new: boolean;\n archived: boolean;\n locked: boolean;\n disabledWysiwyg: any[];\n modUser: string;\n working: boolean;\n titleImage: {\n present: boolean;\n };\n folder: string;\n htmlpage: boolean;\n fileAsset: boolean;\n vanityUrl: boolean;\n keyValue: boolean;\n structure?: DotCMSSiteStructure;\n title: string;\n languageId: number;\n indexPolicyDependencies: string;\n contentTypeId: string;\n versionId: string;\n lastReview: number;\n nextReview?: any;\n reviewInterval?: any;\n sortOrder: number;\n contentType: DotCMSSiteContentType;\n}\n\ninterface DotCMSSiteContentType {\n owner?: any;\n parentPermissionable: DotCMSSiteParentPermissionable;\n permissionId: string;\n permissionType: string;\n}\n\nexport interface DotCMSSiteParentPermissionable {\n Inode: string;\n Identifier: string;\n permissionByIdentifier: boolean;\n type: string;\n owner?: any;\n identifier: string;\n permissionId: string;\n parentPermissionable?: any;\n permissionType: string;\n inode: string;\n childrenPermissionable?: any;\n variantId?: string;\n}\n\ninterface DotCMSSiteStructure {\n iDate: number;\n type: string;\n owner?: any;\n inode: string;\n identifier: string;\n name: string;\n description: string;\n defaultStructure: boolean;\n reviewInterval?: any;\n reviewerRole?: any;\n pagedetail?: any;\n structureType: number;\n fixed: boolean;\n system: boolean;\n velocityVarName: string;\n urlMapPattern?: any;\n host: string;\n folder: string;\n publishDateVar?: any;\n expireDateVar?: any;\n modDate: number;\n fields: DotCMSSiteField[];\n widget: boolean;\n detailPage?: any;\n fieldsBySortOrder: DotCMSSiteField[];\n form: boolean;\n htmlpageAsset: boolean;\n content: boolean;\n fileAsset: boolean;\n persona: boolean;\n permissionId: string;\n permissionType: string;\n live: boolean;\n categoryId: string;\n idate: number;\n new: boolean;\n archived: boolean;\n locked: boolean;\n modUser: string;\n working: boolean;\n title: string;\n versionId: string;\n versionType: string;\n}\n\ninterface DotCMSSiteField {\n iDate: number;\n type: string;\n owner?: any;\n inode: string;\n identifier: string;\n structureInode: string;\n fieldName: string;\n fieldType: string;\n fieldRelationType?: any;\n fieldContentlet: string;\n required: boolean;\n velocityVarName: string;\n sortOrder: number;\n values?: any;\n regexCheck?: any;\n hint?: any;\n defaultValue?: any;\n indexed: boolean;\n listed: boolean;\n fixed: boolean;\n readOnly: boolean;\n searchable: boolean;\n unique: boolean;\n modDate: number;\n dataType: string;\n live: boolean;\n categoryId: string;\n idate: number;\n new: boolean;\n archived: boolean;\n locked: boolean;\n modUser: string;\n working: boolean;\n permissionId: string;\n parentPermissionable?: any;\n permissionType: string;\n title: string;\n versionId: string;\n versionType: string;\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nexport * from './dotcms.model';\n\nimport { Type } from '@angular/core';\n\nimport { DotCMSPageAsset } from './dotcms.model';\n\n/**\n * Represents a dynamic component entity.\n * @typedef {Promise<Type<any>>} DynamicComponentEntity\n * @memberof @dotcms/angular\n */\nexport type DynamicComponentEntity = Promise<Type<any>>;\n\n/**\n * Represents the context of a DotCMS page.\n */\nexport interface DotCMSPageContext {\n /**\n * Represents the DotCMS page asset.\n * @type {DotCMSPageAsset}\n * @memberof DotCMSPageContext\n */\n pageAsset: DotCMSPageAsset;\n\n /**\n * Represents the dynamic components of the page for each Content Type.\n * @type {DotCMSPageComponent}\n * @memberof DotCMSPageContext\n */\n components: DotCMSPageComponent;\n\n /**\n * Indicates whether the page is being viewed inside the editor.\n * @type {boolean}\n * @memberof DotCMSPageContext\n */\n isInsideEditor: boolean;\n}\n\n/**\n * Represents a DotCMS page component.\n * Used to store the dynamic components of a DotCMS page.\n * @typedef {Record<string, DynamicComponentEntity>} DotCMSPageComponent\n * @memberof @dotcms/angular\n */\nexport type DotCMSPageComponent = Record<string, DynamicComponentEntity>;\n","import { IMAGE_LOADER, ImageLoaderConfig } from '@angular/common';\nimport { Provider } from '@angular/core';\n\n/**\n * @deprecated This utility is deprecated and will be removed in future versions.\n * Please use the new Image Loader utility from the main SDK.\n * For more information, refer to the migration guide in the documentation.\n */\n\n/**\n * Type definition for the DotCMS image loader parameters\n */\ninterface DotCMSImageLoaderParams {\n isOutsideSRC?: boolean;\n languageId?: string;\n}\n\n/**\n * Validates if a given path is a valid URL string\n *\n * @param path - The path to validate\n * @returns boolean indicating if the path is valid\n */\nfunction isValidPath(path: unknown): boolean {\n if (typeof path !== 'string' || path.trim() === '') {\n return false;\n }\n\n try {\n new URL(path);\n\n return true;\n } catch {\n return false;\n }\n}\n\n/**\n * Provides a DotCMS image loader configuration for the Angular Image directive\n *\n * @param path - The base URL path to the DotCMS instance, or empty to use current site\n * @returns An array of providers for the IMAGE_LOADER token\n * @throws Error if the provided path is invalid\n * @example\n * ```typescript\n * // In your app.config.ts\n * export const appConfig: ApplicationConfig = {\n * providers: [\n * provideDotCMSImageLoader('https://demo.dotcms.com')\n * // Or use current site:\n * // provideDotCMSImageLoader()\n * ]\n * };\n * ```\n */\nexport function provideDotCMSImageLoader(path?: string): Provider[] {\n // If path is provided, validate it\n if (path && !isValidPath(path)) {\n throw new Error(\n `Image loader has detected an invalid path (\\`${path}\\`). ` +\n `To fix this, supply either the full URL to the dotCMS site, or leave it empty to use the current site.`\n );\n }\n\n return [\n {\n provide: IMAGE_LOADER,\n useValue: (config: ImageLoaderConfig) => createDotCMSUrl(config, path)\n }\n ];\n}\n\n/**\n * Creates a DotCMS-compatible URL for image loading\n *\n * @param config - The image loader configuration\n * @param path - The base URL path to the DotCMS instance\n * @returns A fully qualified URL for the image\n * @internal\n */\nfunction createDotCMSUrl(config: ImageLoaderConfig, path?: string): string {\n const { loaderParams, src, width } = config;\n const params = loaderParams as DotCMSImageLoaderParams;\n\n if (params?.isOutsideSRC) {\n return src;\n }\n\n // Use empty string as fallback to support using current site\n const dotcmsHost = path ? new URL(path).origin : '';\n const imageSRC = src.includes('/dA/') ? src : `/dA/${src}`;\n const languageId = params?.languageId ?? '1';\n\n if (width) {\n return `${dotcmsHost}${imageSRC}/${width}w?language_id=${languageId}`;\n }\n\n return `${dotcmsHost}${imageSRC}?language_id=${languageId}`;\n}\n","/**\n * @deprecated This API is deprecated and will be removed in future versions.\n * Please migrate to the new components and services in the main SDK.\n * For more information, refer to the migration guide in the documentation.\n */\n\nexport * from './components/dot-editable-text/dot-editable-text.component';\nexport * from './layout/dotcms-layout/dotcms-layout.component';\nexport * from './services/dotcms-context/page-context.service';\nexport * from './models';\nexport * from './utils/image_loader';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -35,18 +35,18 @@ export declare class DotEditableTextComponent implements OnInit, OnChanges {
|
|
|
35
35
|
*/
|
|
36
36
|
format: DOT_EDITABLE_TEXT_FORMAT;
|
|
37
37
|
/**
|
|
38
|
-
* Represents the `contentlet` that can be
|
|
38
|
+
* Represents the field name of the `contentlet` that can be edited
|
|
39
39
|
*
|
|
40
|
-
* @type {DotCMSContentlet}
|
|
41
40
|
* @memberof DotEditableTextComponent
|
|
42
41
|
*/
|
|
43
|
-
|
|
42
|
+
fieldName: string;
|
|
44
43
|
/**
|
|
45
|
-
* Represents the
|
|
44
|
+
* Represents the `contentlet` that can be inline edited
|
|
46
45
|
*
|
|
46
|
+
* @type {DotCMSContentlet}
|
|
47
47
|
* @memberof DotEditableTextComponent
|
|
48
48
|
*/
|
|
49
|
-
|
|
49
|
+
contentlet: DotCMSContentlet;
|
|
50
50
|
/**
|
|
51
51
|
* Represents the content of the `contentlet` that can be edited
|
|
52
52
|
*
|
|
@@ -128,6 +128,6 @@ export declare class DotEditableTextComponent implements OnInit, OnChanges {
|
|
|
128
128
|
*/
|
|
129
129
|
private didContentChange;
|
|
130
130
|
static ɵfac: i0.ɵɵFactoryDeclaration<DotEditableTextComponent, never>;
|
|
131
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DotEditableTextComponent, "dot-editable-text", never, { "mode": { "alias": "mode"; "required": false; }; "format": { "alias": "format"; "required": false; }; "
|
|
131
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DotEditableTextComponent, "dot-editable-text", never, { "mode": { "alias": "mode"; "required": false; }; "format": { "alias": "format"; "required": false; }; "fieldName": { "alias": "fieldName"; "required": false; }; "contentlet": { "alias": "contentlet"; "required": false; }; }, {}, never, never, true, never>;
|
|
132
132
|
}
|
|
133
133
|
//# sourceMappingURL=dot-editable-text.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dot-editable-text.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/sdk/angular/src/lib/deprecated/components/dot-editable-text/dot-editable-text.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAsB,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAElE,OAAO,EAMH,SAAS,EACT,MAAM,EAIT,MAAM,eAAe,CAAC;AAWvB,OAAO,EAAkB,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAE3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;;AAEhD;;;;;;;;;;;;GAYG;AACH,qBAea,wBAAyB,YAAW,MAAM,EAAE,SAAS;;IAClC,eAAe,EAAG,eAAe,CAAC;IAE9D;;;;;OAKG;IACM,IAAI,EAAE,sBAAsB,CAAW;IAChD;;;;;OAKG;IACM,MAAM,EAAE,wBAAwB,CAAU;IACnD;;;;;OAKG;IACM,UAAU,EAAG,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"dot-editable-text.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/sdk/angular/src/lib/deprecated/components/dot-editable-text/dot-editable-text.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAsB,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAElE,OAAO,EAMH,SAAS,EACT,MAAM,EAIT,MAAM,eAAe,CAAC;AAWvB,OAAO,EAAkB,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAE3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;;AAEhD;;;;;;;;;;;;GAYG;AACH,qBAea,wBAAyB,YAAW,MAAM,EAAE,SAAS;;IAClC,eAAe,EAAG,eAAe,CAAC;IAE9D;;;;;OAKG;IACM,IAAI,EAAE,sBAAsB,CAAW;IAChD;;;;;OAKG;IACM,MAAM,EAAE,wBAAwB,CAAU;IACnD;;;;OAIG;IACM,SAAS,SAAM;IACxB;;;;;OAKG;IACM,UAAU,EAAG,gBAAgB,CAAC;IAEvC;;;;;OAKG;IACH,SAAS,CAAC,OAAO,SAAM;IACvB;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACzC;;;;;;OAMG;IACH,SAAS,CAAC,cAAc,EAAG,OAAO,CAAC;IAMnC;;;;;OAKG;IACH,IAAI,MAAM,6BAET;IAED;;;;;OAKG;IACH,IAAI,eAAe,QAElB;IAED;;;;;;OAMG;IAEH,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,YAAY;IAgBhC,QAAQ;IAeR,WAAW;IAOX;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC;IAyB3C;;;;;OAKG;IACH,UAAU;IA0BV;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;yCArNf,wBAAwB;2CAAxB,wBAAwB;CAwNpC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Contentlet,
|
|
1
|
+
import { Contentlet, BlockEditorNode } from '@dotcms/types';
|
|
2
2
|
import { DynamicComponentEntity } from '../../../models';
|
|
3
3
|
import { CustomRenderer } from '../dotcms-block-editor-renderer.component';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
@@ -15,9 +15,9 @@ export declare class DotDefaultContentBlock {
|
|
|
15
15
|
*/
|
|
16
16
|
export declare class DotContentletBlock {
|
|
17
17
|
customRenderers: CustomRenderer | undefined;
|
|
18
|
-
attrs:
|
|
18
|
+
attrs: BlockEditorNode['attrs'];
|
|
19
19
|
contentComponent: DynamicComponentEntity | undefined;
|
|
20
|
-
protected readonly $data: import("@angular/core").Signal<import("@dotcms/
|
|
20
|
+
protected readonly $data: import("@angular/core").Signal<import("@dotcms/types").DotCMSBasicContentlet>;
|
|
21
21
|
ngOnInit(): void;
|
|
22
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<DotContentletBlock, never>;
|
|
23
23
|
static ɵcmp: i0.ɵɵComponentDeclaration<DotContentletBlock, "dotcms-block-editor-renderer-contentlet", never, { "customRenderers": { "alias": "customRenderers"; "required": false; }; "attrs": { "alias": "attrs"; "required": false; }; }, {}, never, never, true, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contentlet.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/sdk/angular/next/components/dotcms-block-editor-renderer/blocks/contentlet.component.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"contentlet.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/sdk/angular/next/components/dotcms-block-editor-renderer/blocks/contentlet.component.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;;AAE3E;;GAEG;AACH,qBAKa,sBAAsB;IACtB,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;yCAD5C,sBAAsB;2CAAtB,sBAAsB;CAElC;AAED;;GAEG;AACH,qBAQa,kBAAkB;IAClB,eAAe,EAAE,cAAc,GAAG,SAAS,CAAC;IAC5C,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IAEzC,gBAAgB,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAErD,SAAS,CAAC,QAAQ,CAAC,KAAK,gFAA+D;IAEvF,QAAQ;yCARC,kBAAkB;2CAAlB,kBAAkB;CAiB9B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BlockEditorNode } from '@dotcms/types';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class DotImageBlock {
|
|
4
|
-
attrs:
|
|
4
|
+
attrs: BlockEditorNode['attrs'];
|
|
5
5
|
protected readonly $srcURL: import("@angular/core").Signal<any>;
|
|
6
6
|
static ɵfac: i0.ɵɵFactoryDeclaration<DotImageBlock, never>;
|
|
7
7
|
static ɵcmp: i0.ɵɵComponentDeclaration<DotImageBlock, "dotcms-block-editor-renderer-image", never, { "attrs": { "alias": "attrs"; "required": false; }; }, {}, never, never, true, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/sdk/angular/next/components/dotcms-block-editor-renderer/blocks/image.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"image.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/sdk/angular/next/components/dotcms-block-editor-renderer/blocks/image.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;;AAEhD,qBAQa,aAAa;IACb,KAAK,EAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAE1C,SAAS,CAAC,QAAQ,CAAC,OAAO,sCAAuC;yCAHxD,aAAa;2CAAb,aAAa;CAIzB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BlockEditorNode } from '@dotcms/types';
|
|
2
2
|
import { DotCMSBlockEditorItemComponent } from '../item/dotcms-block-editor-item.component';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class DotTableBlock {
|
|
5
|
-
content:
|
|
5
|
+
content: BlockEditorNode[] | undefined;
|
|
6
6
|
blockEditorItem: typeof DotCMSBlockEditorItemComponent;
|
|
7
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<DotTableBlock, never>;
|
|
8
8
|
static ɵcmp: i0.ɵɵComponentDeclaration<DotTableBlock, "dotcms-block-editor-renderer-table", never, { "content": { "alias": "content"; "required": false; }; }, {}, never, never, true, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/sdk/angular/next/components/dotcms-block-editor-renderer/blocks/table.component.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"table.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/sdk/angular/next/components/dotcms-block-editor-renderer/blocks/table.component.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,8BAA8B,EAAE,MAAM,4CAA4C,CAAC;;AAC5F,qBA2Ca,aAAa;IACb,OAAO,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;IAChD,eAAe,wCAAkC;yCAFxC,aAAa;2CAAb,aAAa;CAGzB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BlockEditorMark } from '@dotcms/types';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class DotParagraphBlock {
|
|
4
4
|
static ɵfac: i0.ɵɵFactoryDeclaration<DotParagraphBlock, never>;
|
|
@@ -10,13 +10,13 @@ export declare class DotHeadingBlock {
|
|
|
10
10
|
static ɵcmp: i0.ɵɵComponentDeclaration<DotHeadingBlock, "dotcms-block-editor-renderer-heading", never, { "level": { "alias": "level"; "required": false; }; }, {}, never, ["*", "*", "*", "*", "*", "*", "*"], true, never>;
|
|
11
11
|
}
|
|
12
12
|
interface TextBlockProps {
|
|
13
|
-
marks?:
|
|
13
|
+
marks?: BlockEditorMark[];
|
|
14
14
|
text?: string;
|
|
15
15
|
}
|
|
16
16
|
export declare class DotTextBlock {
|
|
17
17
|
marks: TextBlockProps['marks'];
|
|
18
18
|
text: string;
|
|
19
|
-
protected readonly $remainingMarks: import("@angular/core").Signal<
|
|
19
|
+
protected readonly $remainingMarks: import("@angular/core").Signal<BlockEditorMark[] | undefined>;
|
|
20
20
|
protected readonly $currentAttrs: import("@angular/core").Signal<{
|
|
21
21
|
[x: string]: string;
|
|
22
22
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/sdk/angular/next/components/dotcms-block-editor-renderer/blocks/text.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"text.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/sdk/angular/next/components/dotcms-block-editor-renderer/blocks/text.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;;AAEhD,qBAUa,iBAAiB;yCAAjB,iBAAiB;2CAAjB,iBAAiB;CAAG;AAEjC,qBA4Ca,eAAe;IACf,KAAK,EAAG,MAAM,CAAC;yCADf,eAAe;2CAAf,eAAe;CAE3B;AAED,UAAU,cAAc;IACpB,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAiDa,YAAY;IACZ,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,CAAM;IACpC,IAAI,SAAM;IAEnB,SAAS,CAAC,QAAQ,CAAC,eAAe,gEAAwC;IAE1E,SAAS,CAAC,QAAQ,CAAC,aAAa;;OAS7B;yCAfM,YAAY;2CAAZ,YAAY;CAgBxB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BlockEditorNode } from '@dotcms/types';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class DotVideoBlock {
|
|
4
|
-
attrs:
|
|
4
|
+
attrs: BlockEditorNode['attrs'];
|
|
5
5
|
protected readonly $srcURL: import("@angular/core").Signal<any>;
|
|
6
6
|
protected readonly $posterURL: import("@angular/core").Signal<any>;
|
|
7
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<DotVideoBlock, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video.components.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/sdk/angular/next/components/dotcms-block-editor-renderer/blocks/video.components.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"video.components.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/sdk/angular/next/components/dotcms-block-editor-renderer/blocks/video.components.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;;AAEhD,qBAmBa,aAAa;IACb,KAAK,EAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAE1C,SAAS,CAAC,QAAQ,CAAC,OAAO,sCAAuC;IAEjE,SAAS,CAAC,QAAQ,CAAC,UAAU,sCAAuD;yCAL3E,aAAa;2CAAb,aAAa;CAMzB"}
|
package/next/components/dotcms-block-editor-renderer/dotcms-block-editor-renderer.component.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { BlockEditorContent } from '@dotcms/types';
|
|
2
|
+
import { BlockEditorState } from '@dotcms/types/internal';
|
|
3
3
|
import { DynamicComponentEntity } from '../../models';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
/**
|
|
@@ -26,7 +26,7 @@ export type CustomRenderer = Record<string, DynamicComponentEntity>;
|
|
|
26
26
|
* ```
|
|
27
27
|
*/
|
|
28
28
|
export declare class DotCMSBlockEditorRendererComponent {
|
|
29
|
-
blocks:
|
|
29
|
+
blocks: BlockEditorContent;
|
|
30
30
|
customRenderers: CustomRenderer | undefined;
|
|
31
31
|
$blockEditorState: import("@angular/core").WritableSignal<BlockEditorState>;
|
|
32
32
|
$isInEditMode: import("@angular/core").WritableSignal<boolean>;
|
package/next/components/dotcms-block-editor-renderer/dotcms-block-editor-renderer.component.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dotcms-block-editor-renderer.component.d.ts","sourceRoot":"","sources":["../../../../../../../libs/sdk/angular/next/components/dotcms-block-editor-renderer/dotcms-block-editor-renderer.component.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dotcms-block-editor-renderer.component.d.ts","sourceRoot":"","sources":["../../../../../../../libs/sdk/angular/next/components/dotcms-block-editor-renderer/dotcms-block-editor-renderer.component.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;;AAEtD;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;AAEpE;;;;;;;;;;;;;;;GAeG;AACH,qBAOa,kCAAkC;IAClC,MAAM,EAAG,kBAAkB,CAAC;IAC5B,eAAe,EAAE,cAAc,GAAG,SAAS,CAAC;IAErD,iBAAiB,2DAA6C;IAC9D,aAAa,kDAAiD;IAE9D,QAAQ;yCAPC,kCAAkC;2CAAlC,kCAAkC;CAgB9C"}
|
package/next/components/dotcms-block-editor-renderer/item/dotcms-block-editor-item.component.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { BlockEditorNode } from '@dotcms/types';
|
|
2
|
+
import { BlockEditorDefaultBlocks } from '@dotcms/types/internal';
|
|
3
3
|
import { CustomRenderer } from '../dotcms-block-editor-renderer.component';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class DotCMSBlockEditorItemComponent {
|
|
6
|
-
content:
|
|
6
|
+
content: BlockEditorNode[] | undefined;
|
|
7
7
|
customRenderers: CustomRenderer | undefined;
|
|
8
|
-
BLOCKS: typeof
|
|
8
|
+
BLOCKS: typeof BlockEditorDefaultBlocks;
|
|
9
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<DotCMSBlockEditorItemComponent, never>;
|
|
10
10
|
static ɵcmp: i0.ɵɵComponentDeclaration<DotCMSBlockEditorItemComponent, "dotcms-block-editor-renderer-block", never, { "content": { "alias": "content"; "required": false; }; "customRenderers": { "alias": "customRenderers"; "required": false; }; }, {}, never, never, true, never>;
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dotcms-block-editor-item.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/sdk/angular/next/components/dotcms-block-editor-renderer/item/dotcms-block-editor-item.component.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"dotcms-block-editor-item.component.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/sdk/angular/next/components/dotcms-block-editor-renderer/item/dotcms-block-editor-item.component.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AASlE,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;;AAE3E,qBAuBa,8BAA8B;IAC9B,OAAO,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;IACvC,eAAe,EAAE,cAAc,GAAG,SAAS,CAAC;IAErD,MAAM,kCAA4B;yCAJzB,8BAA8B;2CAA9B,8BAA8B;CAK1C"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EditorComponent } from '@tinymce/tinymce-angular';
|
|
2
2
|
import { EventObj } from '@tinymce/tinymce-angular/editor/Events';
|
|
3
3
|
import { OnChanges, OnInit } from '@angular/core';
|
|
4
|
-
import {
|
|
4
|
+
import { DotCMSBasicContentlet } from '@dotcms/types';
|
|
5
5
|
import { DOT_EDITABLE_TEXT_FORMAT, DOT_EDITABLE_TEXT_MODE } from './utils';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
/**
|
|
@@ -36,7 +36,7 @@ export declare class DotCMSEditableTextComponent implements OnInit, OnChanges {
|
|
|
36
36
|
* @type {DotCMSContentlet}
|
|
37
37
|
* @memberof DotCMSEditableTextComponent
|
|
38
38
|
*/
|
|
39
|
-
contentlet:
|
|
39
|
+
contentlet: DotCMSBasicContentlet;
|
|
40
40
|
/**
|
|
41
41
|
* Represents the field name of the `contentlet` that can be edited
|
|
42
42
|
*
|
|
@@ -79,7 +79,7 @@ export declare class DotCMSEditableTextComponent implements OnInit, OnChanges {
|
|
|
79
79
|
* @readonly
|
|
80
80
|
* @memberof DotCMSEditableTextComponent
|
|
81
81
|
*/
|
|
82
|
-
get onNumberOfPages():
|
|
82
|
+
get onNumberOfPages(): string | 1;
|
|
83
83
|
/**
|
|
84
84
|
* Handle copy contentlet inline editing success event
|
|
85
85
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dotcms-editable-text.component.d.ts","sourceRoot":"","sources":["../../../../../../../libs/sdk/angular/next/components/dotcms-editable-text/dotcms-editable-text.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAsB,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAElE,OAAO,EAMH,SAAS,EACT,MAAM,EAIT,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"dotcms-editable-text.component.d.ts","sourceRoot":"","sources":["../../../../../../../libs/sdk/angular/next/components/dotcms-editable-text/dotcms-editable-text.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAsB,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAElE,OAAO,EAMH,SAAS,EACT,MAAM,EAIT,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,qBAAqB,EAA6B,MAAM,eAAe,CAAC;AAIjF,OAAO,EAAkB,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;;AAE3F;;;;;;;;GAQG;AACH,qBAiBa,2BAA4B,YAAW,MAAM,EAAE,SAAS;;IACrC,eAAe,EAAG,eAAe,CAAC;IAE9D;;;;;OAKG;IACM,IAAI,EAAE,sBAAsB,CAAW;IAChD;;;;;OAKG;IACM,MAAM,EAAE,wBAAwB,CAAU;IACnD;;;;;OAKG;IACM,UAAU,EAAG,qBAAqB,CAAC;IAC5C;;;;OAIG;IACM,SAAS,SAAM;IAExB;;;;;OAKG;IACH,SAAS,CAAC,OAAO,SAAM;IACvB;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IASzC;;;;;OAKG;IACH,IAAI,MAAM,6BAET;IAED;;;;;;OAMG;IACH,SAAS,KAAK,UAAU,sCAIvB;IAED;;;;;OAKG;IACH,IAAI,eAAe,eAElB;IAED;;;;;;OAMG;IAEH,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,YAAY;IAgBhC,QAAQ;IAmBR,WAAW;IAOX;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC;IAyB3C;;;;;OAKG;IACH,UAAU;IA0BV;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;yCAjOf,2BAA2B;2CAA3B,2BAA2B;CAoOvC"}
|