@acorex/components 21.0.1-next.34 → 21.0.1-next.35

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.
@@ -107,7 +107,7 @@ class AXWysiwygContainerComponent extends classes((MXInputBaseValueComponent), M
107
107
  modules: {
108
108
  syntax: { hljs },
109
109
  toolbar: {
110
- container: this.toolbar().toolbar().nativeElement,
110
+ container: this.toolbar()?.toolbar().nativeElement,
111
111
  handlers: {
112
112
  undo() {
113
113
  quill.getModule('history').undo();
@@ -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 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 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>\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 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 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":";;;;;;;;;;;;;;AAGA;;;AAGG;MASU,yBAAyB,CAAA;AARtC,IAAA,WAAA,GAAA;AASE,QAAA,IAAA,CAAA,OAAO,GAAG,SAAS,CAA6B,SAAS,mDAAC;AAC3D,IAAA;+GAFY,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,SAAA,EAHzB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC,8ICZ/E,8HAIA,EAAA,MAAA,EAAA,CAAA,+NAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDWa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBARrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,iBAEf,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,yBAA2B,EAAE,CAAC,EAAA,QAAA,EAAA,8HAAA,EAAA,MAAA,EAAA,CAAA,+NAAA,CAAA,EAAA;qEAI7B,SAAS,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEb3D;;;AAGG;MASU,sBAAsB,CAAA;AARnC,IAAA,WAAA,GAAA;AASE,QAAA,IAAA,CAAA,MAAM,GAAG,SAAS,CAA6B,QAAQ,kDAAC;AACzD,IAAA;+GAFY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,SAAA,EAHtB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC,4ICZ5E,uBACA,EAAA,MAAA,EAAA,CAAA,uHAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDca,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBARlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,iBAEZ,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,sBAAwB,EAAE,CAAC,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,uHAAA,CAAA,EAAA;oEAI3B,QAAQ,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MEb5C,cAAc,CAAA;AAD3B,IAAA,WAAA,GAAA;AAEE,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,EAAE,yDAAC;AAC1B,QAAA,IAAA,CAAA,uBAAuB,GAAG,MAAM,CAAC,EAAE,mEAAC;AACrC,IAAA;+GAHY,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAd,cAAc,EAAA,CAAA,CAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B;;;AC6BD;;;AAGG;AAqBG,MAAO,2BACX,SAAQ,OAAO,EAAC,yBAAiC,GAAE,eAAe,CAAC,CAAA;AArBrE,IAAA,WAAA,GAAA;;AAwBE;;;AAGG;QACH,IAAA,CAAA,WAAW,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AAErB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;AACrC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,KAAK,yDAAC;AAC/B,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,IAAI,yDAAC;AAC5B,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAe,IAAI,mDAAC;AACpC,QAAA,IAAA,CAAA,SAAS,GAAG,YAAY,CAAC,sBAAsB,qDAAC;AAChD,QAAA,IAAA,CAAA,OAAO,GAAG,YAAY,CAAC,yBAAyB,mDAAC;AACjD,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;QAChC,IAAA,CAAA,kBAAkB,GAAQ,IAAI;AAEtC,QAAA,IAAA,CAAA,KAAK,GAAG,eAAe,CAAC,YAAW;AACjC,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC;gBAAE;YAEzC,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,OAAO,CAAC,EAAE,OAAO;YAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAQ;AAE7C,YAAA,KAAK,CAAC,MAAM,CAAC,GAAG,kDAAkD;AAClE,YAAA,KAAK,CAAC,QAAQ,CAAC,GAAG,oDAAoD;AACtE,YAAA,KAAK,CAAC,WAAW,CAAC,GAAG,wDAAwD;AAC7E,YAAA,KAAK,CAAC,QAAQ,CAAC,GAAG,oDAAoD;AACtE,YAAA,KAAK,CAAC,YAAY,CAAC,GAAG,kDAAkD;AACxE,YAAA,KAAK,CAAC,OAAO,CAAC,GAAG,2DAA2D;AAC5E,YAAA,KAAK,CAAC,YAAY,CAAC,GAAG,uDAAuD;AAC7E,YAAA,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,wDAAwD;AAChF,YAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,2DAA2D;AAClF,YAAA,KAAK,CAAC,OAAO,CAAC,GAAG,oDAAoD;AACrE,YAAA,KAAK,CAAC,MAAM,CAAC,GAAG,kDAAkD;AAClE,YAAA,KAAK,CAAC,OAAO,CAAC,GAAG,oDAAoD;AACrE,YAAA,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,yDAAyD;AAC/E,YAAA,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE;AAC3B,YAAA,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,yDAAyD;AAC3E,YAAA,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,0DAA0D;AAClF,YAAA,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,2DAA2D;AACpF,YAAA,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,yDAAyD;AAChF,YAAA,KAAK,CAAC,IAAI,GAAG,kDAAkD;AAC/D,YAAA,KAAK,CAAC,IAAI,GAAG,mDAAmD;YAEhE,MAAM,OAAO,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAI;gBACrC,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,cAAc,CAAC,EAAE,OAAO;AACnD,gBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE;AACnE,oBAAA,OAAO,EAAE;wBACP,MAAM,EAAE,EAAE,IAAI,EAAE;AAChB,wBAAA,OAAO,EAAE;4BACP,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,aAAa;AAClD,4BAAA,QAAQ,EAAE;gCACR,IAAI,GAAA;oCACD,KAAK,CAAC,SAAS,CAAC,SAAS,CAAS,CAAC,IAAI,EAAE;gCAC5C,CAAC;gCACD,IAAI,GAAA;oCACD,KAAK,CAAC,SAAS,CAAC,SAAS,CAAS,CAAC,IAAI,EAAE;gCAC5C,CAAC;AACD,gCAAA,KAAK,EAAE,CAAC,KAAK,KAAI;oCACf,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;AAC5C,oCAAA,IAAI,KAAK;AAAE,wCAAA,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC;;AAClC,wCAAA,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC;gCACnC,CAAC;AACD,gCAAA,UAAU,EAAE,CAAC,KAAK,KAAI;oCACpB,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC;AACtD,oCAAA,IAAI,KAAK;AAAE,wCAAA,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC;;AACvC,wCAAA,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC;gCACxC,CAAC;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA,OAAO,EAAE;4BACP,KAAK,EAAE,GAAG;4BACV,QAAQ,EAAE,GAAG;4BACb,QAAQ,EAAE,IAAI;AACf,yBAAA;AACF,qBAAA;AAED,oBAAA,KAAK,EAAE,MAAM;AACd,iBAAA,CAAC;AACF,gBAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AACvB,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;AAC9B,YAAA,CAAC,CAAC;YAEF,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAI;gBACzC,IAAI,QAAQ,EAAE;AACZ,oBAAA,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE;gBAC1B;qBAAO;AACL,oBAAA,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE;gBACzB;AACF,YAAA,CAAC,CAAC;YAEF,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAI;gBACzC,IAAI,QAAQ,EAAE;AACZ,oBAAA,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE;gBAC1B;qBAAO;AACL,oBAAA,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE;gBACzB;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,MAAK;AACrB,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBAAE;AAC3B,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;AACtB,gBAAA,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1E;iBAAO;AACL,gBAAA,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;YAChF;AACF,QAAA,CAAC,oDAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,MAAK;AACrB,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,KAAK;AAAE,gBAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;AAC5E,QAAA,CAAC,oDAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,MAAK;AACrB,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACxB,gBAAA,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/D,gBAAA,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAI;oBACxD,IAAI,IAAI,CAAC,QAAQ;wBAAE;AACnB,oBAAA,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE;wBACtB,IAAI,CAAC,gBAAgB,EAAE;oBACzB;AAAO,yBAAA,IAAI,CAAC,KAAK,IAAI,QAAQ,EAAE;wBAC7B,IAAI,CAAC,eAAe,EAAE;oBACxB;oBACA,IAAI,KAAK,EAAE;wBACT,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;AAC9C,wBAAA,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAW,CAAC;AAChE,wBAAA,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAW,CAAC;oBACjF;AACF,gBAAA,CAAC,CAAC;YACJ;AACF,QAAA,CAAC,oDAAC;AA2FH,IAAA;AA5MC,IAAA,KAAK;AAmFL,IAAA,QAAQ;AASR,IAAA,QAAQ;AAIR,IAAA,QAAQ;IAmBE,aAAa,GAAA;QACrB,IAAI,IAAI,CAAC,QAAQ;YAAE;AAEnB,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACvC;AAEA,QAAA,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,MAAK;YACxC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,SAAS;AAE5C,YAAA,IAAI,KAAK,KAAK,aAAa,IAAI,CAAC,KAAK,EAAE;AACrC,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;gBACtB,IAAI,IAAI,CAAC,aAAa,EAAE;oBAAE;AAC1B,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;YAC9B;iBAAO;gBACL,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,GAAG;AAE/C,gBAAA,MAAM,SAAS,GAAG,IAAI,yBAAyB,CAAC,KAAK,EAAE;AACrD,oBAAA,YAAY,EAAE,IAAI;AAClB,oBAAA,sBAAsB,EAAE,IAAI;AAC7B,iBAAA,CAAC;AAEF,gBAAA,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE;AAChC,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC;AAC5B,gBAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;oBAAE;AAC3B,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;YAC/B;QACF,CAAC,EAAE,GAAG,CAAC;IACT;;IAGS,WAAW,GAAA;AAClB,QAAA,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC;AACtD,QAAA,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;IACnC;AAEA;;;;AAIG;IACM,KAAK,GAAA;AACZ,QAAA,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE;IACxB;AAEA;;;;AAIG;IACM,IAAI,GAAA;AACX,QAAA,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE;IACvB;AAEA;;;;AAIG;IACM,QAAQ,GAAA;AACf,QAAA,OAAO,KAAK,CAAC,QAAQ,EAAE;IACzB;AAEA;;;;;AAKG;;;;AAKI,IAAA,iBAAiB,CAAC,KAAa,EAAA;AACpC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE;AAC5B,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACtD,QAAA,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;IAC1B;AAEA,IAAA,IACY,UAAU,GAAA;QACpB,OAAO,IAAI,CAAC,IAAI;IAClB;AAEA,IAAA,IACI,WAAW,GAAA;AACb,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,GAAG,YAAY,GAAG,EAAE;AAC/C,QAAA,OAAO,KAAK;IACd;+GA9NW,2BAA2B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAZ3B;YACT,cAAc;AACd,YAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,2BAA2B,EAAE;AAClE,YAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,2BAA2B,EAAE;AAC3E,YAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,2BAA2B,EAAE;AAC1E,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,2BAA2B,CAAC;AAC1D,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAgBgC,sBAAsB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EACxB,yBAAyB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtE1D,0PAOA,EAAA,MAAA,EAAA,CAAA,y33BAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDgDa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBApBvC,SAAS;+BACE,sBAAsB,EAAA,MAAA,EAGxB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAA,OAAA,EACxC,CAAC,gBAAgB,CAAC,mBACV,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,SAAA,EAC1B;wBACT,cAAc;AACd,wBAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,6BAA6B,EAAE;AAClE,wBAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,6BAA6B,EAAE;AAC3E,wBAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,6BAA6B,EAAE;AAC1E,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,iCAAiC,CAAC;AAC1D,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,0PAAA,EAAA,MAAA,EAAA,CAAA,y33BAAA,CAAA,EAAA;AAgBgC,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,sBAAsB,yFACxB,yBAAyB,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA;sBAsMvD,WAAW;uBAAC,WAAW;;sBAKvB,WAAW;uBAAC,OAAO;;;AE9QtB;;;AAGG;MAQU,2BAA2B,CAAA;+GAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,SAAA,EAF3B,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC,0BCZjF,gFAGA,EAAA,CAAA,CAAA;;4FDWa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAPvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EAAA,OAAA,EAGvB,EAAE,EAAA,SAAA,EACA,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,2BAA6B,EAAE,CAAC,EAAA,QAAA,EAAA,gFAAA,EAAA;;;AEPjF;;;AAGG;MASU,wBAAwB,CAAA;AARrC,IAAA,WAAA,GAAA;AASY,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;AAClD,IAAA;+GAFY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,SAAA,EAFxB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECf9E,qZAUA,4CDIY,kCAAkC,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAGjC,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBARpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,iBAGd,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B,CAAC,kCAAkC,CAAC,EAAA,SAAA,EAClC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,wBAA0B,EAAE,CAAC,EAAA,QAAA,EAAA,qZAAA,EAAA;;;AEZ9E;;;AAGG;MAOU,2BAA2B,CAAA;+GAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,SAAA,EAF3B,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC,0BCXjF,u+BA8BA,EAAA,CAAA,CAAA;;4FDjBa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBANvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,EAAA,OAAA,EAExB,EAAE,EAAA,SAAA,EACA,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,2BAA6B,EAAE,CAAC,EAAA,QAAA,EAAA,u+BAAA,EAAA;;;AERjF;;;AAGG;MAQU,yBAAyB,CAAA;+GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,SAAA,EAFzB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC,0BCZ/E,sHAIA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDUa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAPrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,iBAEf,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B,EAAE,EAAA,SAAA,EACA,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,yBAA2B,EAAE,CAAC,EAAA,QAAA,EAAA,sHAAA,EAAA;;;AET/E;;;AAGG;MASU,wBAAwB,CAAA;+GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,SAAA,EAFxB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC,0BCb9E,mOAKA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDUa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBARpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,iBAGd,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B,EAAE,EAAA,SAAA,EACA,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,wBAA0B,EAAE,CAAC,EAAA,QAAA,EAAA,mOAAA,EAAA;;;AEV9E;;;AAGG;MAQU,sBAAsB,CAAA;+GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,SAAA,EAFtB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC,0BCZ5E,0RAKA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDSa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,iBAEZ,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B,EAAE,EAAA,SAAA,EACA,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,sBAAwB,EAAE,CAAC,EAAA,QAAA,EAAA,0RAAA,EAAA;;;AEM5E,MAAM,SAAS,GAAG;IAChB,2BAA2B;IAC3B,sBAAsB;IACtB,2BAA2B;IAC3B,wBAAwB;IACxB,2BAA2B;IAC3B,yBAAyB;IACzB,wBAAwB;IACxB,sBAAsB;IACtB,yBAAyB;CAC1B;AAED,MAAM,OAAO,GAAG;IACd,cAAc;IACd,iBAAiB;IACjB,iBAAiB;IACjB,WAAW;IACX,oBAAoB;IACpB,eAAe;IACf,eAAe;CAChB;MAOY,eAAe,CAAA;+GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAd1B,cAAc;YACd,iBAAiB;YACjB,iBAAiB;YACjB,WAAW;YACX,oBAAoB;YACpB,eAAe;AACf,YAAA,eAAe,EAlBf,2BAA2B;YAC3B,sBAAsB;YACtB,2BAA2B;YAC3B,wBAAwB;YACxB,2BAA2B;YAC3B,yBAAyB;YACzB,wBAAwB;YACxB,sBAAsB;AACtB,YAAA,yBAAyB,aARzB,2BAA2B;YAC3B,sBAAsB;YACtB,2BAA2B;YAC3B,wBAAwB;YACxB,2BAA2B;YAC3B,yBAAyB;YACzB,wBAAwB;YACxB,sBAAsB;YACtB,yBAAyB,CAAA,EAAA,CAAA,CAAA;gHAkBd,eAAe,EAAA,OAAA,EAAA,CAJb,OAAO,EAnBpB,wBAAwB,CAAA,EAAA,CAAA,CAAA;;4FAuBb,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC;AACnC,oBAAA,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;AACvB,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA;;;AC5CD;;AAEG;;;;"}
@@ -23,12 +23,15 @@ type AXMediaViewerData = {
23
23
  name?: string;
24
24
  size?: string;
25
25
  type: 'image' | 'audio' | 'pdf' | 'video';
26
- url: string;
27
- thumbnailUrl?: string;
26
+ url: string | (() => Promise<string>);
27
+ thumbnailUrl?: string | (() => Promise<string>);
28
28
  tooltip?: string;
29
29
  };
30
30
  declare class AXMediaViewerBaseComponent {
31
- message: AXMediaViewerData;
31
+ message: {
32
+ data: AXMediaViewerData;
33
+ index: number;
34
+ };
32
35
  static ɵfac: i0.ɵɵFactoryDeclaration<AXMediaViewerBaseComponent, never>;
33
36
  static ɵprov: i0.ɵɵInjectableDeclaration<AXMediaViewerBaseComponent>;
34
37
  }
@@ -36,12 +39,13 @@ declare class AXMediaViewerBaseComponent {
36
39
  declare class AXMediaViewerService {
37
40
  dataArray: i0.WritableSignal<AXMediaViewerData[]>;
38
41
  selectedIndex: i0.WritableSignal<number>;
42
+ dirtyItems: Map<any, any>;
39
43
  static ɵfac: i0.ɵɵFactoryDeclaration<AXMediaViewerService, never>;
40
44
  static ɵprov: i0.ɵɵInjectableDeclaration<AXMediaViewerService>;
41
45
  }
42
46
 
43
47
  type Thumbnail = {
44
- tubmnailImage: string;
48
+ thumbnailImage: string | (() => Promise<string>);
45
49
  svg: string;
46
50
  type: string;
47
51
  id: string;
@@ -88,6 +92,7 @@ declare class AXMediaViewerSliderComponent {
88
92
  #private;
89
93
  protected service: AXMediaViewerService;
90
94
  dataObject: i0.InputSignal<AXMediaViewerData>;
95
+ index: i0.InputSignal<unknown>;
91
96
  /** @ignore */
92
97
  protected portal: i0.WritableSignal<ComponentPortal<any>>;
93
98
  /** @ignore */
@@ -95,12 +100,13 @@ declare class AXMediaViewerSliderComponent {
95
100
  /** @ignore */
96
101
  protected _handleAttached(ref: CdkPortalOutletAttachedRef): void;
97
102
  static ɵfac: i0.ɵɵFactoryDeclaration<AXMediaViewerSliderComponent, never>;
98
- static ɵcmp: i0.ɵɵComponentDeclaration<AXMediaViewerSliderComponent, "ax-media-viewer-slider", never, { "dataObject": { "alias": "dataObject"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
103
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXMediaViewerSliderComponent, "ax-media-viewer-slider", never, { "dataObject": { "alias": "dataObject"; "required": false; "isSignal": true; }; "index": { "alias": "index"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
99
104
  }
100
105
 
101
106
  declare class AXAudioPlayerComponent extends AXMediaViewerBaseComponent {
102
- dataObject: i0.WritableSignal<AXMediaViewerData>;
103
- constructor();
107
+ #private;
108
+ protected src: i0.WritableSignal<any>;
109
+ protected service: AXMediaViewerService;
104
110
  static ɵfac: i0.ɵɵFactoryDeclaration<AXAudioPlayerComponent, never>;
105
111
  static ɵcmp: i0.ɵɵComponentDeclaration<AXAudioPlayerComponent, "ax-audio-player", never, {}, {}, never, never, true, never>;
106
112
  }
@@ -113,21 +119,38 @@ declare class AXFileInfoComponent {
113
119
  }
114
120
 
115
121
  declare class AXImageViewerComponent extends AXMediaViewerBaseComponent {
122
+ #private;
116
123
  protected hasError: i0.WritableSignal<boolean>;
124
+ protected src: i0.WritableSignal<any>;
125
+ protected service: AXMediaViewerService;
117
126
  protected handleImageError(): void;
118
127
  static ɵfac: i0.ɵɵFactoryDeclaration<AXImageViewerComponent, never>;
119
128
  static ɵcmp: i0.ɵɵComponentDeclaration<AXImageViewerComponent, "ax-image-viewer", never, {}, {}, never, never, true, never>;
120
129
  }
121
130
 
122
131
  declare class PdfComponent extends AXMediaViewerBaseComponent {
132
+ #private;
123
133
  sanitizer: DomSanitizer;
134
+ protected src: i0.WritableSignal<any>;
135
+ protected service: AXMediaViewerService;
124
136
  static ɵfac: i0.ɵɵFactoryDeclaration<PdfComponent, never>;
125
137
  static ɵcmp: i0.ɵɵComponentDeclaration<PdfComponent, "ax-pdf", never, {}, {}, never, never, true, never>;
126
138
  }
127
139
 
140
+ declare class AXThumbnailViewerComponent extends AXMediaViewerBaseComponent {
141
+ #private;
142
+ protected hasError: i0.WritableSignal<boolean>;
143
+ protected src: i0.WritableSignal<any>;
144
+ item: i0.InputSignal<string | (() => Promise<string>)>;
145
+ protected handleImageError(): void;
146
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXThumbnailViewerComponent, never>;
147
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXThumbnailViewerComponent, "ax-thumbnail-viewer", never, { "item": { "alias": "item"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
148
+ }
149
+
128
150
  declare class VideoPlayerComponent extends AXMediaViewerBaseComponent {
129
- dataObject: i0.WritableSignal<AXMediaViewerData>;
130
- constructor();
151
+ #private;
152
+ protected src: i0.WritableSignal<any>;
153
+ protected service: AXMediaViewerService;
131
154
  static ɵfac: i0.ɵɵFactoryDeclaration<VideoPlayerComponent, never>;
132
155
  static ɵcmp: i0.ɵɵComponentDeclaration<VideoPlayerComponent, "ax-video", never, {}, {}, never, never, true, never>;
133
156
  }
@@ -140,9 +163,9 @@ declare class AXMediaViewerModule {
140
163
  static forRoot(config?: AXMediaViewerModuleConfig): ModuleWithProviders<AXMediaViewerModule>;
141
164
  static forChild(config?: AXMediaViewerModuleConfig): ModuleWithProviders<AXMediaViewerModule>;
142
165
  static ɵfac: i0.ɵɵFactoryDeclaration<AXMediaViewerModule, never>;
143
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXMediaViewerModule, never, [typeof i1.CommonModule, typeof i2.AXButtonModule, typeof i3.AXDecoratorModule, typeof i4.CdkPortalOutlet, typeof i5.FormsModule, typeof i6.AXImageModule, typeof i7.AXLoadingModule, typeof i8.AXCarouselDirective, typeof i9.AXPdfReaderModule, typeof i10.AXVideoPlayerModule, typeof AXMediaViewerContainerComponent, typeof AXMediaViewerSliderComponent, typeof AXAudioPlayerComponent, typeof AXImageViewerComponent, typeof PdfComponent, typeof VideoPlayerComponent, typeof AXFileInfoComponent], [typeof AXMediaViewerContainerComponent, typeof AXMediaViewerSliderComponent, typeof AXAudioPlayerComponent, typeof AXImageViewerComponent, typeof PdfComponent, typeof VideoPlayerComponent, typeof AXFileInfoComponent]>;
166
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXMediaViewerModule, never, [typeof i1.CommonModule, typeof i2.AXButtonModule, typeof i3.AXDecoratorModule, typeof i4.CdkPortalOutlet, typeof i5.FormsModule, typeof i6.AXImageModule, typeof i7.AXLoadingModule, typeof i8.AXCarouselDirective, typeof i9.AXPdfReaderModule, typeof i10.AXVideoPlayerModule, typeof AXMediaViewerContainerComponent, typeof AXMediaViewerSliderComponent, typeof AXAudioPlayerComponent, typeof AXImageViewerComponent, typeof PdfComponent, typeof VideoPlayerComponent, typeof AXFileInfoComponent, typeof AXThumbnailViewerComponent], [typeof AXMediaViewerContainerComponent, typeof AXMediaViewerSliderComponent, typeof AXAudioPlayerComponent, typeof AXImageViewerComponent, typeof PdfComponent, typeof VideoPlayerComponent, typeof AXFileInfoComponent, typeof AXThumbnailViewerComponent]>;
144
167
  static ɵinj: i0.ɵɵInjectorDeclaration<AXMediaViewerModule>;
145
168
  }
146
169
 
147
- export { AXAudioPlayerComponent, AXFileInfoComponent, AXImageViewerComponent, AXMediaViewerBaseComponent, AXMediaViewerContainerComponent, AXMediaViewerModule, AXMediaViewerSliderComponent, PdfComponent, VideoPlayerComponent };
170
+ export { AXAudioPlayerComponent, AXFileInfoComponent, AXImageViewerComponent, AXMediaViewerBaseComponent, AXMediaViewerContainerComponent, AXMediaViewerModule, AXMediaViewerSliderComponent, AXThumbnailViewerComponent, PdfComponent, VideoPlayerComponent };
148
171
  export type { AXMediaViewerData, AXMediaViewerModuleConfig, AXMediaViewerType };
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "21.0.1-next.34",
3
+ "version": "21.0.1-next.35",
4
4
  "peerDependencies": {
5
- "@acorex/core": "21.0.1-next.34",
6
- "@acorex/cdk": "21.0.1-next.34",
5
+ "@acorex/core": "21.0.1-next.35",
6
+ "@acorex/cdk": "21.0.1-next.35",
7
7
  "@angular/common": "^20.0.0",
8
8
  "@angular/core": "^20.0.0",
9
9
  "@angular/cdk": "^20.0.0",
@@ -69,14 +69,14 @@
69
69
  "types": "./accordion/index.d.ts",
70
70
  "default": "./fesm2022/acorex-components-accordion.mjs"
71
71
  },
72
- "./action-sheet": {
73
- "types": "./action-sheet/index.d.ts",
74
- "default": "./fesm2022/acorex-components-action-sheet.mjs"
75
- },
76
72
  "./alert": {
77
73
  "types": "./alert/index.d.ts",
78
74
  "default": "./fesm2022/acorex-components-alert.mjs"
79
75
  },
76
+ "./action-sheet": {
77
+ "types": "./action-sheet/index.d.ts",
78
+ "default": "./fesm2022/acorex-components-action-sheet.mjs"
79
+ },
80
80
  "./aspect-ratio": {
81
81
  "types": "./aspect-ratio/index.d.ts",
82
82
  "default": "./fesm2022/acorex-components-aspect-ratio.mjs"
@@ -36,6 +36,7 @@ declare class AXPopoverComponent extends MXBaseComponent implements OnDestroy {
36
36
  /** @ignore */
37
37
  private _disabled;
38
38
  readonly width: i0.InputSignal<string>;
39
+ readonly forceDisableActionSheetStyle: i0.InputSignal<boolean>;
39
40
  private translateService;
40
41
  /**
41
42
  * Gets or sets whether the popover is disabled.
@@ -240,7 +241,7 @@ declare class AXPopoverComponent extends MXBaseComponent implements OnDestroy {
240
241
  /** @ignore */
241
242
  ngOnDestroy(): void;
242
243
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPopoverComponent, never>;
243
- static ɵcmp: i0.ɵɵComponentDeclaration<AXPopoverComponent, "ax-popover", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; }; "offsetX": { "alias": "offsetX"; "required": false; }; "offsetY": { "alias": "offsetY"; "required": false; }; "target": { "alias": "target"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "content": { "alias": "content"; "required": false; }; "openOn": { "alias": "openOn"; "required": false; }; "closeOn": { "alias": "closeOn"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "openAfter": { "alias": "openAfter"; "required": false; }; "closeAfter": { "alias": "closeAfter"; "required": false; }; "repositionOnScroll": { "alias": "repositionOnScroll"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "adaptivityEnabled": { "alias": "adaptivityEnabled"; "required": false; }; }, { "onOpened": "onOpened"; "onClosed": "onClosed"; }, never, ["*"], true, never>;
244
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXPopoverComponent, "ax-popover", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; "forceDisableActionSheetStyle": { "alias": "forceDisableActionSheetStyle"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; }; "offsetX": { "alias": "offsetX"; "required": false; }; "offsetY": { "alias": "offsetY"; "required": false; }; "target": { "alias": "target"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "content": { "alias": "content"; "required": false; }; "openOn": { "alias": "openOn"; "required": false; }; "closeOn": { "alias": "closeOn"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "openAfter": { "alias": "openAfter"; "required": false; }; "closeAfter": { "alias": "closeAfter"; "required": false; }; "repositionOnScroll": { "alias": "repositionOnScroll"; "required": false; }; "backdropClass": { "alias": "backdropClass"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "adaptivityEnabled": { "alias": "adaptivityEnabled"; "required": false; }; }, { "onOpened": "onOpened"; "onClosed": "onClosed"; }, never, ["*"], true, never>;
244
245
  }
245
246
 
246
247
  declare class AXPopoverModule {