@acorex/components 22.3.23 → 22.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-wysiwyg.mjs","sources":["../../../../packages/components/wysiwyg/src/lib/wysiwyg-toolbar/wysiwyg-toolbar.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg-toolbar/wysiwyg-toolbar.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg-view/wysiwyg-view.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg-view/wysiwyg-view.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg.service.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg-container/wysiwyg-container.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg-container/wysiwyg-container.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg.module.ts","../../../../packages/components/wysiwyg/src/acorex-components-wysiwyg.ts"],"sourcesContent":["import { AXComponent } from '@acorex/cdk/common';\nimport { AXZIndexService, AXZToken } from '@acorex/core/z-index';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n afterNextRender,\n Component,\n DestroyRef,\n ElementRef,\n inject,\n PLATFORM_ID,\n Renderer2,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\ninterface PickerOverlayState {\n picker: HTMLElement;\n options: HTMLElement | null;\n zToken: AXZToken;\n}\n\n/**\n * Toolbar for the WYSIWYG editor.\n * Formatting controls belong in `ax-prefix`. Actions such as submit belong in `ax-suffix`.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-toolbar',\n templateUrl: './wysiwyg-toolbar.component.html',\n styleUrl: './wysiwyg-toolbar.component.css',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXWysiwygToolbarComponent }],\n})\nexport class AXWysiwygToolbarComponent {\n toolbar = viewChild<ElementRef<HTMLDivElement>>('toolbar');\n\n private readonly host = inject(ElementRef<HTMLElement>);\n private readonly renderer = inject(Renderer2);\n private readonly platformId = inject(PLATFORM_ID);\n private readonly destroyRef = inject(DestroyRef);\n private readonly zIndexService = inject(AXZIndexService);\n\n private observer: MutationObserver | null = null;\n private overlayState: PickerOverlayState | null = null;\n private unlistenClick: (() => void) | null = null;\n private clampFrame = 0;\n\n constructor() {\n afterNextRender(() => {\n if (!isPlatformBrowser(this.platformId)) return;\n this.setupPickerOverlay();\n });\n\n this.destroyRef.onDestroy(() => this.teardownPickerOverlay());\n }\n\n private setupPickerOverlay(): void {\n const toolbarEl = this.toolbar()?.nativeElement;\n if (!toolbarEl) return;\n\n this.observer = new MutationObserver(() => this.syncPickerOverlay());\n this.observer.observe(toolbarEl, {\n attributes: true,\n attributeFilter: ['class'],\n subtree: true,\n });\n\n this.unlistenClick = this.renderer.listen(toolbarEl, 'click', (event: Event) => {\n const target = event.target;\n if (!(target instanceof Element) || !target.closest('.ql-picker-label, .ql-picker-item')) return;\n this.queueClamp();\n });\n }\n\n private syncPickerOverlay(): void {\n const toolbarEl = this.toolbar()?.nativeElement;\n if (!toolbarEl) return;\n\n const expandedPicker = toolbarEl.querySelector<HTMLElement>('.ql-picker.ql-expanded');\n if (!expandedPicker) {\n this.closePickerOverlay();\n return;\n }\n\n if (this.overlayState?.picker !== expandedPicker) {\n this.closePickerOverlay();\n this.openPickerOverlay(expandedPicker);\n }\n\n this.queueClamp();\n }\n\n private openPickerOverlay(picker: HTMLElement): void {\n const zToken = this.zIndexService.acquire();\n this.overlayState = {\n picker,\n options: picker.querySelector<HTMLElement>('.ql-picker-options'),\n zToken,\n };\n\n this.renderer.setStyle(this.host.nativeElement, 'z-index', String(zToken.zIndex));\n this.renderer.setStyle(picker, 'z-index', String(zToken.zIndex));\n }\n\n private closePickerOverlay(): void {\n if (!this.overlayState) return;\n\n const { picker, options, zToken } = this.overlayState;\n this.renderer.removeStyle(this.host.nativeElement, 'z-index');\n this.renderer.removeStyle(picker, 'z-index');\n this.clearPickerOffset(options);\n\n this.zIndexService.release(zToken);\n this.overlayState = null;\n }\n\n private queueClamp(): void {\n cancelAnimationFrame(this.clampFrame);\n this.clampFrame = requestAnimationFrame(() => this.clampPicker());\n }\n\n /**\n * Quill anchors picker menus to the control. Shift or flip them so they stay\n * inside the viewport on narrow layouts.\n */\n private clampPicker(): void {\n const options = this.overlayState?.options;\n const picker = this.overlayState?.picker;\n if (!options || !picker || !picker.classList.contains('ql-expanded')) return;\n\n this.clearPickerOffset(options);\n\n const pad = 8;\n const viewportWidth = document.documentElement.clientWidth;\n const viewportHeight = window.innerHeight;\n\n let rect = options.getBoundingClientRect();\n if (rect.width > viewportWidth - pad * 2) {\n this.renderer.setStyle(options, 'max-width', `${Math.max(0, viewportWidth - pad * 2)}px`);\n rect = options.getBoundingClientRect();\n }\n\n if (rect.right > viewportWidth - pad) {\n this.renderer.setStyle(options, 'left', `${options.offsetLeft - (rect.right - (viewportWidth - pad))}px`);\n } else if (rect.left < pad) {\n this.renderer.setStyle(options, 'left', `${options.offsetLeft + (pad - rect.left)}px`);\n }\n\n rect = options.getBoundingClientRect();\n const pickerRect = picker.getBoundingClientRect();\n const roomAbove = pickerRect.top;\n const roomBelow = viewportHeight - pickerRect.bottom;\n\n if (rect.bottom > viewportHeight - pad && roomAbove > roomBelow) {\n this.renderer.setStyle(options, 'top', 'auto');\n this.renderer.setStyle(options, 'bottom', '100%');\n this.renderer.setStyle(options, 'margin-top', '0');\n } else if (rect.top < pad && roomBelow > roomAbove) {\n this.renderer.setStyle(options, 'bottom', 'auto');\n this.renderer.setStyle(options, 'top', '100%');\n this.renderer.setStyle(options, 'margin-bottom', '0');\n }\n }\n\n private clearPickerOffset(options: HTMLElement | null): void {\n if (!options) return;\n this.renderer.removeStyle(options, 'left');\n this.renderer.removeStyle(options, 'right');\n this.renderer.removeStyle(options, 'top');\n this.renderer.removeStyle(options, 'bottom');\n this.renderer.removeStyle(options, 'max-width');\n this.renderer.removeStyle(options, 'margin-top');\n this.renderer.removeStyle(options, 'margin-bottom');\n }\n\n private teardownPickerOverlay(): void {\n cancelAnimationFrame(this.clampFrame);\n this.unlistenClick?.();\n this.unlistenClick = null;\n this.observer?.disconnect();\n this.observer = null;\n this.closePickerOverlay();\n }\n}\n","<div class=\"ax-wysiwyg-toolbar-content\">\n <div #toolbar class=\"ax-wysiwyg-toolbar-tools\" role=\"toolbar\" aria-label=\"Formatting\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"ax-suffix\"></ng-content>\n</div>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { Component, ElementRef, viewChild, ViewEncapsulation } from '@angular/core';\n\n/**\n * Editing surface for the WYSIWYG editor.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-view',\n templateUrl: './wysiwyg-view.component.html',\n styleUrl: './wysiwyg-view.component.css',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXWysiwygViewComponent }],\n})\nexport class AXWysiwygViewComponent {\n editor = viewChild<ElementRef<HTMLDivElement>>('editor');\n}\n","<div #editor></div>\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class WysiwygService {\n selectedColor = signal('');\n selectedBackgroundColor = signal('');\n}\n","import {\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/cdk/common';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n Component,\n DestroyRef,\n PLATFORM_ID,\n ViewEncapsulation,\n afterNextRender,\n contentChild,\n effect,\n forwardRef,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { QuillDeltaToHtmlConverter } from 'quill-delta-to-html';\nimport type Quill from 'quill/quill.d.ts';\nimport { AXWysiwygToolbarComponent } from '../wysiwyg-toolbar/wysiwyg-toolbar.component';\nimport { AXWysiwygViewComponent } from '../wysiwyg-view/wysiwyg-view.component';\nimport { WysiwygService } from '../wysiwyg.service';\n\ntype QuillIconMap = Record<string, string | Record<string, string>>;\n\nlet quillIconsRegistered = false;\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-container',\n templateUrl: './wysiwyg-container.component.html',\n styleUrl: './wysiwyg-container.component.css',\n inputs: ['look', 'readonly', 'disabled', 'value'],\n outputs: ['onValueChanged'],\n encapsulation: ViewEncapsulation.None,\n host: {\n '[style.--ax-comp-wysiwyg-initial-line]': 'initialLine() + \"\"',\n '[attr.name]': 'name || null',\n '[class.ax-disable]': 'disabled',\n '[class.ax-readonly]': 'readonly && !disabled',\n },\n providers: [\n WysiwygService,\n { provide: AXComponent, useExisting: AXWysiwygContainerComponent },\n { provide: AXFocusableComponent, useExisting: AXWysiwygContainerComponent },\n { provide: AXValuableComponent, useExisting: AXWysiwygContainerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXWysiwygContainerComponent),\n multi: true,\n },\n ],\n})\nexport class AXWysiwygContainerComponent extends classes(MXInputBaseValueComponent<string>, MXLookComponent) {\n /**\n * Specifies the placeholder text.\n *\n */\n placeHolder = input<string>();\n\n /**\n * Specifies the initial editor height in number of text lines.\n *\n */\n initialLine = input(3);\n\n private readonly wysiwygService = inject(WysiwygService);\n private readonly platformId = inject(PLATFORM_ID);\n private readonly destroyRef = inject(DestroyRef);\n private readonly container = contentChild(AXWysiwygViewComponent);\n private readonly toolbar = contentChild(AXWysiwygToolbarComponent);\n\n private readonly wysiwyg = signal<Quill | null>(null);\n private lastCommittedHtml: string | null = null;\n private applyingExternal = false;\n private alive = true;\n private changeHandlerTimer: ReturnType<typeof setTimeout> | null = null;\n private tooltipObserver: MutationObserver | null = null;\n\n #init = afterNextRender(() => {\n this.destroyRef.onDestroy(() => {\n this.alive = false;\n if (this.changeHandlerTimer != null) {\n clearTimeout(this.changeHandlerTimer);\n }\n });\n void this.initEditor();\n });\n\n #placeholder = effect(() => {\n const quill = this.wysiwyg();\n if (!quill) return;\n quill.root.setAttribute('data-placeholder', this.placeHolder() || 'Write Your Message ...');\n });\n\n /**\n * Focuses the component.\n *\n * @returns void - No return value. The component gains focus.\n */\n override focus(): void {\n this.wysiwyg()?.focus();\n }\n\n /**\n * Removes focus from the component.\n *\n * @returns void - No return value. The component loses focus.\n */\n override blur(): void {\n this.wysiwyg()?.blur();\n }\n\n /**\n * Replaces the editor document. External value updates go through the form binding;\n * this method does not emit a user change.\n */\n public setWysiwygContent(value: string): void {\n this.syncEditorFromValue(value);\n }\n\n /** @ignore */\n protected override internalValueChanged(value: string): void {\n this.syncEditorFromValue(value);\n }\n\n private async initEditor(): Promise<void> {\n if (!isPlatformBrowser(this.platformId)) return;\n\n const editorElement = this.container()?.editor()?.nativeElement;\n if (!editorElement) return;\n\n const quillModule = await import('quill');\n if (!this.alive) return;\n const QuillCtor = quillModule.default;\n registerQuillIcons(QuillCtor);\n\n const hljs = (await import('highlight.js')).default;\n if (!this.alive) return;\n const toolbarElement = this.toolbar()?.toolbar()?.nativeElement;\n\n const quill = new QuillCtor(editorElement, {\n modules: {\n syntax: { hljs },\n toolbar: toolbarElement\n ? {\n container: toolbarElement,\n handlers: {\n undo: () => {\n quill.history.undo();\n },\n redo: () => {\n quill.history.redo();\n },\n color: (value: string) => {\n this.wysiwygService.selectedColor.set(value || '');\n quill.format('color', value || false);\n },\n background: (value: string) => {\n this.wysiwygService.selectedBackgroundColor.set(value || '');\n quill.format('background', value || false);\n },\n },\n }\n : false,\n history: {\n delay: 500,\n maxStack: 200,\n userOnly: true,\n },\n },\n theme: 'snow',\n });\n\n quill.on('text-change', this.onTextChange);\n quill.on('selection-change', this.onSelectionChange);\n this.watchTooltip(quill.container, toolbarElement);\n\n this.disabledChange.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this.syncEditable());\n this.readonlyChange.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this.syncEditable());\n\n this.destroyRef.onDestroy(() => {\n quill.off('text-change', this.onTextChange);\n quill.off('selection-change', this.onSelectionChange);\n this.tooltipObserver?.disconnect();\n this.tooltipObserver = null;\n toolbarElement?.removeEventListener('click', this.onTooltipTrigger);\n });\n\n this.wysiwyg.set(quill);\n this.syncEditable();\n this.syncEditorFromValue(this.value);\n }\n\n private readonly onTextChange = (_delta: unknown, _oldDelta: unknown, source: string): void => {\n if (source !== 'user' || this.applyingExternal || this.disabled || this.readonly) return;\n this.scheduleCommit();\n };\n\n private readonly onSelectionChange = (\n range: { index: number; length: number } | null,\n oldRange: { index: number; length: number } | null,\n ): void => {\n const quill = this.wysiwyg();\n if (!quill || this.disabled) return;\n\n if (range && !oldRange) {\n this.emitOnFocusEvent();\n } else if (!range && oldRange) {\n this.emitOnBlurEvent();\n }\n\n if (!range) return;\n const format = quill.getFormat(range);\n this.wysiwygService.selectedColor.set((format['color'] as string) || '');\n this.wysiwygService.selectedBackgroundColor.set((format['background'] as string) || '');\n };\n\n private scheduleCommit(): void {\n if (this.changeHandlerTimer != null) {\n clearTimeout(this.changeHandlerTimer);\n }\n\n this.changeHandlerTimer = setTimeout(() => {\n this.changeHandlerTimer = null;\n const quill = this.wysiwyg();\n if (!quill || this.disabled || this.readonly) return;\n\n if (quill.getLength() <= 1) {\n this.publishHtml(null);\n return;\n }\n\n const delta = quill.getContents().ops;\n const converter = new QuillDeltaToHtmlConverter(delta, {\n inlineStyles: true,\n allowBackgroundClasses: true,\n });\n this.publishHtml(converter.convert());\n }, 300);\n }\n\n private publishHtml(html: string | null): void {\n if (html === this.lastCommittedHtml) return;\n this.lastCommittedHtml = html;\n this.commitValue(html, true);\n }\n\n private syncEditorFromValue(value: string | null | undefined): void {\n const quill = this.wysiwyg();\n if (!quill) return;\n\n const next = normalizeHtml(value);\n if (next === this.lastCommittedHtml) return;\n\n this.applyingExternal = true;\n this.lastCommittedHtml = next;\n try {\n if (!next) {\n quill.setText('', 'api');\n } else {\n const delta = quill.clipboard.convert({ html: next });\n quill.setContents(delta, 'api');\n }\n } finally {\n this.applyingExternal = false;\n }\n }\n\n private watchTooltip(container: HTMLElement, toolbarElement: HTMLElement | undefined): void {\n const tooltip = container.querySelector<HTMLElement>('.ql-tooltip');\n if (tooltip) {\n this.tooltipObserver = new MutationObserver(() => this.onTooltipTrigger());\n this.tooltipObserver.observe(tooltip, { attributes: true, attributeFilter: ['class'] });\n }\n toolbarElement?.addEventListener('click', this.onTooltipTrigger);\n }\n\n private readonly onTooltipTrigger = (event?: Event): void => {\n if (event) {\n const target = event.target;\n if (!(target instanceof Element) || !target.closest('.ql-video, .ql-link, .ql-image')) return;\n }\n requestAnimationFrame(() => {\n this.clampTooltip();\n requestAnimationFrame(() => this.clampTooltip());\n });\n };\n\n /**\n * Quill anchors the link/video popover to the caret and lets it spill out of the\n * editor. Keep it fully inside the writing area so it does not cover the toolbar\n * or get clipped at the field edge.\n */\n private clampTooltip(): void {\n const quill = this.wysiwyg();\n const tooltip = quill?.container.querySelector<HTMLElement>('.ql-tooltip');\n if (!quill || !tooltip || tooltip.classList.contains('ql-hidden')) return;\n\n const pad = 8;\n const containerRect = quill.container.getBoundingClientRect();\n if (tooltip.getBoundingClientRect().width > containerRect.width - pad * 2) {\n tooltip.style.maxWidth = `${Math.max(0, containerRect.width - pad * 2)}px`;\n }\n\n const tipRect = tooltip.getBoundingClientRect();\n let left = tooltip.offsetLeft;\n let top = tooltip.offsetTop;\n\n if (tipRect.left < containerRect.left + pad) {\n left += containerRect.left + pad - tipRect.left;\n } else if (tipRect.right > containerRect.right - pad) {\n left -= tipRect.right - (containerRect.right - pad);\n }\n\n const bottomOverflow = Math.max(0, tipRect.bottom - (containerRect.bottom - pad));\n if (bottomOverflow > 0) {\n top -= bottomOverflow;\n }\n const shiftedTop = tipRect.top - bottomOverflow;\n if (shiftedTop < containerRect.top + pad) {\n top += containerRect.top + pad - shiftedTop;\n }\n\n tooltip.style.left = `${left}px`;\n tooltip.style.top = `${top}px`;\n }\n\n private syncEditable(): void {\n const quill = this.wysiwyg();\n if (!quill) return;\n if (this.disabled || this.readonly) {\n quill.disable();\n } else {\n quill.enable();\n }\n }\n}\n\nfunction normalizeHtml(value: string | null | undefined): string | null {\n if (value == null) return null;\n const trimmed = value.trim();\n if (!trimmed || trimmed === '<p><br></p>' || trimmed === '<p></p>') return null;\n return value;\n}\n\nfunction registerQuillIcons(QuillCtor: { import: (path: string) => unknown }): void {\n if (quillIconsRegistered) return;\n\n const icons = QuillCtor.import('ui/icons') as QuillIconMap;\n const icon = (name: string) => `<ax-icon class=\"ax-icon ax-icon-${name}\"></ax-icon>`;\n\n icons['bold'] = icon('bold');\n icons['italic'] = icon('italic');\n icons['underline'] = icon('under-line');\n icons['strike'] = icon('strike');\n icons['code-block'] = icon('code');\n icons['color'] = icon('color-palette');\n icons['background'] = icon('highlight');\n icons['image'] = icon('image');\n icons['link'] = icon('link');\n icons['video'] = icon('play');\n icons['undo'] = icon('undo');\n icons['redo'] = icon('redo');\n\n const list = (icons['list'] ?? {}) as Record<string, string>;\n list['ordered'] = icon('order-list');\n list['bullet'] = icon('un-order-list');\n icons['list'] = list;\n\n const direction = (icons['direction'] ?? {}) as Record<string, string>;\n direction[''] = icon('align-left');\n direction['rtl'] =\n '<svg viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path fill=\"currentColor\" d=\"M20 7H9v2h11V7zm0 4H4v2h16v-2zm0 4h-9v2h9v-2zM3.5 16.5 7 13v7z\"/></svg>';\n icons['direction'] = direction;\n\n const align = (icons['align'] ?? {}) as Record<string, string>;\n align[''] = icon('align-left');\n align['center'] = icon('align-center');\n align['justify'] = icon('align-justify');\n align['right'] = icon('align-right');\n icons['align'] = align;\n\n quillIconsRegistered = true;\n}\n","<div\n class=\"ax-editor-container ax-default {{ look }}\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly && !disabled\"\n>\n <div class=\"ax-quill-container\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\n</div>\n<div class=\"ax-error-container\"></div>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * Alignment controls for the WYSIWYG toolbar.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-alignment',\n templateUrl: './wysiwyg-alignment.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXWysiwygAlignmentComponent }],\n})\nexport class AXWysiwygAlignmentComponent {}\n","<span class=\"ql-formats\">\n <select class=\"ql-align\" title=\"Alignment\" aria-label=\"Alignment\"></select>\n</span>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXDecoratorColorIndicatorComponent } from '@acorex/components/decorators';\nimport { Component, inject, ViewEncapsulation } from '@angular/core';\nimport { WysiwygService } from '../../wysiwyg.service';\n\n/**\n * Text and highlight color controls for the WYSIWYG toolbar.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-colors',\n templateUrl: './wysiwyg-colors.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [AXDecoratorColorIndicatorComponent],\n providers: [{ provide: AXComponent, useExisting: AXWysiwygColorsComponent }],\n})\nexport class AXWysiwygColorsComponent {\n protected readonly wysiwygService = inject(WysiwygService);\n}\n","<div class=\"ax-wysiwyg-tool-group\">\n <div class=\"ql-formats ax-wysiwyg-text-color\">\n <ax-color-indicator class=\"ax-wysiwyg-swatch\" [previewColor]=\"wysiwygService.selectedColor()\"></ax-color-indicator>\n <select class=\"ql-color\" title=\"Text color\" aria-label=\"Text color\"></select>\n </div>\n <div class=\"ql-formats ax-wysiwyg-highlight-color\">\n <ax-color-indicator\n class=\"ax-wysiwyg-swatch\"\n [previewColor]=\"wysiwygService.selectedBackgroundColor()\"\n ></ax-color-indicator>\n <select class=\"ql-background\" title=\"Highlight color\" aria-label=\"Highlight color\"></select>\n </div>\n</div>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * Font style, size, and heading controls for the WYSIWYG toolbar.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-font-style',\n templateUrl: './wysiwyg-font-style.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXWysiwygFontStyleComponent }],\n})\nexport class AXWysiwygFontStyleComponent {}\n","<div class=\"ax-wysiwyg-tool-group\">\n <span class=\"ql-formats\">\n <button type=\"button\" class=\"ql-bold\" title=\"Bold\" aria-label=\"Bold\"></button>\n <button type=\"button\" class=\"ql-italic\" title=\"Italic\" aria-label=\"Italic\"></button>\n <button type=\"button\" class=\"ql-underline\" title=\"Underline\" aria-label=\"Underline\"></button>\n <button type=\"button\" class=\"ql-strike\" title=\"Strikethrough\" aria-label=\"Strikethrough\"></button>\n <button type=\"button\" class=\"ql-code-block\" title=\"Code block\" aria-label=\"Code block\"></button>\n </span>\n\n <span class=\"ql-formats\">\n <select class=\"ql-size\" title=\"Font size\" aria-label=\"Font size\">\n <option value=\"small\"></option>\n <option selected></option>\n <option value=\"large\"></option>\n <option value=\"huge\"></option>\n </select>\n </span>\n\n <span class=\"ql-formats\">\n <select class=\"ql-header\" title=\"Heading\" aria-label=\"Heading\">\n <option value=\"1\">H1</option>\n <option value=\"2\">H2</option>\n <option value=\"3\">H3</option>\n <option value=\"4\">H4</option>\n <option value=\"5\">H5</option>\n <option value=\"6\">H6</option>\n <option selected></option>\n </select>\n </span>\n</div>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * Undo and redo controls for the WYSIWYG toolbar.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-history',\n templateUrl: './wysiwyg-history.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXWysiwygHistoryComponent }],\n})\nexport class AXWysiwygHistoryComponent {}\n","<span class=\"ql-formats\">\n <button type=\"button\" class=\"ql-undo\" title=\"Undo\" aria-label=\"Undo\"></button>\n <button type=\"button\" class=\"ql-redo\" title=\"Redo\" aria-label=\"Redo\"></button>\n</span>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * Image, video, and link controls for the WYSIWYG toolbar.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-insert',\n templateUrl: './wysiwyg-insert.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXWysiwygInsertComponent }],\n})\nexport class AXWysiwygInsertComponent {}\n","<span class=\"ql-formats\">\n <button type=\"button\" class=\"ql-image\" title=\"Insert image\" aria-label=\"Insert image\"></button>\n <button type=\"button\" class=\"ql-video\" title=\"Insert video\" aria-label=\"Insert video\"></button>\n <button type=\"button\" class=\"ql-link\" title=\"Insert link\" aria-label=\"Insert link\"></button>\n</span>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * List and text-direction controls for the WYSIWYG toolbar.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-list',\n templateUrl: './wysiwyg-list.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXWysiwygListComponent }],\n})\nexport class AXWysiwygListComponent {}\n","<span class=\"ql-formats\">\n <button type=\"button\" class=\"ql-list\" value=\"ordered\" title=\"Ordered list\" aria-label=\"Ordered list\"></button>\n <button type=\"button\" class=\"ql-list\" value=\"bullet\" title=\"Bulleted list\" aria-label=\"Bulleted list\"></button>\n <button type=\"button\" class=\"ql-direction\" value=\"rtl\" title=\"Right-to-left\" aria-label=\"Right-to-left\"></button>\n</span>\n","import { NgModule } from '@angular/core';\nimport { AXWysiwygContainerComponent } from './wysiwyg-container/wysiwyg-container.component';\nimport { AXWysiwygToolbarComponent } from './wysiwyg-toolbar/wysiwyg-toolbar.component';\nimport { AXWysiwygAlignmentComponent } from './wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component';\nimport { AXWysiwygColorsComponent } from './wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component';\nimport { AXWysiwygFontStyleComponent } from './wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component';\nimport { AXWysiwygHistoryComponent } from './wysiwyg-tools/wysiwyg-history/wysiwyg-history.component';\nimport { AXWysiwygInsertComponent } from './wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component';\nimport { AXWysiwygListComponent } from './wysiwyg-tools/wysiwyg-list/wysiwyg-list.component';\nimport { AXWysiwygViewComponent } from './wysiwyg-view/wysiwyg-view.component';\n\nconst COMPONENT = [\n AXWysiwygContainerComponent,\n AXWysiwygViewComponent,\n AXWysiwygAlignmentComponent,\n AXWysiwygColorsComponent,\n AXWysiwygFontStyleComponent,\n AXWysiwygHistoryComponent,\n AXWysiwygInsertComponent,\n AXWysiwygListComponent,\n AXWysiwygToolbarComponent,\n];\n\n@NgModule({\n imports: [...COMPONENT],\n exports: [...COMPONENT],\n})\nexport class AXWysiwygModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-wysiwyg.mjs","sources":["../../../../packages/components/wysiwyg/src/lib/wysiwyg-toolbar/wysiwyg-toolbar.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg-toolbar/wysiwyg-toolbar.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg-view/wysiwyg-view.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg-view/wysiwyg-view.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg.service.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg-container/wysiwyg-container.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg-container/wysiwyg-container.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-history/wysiwyg-history.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.ts","../../../../packages/components/wysiwyg/src/lib/wysiwyg-tools/wysiwyg-list/wysiwyg-list.component.html","../../../../packages/components/wysiwyg/src/lib/wysiwyg.module.ts","../../../../packages/components/wysiwyg/src/acorex-components-wysiwyg.ts"],"sourcesContent":["import { AXComponent } from '@acorex/cdk/common';\nimport { AXZIndexService, AXZToken } from '@acorex/core/z-index';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n afterNextRender,\n Component,\n DestroyRef,\n ElementRef,\n inject,\n PLATFORM_ID,\n Renderer2,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\ninterface PickerOverlayState {\n picker: HTMLElement;\n options: HTMLElement | null;\n zToken: AXZToken;\n}\n\n/**\n * Toolbar for the WYSIWYG editor.\n * Formatting controls belong in `ax-prefix`. Actions such as submit belong in `ax-suffix`.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-toolbar',\n templateUrl: './wysiwyg-toolbar.component.html',\n styleUrl: './wysiwyg-toolbar.component.css',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXWysiwygToolbarComponent }],\n})\nexport class AXWysiwygToolbarComponent {\n toolbar = viewChild<ElementRef<HTMLDivElement>>('toolbar');\n\n private readonly host = inject(ElementRef<HTMLElement>);\n private readonly renderer = inject(Renderer2);\n private readonly platformId = inject(PLATFORM_ID);\n private readonly destroyRef = inject(DestroyRef);\n private readonly zIndexService = inject(AXZIndexService);\n\n private observer: MutationObserver | null = null;\n private overlayState: PickerOverlayState | null = null;\n private unlistenClick: (() => void) | null = null;\n private clampFrame = 0;\n\n constructor() {\n afterNextRender(() => {\n if (!isPlatformBrowser(this.platformId)) return;\n this.setupPickerOverlay();\n });\n\n this.destroyRef.onDestroy(() => this.teardownPickerOverlay());\n }\n\n private setupPickerOverlay(): void {\n const toolbarEl = this.toolbar()?.nativeElement;\n if (!toolbarEl) return;\n\n this.observer = new MutationObserver(() => this.syncPickerOverlay());\n this.observer.observe(toolbarEl, {\n attributes: true,\n attributeFilter: ['class'],\n subtree: true,\n });\n\n this.unlistenClick = this.renderer.listen(toolbarEl, 'click', (event: Event) => {\n const target = event.target;\n if (!(target instanceof Element) || !target.closest('.ql-picker-label, .ql-picker-item')) return;\n this.queueClamp();\n });\n }\n\n private syncPickerOverlay(): void {\n const toolbarEl = this.toolbar()?.nativeElement;\n if (!toolbarEl) return;\n\n const expandedPicker = toolbarEl.querySelector<HTMLElement>('.ql-picker.ql-expanded');\n if (!expandedPicker) {\n this.closePickerOverlay();\n return;\n }\n\n if (this.overlayState?.picker !== expandedPicker) {\n this.closePickerOverlay();\n this.openPickerOverlay(expandedPicker);\n }\n\n this.queueClamp();\n }\n\n private openPickerOverlay(picker: HTMLElement): void {\n const zToken = this.zIndexService.acquire();\n this.overlayState = {\n picker,\n options: picker.querySelector<HTMLElement>('.ql-picker-options'),\n zToken,\n };\n\n this.renderer.setStyle(this.host.nativeElement, 'z-index', String(zToken.zIndex));\n this.renderer.setStyle(picker, 'z-index', String(zToken.zIndex));\n }\n\n private closePickerOverlay(): void {\n if (!this.overlayState) return;\n\n const { picker, options, zToken } = this.overlayState;\n this.renderer.removeStyle(this.host.nativeElement, 'z-index');\n this.renderer.removeStyle(picker, 'z-index');\n this.clearPickerOffset(options);\n\n this.zIndexService.release(zToken);\n this.overlayState = null;\n }\n\n private queueClamp(): void {\n cancelAnimationFrame(this.clampFrame);\n this.clampFrame = requestAnimationFrame(() => this.keepPickerInViewport());\n }\n\n /**\n * Keep expanded picker menus inside the viewport horizontally.\n * Vertical direction is handled by CSS (open upward when the toolbar is below the editor).\n */\n private keepPickerInViewport(): void {\n const options = this.overlayState?.options;\n const picker = this.overlayState?.picker;\n if (!options || !picker || !picker.classList.contains('ql-expanded')) return;\n if (picker.classList.contains('ql-color-picker') || picker.classList.contains('ql-icon-picker')) return;\n\n this.renderer.removeStyle(options, 'left');\n\n const pad = 8;\n const viewportWidth = document.documentElement.clientWidth;\n const rect = options.getBoundingClientRect();\n\n if (rect.right > viewportWidth - pad) {\n this.renderer.setStyle(options, 'left', `${options.offsetLeft - (rect.right - (viewportWidth - pad))}px`);\n } else if (rect.left < pad) {\n this.renderer.setStyle(options, 'left', `${options.offsetLeft + (pad - rect.left)}px`);\n }\n }\n\n private clearPickerOffset(options: HTMLElement | null): void {\n if (!options) return;\n this.renderer.removeStyle(options, 'left');\n }\n\n private teardownPickerOverlay(): void {\n cancelAnimationFrame(this.clampFrame);\n this.unlistenClick?.();\n this.unlistenClick = null;\n this.observer?.disconnect();\n this.observer = null;\n this.closePickerOverlay();\n }\n}\n","<div class=\"ax-wysiwyg-toolbar-content\">\n <div #toolbar class=\"ax-wysiwyg-toolbar-tools\" role=\"toolbar\" aria-label=\"Formatting\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"ax-suffix\"></ng-content>\n</div>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { Component, ElementRef, viewChild, ViewEncapsulation } from '@angular/core';\n\n/**\n * Editing surface for the WYSIWYG editor.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-view',\n templateUrl: './wysiwyg-view.component.html',\n styleUrl: './wysiwyg-view.component.css',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXWysiwygViewComponent }],\n})\nexport class AXWysiwygViewComponent {\n editor = viewChild<ElementRef<HTMLDivElement>>('editor');\n}\n","<div #editor></div>\n","import { Injectable, signal } from '@angular/core';\n\n@Injectable()\nexport class WysiwygService {\n selectedColor = signal('');\n selectedBackgroundColor = signal('');\n}\n","import {\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/cdk/common';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n Component,\n DestroyRef,\n PLATFORM_ID,\n ViewEncapsulation,\n afterNextRender,\n contentChild,\n effect,\n forwardRef,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { QuillDeltaToHtmlConverter } from 'quill-delta-to-html';\nimport type Quill from 'quill/quill.d.ts';\nimport { AXWysiwygToolbarComponent } from '../wysiwyg-toolbar/wysiwyg-toolbar.component';\nimport { AXWysiwygViewComponent } from '../wysiwyg-view/wysiwyg-view.component';\nimport { WysiwygService } from '../wysiwyg.service';\n\ntype QuillIconMap = Record<string, string | Record<string, string>>;\n\nlet quillIconsRegistered = false;\n\n/**\n * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-container',\n templateUrl: './wysiwyg-container.component.html',\n styleUrl: './wysiwyg-container.component.css',\n inputs: ['look', 'readonly', 'disabled', 'value'],\n outputs: ['onValueChanged'],\n encapsulation: ViewEncapsulation.None,\n host: {\n '[style.--ax-comp-wysiwyg-initial-line]': 'initialLine() + \"\"',\n '[attr.name]': 'name || null',\n '[class.ax-disable]': 'disabled',\n '[class.ax-readonly]': 'readonly && !disabled',\n },\n providers: [\n WysiwygService,\n { provide: AXComponent, useExisting: AXWysiwygContainerComponent },\n { provide: AXFocusableComponent, useExisting: AXWysiwygContainerComponent },\n { provide: AXValuableComponent, useExisting: AXWysiwygContainerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXWysiwygContainerComponent),\n multi: true,\n },\n ],\n})\nexport class AXWysiwygContainerComponent extends classes(MXInputBaseValueComponent<string>, MXLookComponent) {\n /**\n * Specifies the placeholder text.\n *\n */\n placeHolder = input<string>();\n\n /**\n * Specifies the initial editor height in number of text lines.\n *\n */\n initialLine = input(3);\n\n private readonly wysiwygService = inject(WysiwygService);\n private readonly platformId = inject(PLATFORM_ID);\n private readonly destroyRef = inject(DestroyRef);\n private readonly container = contentChild(AXWysiwygViewComponent);\n private readonly toolbar = contentChild(AXWysiwygToolbarComponent);\n\n private readonly wysiwyg = signal<Quill | null>(null);\n private lastCommittedHtml: string | null = null;\n private applyingExternal = false;\n private alive = true;\n private changeHandlerTimer: ReturnType<typeof setTimeout> | null = null;\n private tooltipObserver: MutationObserver | null = null;\n\n #init = afterNextRender(() => {\n this.destroyRef.onDestroy(() => {\n this.alive = false;\n if (this.changeHandlerTimer != null) {\n clearTimeout(this.changeHandlerTimer);\n }\n });\n void this.initEditor();\n });\n\n #placeholder = effect(() => {\n const quill = this.wysiwyg();\n if (!quill) return;\n quill.root.setAttribute('data-placeholder', this.placeHolder() || 'Write Your Message ...');\n });\n\n /**\n * Focuses the component.\n *\n * @returns void - No return value. The component gains focus.\n */\n override focus(): void {\n this.wysiwyg()?.focus();\n }\n\n /**\n * Removes focus from the component.\n *\n * @returns void - No return value. The component loses focus.\n */\n override blur(): void {\n this.wysiwyg()?.blur();\n }\n\n /**\n * Replaces the editor document. External value updates go through the form binding;\n * this method does not emit a user change.\n */\n public setWysiwygContent(value: string): void {\n this.syncEditorFromValue(value);\n }\n\n /** @ignore */\n protected override internalValueChanged(value: string): void {\n this.syncEditorFromValue(value);\n }\n\n private async initEditor(): Promise<void> {\n if (!isPlatformBrowser(this.platformId)) return;\n\n const editorElement = this.container()?.editor()?.nativeElement;\n if (!editorElement) return;\n\n const quillModule = await import('quill');\n if (!this.alive) return;\n const QuillCtor = quillModule.default;\n registerQuillIcons(QuillCtor);\n\n const hljs = (await import('highlight.js')).default;\n if (!this.alive) return;\n const toolbarElement = this.toolbar()?.toolbar()?.nativeElement;\n\n const quill = new QuillCtor(editorElement, {\n modules: {\n syntax: { hljs },\n toolbar: toolbarElement\n ? {\n container: toolbarElement,\n handlers: {\n undo: () => {\n quill.history.undo();\n },\n redo: () => {\n quill.history.redo();\n },\n color: (value: string) => {\n this.wysiwygService.selectedColor.set(value || '');\n quill.format('color', value || false);\n },\n background: (value: string) => {\n this.wysiwygService.selectedBackgroundColor.set(value || '');\n quill.format('background', value || false);\n },\n },\n }\n : false,\n history: {\n delay: 500,\n maxStack: 200,\n userOnly: true,\n },\n },\n theme: 'snow',\n });\n\n quill.on('text-change', this.onTextChange);\n quill.on('selection-change', this.onSelectionChange);\n this.watchTooltip(quill.container, toolbarElement);\n\n this.disabledChange.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this.syncEditable());\n this.readonlyChange.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this.syncEditable());\n\n this.destroyRef.onDestroy(() => {\n quill.off('text-change', this.onTextChange);\n quill.off('selection-change', this.onSelectionChange);\n this.tooltipObserver?.disconnect();\n this.tooltipObserver = null;\n toolbarElement?.removeEventListener('click', this.onTooltipTrigger);\n });\n\n this.wysiwyg.set(quill);\n this.syncEditable();\n this.syncEditorFromValue(this.value);\n }\n\n private readonly onTextChange = (_delta: unknown, _oldDelta: unknown, source: string): void => {\n if (source !== 'user' || this.applyingExternal || this.disabled || this.readonly) return;\n this.scheduleCommit();\n };\n\n private readonly onSelectionChange = (\n range: { index: number; length: number } | null,\n oldRange: { index: number; length: number } | null,\n ): void => {\n const quill = this.wysiwyg();\n if (!quill || this.disabled) return;\n\n if (range && !oldRange) {\n this.emitOnFocusEvent();\n } else if (!range && oldRange) {\n this.emitOnBlurEvent();\n }\n\n if (!range) return;\n const format = quill.getFormat(range);\n this.wysiwygService.selectedColor.set((format['color'] as string) || '');\n this.wysiwygService.selectedBackgroundColor.set((format['background'] as string) || '');\n };\n\n private scheduleCommit(): void {\n if (this.changeHandlerTimer != null) {\n clearTimeout(this.changeHandlerTimer);\n }\n\n this.changeHandlerTimer = setTimeout(() => {\n this.changeHandlerTimer = null;\n const quill = this.wysiwyg();\n if (!quill || this.disabled || this.readonly) return;\n\n if (quill.getLength() <= 1) {\n this.publishHtml(null);\n return;\n }\n\n const delta = quill.getContents().ops;\n const converter = new QuillDeltaToHtmlConverter(delta, {\n inlineStyles: true,\n allowBackgroundClasses: true,\n });\n this.publishHtml(converter.convert());\n }, 300);\n }\n\n private publishHtml(html: string | null): void {\n if (html === this.lastCommittedHtml) return;\n this.lastCommittedHtml = html;\n this.commitValue(html, true);\n }\n\n private syncEditorFromValue(value: string | null | undefined): void {\n const quill = this.wysiwyg();\n if (!quill) return;\n\n const next = normalizeHtml(value);\n if (next === this.lastCommittedHtml) return;\n\n this.applyingExternal = true;\n this.lastCommittedHtml = next;\n try {\n if (!next) {\n quill.setText('', 'api');\n } else {\n const delta = quill.clipboard.convert({ html: next });\n quill.setContents(delta, 'api');\n }\n } finally {\n this.applyingExternal = false;\n }\n }\n\n private watchTooltip(container: HTMLElement, toolbarElement: HTMLElement | undefined): void {\n const tooltip = container.querySelector<HTMLElement>('.ql-tooltip');\n if (tooltip) {\n this.tooltipObserver = new MutationObserver(() => this.onTooltipTrigger());\n this.tooltipObserver.observe(tooltip, { attributes: true, attributeFilter: ['class'] });\n }\n toolbarElement?.addEventListener('click', this.onTooltipTrigger);\n }\n\n private readonly onTooltipTrigger = (event?: Event): void => {\n if (event) {\n const target = event.target;\n if (!(target instanceof Element) || !target.closest('.ql-video, .ql-link, .ql-image')) return;\n }\n requestAnimationFrame(() => {\n this.clampTooltip();\n requestAnimationFrame(() => this.clampTooltip());\n });\n };\n\n /**\n * Quill anchors the link/video popover to the caret and lets it spill out of the\n * editor. Keep it fully inside the writing area so it does not cover the toolbar\n * or get clipped at the field edge.\n */\n private clampTooltip(): void {\n const quill = this.wysiwyg();\n const tooltip = quill?.container.querySelector<HTMLElement>('.ql-tooltip');\n if (!quill || !tooltip || tooltip.classList.contains('ql-hidden')) return;\n\n const pad = 8;\n const containerRect = quill.container.getBoundingClientRect();\n if (tooltip.getBoundingClientRect().width > containerRect.width - pad * 2) {\n tooltip.style.maxWidth = `${Math.max(0, containerRect.width - pad * 2)}px`;\n }\n\n const tipRect = tooltip.getBoundingClientRect();\n let left = tooltip.offsetLeft;\n let top = tooltip.offsetTop;\n\n if (tipRect.left < containerRect.left + pad) {\n left += containerRect.left + pad - tipRect.left;\n } else if (tipRect.right > containerRect.right - pad) {\n left -= tipRect.right - (containerRect.right - pad);\n }\n\n const bottomOverflow = Math.max(0, tipRect.bottom - (containerRect.bottom - pad));\n if (bottomOverflow > 0) {\n top -= bottomOverflow;\n }\n const shiftedTop = tipRect.top - bottomOverflow;\n if (shiftedTop < containerRect.top + pad) {\n top += containerRect.top + pad - shiftedTop;\n }\n\n tooltip.style.left = `${left}px`;\n tooltip.style.top = `${top}px`;\n }\n\n private syncEditable(): void {\n const quill = this.wysiwyg();\n if (!quill) return;\n if (this.disabled || this.readonly) {\n quill.disable();\n } else {\n quill.enable();\n }\n }\n}\n\nfunction normalizeHtml(value: string | null | undefined): string | null {\n if (value == null) return null;\n const trimmed = value.trim();\n if (!trimmed || trimmed === '<p><br></p>' || trimmed === '<p></p>') return null;\n return value;\n}\n\nfunction registerQuillIcons(QuillCtor: { import: (path: string) => unknown }): void {\n if (quillIconsRegistered) return;\n\n const icons = QuillCtor.import('ui/icons') as QuillIconMap;\n const icon = (name: string) => `<ax-icon class=\"ax-icon ax-icon-${name}\"></ax-icon>`;\n\n icons['bold'] = icon('bold');\n icons['italic'] = icon('italic');\n icons['underline'] = icon('under-line');\n icons['strike'] = icon('strike');\n icons['code-block'] = icon('code');\n icons['color'] = icon('color-palette');\n icons['background'] = icon('highlight');\n icons['image'] = icon('image');\n icons['link'] = icon('link');\n icons['video'] = icon('play');\n icons['undo'] = icon('undo');\n icons['redo'] = icon('redo');\n\n const list = (icons['list'] ?? {}) as Record<string, string>;\n list['ordered'] = icon('order-list');\n list['bullet'] = icon('un-order-list');\n icons['list'] = list;\n\n const direction = (icons['direction'] ?? {}) as Record<string, string>;\n direction[''] = icon('align-left');\n direction['rtl'] =\n '<svg viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path fill=\"currentColor\" d=\"M20 7H9v2h11V7zm0 4H4v2h16v-2zm0 4h-9v2h9v-2zM3.5 16.5 7 13v7z\"/></svg>';\n icons['direction'] = direction;\n\n const align = (icons['align'] ?? {}) as Record<string, string>;\n align[''] = icon('align-left');\n align['center'] = icon('align-center');\n align['justify'] = icon('align-justify');\n align['right'] = icon('align-right');\n icons['align'] = align;\n\n quillIconsRegistered = true;\n}\n","<div\n class=\"ax-editor-container ax-default {{ look }}\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly && !disabled\"\n>\n <div class=\"ax-quill-container\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\n</div>\n<div class=\"ax-error-container\"></div>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * Alignment controls for the WYSIWYG toolbar.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-alignment',\n templateUrl: './wysiwyg-alignment.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXWysiwygAlignmentComponent }],\n})\nexport class AXWysiwygAlignmentComponent {}\n","<span class=\"ql-formats\">\n <select class=\"ql-align\" title=\"Alignment\" aria-label=\"Alignment\"></select>\n</span>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXDecoratorColorIndicatorComponent } from '@acorex/components/decorators';\nimport { Component, inject, ViewEncapsulation } from '@angular/core';\nimport { WysiwygService } from '../../wysiwyg.service';\n\n/**\n * Text and highlight color controls for the WYSIWYG toolbar.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-colors',\n templateUrl: './wysiwyg-colors.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [AXDecoratorColorIndicatorComponent],\n providers: [{ provide: AXComponent, useExisting: AXWysiwygColorsComponent }],\n})\nexport class AXWysiwygColorsComponent {\n protected readonly wysiwygService = inject(WysiwygService);\n}\n","<div class=\"ax-wysiwyg-tool-group\">\n <div class=\"ql-formats ax-wysiwyg-text-color\">\n <ax-color-indicator class=\"ax-wysiwyg-swatch\" [previewColor]=\"wysiwygService.selectedColor()\"></ax-color-indicator>\n <select class=\"ql-color\" title=\"Text color\" aria-label=\"Text color\"></select>\n </div>\n <div class=\"ql-formats ax-wysiwyg-highlight-color\">\n <ax-color-indicator\n class=\"ax-wysiwyg-swatch\"\n [previewColor]=\"wysiwygService.selectedBackgroundColor()\"\n ></ax-color-indicator>\n <select class=\"ql-background\" title=\"Highlight color\" aria-label=\"Highlight color\"></select>\n </div>\n</div>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * Font style, size, and heading controls for the WYSIWYG toolbar.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-font-style',\n templateUrl: './wysiwyg-font-style.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXWysiwygFontStyleComponent }],\n})\nexport class AXWysiwygFontStyleComponent {}\n","<div class=\"ax-wysiwyg-tool-group\">\n <span class=\"ql-formats\">\n <button type=\"button\" class=\"ql-bold\" title=\"Bold\" aria-label=\"Bold\"></button>\n <button type=\"button\" class=\"ql-italic\" title=\"Italic\" aria-label=\"Italic\"></button>\n <button type=\"button\" class=\"ql-underline\" title=\"Underline\" aria-label=\"Underline\"></button>\n <button type=\"button\" class=\"ql-strike\" title=\"Strikethrough\" aria-label=\"Strikethrough\"></button>\n <button type=\"button\" class=\"ql-code-block\" title=\"Code block\" aria-label=\"Code block\"></button>\n </span>\n\n <span class=\"ql-formats\">\n <select class=\"ql-size\" title=\"Font size\" aria-label=\"Font size\">\n <option value=\"small\"></option>\n <option selected></option>\n <option value=\"large\"></option>\n <option value=\"huge\"></option>\n </select>\n </span>\n\n <span class=\"ql-formats\">\n <select class=\"ql-header\" title=\"Heading\" aria-label=\"Heading\">\n <option value=\"1\">H1</option>\n <option value=\"2\">H2</option>\n <option value=\"3\">H3</option>\n <option value=\"4\">H4</option>\n <option value=\"5\">H5</option>\n <option value=\"6\">H6</option>\n <option selected></option>\n </select>\n </span>\n</div>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * Undo and redo controls for the WYSIWYG toolbar.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-history',\n templateUrl: './wysiwyg-history.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXWysiwygHistoryComponent }],\n})\nexport class AXWysiwygHistoryComponent {}\n","<span class=\"ql-formats\">\n <button type=\"button\" class=\"ql-undo\" title=\"Undo\" aria-label=\"Undo\"></button>\n <button type=\"button\" class=\"ql-redo\" title=\"Redo\" aria-label=\"Redo\"></button>\n</span>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * Image, video, and link controls for the WYSIWYG toolbar.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-insert',\n templateUrl: './wysiwyg-insert.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXWysiwygInsertComponent }],\n})\nexport class AXWysiwygInsertComponent {}\n","<span class=\"ql-formats\">\n <button type=\"button\" class=\"ql-image\" title=\"Insert image\" aria-label=\"Insert image\"></button>\n <button type=\"button\" class=\"ql-video\" title=\"Insert video\" aria-label=\"Insert video\"></button>\n <button type=\"button\" class=\"ql-link\" title=\"Insert link\" aria-label=\"Insert link\"></button>\n</span>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * List and text-direction controls for the WYSIWYG toolbar.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-list',\n templateUrl: './wysiwyg-list.component.html',\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXWysiwygListComponent }],\n})\nexport class AXWysiwygListComponent {}\n","<span class=\"ql-formats\">\n <button type=\"button\" class=\"ql-list\" value=\"ordered\" title=\"Ordered list\" aria-label=\"Ordered list\"></button>\n <button type=\"button\" class=\"ql-list\" value=\"bullet\" title=\"Bulleted list\" aria-label=\"Bulleted list\"></button>\n <button type=\"button\" class=\"ql-direction\" value=\"rtl\" title=\"Right-to-left\" aria-label=\"Right-to-left\"></button>\n</span>\n","import { NgModule } from '@angular/core';\nimport { AXWysiwygContainerComponent } from './wysiwyg-container/wysiwyg-container.component';\nimport { AXWysiwygToolbarComponent } from './wysiwyg-toolbar/wysiwyg-toolbar.component';\nimport { AXWysiwygAlignmentComponent } from './wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component';\nimport { AXWysiwygColorsComponent } from './wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component';\nimport { AXWysiwygFontStyleComponent } from './wysiwyg-tools/wysiwyg-font-style/wysiwyg-font-style.component';\nimport { AXWysiwygHistoryComponent } from './wysiwyg-tools/wysiwyg-history/wysiwyg-history.component';\nimport { AXWysiwygInsertComponent } from './wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component';\nimport { AXWysiwygListComponent } from './wysiwyg-tools/wysiwyg-list/wysiwyg-list.component';\nimport { AXWysiwygViewComponent } from './wysiwyg-view/wysiwyg-view.component';\n\nconst COMPONENT = [\n AXWysiwygContainerComponent,\n AXWysiwygViewComponent,\n AXWysiwygAlignmentComponent,\n AXWysiwygColorsComponent,\n AXWysiwygFontStyleComponent,\n AXWysiwygHistoryComponent,\n AXWysiwygInsertComponent,\n AXWysiwygListComponent,\n AXWysiwygToolbarComponent,\n];\n\n@NgModule({\n imports: [...COMPONENT],\n exports: [...COMPONENT],\n})\nexport class AXWysiwygModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "22.3.23",
3
+ "version": "22.3.25",
4
4
  "peerDependencies": {
5
- "@acorex/core": "22.3.23",
6
- "@acorex/cdk": "22.3.23",
5
+ "@acorex/core": "22.3.25",
6
+ "@acorex/cdk": "22.3.25",
7
7
  "@angular/aria": ">=22.1.0",
8
8
  "polytype": ">=0.17.0",
9
9
  "hammerjs": ">=2.0.8",
@@ -96,10 +96,10 @@ declare class AXWysiwygToolbarComponent {
96
96
  private closePickerOverlay;
97
97
  private queueClamp;
98
98
  /**
99
- * Quill anchors picker menus to the control. Shift or flip them so they stay
100
- * inside the viewport on narrow layouts.
99
+ * Keep expanded picker menus inside the viewport horizontally.
100
+ * Vertical direction is handled by CSS (open upward when the toolbar is below the editor).
101
101
  */
102
- private clampPicker;
102
+ private keepPickerInViewport;
103
103
  private clearPickerOffset;
104
104
  private teardownPickerOverlay;
105
105
  static ɵfac: i0.ɵɵFactoryDeclaration<AXWysiwygToolbarComponent, never>;