@acorex/components 20.2.54 → 20.2.56

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.
@@ -263,7 +263,7 @@ declare class AXCodeEditorComponent extends MXValueComponent<string> {
263
263
  /** Active language identifier from default plugins. Default: 'javascript'. */
264
264
  language: _angular_core.InputSignal<AXCodeEditorDefaultLanguage>;
265
265
  /** When true, the editor becomes readonly (non-editable). */
266
- readOnly: _angular_core.InputSignal<boolean>;
266
+ editorReadonly: _angular_core.InputSignal<boolean>;
267
267
  /** Placeholder text shown when the document is empty. */
268
268
  placeholder: _angular_core.InputSignal<string>;
269
269
  /** Toggle rendering of line numbers in the gutter. */
@@ -274,12 +274,6 @@ declare class AXCodeEditorComponent extends MXValueComponent<string> {
274
274
  tabSize: _angular_core.InputSignal<number>;
275
275
  /** When true, the Tab key indents instead of moving focus. */
276
276
  indentWithTab: _angular_core.InputSignal<boolean>;
277
- /** Fixed height for the editor (e.g., '320px'). */
278
- height: _angular_core.InputSignal<string>;
279
- /** Minimum height for the editor. */
280
- minHeight: _angular_core.InputSignal<string>;
281
- /** Maximum height for the editor. */
282
- maxHeight: _angular_core.InputSignal<string>;
283
277
  /** Theme identifier. If null, uses platform theme mode (dark/light). */
284
278
  theme: _angular_core.InputSignal<string>;
285
279
  /** Additional CodeMirror extensions to apply. Reconfigures at runtime. */
@@ -306,7 +300,7 @@ declare class AXCodeEditorComponent extends MXValueComponent<string> {
306
300
  private pluginRegistry;
307
301
  private editorViewSig;
308
302
  private languageCompartment;
309
- private readOnlyCompartment;
303
+ private readonlyCompartment;
310
304
  private themeCompartment;
311
305
  private placeholderCompartment;
312
306
  private wrappingCompartment;
@@ -338,7 +332,7 @@ declare class AXCodeEditorComponent extends MXValueComponent<string> {
338
332
  /** Returns the total number of lines in the current document. */
339
333
  getTotalLines(): number;
340
334
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXCodeEditorComponent, never>;
341
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXCodeEditorComponent, "ax-code-editor", never, { "language": { "alias": "language"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "lineNumbers": { "alias": "lineNumbers"; "required": false; "isSignal": true; }; "lineWrapping": { "alias": "lineWrapping"; "required": false; "isSignal": true; }; "tabSize": { "alias": "tabSize"; "required": false; "isSignal": true; }; "indentWithTab": { "alias": "indentWithTab"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "minHeight": { "alias": "minHeight"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "extensions": { "alias": "extensions"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "focusOnReady": { "alias": "focusOnReady"; "required": false; "isSignal": true; }; "formatOnSave": { "alias": "formatOnSave"; "required": false; "isSignal": true; }; "customCompletions": { "alias": "customCompletions"; "required": false; "isSignal": true; }; }, { "ready": "ready"; "save": "save"; }, never, never, true, never>;
335
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXCodeEditorComponent, "ax-code-editor", never, { "disabled": { "alias": "disabled"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "language": { "alias": "language"; "required": false; "isSignal": true; }; "editorReadonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "lineNumbers": { "alias": "lineNumbers"; "required": false; "isSignal": true; }; "lineWrapping": { "alias": "lineWrapping"; "required": false; "isSignal": true; }; "tabSize": { "alias": "tabSize"; "required": false; "isSignal": true; }; "indentWithTab": { "alias": "indentWithTab"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "extensions": { "alias": "extensions"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "focusOnReady": { "alias": "focusOnReady"; "required": false; "isSignal": true; }; "formatOnSave": { "alias": "formatOnSave"; "required": false; "isSignal": true; }; "customCompletions": { "alias": "customCompletions"; "required": false; "isSignal": true; }; }, { "onValueChanged": "onValueChanged"; "valueChange": "valueChange"; "stateChange": "stateChange"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "ready": "ready"; "save": "save"; }, never, ["ax-validation-rule"], true, never>;
342
336
  }
343
337
 
344
338
  declare class AXCodeEditorModule {
@@ -1,7 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { OnInit, TemplateRef, EventEmitter } from '@angular/core';
3
- import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
4
3
  import { MXValueComponent, AXDataSource, AXListDataSource } from '@acorex/cdk/common';
4
+ import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
5
5
 
6
6
  interface AXDataListItem {
7
7
  id: string;
@@ -214,8 +214,8 @@ class GitHubDarkThemePlugin {
214
214
  return [
215
215
  githubDark,
216
216
  EditorView.theme({
217
- '&': { backgroundColor: 'transparent !important' },
218
- '.cm-gutters': { backgroundColor: 'transparent !important' },
217
+ // '&': { backgroundColor: 'transparent !important' },
218
+ // '.cm-gutters': { backgroundColor: 'transparent !important' },
219
219
  }, { dark: true }),
220
220
  ];
221
221
  }
@@ -236,8 +236,8 @@ class GitHubLightThemePlugin {
236
236
  return [
237
237
  githubLight,
238
238
  EditorView.theme({
239
- '&': { backgroundColor: 'transparent !important' },
240
- '.cm-gutters': { backgroundColor: 'transparent !important' },
239
+ // '&': { backgroundColor: 'transparent !important' },
240
+ // '.cm-gutters': { backgroundColor: 'transparent !important' },
241
241
  }, { dark: false }),
242
242
  ];
243
243
  }
@@ -253,7 +253,7 @@ class LightThemePlugin {
253
253
  async getExtension() {
254
254
  const { EditorView } = await import('@codemirror/view');
255
255
  return EditorView.theme({
256
- '&': { backgroundColor: 'transparent !important' },
256
+ // '&': { backgroundColor: 'transparent !important' },
257
257
  '.cm-gutters': {},
258
258
  }, { dark: false });
259
259
  }
@@ -273,14 +273,14 @@ class OneDarkThemePlugin {
273
273
  return [
274
274
  oneDark,
275
275
  EditorView.theme({
276
- '&': { backgroundColor: 'transparent !important' },
276
+ // '&': { backgroundColor: 'transparent !important' },
277
277
  '.cm-gutters': {},
278
278
  }, { dark: true }),
279
279
  ];
280
280
  }
281
281
  catch {
282
282
  return EditorView.theme({
283
- '&': { backgroundColor: 'transparent !important' },
283
+ // '&': { backgroundColor: 'transparent !important' },
284
284
  '.cm-gutters': {},
285
285
  }, { dark: true });
286
286
  }
@@ -471,7 +471,7 @@ class AXCodeEditorComponent extends MXValueComponent {
471
471
  /** Active language identifier from default plugins. Default: 'javascript'. */
472
472
  this.language = input('javascript', ...(ngDevMode ? [{ debugName: "language" }] : []));
473
473
  /** When true, the editor becomes readonly (non-editable). */
474
- this.readOnly = input(false, ...(ngDevMode ? [{ debugName: "readOnly" }] : []));
474
+ this.editorReadonly = input(false, ...(ngDevMode ? [{ debugName: "editorReadonly", alias: 'readonly' }] : [{ alias: 'readonly' }]));
475
475
  /** Placeholder text shown when the document is empty. */
476
476
  this.placeholder = input('', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
477
477
  /** Toggle rendering of line numbers in the gutter. */
@@ -482,12 +482,6 @@ class AXCodeEditorComponent extends MXValueComponent {
482
482
  this.tabSize = input(2, ...(ngDevMode ? [{ debugName: "tabSize" }] : []));
483
483
  /** When true, the Tab key indents instead of moving focus. */
484
484
  this.indentWithTab = input(true, ...(ngDevMode ? [{ debugName: "indentWithTab" }] : []));
485
- /** Fixed height for the editor (e.g., '320px'). */
486
- this.height = input(null, ...(ngDevMode ? [{ debugName: "height" }] : []));
487
- /** Minimum height for the editor. */
488
- this.minHeight = input(null, ...(ngDevMode ? [{ debugName: "minHeight" }] : []));
489
- /** Maximum height for the editor. */
490
- this.maxHeight = input(null, ...(ngDevMode ? [{ debugName: "maxHeight" }] : []));
491
485
  /** Theme identifier. If null, uses platform theme mode (dark/light). */
492
486
  this.theme = input(null, ...(ngDevMode ? [{ debugName: "theme" }] : []));
493
487
  /** Additional CodeMirror extensions to apply. Reconfigures at runtime. */
@@ -519,7 +513,7 @@ class AXCodeEditorComponent extends MXValueComponent {
519
513
  this.editorViewSig = signal(null, ...(ngDevMode ? [{ debugName: "editorViewSig" }] : []));
520
514
  // Compartments to reconfigure editor without recreating it
521
515
  this.languageCompartment = null;
522
- this.readOnlyCompartment = null;
516
+ this.readonlyCompartment = null;
523
517
  this.themeCompartment = null;
524
518
  this.placeholderCompartment = null;
525
519
  this.wrappingCompartment = null;
@@ -561,13 +555,13 @@ class AXCodeEditorComponent extends MXValueComponent {
561
555
  });
562
556
  effect(() => {
563
557
  const view = this.editorViewSig();
564
- if (!view || !this.readOnlyCompartment)
558
+ if (!view || !this.readonlyCompartment)
565
559
  return;
566
- const editable = !this.readOnly();
560
+ const editable = !this.editorReadonly();
567
561
  import('@codemirror/view').then(({ EditorView }) => {
568
- if (!view || !this.readOnlyCompartment)
562
+ if (!view || !this.readonlyCompartment)
569
563
  return;
570
- view.dispatch({ effects: this.readOnlyCompartment.reconfigure(EditorView.editable.of(editable)) });
564
+ view.dispatch({ effects: this.readonlyCompartment.reconfigure(EditorView.editable.of(editable)) });
571
565
  });
572
566
  });
573
567
  effect(() => {
@@ -652,7 +646,7 @@ class AXCodeEditorComponent extends MXValueComponent {
652
646
  const languageExt = await this.pluginRegistry.getLanguageExtension(this.language());
653
647
  const themeExt = await this.resolveThemeExtension(this.theme(), this.platformService.themeMode());
654
648
  const placeholderExt = viewMod.placeholder(this.placeholder() ?? '');
655
- const editableExt = viewMod.EditorView.editable.of(!this.readOnly());
649
+ const editableExt = viewMod.EditorView.editable.of(!this.editorReadonly());
656
650
  const wrappingExt = this.lineWrapping() ? viewMod.EditorView.lineWrapping : [];
657
651
  const tabSizeExt = stateMod.EditorState.tabSize.of(this.tabSize() ?? 2);
658
652
  const lineNumbersExt = this.lineNumbers() ? viewMod.lineNumbers() : [];
@@ -676,7 +670,7 @@ class AXCodeEditorComponent extends MXValueComponent {
676
670
  viewMod.keymap.of(keymaps),
677
671
  autoCompleteExt,
678
672
  this.languageCompartment.of(languageExt),
679
- this.readOnlyCompartment.of(editableExt),
673
+ this.readonlyCompartment.of(editableExt),
680
674
  this.themeCompartment.of(themeExt),
681
675
  this.placeholderCompartment.of(placeholderExt),
682
676
  this.wrappingCompartment.of(wrappingExt),
@@ -751,7 +745,7 @@ class AXCodeEditorComponent extends MXValueComponent {
751
745
  if (!stateMod)
752
746
  return;
753
747
  this.languageCompartment = new stateMod.Compartment();
754
- this.readOnlyCompartment = new stateMod.Compartment();
748
+ this.readonlyCompartment = new stateMod.Compartment();
755
749
  this.themeCompartment = new stateMod.Compartment();
756
750
  this.placeholderCompartment = new stateMod.Compartment();
757
751
  this.wrappingCompartment = new stateMod.Compartment();
@@ -848,7 +842,7 @@ class AXCodeEditorComponent extends MXValueComponent {
848
842
  return text ? text.split(/\r?\n/).length : 1;
849
843
  }
850
844
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXCodeEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
851
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.9", type: AXCodeEditorComponent, isStandalone: true, selector: "ax-code-editor", inputs: { language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null }, readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, lineNumbers: { classPropertyName: "lineNumbers", publicName: "lineNumbers", isSignal: true, isRequired: false, transformFunction: null }, lineWrapping: { classPropertyName: "lineWrapping", publicName: "lineWrapping", isSignal: true, isRequired: false, transformFunction: null }, tabSize: { classPropertyName: "tabSize", publicName: "tabSize", isSignal: true, isRequired: false, transformFunction: null }, indentWithTab: { classPropertyName: "indentWithTab", publicName: "indentWithTab", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, theme: { classPropertyName: "theme", publicName: "theme", isSignal: true, isRequired: false, transformFunction: null }, extensions: { classPropertyName: "extensions", publicName: "extensions", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, focusOnReady: { classPropertyName: "focusOnReady", publicName: "focusOnReady", isSignal: true, isRequired: false, transformFunction: null }, formatOnSave: { classPropertyName: "formatOnSave", publicName: "formatOnSave", isSignal: true, isRequired: false, transformFunction: null }, customCompletions: { classPropertyName: "customCompletions", publicName: "customCompletions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ready: "ready", save: "save" }, host: { listeners: { "keydown.control.s": "onSaveShortcut($event)" }, classAttribute: "ax-code-editor block" }, providers: [
845
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.9", type: AXCodeEditorComponent, isStandalone: true, selector: "ax-code-editor", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null }, editorReadonly: { classPropertyName: "editorReadonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, lineNumbers: { classPropertyName: "lineNumbers", publicName: "lineNumbers", isSignal: true, isRequired: false, transformFunction: null }, lineWrapping: { classPropertyName: "lineWrapping", publicName: "lineWrapping", isSignal: true, isRequired: false, transformFunction: null }, tabSize: { classPropertyName: "tabSize", publicName: "tabSize", isSignal: true, isRequired: false, transformFunction: null }, indentWithTab: { classPropertyName: "indentWithTab", publicName: "indentWithTab", isSignal: true, isRequired: false, transformFunction: null }, theme: { classPropertyName: "theme", publicName: "theme", isSignal: true, isRequired: false, transformFunction: null }, extensions: { classPropertyName: "extensions", publicName: "extensions", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, focusOnReady: { classPropertyName: "focusOnReady", publicName: "focusOnReady", isSignal: true, isRequired: false, transformFunction: null }, formatOnSave: { classPropertyName: "formatOnSave", publicName: "formatOnSave", isSignal: true, isRequired: false, transformFunction: null }, customCompletions: { classPropertyName: "customCompletions", publicName: "customCompletions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onValueChanged: "onValueChanged", valueChange: "valueChange", stateChange: "stateChange", readonlyChange: "readonlyChange", disabledChange: "disabledChange", ready: "ready", save: "save" }, host: { listeners: { "keydown.control.s": "onSaveShortcut($event)" }, classAttribute: "ax-code-editor block" }, providers: [
852
846
  { provide: AXValuableComponent, useExisting: AXCodeEditorComponent },
853
847
  {
854
848
  provide: NG_VALUE_ACCESSOR,
@@ -857,24 +851,27 @@ class AXCodeEditorComponent extends MXValueComponent {
857
851
  },
858
852
  { provide: AXComponent, useExisting: AXCodeEditorComponent },
859
853
  ], viewQueries: [{ propertyName: "host", first: true, predicate: ["host"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
860
- <div
861
- #host
862
- class="cm-editor"
863
- [attr.aria-label]="ariaLabel() ?? null"
864
- [attr.aria-readonly]="readOnly() ? 'true' : 'false'"
865
- [attr.data-placeholder]="placeholder() ?? null"
866
- [style.height]="height() ?? null"
867
- [style.minHeight]="minHeight() ?? null"
868
- [style.maxHeight]="maxHeight() ?? null"
869
- ></div>
870
- `, isInline: true, styles: [":host{display:block;width:100%;transition:none}.cm-editor{width:100%;max-width:100%;box-sizing:border-box}.cm-editor.cm-focused{outline:none}\n"] }); }
854
+ <div class="ax-editor-container">
855
+ <div class="ax-code-editor-container">
856
+ <div
857
+ #host
858
+ class="cm-editor"
859
+ [attr.aria-label]="ariaLabel() ?? null"
860
+ [attr.aria-readonly]="editorReadonly() ? 'true' : 'false'"
861
+ [attr.data-placeholder]="placeholder() ?? null"
862
+ ></div>
863
+ </div>
864
+ <ng-content select="ax-validation-rule"> </ng-content>
865
+ </div>
866
+ <div class="ax-error-container"></div>
867
+ `, isInline: true, styles: [":host{display:block;width:100%;height:100%}:host .ax-editor-container{padding:.1rem}:host.ax-disable{opacity:.5;cursor:not-allowed}:host>.ax-editor-container{display:block;height:100%!important;--ax-comp-editor-space-start-size: 0;--ax-comp-editor-space-end-size: 0;overflow:visible;position:relative}:host .ax-code-editor-container{display:flex;flex-direction:column;height:100%}:host .cm-editor{width:100%;max-width:100%;overflow:auto}:host .cm-editor.cm-focused{outline:none}:host .ax-error-message{padding-inline:.5rem}\n"] }); }
871
868
  }
872
869
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXCodeEditorComponent, decorators: [{
873
870
  type: Component,
874
871
  args: [{ selector: 'ax-code-editor', host: {
875
872
  '(keydown.control.s)': 'onSaveShortcut($event)',
876
873
  class: 'ax-code-editor block',
877
- }, providers: [
874
+ }, inputs: ['disabled', 'value', 'state', 'name', 'id'], outputs: ['onValueChanged', 'valueChange', 'stateChange', 'readonlyChange', 'disabledChange'], providers: [
878
875
  { provide: AXValuableComponent, useExisting: AXCodeEditorComponent },
879
876
  {
880
877
  provide: NG_VALUE_ACCESSOR,
@@ -883,18 +880,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImpor
883
880
  },
884
881
  { provide: AXComponent, useExisting: AXCodeEditorComponent },
885
882
  ], template: `
886
- <div
887
- #host
888
- class="cm-editor"
889
- [attr.aria-label]="ariaLabel() ?? null"
890
- [attr.aria-readonly]="readOnly() ? 'true' : 'false'"
891
- [attr.data-placeholder]="placeholder() ?? null"
892
- [style.height]="height() ?? null"
893
- [style.minHeight]="minHeight() ?? null"
894
- [style.maxHeight]="maxHeight() ?? null"
895
- ></div>
896
- `, styles: [":host{display:block;width:100%;transition:none}.cm-editor{width:100%;max-width:100%;box-sizing:border-box}.cm-editor.cm-focused{outline:none}\n"] }]
897
- }], ctorParameters: () => [], propDecorators: { language: [{ type: i0.Input, args: [{ isSignal: true, alias: "language", required: false }] }], readOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readOnly", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], lineNumbers: [{ type: i0.Input, args: [{ isSignal: true, alias: "lineNumbers", required: false }] }], lineWrapping: [{ type: i0.Input, args: [{ isSignal: true, alias: "lineWrapping", required: false }] }], tabSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabSize", required: false }] }], indentWithTab: [{ type: i0.Input, args: [{ isSignal: true, alias: "indentWithTab", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], minHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "minHeight", required: false }] }], maxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxHeight", required: false }] }], theme: [{ type: i0.Input, args: [{ isSignal: true, alias: "theme", required: false }] }], extensions: [{ type: i0.Input, args: [{ isSignal: true, alias: "extensions", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], focusOnReady: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusOnReady", required: false }] }], formatOnSave: [{ type: i0.Input, args: [{ isSignal: true, alias: "formatOnSave", required: false }] }], customCompletions: [{ type: i0.Input, args: [{ isSignal: true, alias: "customCompletions", required: false }] }], ready: [{ type: i0.Output, args: ["ready"] }], save: [{ type: i0.Output, args: ["save"] }], host: [{ type: i0.ViewChild, args: ['host', { isSignal: true }] }] } });
883
+ <div class="ax-editor-container">
884
+ <div class="ax-code-editor-container">
885
+ <div
886
+ #host
887
+ class="cm-editor"
888
+ [attr.aria-label]="ariaLabel() ?? null"
889
+ [attr.aria-readonly]="editorReadonly() ? 'true' : 'false'"
890
+ [attr.data-placeholder]="placeholder() ?? null"
891
+ ></div>
892
+ </div>
893
+ <ng-content select="ax-validation-rule"> </ng-content>
894
+ </div>
895
+ <div class="ax-error-container"></div>
896
+ `, styles: [":host{display:block;width:100%;height:100%}:host .ax-editor-container{padding:.1rem}:host.ax-disable{opacity:.5;cursor:not-allowed}:host>.ax-editor-container{display:block;height:100%!important;--ax-comp-editor-space-start-size: 0;--ax-comp-editor-space-end-size: 0;overflow:visible;position:relative}:host .ax-code-editor-container{display:flex;flex-direction:column;height:100%}:host .cm-editor{width:100%;max-width:100%;overflow:auto}:host .cm-editor.cm-focused{outline:none}:host .ax-error-message{padding-inline:.5rem}\n"] }]
897
+ }], ctorParameters: () => [], propDecorators: { language: [{ type: i0.Input, args: [{ isSignal: true, alias: "language", required: false }] }], editorReadonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], lineNumbers: [{ type: i0.Input, args: [{ isSignal: true, alias: "lineNumbers", required: false }] }], lineWrapping: [{ type: i0.Input, args: [{ isSignal: true, alias: "lineWrapping", required: false }] }], tabSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabSize", required: false }] }], indentWithTab: [{ type: i0.Input, args: [{ isSignal: true, alias: "indentWithTab", required: false }] }], theme: [{ type: i0.Input, args: [{ isSignal: true, alias: "theme", required: false }] }], extensions: [{ type: i0.Input, args: [{ isSignal: true, alias: "extensions", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], focusOnReady: [{ type: i0.Input, args: [{ isSignal: true, alias: "focusOnReady", required: false }] }], formatOnSave: [{ type: i0.Input, args: [{ isSignal: true, alias: "formatOnSave", required: false }] }], customCompletions: [{ type: i0.Input, args: [{ isSignal: true, alias: "customCompletions", required: false }] }], ready: [{ type: i0.Output, args: ["ready"] }], save: [{ type: i0.Output, args: ["save"] }], host: [{ type: i0.ViewChild, args: ['host', { isSignal: true }] }] } });
898
898
 
899
899
  class AXCodeEditorModule {
900
900
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXCodeEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }