@acorex/components 21.0.3-next.21 → 21.0.3-next.23

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 { ChangeDetectionStrategy, Component, ElementRef, viewChild, ViewEncapsulation } from '@angular/core';\n\n/**\n * @category Components\n * A component for viewing WYSIWYG content.\n */\n@Component({\n selector: 'ax-wysiwyg-toolbar',\n templateUrl: './wysiwyg-toolbar.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXComponent, useExisting: AXWysiwygToolbarComponent }],\n styleUrl: 'wysiwyg-toolbar.component.compiled.css',\n})\nexport class AXWysiwygToolbarComponent {\n toolbar = viewChild<ElementRef<HTMLDivElement>>('toolbar');\n}\n","<div #toolbar>\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-suffix\"></ng-content>\n</div>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, viewChild, ViewEncapsulation } from '@angular/core';\n\n/**\n * @category Components\n * A component for viewing WYSIWYG content.\n */\n@Component({\n selector: 'ax-wysiwyg-view',\n templateUrl: './wysiwyg-view.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXComponent, useExisting: AXWysiwygViewComponent }],\n styleUrl: 'wysiwyg-view.component.compiled.css',\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 ChangeDetectionStrategy,\n Component,\n HostBinding,\n OnDestroy,\n PLATFORM_ID,\n ViewEncapsulation,\n afterNextRender,\n contentChild,\n effect,\n forwardRef,\n inject,\n input,\n signal,\n} from '@angular/core';\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\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.compiled.css',\n inputs: ['look', 'readonly', 'disabled', 'value'],\n outputs: ['onValueChanged'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[style.--ax-comp-wysiwyg-initial-line]': 'initialLine() + \"\"',\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\n extends classes(MXInputBaseValueComponent<string>, MXLookComponent)\n implements OnDestroy\n{\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 wysiwygService = inject(WysiwygService);\n protected isQuillLoaded = signal(false);\n private isEditorClean = signal(true);\n private wysiwyg = signal<Quill | null>(null);\n private container = contentChild(AXWysiwygViewComponent);\n private toolbar = contentChild(AXWysiwygToolbarComponent);\n private platformId = inject(PLATFORM_ID);\n private changeHandlerTimer: any = null;\n\n #init = afterNextRender(async () => {\n if (!isPlatformBrowser(this.platformId)) return;\n\n const Quill = (await import('quill')).default;\n const icons = Quill.import('ui/icons') as any;\n\n icons['bold'] = '<ax-icon class=\"ax-icon ax-icon-bold\"></ax-icon>';\n icons['italic'] = '<ax-icon class=\"ax-icon ax-icon-italic\"></ax-icon>';\n icons['underline'] = '<ax-icon class=\"ax-icon ax-icon-under-line\"></ax-icon>';\n icons['strike'] = '<ax-icon class=\"ax-icon ax-icon-strike\"></ax-icon>';\n icons['code-block'] = '<ax-icon class=\"ax-icon ax-icon-code\"></ax-icon>';\n icons['color'] = '<ax-icon class=\"ax-icon ax-icon-color-palette\"></ax-icon>';\n icons['background'] = '<ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>';\n icons.list['ordered'] = '<ax-icon class=\"ax-icon ax-icon-order-list\"></ax-icon>';\n icons.list['bullet'] = '<ax-icon class=\"ax-icon ax-icon-un-order-list\"></ax-icon>';\n icons['image'] = ' <ax-icon class=\"ax-icon ax-icon-image\"></ax-icon>';\n icons['link'] = '<ax-icon class=\"ax-icon ax-icon-link\"></ax-icon>';\n icons['video'] = '<ax-icon class=\"ax-icon ax-icon-attach\"></ax-icon>';\n icons.direction[''] = '<ax-icon class=\"ax-icon ax-icon-paragraph \"> </ax-icon>';\n icons.direction['rtl'] = '';\n icons.align[''] = '<ax-icon class=\"ax-icon ax-icon-align-left \"></ax-icon>';\n icons.align['center'] = '<ax-icon class=\"ax-icon ax-icon-align-center\"></ax-icon>';\n icons.align['justify'] = '<ax-icon class=\"ax-icon ax-icon-align-justify\"></ax-icon>';\n icons.align['right'] = '<ax-icon class=\"ax-icon ax-icon-align-right\"></ax-icon>';\n icons.undo = '<ax-icon class=\"ax-icon ax-icon-undo\"></ax-icon>';\n icons.redo = ' <ax-icon class=\"ax-icon ax-icon-redo\"></ax-icon>';\n\n await import('quill').then(async (e) => {\n const hljs = (await import('highlight.js')).default;\n const quill = new e.default(this.container().editor().nativeElement, {\n modules: {\n syntax: { hljs },\n toolbar: {\n container: this.toolbar()?.toolbar().nativeElement,\n handlers: {\n undo() {\n (quill.getModule('history') as any).undo();\n },\n redo() {\n (quill.getModule('history') as any).redo();\n },\n color: (value) => {\n this.wysiwygService.selectedColor.set(value);\n if (value) quill.format('color', value);\n else quill.format('color', false);\n },\n background: (value) => {\n this.wysiwygService.selectedBackgroundColor.set(value);\n if (value) quill.format('background', value);\n else quill.format('background', false);\n },\n },\n },\n history: {\n delay: 500, // ms between stack snapshots\n maxStack: 200, // undo/redo depth\n userOnly: true, // only record user changes (not API changes)\n },\n },\n\n theme: 'snow',\n });\n this.wysiwyg.set(quill);\n this.isQuillLoaded.set(true);\n });\n\n this.disabledChange.subscribe((disabled) => {\n if (disabled) {\n this.wysiwyg().disable();\n } else {\n this.wysiwyg().enable();\n }\n });\n\n this.readonlyChange.subscribe((readonly) => {\n if (readonly) {\n this.wysiwyg().disable();\n } else {\n this.wysiwyg().enable();\n }\n });\n });\n\n #effect1 = effect(() => {\n if (!this.isQuillLoaded()) return;\n if (this.placeHolder()) {\n this.wysiwyg().root.setAttribute('data-placeholder', this.placeHolder());\n } else {\n this.wysiwyg().root.setAttribute('data-placeholder', 'Write Your Message ...');\n }\n });\n\n #effect2 = effect(() => {\n if (this.isQuillLoaded() && this.value) this.setWysiwygContent(this.value);\n });\n\n #effect3 = effect(() => {\n if (this.isQuillLoaded()) {\n this.wysiwyg().on('text-change', this.changeHandler.bind(this));\n this.wysiwyg().on('selection-change', (range, oldRange) => {\n if (this.disabled) return;\n if (range && !oldRange) {\n this.emitOnFocusEvent();\n } else if (!range && oldRange) {\n this.emitOnBlurEvent();\n }\n if (range) {\n const format = this.wysiwyg().getFormat(range);\n this.wysiwygService.selectedColor.set(format['color'] as string);\n this.wysiwygService.selectedBackgroundColor.set(format['background'] as string);\n }\n });\n }\n });\n\n protected changeHandler() {\n if (this.disabled) return;\n\n if (this.changeHandlerTimer) {\n clearTimeout(this.changeHandlerTimer);\n }\n\n this.changeHandlerTimer = setTimeout(() => {\n const value = this.wysiwyg()?.root.innerHTML;\n\n if (value === '<p><br></p>' || !value) {\n this.commitValue(null);\n if (this.isEditorClean()) return;\n this.isEditorClean.set(true);\n } else {\n const delta = this.wysiwyg()?.getContents().ops;\n\n const converter = new QuillDeltaToHtmlConverter(delta, {\n inlineStyles: true,\n allowBackgroundClasses: true,\n });\n\n const html = converter.convert();\n this.commitValue(html, true);\n if (!this.isEditorClean()) return;\n this.isEditorClean.set(false);\n }\n }, 300);\n }\n\n /** @ignore */\n override ngOnDestroy(): void {\n this.wysiwyg()?.off('text-change', this.changeHandler);\n this.disabledChange.unsubscribe();\n }\n\n /**\n * Focuses the component.\n *\n * @returns void - No return value. The component gains focus.\n */\n override focus() {\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() {\n this.wysiwyg().blur();\n }\n\n /**\n * Checks if the component is focused or has any focused element.\n *\n * @returns boolean - True if the component has focus.\n */\n override hasFocus(): boolean {\n return super.hasFocus();\n }\n\n /**\n * Sets the disabled state of the component.\n *\n * @param isDisabled - Whether the component should be disabled.\n * @returns void - No return value.\n */\n // override setDisabledState(isDisabled: boolean): void {\n // super.setDisabledState(isDisabled);\n // }\n\n public setWysiwygContent(value: string) {\n const quill = this.wysiwyg();\n const delta = quill.clipboard.convert({ html: value });\n quill.setContents(delta);\n }\n\n @HostBinding('attr.name')\n private get __hostName(): string {\n return this.name;\n }\n\n @HostBinding('class')\n get __hostClass(): string {\n const style = this.disabled ? 'ax-disable' : '';\n return style;\n }\n}\n","<div class=\"ax-editor-container ax-default {{ look }}\">\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 } from '@angular/core';\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-alignment',\n templateUrl: './wysiwyg-alignment.component.html',\n\n imports: [],\n providers: [{ provide: AXComponent, useExisting: AXWysiwygAlignmentComponent }],\n})\nexport class AXWysiwygAlignmentComponent {}\n","<span class=\"ql-formats\">\n <select class=\"ql-align\"></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 * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-colors',\n templateUrl: './wysiwyg-colors.component.html',\n\n encapsulation: ViewEncapsulation.None,\n imports: [AXDecoratorColorIndicatorComponent],\n providers: [{ provide: AXComponent, useExisting: AXWysiwygColorsComponent }],\n})\nexport class AXWysiwygColorsComponent {\n protected wysiwygService = inject(WysiwygService);\n}\n","<div class=\"flex\">\n <div class=\"ql-formats\">\n <ax-color-indicator [previewColor]=\"wysiwygService.selectedColor()\"></ax-color-indicator>\n <select class=\"ql-color\"></select>\n </div>\n <div class=\"ql-formats\">\n <ax-color-indicator [previewColor]=\"wysiwygService.selectedBackgroundColor()\"></ax-color-indicator>\n <select class=\"ql-background\"></select>\n </div>\n</div>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { Component } from '@angular/core';\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-font-style',\n templateUrl: './wysiwyg-font-style.component.html',\n imports: [],\n providers: [{ provide: AXComponent, useExisting: AXWysiwygFontStyleComponent }],\n})\nexport class AXWysiwygFontStyleComponent {}\n","<div class=\"flex\">\n <span class=\"ql-formats\">\n <button class=\"ql-bold\" title=\"Bold\"></button>\n <button class=\"ql-italic\" title=\"Italic\"></button>\n <button class=\"ql-underline\" title=\"Underline\"></button>\n <button class=\"ql-strike\" title=\"Strikethrough\"></button>\n <button class=\"ql-code-block\" title=\"Code block\"></button>\n </span>\n\n <span class=\"ql-formats\">\n <select class=\"ql-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\">\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 * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-history',\n templateUrl: './wysiwyg-history.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [],\n providers: [{ provide: AXComponent, useExisting: AXWysiwygHistoryComponent }],\n})\nexport class AXWysiwygHistoryComponent {}\n","<span class=\"ql-formats\">\n <button class=\"ql-undo\"></button>\n <button class=\"ql-redo\"></button>\n</span>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\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-insert',\n templateUrl: './wysiwyg-insert.component.html',\n\n encapsulation: ViewEncapsulation.None,\n imports: [],\n providers: [{ provide: AXComponent, useExisting: AXWysiwygInsertComponent }],\n})\nexport class AXWysiwygInsertComponent {}\n","<span class=\"ql-formats\">\n <button class=\"ql-image\" title=\"Insert image\"></button>\n <button class=\"ql-video\" title=\"Insert video\"></button>\n <button class=\"ql-link\" title=\"Insert link\"></button>\n</span>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\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-list',\n templateUrl: './wysiwyg-list.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [],\n providers: [{ provide: AXComponent, useExisting: AXWysiwygListComponent }],\n})\nexport class AXWysiwygListComponent {}\n","<span class=\"ql-formats\">\n <button class=\"ql-list\" value=\"ordered\" title=\"Ordered list\"></button>\n <button class=\"ql-list\" value=\"bullet\" title=\"Bulleted list\"></button>\n <button class=\"ql-direction\" value=\"rtl\" title=\"Right-to-left\"></button>\n</span>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXColorPaletteModule } from '@acorex/components/color-palette';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\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\nconst MODULES = [\n AXButtonModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n FormsModule,\n AXColorPaletteModule,\n AXPopoverModule,\n AXTextBoxModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\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 { ChangeDetectionStrategy, Component, ElementRef, viewChild, ViewEncapsulation } from '@angular/core';\n\n/**\n * @category Components\n * A component for viewing WYSIWYG content.\n */\n@Component({\n selector: 'ax-wysiwyg-toolbar',\n templateUrl: './wysiwyg-toolbar.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXComponent, useExisting: AXWysiwygToolbarComponent }],\n styleUrl: 'wysiwyg-toolbar.component.compiled.css',\n})\nexport class AXWysiwygToolbarComponent {\n toolbar = viewChild<ElementRef<HTMLDivElement>>('toolbar');\n}\n","<div #toolbar class=\"ax-wysiwyg-toolbar-content\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-suffix\"></ng-content>\n</div>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, viewChild, ViewEncapsulation } from '@angular/core';\n\n/**\n * @category Components\n * A component for viewing WYSIWYG content.\n */\n@Component({\n selector: 'ax-wysiwyg-view',\n templateUrl: './wysiwyg-view.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXComponent, useExisting: AXWysiwygViewComponent }],\n styleUrl: 'wysiwyg-view.component.compiled.css',\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 ChangeDetectionStrategy,\n Component,\n HostBinding,\n OnDestroy,\n PLATFORM_ID,\n ViewEncapsulation,\n afterNextRender,\n contentChild,\n effect,\n forwardRef,\n inject,\n input,\n signal,\n} from '@angular/core';\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\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.compiled.css',\n inputs: ['look', 'readonly', 'disabled', 'value'],\n outputs: ['onValueChanged'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[style.--ax-comp-wysiwyg-initial-line]': 'initialLine() + \"\"',\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\n extends classes(MXInputBaseValueComponent<string>, MXLookComponent)\n implements OnDestroy\n{\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 wysiwygService = inject(WysiwygService);\n protected isQuillLoaded = signal(false);\n private isEditorClean = signal(true);\n private wysiwyg = signal<Quill | null>(null);\n private container = contentChild(AXWysiwygViewComponent);\n private toolbar = contentChild(AXWysiwygToolbarComponent);\n private platformId = inject(PLATFORM_ID);\n private changeHandlerTimer: any = null;\n\n #init = afterNextRender(async () => {\n if (!isPlatformBrowser(this.platformId)) return;\n\n const Quill = (await import('quill')).default;\n const icons = Quill.import('ui/icons') as any;\n\n icons['bold'] = '<ax-icon class=\"ax-icon ax-icon-bold\"></ax-icon>';\n icons['italic'] = '<ax-icon class=\"ax-icon ax-icon-italic\"></ax-icon>';\n icons['underline'] = '<ax-icon class=\"ax-icon ax-icon-under-line\"></ax-icon>';\n icons['strike'] = '<ax-icon class=\"ax-icon ax-icon-strike\"></ax-icon>';\n icons['code-block'] = '<ax-icon class=\"ax-icon ax-icon-code\"></ax-icon>';\n icons['color'] = '<ax-icon class=\"ax-icon ax-icon-color-palette\"></ax-icon>';\n icons['background'] = '<ax-icon class=\"ax-icon ax-icon-highlight\"></ax-icon>';\n icons.list['ordered'] = '<ax-icon class=\"ax-icon ax-icon-order-list\"></ax-icon>';\n icons.list['bullet'] = '<ax-icon class=\"ax-icon ax-icon-un-order-list\"></ax-icon>';\n icons['image'] = ' <ax-icon class=\"ax-icon ax-icon-image\"></ax-icon>';\n icons['link'] = '<ax-icon class=\"ax-icon ax-icon-link\"></ax-icon>';\n icons['video'] = '<ax-icon class=\"ax-icon ax-icon-attach\"></ax-icon>';\n icons.direction[''] = '<ax-icon class=\"ax-icon ax-icon-paragraph \"> </ax-icon>';\n icons.direction['rtl'] = '';\n icons.align[''] = '<ax-icon class=\"ax-icon ax-icon-align-left \"></ax-icon>';\n icons.align['center'] = '<ax-icon class=\"ax-icon ax-icon-align-center\"></ax-icon>';\n icons.align['justify'] = '<ax-icon class=\"ax-icon ax-icon-align-justify\"></ax-icon>';\n icons.align['right'] = '<ax-icon class=\"ax-icon ax-icon-align-right\"></ax-icon>';\n icons.undo = '<ax-icon class=\"ax-icon ax-icon-undo\"></ax-icon>';\n icons.redo = ' <ax-icon class=\"ax-icon ax-icon-redo\"></ax-icon>';\n\n await import('quill').then(async (e) => {\n const hljs = (await import('highlight.js')).default;\n const quill = new e.default(this.container().editor().nativeElement, {\n modules: {\n syntax: { hljs },\n toolbar: {\n container: this.toolbar()?.toolbar().nativeElement,\n handlers: {\n undo() {\n (quill.getModule('history') as any).undo();\n },\n redo() {\n (quill.getModule('history') as any).redo();\n },\n color: (value) => {\n this.wysiwygService.selectedColor.set(value);\n if (value) quill.format('color', value);\n else quill.format('color', false);\n },\n background: (value) => {\n this.wysiwygService.selectedBackgroundColor.set(value);\n if (value) quill.format('background', value);\n else quill.format('background', false);\n },\n },\n },\n history: {\n delay: 500, // ms between stack snapshots\n maxStack: 200, // undo/redo depth\n userOnly: true, // only record user changes (not API changes)\n },\n },\n\n theme: 'snow',\n });\n this.wysiwyg.set(quill);\n this.isQuillLoaded.set(true);\n });\n\n this.disabledChange.subscribe((disabled) => {\n if (disabled) {\n this.wysiwyg().disable();\n } else {\n this.wysiwyg().enable();\n }\n });\n\n this.readonlyChange.subscribe((readonly) => {\n if (readonly) {\n this.wysiwyg().disable();\n } else {\n this.wysiwyg().enable();\n }\n });\n });\n\n #effect1 = effect(() => {\n if (!this.isQuillLoaded()) return;\n if (this.placeHolder()) {\n this.wysiwyg().root.setAttribute('data-placeholder', this.placeHolder());\n } else {\n this.wysiwyg().root.setAttribute('data-placeholder', 'Write Your Message ...');\n }\n });\n\n #effect2 = effect(() => {\n if (this.isQuillLoaded() && this.value) this.setWysiwygContent(this.value);\n });\n\n #effect3 = effect(() => {\n if (this.isQuillLoaded()) {\n this.wysiwyg().on('text-change', this.changeHandler.bind(this));\n this.wysiwyg().on('selection-change', (range, oldRange) => {\n if (this.disabled) return;\n if (range && !oldRange) {\n this.emitOnFocusEvent();\n } else if (!range && oldRange) {\n this.emitOnBlurEvent();\n }\n if (range) {\n const format = this.wysiwyg().getFormat(range);\n this.wysiwygService.selectedColor.set(format['color'] as string);\n this.wysiwygService.selectedBackgroundColor.set(format['background'] as string);\n }\n });\n }\n });\n\n protected changeHandler() {\n if (this.disabled) return;\n\n if (this.changeHandlerTimer) {\n clearTimeout(this.changeHandlerTimer);\n }\n\n this.changeHandlerTimer = setTimeout(() => {\n const value = this.wysiwyg()?.root.innerHTML;\n\n if (value === '<p><br></p>' || !value) {\n this.commitValue(null);\n if (this.isEditorClean()) return;\n this.isEditorClean.set(true);\n } else {\n const delta = this.wysiwyg()?.getContents().ops;\n\n const converter = new QuillDeltaToHtmlConverter(delta, {\n inlineStyles: true,\n allowBackgroundClasses: true,\n });\n\n const html = converter.convert();\n this.commitValue(html, true);\n if (!this.isEditorClean()) return;\n this.isEditorClean.set(false);\n }\n }, 300);\n }\n\n /** @ignore */\n override ngOnDestroy(): void {\n this.wysiwyg()?.off('text-change', this.changeHandler);\n this.disabledChange.unsubscribe();\n }\n\n /**\n * Focuses the component.\n *\n * @returns void - No return value. The component gains focus.\n */\n override focus() {\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() {\n this.wysiwyg().blur();\n }\n\n /**\n * Checks if the component is focused or has any focused element.\n *\n * @returns boolean - True if the component has focus.\n */\n override hasFocus(): boolean {\n return super.hasFocus();\n }\n\n /**\n * Sets the disabled state of the component.\n *\n * @param isDisabled - Whether the component should be disabled.\n * @returns void - No return value.\n */\n // override setDisabledState(isDisabled: boolean): void {\n // super.setDisabledState(isDisabled);\n // }\n\n public setWysiwygContent(value: string) {\n const quill = this.wysiwyg();\n const delta = quill.clipboard.convert({ html: value });\n quill.setContents(delta);\n }\n\n @HostBinding('attr.name')\n private get __hostName(): string {\n return this.name;\n }\n\n @HostBinding('class')\n get __hostClass(): string {\n const style = this.disabled ? 'ax-disable' : '';\n return style;\n }\n}\n","<div class=\"ax-editor-container ax-default {{ look }}\">\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 } from '@angular/core';\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-alignment',\n templateUrl: './wysiwyg-alignment.component.html',\n\n imports: [],\n providers: [{ provide: AXComponent, useExisting: AXWysiwygAlignmentComponent }],\n})\nexport class AXWysiwygAlignmentComponent {}\n","<span class=\"ql-formats\">\n <select class=\"ql-align\"></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 * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-colors',\n templateUrl: './wysiwyg-colors.component.html',\n\n encapsulation: ViewEncapsulation.None,\n imports: [AXDecoratorColorIndicatorComponent],\n providers: [{ provide: AXComponent, useExisting: AXWysiwygColorsComponent }],\n})\nexport class AXWysiwygColorsComponent {\n protected wysiwygService = inject(WysiwygService);\n}\n","<div class=\"flex\">\n <div class=\"ql-formats\">\n <ax-color-indicator [previewColor]=\"wysiwygService.selectedColor()\"></ax-color-indicator>\n <select class=\"ql-color\"></select>\n </div>\n <div class=\"ql-formats\">\n <ax-color-indicator [previewColor]=\"wysiwygService.selectedBackgroundColor()\"></ax-color-indicator>\n <select class=\"ql-background\"></select>\n </div>\n</div>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { Component } from '@angular/core';\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-font-style',\n templateUrl: './wysiwyg-font-style.component.html',\n imports: [],\n providers: [{ provide: AXComponent, useExisting: AXWysiwygFontStyleComponent }],\n})\nexport class AXWysiwygFontStyleComponent {}\n","<div class=\"flex\">\n <span class=\"ql-formats\">\n <button class=\"ql-bold\" title=\"Bold\"></button>\n <button class=\"ql-italic\" title=\"Italic\"></button>\n <button class=\"ql-underline\" title=\"Underline\"></button>\n <button class=\"ql-strike\" title=\"Strikethrough\"></button>\n <button class=\"ql-code-block\" title=\"Code block\"></button>\n </span>\n\n <span class=\"ql-formats\">\n <select class=\"ql-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\">\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 * A container component for WYSIWYG (What You See Is What You Get) editor functionality.\n * @category Components\n */\n@Component({\n selector: 'ax-wysiwyg-history',\n templateUrl: './wysiwyg-history.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [],\n providers: [{ provide: AXComponent, useExisting: AXWysiwygHistoryComponent }],\n})\nexport class AXWysiwygHistoryComponent {}\n","<span class=\"ql-formats\">\n <button class=\"ql-undo\"></button>\n <button class=\"ql-redo\"></button>\n</span>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\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-insert',\n templateUrl: './wysiwyg-insert.component.html',\n\n encapsulation: ViewEncapsulation.None,\n imports: [],\n providers: [{ provide: AXComponent, useExisting: AXWysiwygInsertComponent }],\n})\nexport class AXWysiwygInsertComponent {}\n","<span class=\"ql-formats\">\n <button class=\"ql-image\" title=\"Insert image\"></button>\n <button class=\"ql-video\" title=\"Insert video\"></button>\n <button class=\"ql-link\" title=\"Insert link\"></button>\n</span>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { Component, ViewEncapsulation } from '@angular/core';\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-list',\n templateUrl: './wysiwyg-list.component.html',\n encapsulation: ViewEncapsulation.None,\n imports: [],\n providers: [{ provide: AXComponent, useExisting: AXWysiwygListComponent }],\n})\nexport class AXWysiwygListComponent {}\n","<span class=\"ql-formats\">\n <button class=\"ql-list\" value=\"ordered\" title=\"Ordered list\"></button>\n <button class=\"ql-list\" value=\"bullet\" title=\"Bulleted list\"></button>\n <button class=\"ql-direction\" value=\"rtl\" title=\"Right-to-left\"></button>\n</span>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXColorPaletteModule } from '@acorex/components/color-palette';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\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\nconst MODULES = [\n AXButtonModule,\n AXDecoratorModule,\n AXSelectBoxModule,\n FormsModule,\n AXColorPaletteModule,\n AXPopoverModule,\n AXTextBoxModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\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": "21.0.3-next.21",
3
+ "version": "21.0.3-next.23",
4
4
  "peerDependencies": {
5
- "@acorex/core": "21.0.3-next.21",
6
- "@acorex/cdk": "21.0.3-next.21",
5
+ "@acorex/core": "21.0.3-next.23",
6
+ "@acorex/cdk": "21.0.3-next.23",
7
7
  "polytype": ">=0.17.0",
8
8
  "angular-imask": ">=7.6.1",
9
9
  "gridstack": ">=12.0.0",
@@ -4164,8 +4164,8 @@ declare class AXMessageListComponent implements OnDestroy {
4164
4164
  /** Handle context menu item click for messages */
4165
4165
  handleMessageContextMenuItemClick(event: AXContextMenuItemsClickEvent, message: AXMessage): void;
4166
4166
  /**
4167
- * TrackBy function for message groups
4168
- * Tracks by date only to prevent re-rendering when messages are added
4167
+ * TrackBy function for message groups.
4168
+ * Include the latest message id so new messages in the same date group re-render.
4169
4169
  */
4170
4170
  trackMessageGroup(index: number, group: {
4171
4171
  date: string;
@@ -5474,7 +5474,7 @@ declare class AXConversationInfoPanelComponent extends AXClosableComponent imple
5474
5474
  conversationService: AXConversationService;
5475
5475
  readonly activeTab: _angular_core.WritableSignal<"profile" | "manage">;
5476
5476
  readonly showMemberSearch: _angular_core.WritableSignal<boolean>;
5477
- readonly panelView: _angular_core.WritableSignal<"media" | "main">;
5477
+ readonly panelView: _angular_core.WritableSignal<"main" | "media">;
5478
5478
  readonly selectedMediaCategory: _angular_core.WritableSignal<AXConversationMediaCategory>;
5479
5479
  readonly conversationMessages: _angular_core.WritableSignal<AXMessage[]>;
5480
5480
  readonly loadingMessages: _angular_core.WritableSignal<boolean>;