@acorex/components 21.0.0-next.50 → 21.0.0-next.51

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.
Files changed (108) hide show
  1. package/code-editor/index.d.ts +3 -9
  2. package/collapse/index.d.ts +4 -6
  3. package/fesm2022/acorex-components-accordion.mjs +4 -4
  4. package/fesm2022/acorex-components-action-sheet.mjs +2 -2
  5. package/fesm2022/acorex-components-alert.mjs +2 -2
  6. package/fesm2022/acorex-components-audio-wave.mjs +2 -2
  7. package/fesm2022/acorex-components-avatar.mjs +2 -2
  8. package/fesm2022/acorex-components-badge.mjs +2 -2
  9. package/fesm2022/acorex-components-bottom-navigation.mjs +2 -2
  10. package/fesm2022/acorex-components-breadcrumbs.mjs +2 -2
  11. package/fesm2022/acorex-components-button-group.mjs +2 -2
  12. package/fesm2022/acorex-components-button.mjs +4 -4
  13. package/fesm2022/acorex-components-calendar.mjs +4 -4
  14. package/fesm2022/acorex-components-check-box.mjs +2 -2
  15. package/fesm2022/acorex-components-chips.mjs +2 -2
  16. package/fesm2022/acorex-components-circular-progress.mjs +2 -2
  17. package/fesm2022/acorex-components-code-editor.mjs +47 -47
  18. package/fesm2022/acorex-components-code-editor.mjs.map +1 -1
  19. package/fesm2022/acorex-components-collapse.mjs +9 -6
  20. package/fesm2022/acorex-components-collapse.mjs.map +1 -1
  21. package/fesm2022/acorex-components-color-box.mjs +2 -2
  22. package/fesm2022/acorex-components-color-palette.mjs +2 -2
  23. package/fesm2022/acorex-components-command.mjs +2 -2
  24. package/fesm2022/acorex-components-comment.mjs +8 -8
  25. package/fesm2022/acorex-components-data-pager.mjs +2 -2
  26. package/fesm2022/acorex-components-data-table.mjs +2 -2
  27. package/fesm2022/acorex-components-datetime-box.mjs +2 -2
  28. package/fesm2022/acorex-components-datetime-input.mjs +2 -2
  29. package/fesm2022/acorex-components-datetime-picker.mjs +2 -2
  30. package/fesm2022/acorex-components-decorators.mjs +8 -8
  31. package/fesm2022/acorex-components-dialog.mjs +2 -2
  32. package/fesm2022/acorex-components-drawer.mjs +4 -4
  33. package/fesm2022/acorex-components-dropdown-button.mjs +2 -2
  34. package/fesm2022/acorex-components-dropdown.mjs +2 -2
  35. package/fesm2022/acorex-components-editor.mjs +2 -2
  36. package/fesm2022/acorex-components-form.mjs +2 -2
  37. package/fesm2022/acorex-components-image-editor.mjs +14 -14
  38. package/fesm2022/acorex-components-image.mjs +2 -2
  39. package/fesm2022/acorex-components-json-viewer.mjs +2 -2
  40. package/fesm2022/acorex-components-kanban.mjs +2 -2
  41. package/fesm2022/acorex-components-kbd.mjs +2 -2
  42. package/fesm2022/acorex-components-label.mjs +2 -2
  43. package/fesm2022/acorex-components-list.mjs +2 -2
  44. package/fesm2022/acorex-components-loading-dialog.mjs +2 -2
  45. package/fesm2022/acorex-components-loading.mjs +4 -4
  46. package/fesm2022/acorex-components-map.mjs +2 -2
  47. package/fesm2022/acorex-components-media-viewer.mjs +10 -10
  48. package/fesm2022/acorex-components-menu.mjs +2 -2
  49. package/fesm2022/{acorex-components-modal-acorex-components-modal-WaTo81yi.mjs → acorex-components-modal-acorex-components-modal-BnUdtPke.mjs} +4 -4
  50. package/fesm2022/{acorex-components-modal-acorex-components-modal-WaTo81yi.mjs.map → acorex-components-modal-acorex-components-modal-BnUdtPke.mjs.map} +1 -1
  51. package/fesm2022/{acorex-components-modal-modal-content.component-D61_wSet.mjs → acorex-components-modal-modal-content.component-Cgq-wx_m.mjs} +4 -4
  52. package/fesm2022/{acorex-components-modal-modal-content.component-D61_wSet.mjs.map → acorex-components-modal-modal-content.component-Cgq-wx_m.mjs.map} +1 -1
  53. package/fesm2022/acorex-components-modal.mjs +1 -1
  54. package/fesm2022/acorex-components-navbar.mjs +2 -2
  55. package/fesm2022/acorex-components-notification.mjs +2 -2
  56. package/fesm2022/acorex-components-number-box.mjs +2 -2
  57. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  58. package/fesm2022/acorex-components-otp.mjs +2 -2
  59. package/fesm2022/acorex-components-paint.mjs +4 -4
  60. package/fesm2022/acorex-components-password-box.mjs +2 -2
  61. package/fesm2022/acorex-components-pdf-reader.mjs +2 -2
  62. package/fesm2022/acorex-components-phone-box.mjs +2 -2
  63. package/fesm2022/acorex-components-picker.mjs +6 -6
  64. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  65. package/fesm2022/acorex-components-popup.mjs +2 -2
  66. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  67. package/fesm2022/acorex-components-progress-bar.mjs +2 -2
  68. package/fesm2022/acorex-components-qrcode.mjs +2 -2
  69. package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
  70. package/fesm2022/acorex-components-query-builder.mjs +2 -2
  71. package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
  72. package/fesm2022/acorex-components-radio.mjs +2 -2
  73. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  74. package/fesm2022/acorex-components-rail-navigation.mjs +2 -2
  75. package/fesm2022/acorex-components-range-slider.mjs +2 -2
  76. package/fesm2022/acorex-components-rate-picker.mjs +2 -2
  77. package/fesm2022/acorex-components-result.mjs +2 -2
  78. package/fesm2022/acorex-components-routing-progress.mjs +2 -2
  79. package/fesm2022/acorex-components-scheduler.mjs +18 -18
  80. package/fesm2022/acorex-components-select-box.mjs +2 -2
  81. package/fesm2022/acorex-components-selection-list-2.mjs +2 -2
  82. package/fesm2022/acorex-components-selection-list.mjs +2 -2
  83. package/fesm2022/acorex-components-side-menu.mjs +2 -2
  84. package/fesm2022/acorex-components-skeleton.mjs +2 -2
  85. package/fesm2022/acorex-components-slider.mjs +2 -2
  86. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  87. package/fesm2022/acorex-components-sliding-item.mjs +2 -2
  88. package/fesm2022/acorex-components-step-wizard.mjs +2 -2
  89. package/fesm2022/acorex-components-switch.mjs +2 -2
  90. package/fesm2022/acorex-components-tabs.mjs +2 -2
  91. package/fesm2022/acorex-components-tag-box.mjs +2 -2
  92. package/fesm2022/acorex-components-tag.mjs +2 -2
  93. package/fesm2022/acorex-components-text-area.mjs +2 -2
  94. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  95. package/fesm2022/acorex-components-text-box.mjs +2 -2
  96. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  97. package/fesm2022/acorex-components-time-line.mjs +4 -4
  98. package/fesm2022/acorex-components-toast.mjs +2 -2
  99. package/fesm2022/acorex-components-toolbar.mjs +2 -2
  100. package/fesm2022/acorex-components-tooltip.mjs +5 -10
  101. package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
  102. package/fesm2022/acorex-components-tree-view.mjs +4 -4
  103. package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
  104. package/fesm2022/acorex-components-uploader.mjs +6 -6
  105. package/fesm2022/acorex-components-wysiwyg.mjs +6 -6
  106. package/package.json +8 -7
  107. package/slider/index.d.ts +2 -2
  108. package/tooltip/index.d.ts +0 -1
@@ -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.15", ngImport: i0, type: AXCodeEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
851
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.15", 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.15", 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.15", 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.15", ngImpo
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.15", ngImport: i0, type: AXCodeEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-code-editor.mjs","sources":["../../../../packages/components/code-editor/src/lib/plugins/default/formatters/prettier.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/languages/css.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/languages/html.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/languages/javascript.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/languages/json.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/languages/markdown.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/languages/sass.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/languages/sql.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/languages/typescript.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/languages/xml.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/themes/github-dark.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/themes/github-light.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/themes/light.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/themes/one-dark.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/config.ts","../../../../packages/components/code-editor/src/lib/plugins/tokens.ts","../../../../packages/components/code-editor/src/lib/plugins/registry.service.ts","../../../../packages/components/code-editor/src/lib/code-editor.component.ts","../../../../packages/components/code-editor/src/lib/code-editor.module.ts","../../../../packages/components/code-editor/src/lib/plugins/default/languages/index.ts","../../../../packages/components/code-editor/src/lib/plugins/default/index.ts","../../../../packages/components/code-editor/src/index.ts","../../../../packages/components/code-editor/src/acorex-components-code-editor.ts"],"sourcesContent":["import { AXCodeEditorFormatterPlugin } from '../../types';\n\nexport class PrettierFormatterPlugin implements AXCodeEditorFormatterPlugin {\n readonly id = 'prettier';\n readonly name = 'Prettier';\n readonly version = '1.0.0';\n readonly languages = ['javascript', 'js', 'typescript', 'ts', 'json', 'html', 'css', 'markdown'] as const;\n\n async format(text: string, language: string): Promise<string | null> {\n try {\n const prettier = await import('prettier/standalone');\n let parser: string | null = null;\n const plugins: any[] = [];\n\n switch (language) {\n case 'javascript':\n case 'js': {\n const [babel, estree] = await Promise.all([\n import('prettier/plugins/babel'),\n import('prettier/plugins/estree'),\n ]);\n plugins.push(babel, estree);\n parser = 'babel';\n break;\n }\n case 'typescript':\n case 'ts': {\n const [typescript, estree] = await Promise.all([\n import('prettier/plugins/typescript'),\n import('prettier/plugins/estree'),\n ]);\n plugins.push(typescript, estree);\n parser = 'typescript';\n break;\n }\n case 'json': {\n const [babel, estree] = await Promise.all([\n import('prettier/plugins/babel'),\n import('prettier/plugins/estree'),\n ]);\n plugins.push(babel, estree);\n parser = 'json';\n break;\n }\n case 'html': {\n const html = await import('prettier/plugins/html');\n plugins.push(html);\n parser = 'html';\n break;\n }\n case 'css': {\n const postcss = await import('prettier/plugins/postcss');\n plugins.push(postcss);\n parser = 'css';\n break;\n }\n case 'markdown': {\n const markdown = await import('prettier/plugins/markdown');\n plugins.push(markdown);\n parser = 'markdown';\n break;\n }\n default:\n return null;\n }\n\n if (!parser) return null;\n const formatted = await prettier.format(text, {\n parser,\n plugins,\n } as any);\n return formatted;\n } catch {\n return null;\n }\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorLanguagePlugin } from '../../types';\n\nexport class CSSLanguagePlugin implements AXCodeEditorLanguagePlugin {\n readonly id = 'css';\n readonly name = 'CSS';\n readonly version = '1.0.0';\n readonly languages = ['css'] as const;\n\n async getExtension(): Promise<Extension> {\n const { css } = await import('@codemirror/lang-css');\n return css();\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorLanguagePlugin } from '../../types';\n\nexport class HTMLLanguagePlugin implements AXCodeEditorLanguagePlugin {\n readonly id = 'html';\n readonly name = 'HTML';\n readonly version = '1.0.0';\n readonly languages = ['html'] as const;\n\n async getExtension(): Promise<Extension> {\n const { html } = await import('@codemirror/lang-html');\n return html();\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorLanguagePlugin } from '../../types';\n\nexport class JavaScriptLanguagePlugin implements AXCodeEditorLanguagePlugin {\n readonly id = 'javascript';\n readonly name = 'JavaScript';\n readonly version = '1.0.0';\n readonly languages = ['javascript', 'js'] as const;\n\n async getExtension(): Promise<Extension> {\n const { javascript } = await import('@codemirror/lang-javascript');\n return javascript();\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorLanguagePlugin } from '../../types';\n\nexport class JSONLanguagePlugin implements AXCodeEditorLanguagePlugin {\n readonly id = 'json';\n readonly name = 'JSON';\n readonly version = '1.0.0';\n readonly languages = ['json'] as const;\n\n async getExtension(): Promise<Extension> {\n const { json } = await import('@codemirror/lang-json');\n return json();\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorLanguagePlugin } from '../../types';\n\nexport class MarkdownLanguagePlugin implements AXCodeEditorLanguagePlugin {\n readonly id = 'markdown';\n readonly name = 'Markdown';\n readonly version = '1.0.0';\n readonly languages = ['markdown'] as const;\n\n async getExtension(): Promise<Extension> {\n const { markdown } = await import('@codemirror/lang-markdown');\n return markdown();\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorLanguagePlugin } from '../../types';\n\nexport class SassLanguagePlugin implements AXCodeEditorLanguagePlugin {\n readonly id = 'sass';\n readonly name = 'Sass/SCSS';\n readonly version = '1.0.0';\n readonly languages = ['sass', 'scss'] as const;\n\n async getExtension(): Promise<Extension> {\n const { sass } = await import('@codemirror/lang-sass');\n return sass();\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorLanguagePlugin } from '../../types';\n\nexport class SQLLanguagePlugin implements AXCodeEditorLanguagePlugin {\n readonly id = 'sql';\n readonly name = 'SQL';\n readonly version = '1.0.0';\n readonly languages = ['sql'] as const;\n\n async getExtension(): Promise<Extension> {\n const { sql } = await import('@codemirror/lang-sql');\n return sql();\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorLanguagePlugin } from '../../types';\n\nexport class TypeScriptLanguagePlugin implements AXCodeEditorLanguagePlugin {\n readonly id = 'typescript';\n readonly name = 'TypeScript';\n readonly version = '1.0.0';\n readonly languages = ['typescript', 'ts'] as const;\n\n async getExtension(): Promise<Extension> {\n const { javascript } = await import('@codemirror/lang-javascript');\n return javascript({ typescript: true });\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorLanguagePlugin } from '../../types';\n\nexport class XMLLanguagePlugin implements AXCodeEditorLanguagePlugin {\n readonly id = 'xml';\n readonly name = 'XML';\n readonly version = '1.0.0';\n readonly languages = ['xml'] as const;\n\n async getExtension(): Promise<Extension> {\n const { xml } = await import('@codemirror/lang-xml');\n return xml();\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorThemePlugin } from '../../types';\n\nexport class GitHubDarkThemePlugin implements AXCodeEditorThemePlugin {\n readonly id = 'github-dark';\n readonly name = 'GitHub Dark';\n readonly version = '1.0.0';\n readonly dark = true;\n\n async getExtension(): Promise<Extension> {\n const [{ githubDark }, { EditorView }] = await Promise.all([\n import('@uiw/codemirror-theme-github'),\n import('@codemirror/view'),\n ]);\n return [\n githubDark,\n EditorView.theme(\n {\n '&': { backgroundColor: 'transparent !important' },\n '.cm-gutters': { backgroundColor: 'transparent !important' },\n },\n { dark: true },\n ),\n ];\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorThemePlugin } from '../../types';\n\nexport class GitHubLightThemePlugin implements AXCodeEditorThemePlugin {\n readonly id = 'github-light';\n readonly name = 'GitHub Light';\n readonly version = '1.0.0';\n readonly dark = false;\n\n async getExtension(): Promise<Extension> {\n const [{ githubLight }, { EditorView }] = await Promise.all([\n import('@uiw/codemirror-theme-github'),\n import('@codemirror/view'),\n ]);\n return [\n githubLight,\n EditorView.theme(\n {\n '&': { backgroundColor: 'transparent !important' },\n '.cm-gutters': { backgroundColor: 'transparent !important' },\n },\n { dark: false },\n ),\n ];\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorThemePlugin } from '../../types';\n\nexport class LightThemePlugin implements AXCodeEditorThemePlugin {\n readonly id = 'light';\n readonly name = 'Light';\n readonly version = '1.0.0';\n readonly dark = false;\n\n async getExtension(): Promise<Extension> {\n const { EditorView } = await import('@codemirror/view');\n return EditorView.theme(\n {\n '&': { backgroundColor: 'transparent !important' },\n '.cm-gutters': {},\n },\n { dark: false },\n );\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorThemePlugin } from '../../types';\n\nexport class OneDarkThemePlugin implements AXCodeEditorThemePlugin {\n readonly id = 'one-dark';\n readonly name = 'One Dark';\n readonly version = '1.0.0';\n readonly dark = true;\n\n async getExtension(): Promise<Extension> {\n const { EditorView } = await import('@codemirror/view');\n try {\n const { oneDark } = await import('@codemirror/theme-one-dark');\n return [\n oneDark,\n EditorView.theme(\n {\n '&': { backgroundColor: 'transparent !important' },\n '.cm-gutters': {},\n },\n { dark: true },\n ),\n ];\n } catch {\n return EditorView.theme(\n {\n '&': { backgroundColor: 'transparent !important' },\n '.cm-gutters': {},\n },\n { dark: true },\n );\n }\n }\n}\n","import { AXCodeEditorPluginConfig } from '../types';\nimport { PrettierFormatterPlugin } from './formatters/prettier.plugin';\nimport { CSSLanguagePlugin } from './languages/css.plugin';\nimport { HTMLLanguagePlugin } from './languages/html.plugin';\nimport { JavaScriptLanguagePlugin } from './languages/javascript.plugin';\nimport { JSONLanguagePlugin } from './languages/json.plugin';\nimport { MarkdownLanguagePlugin } from './languages/markdown.plugin';\nimport { SassLanguagePlugin } from './languages/sass.plugin';\nimport { SQLLanguagePlugin } from './languages/sql.plugin';\nimport { TypeScriptLanguagePlugin } from './languages/typescript.plugin';\nimport { XMLLanguagePlugin } from './languages/xml.plugin';\nimport { GitHubDarkThemePlugin } from './themes/github-dark.plugin';\nimport { GitHubLightThemePlugin } from './themes/github-light.plugin';\nimport { LightThemePlugin } from './themes/light.plugin';\nimport { OneDarkThemePlugin } from './themes/one-dark.plugin';\n\n/**\n * Default plugin configuration with all built-in plugins\n */\nexport function provideDefaultCodeEditorPlugins(): AXCodeEditorPluginConfig {\n return {\n languages: [\n new JavaScriptLanguagePlugin(),\n new TypeScriptLanguagePlugin(),\n new JSONLanguagePlugin(),\n new HTMLLanguagePlugin(),\n new CSSLanguagePlugin(),\n new SassLanguagePlugin(),\n new SQLLanguagePlugin(),\n new XMLLanguagePlugin(),\n new MarkdownLanguagePlugin(),\n ],\n themes: [\n new OneDarkThemePlugin(),\n new LightThemePlugin(),\n new GitHubLightThemePlugin(),\n new GitHubDarkThemePlugin(),\n ],\n formatters: [new PrettierFormatterPlugin()],\n extensions: [],\n };\n}\n","import { InjectionToken } from '@angular/core';\nimport { provideDefaultCodeEditorPlugins } from './default/config';\nimport { AXCodeEditorPluginConfig } from './types';\n\n/**\n * Injection token for providing code editor plugin configuration\n */\nexport const AX_CODE_EDITOR_PLUGIN_CONFIG = new InjectionToken<AXCodeEditorPluginConfig>(\n 'AX_CODE_EDITOR_PLUGIN_CONFIG',\n {\n providedIn: 'root',\n factory: () => provideDefaultCodeEditorPlugins(),\n },\n);\n","import { Injectable, inject } from '@angular/core';\nimport type { Extension } from '@codemirror/state';\nimport {\n AXCodeEditorExtensionPlugin,\n AXCodeEditorFormatterPlugin,\n AXCodeEditorLanguagePlugin,\n AXCodeEditorPluginConfig,\n AXCodeEditorThemePlugin,\n} from './types';\nimport { AX_CODE_EDITOR_PLUGIN_CONFIG } from './tokens';\n\n/**\n * Registry service for managing code editor plugins\n */\n@Injectable({ providedIn: 'root' })\nexport class AXCodeEditorPluginRegistry {\n private config: AXCodeEditorPluginConfig | null = inject(AX_CODE_EDITOR_PLUGIN_CONFIG, { optional: true });\n\n private languagePlugins = new Map<string, AXCodeEditorLanguagePlugin>();\n private themePlugins = new Map<string, AXCodeEditorThemePlugin>();\n private formatterPlugins = new Map<string, AXCodeEditorFormatterPlugin>();\n private extensionPlugins = new Map<string, AXCodeEditorExtensionPlugin>();\n\n constructor() {\n this.initializePlugins();\n }\n\n private initializePlugins(): void {\n if (!this.config) return;\n\n // Register language plugins\n this.config.languages?.forEach((plugin) => {\n plugin.languages.forEach((lang) => {\n this.languagePlugins.set(lang, plugin);\n });\n });\n\n // Register theme plugins\n this.config.themes?.forEach((plugin) => {\n this.themePlugins.set(plugin.id, plugin);\n });\n\n // Register formatter plugins\n this.config.formatters?.forEach((plugin) => {\n plugin.languages.forEach((lang) => {\n this.formatterPlugins.set(lang, plugin);\n });\n });\n\n // Register extension plugins\n this.config.extensions?.forEach((plugin) => {\n this.extensionPlugins.set(plugin.id, plugin);\n });\n }\n\n /**\n * Get language extension for the specified language\n */\n async getLanguageExtension(language: string): Promise<Extension> {\n const plugin = this.languagePlugins.get(language);\n if (!plugin) {\n console.warn(`No language plugin found for: ${language}`);\n return [];\n }\n return plugin.getExtension();\n }\n\n /**\n * Get theme extension by theme ID\n */\n async getThemeExtension(themeId: string): Promise<Extension> {\n const plugin = this.themePlugins.get(themeId);\n if (!plugin) {\n console.warn(`No theme plugin found for: ${themeId}`);\n return [];\n }\n return plugin.getExtension();\n }\n\n /**\n * Format text using the appropriate formatter for the language\n */\n async format(text: string, language: string): Promise<string | null> {\n const plugin = this.formatterPlugins.get(language);\n if (!plugin) {\n return null;\n }\n return plugin.format(text, language);\n }\n\n /**\n * Get all registered extension plugins\n */\n async getExtensionPlugins(): Promise<Extension[]> {\n const extensions = await Promise.all(\n Array.from(this.extensionPlugins.values()).map((plugin) => plugin.getExtension()),\n );\n return extensions;\n }\n\n /**\n * Check if a language is supported\n */\n hasLanguage(language: string): boolean {\n return this.languagePlugins.has(language);\n }\n\n /**\n * Check if a theme is available\n */\n hasTheme(themeId: string): boolean {\n return this.themePlugins.has(themeId);\n }\n\n /**\n * Check if a formatter is available for a language\n */\n hasFormatter(language: string): boolean {\n return this.formatterPlugins.has(language);\n }\n\n /**\n * Get all available language identifiers\n */\n getAvailableLanguages(): string[] {\n return Array.from(this.languagePlugins.keys());\n }\n\n /**\n * Get all available theme identifiers\n */\n getAvailableThemes(): string[] {\n return Array.from(this.themePlugins.keys());\n }\n\n /**\n * Register a language plugin at runtime\n */\n registerLanguagePlugin(plugin: AXCodeEditorLanguagePlugin): void {\n plugin.languages.forEach((lang) => {\n this.languagePlugins.set(lang, plugin);\n });\n }\n\n /**\n * Register a theme plugin at runtime\n */\n registerThemePlugin(plugin: AXCodeEditorThemePlugin): void {\n this.themePlugins.set(plugin.id, plugin);\n }\n\n /**\n * Register a formatter plugin at runtime\n */\n registerFormatterPlugin(plugin: AXCodeEditorFormatterPlugin): void {\n plugin.languages.forEach((lang) => {\n this.formatterPlugins.set(lang, plugin);\n });\n }\n\n /**\n * Register an extension plugin at runtime\n */\n registerExtensionPlugin(plugin: AXCodeEditorExtensionPlugin): void {\n this.extensionPlugins.set(plugin.id, plugin);\n }\n}\n","import { AXComponent, AXValuableComponent, MXValueComponent } from '@acorex/cdk/common';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n Component,\n DestroyRef,\n ElementRef,\n PLATFORM_ID,\n afterNextRender,\n computed,\n effect,\n forwardRef,\n inject,\n input,\n output,\n signal,\n viewChild,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { AXCodeEditorDefaultLanguage } from './plugins';\nimport { AXCodeEditorPluginRegistry } from './plugins/registry.service';\n\n// Re-export language type for external use\nexport type { AXCodeEditorDefaultLanguage } from './plugins/default/languages';\n\n// Type-only aliases for CodeMirror types (tree-shake friendly)\ntype AXCodeEditorEditorViewLike = import('@codemirror/view').EditorView;\ntype AXCodeEditorKeyBindingLike = import('@codemirror/view').KeyBinding;\nexport type AXCodeEditorExtensionLike = import('@codemirror/state').Extension;\ntype AXCodeEditorCompartmentLike = import('@codemirror/state').Compartment;\nexport type AXCodeEditorCompletionLike = import('@codemirror/autocomplete').Completion;\nexport type AXCodeEditorCompletionSourceLike = import('@codemirror/autocomplete').CompletionSource;\ntype AXCodeEditorCompletionContextLike = import('@codemirror/autocomplete').CompletionContext;\n\ntype AXCodeEditorViewModule = typeof import('@codemirror/view');\ntype AXCodeEditorStateModule = typeof import('@codemirror/state');\ntype AXCodeEditorLanguageModule = typeof import('@codemirror/language');\ntype AXCodeEditorAutocompleteModule = typeof import('@codemirror/autocomplete');\ntype AXCodeEditorCommandsModule = typeof import('@codemirror/commands');\ntype AXCodeEditorSearchModule = typeof import('@codemirror/search');\ntype AXCodeEditorLintModule = typeof import('@codemirror/lint');\n\n@Component({\n selector: 'ax-code-editor',\n host: {\n '(keydown.control.s)': 'onSaveShortcut($event)',\n class: 'ax-code-editor block',\n },\n styles: [\n `\n :host {\n display: block;\n width: 100%;\n transition: none;\n }\n .cm-editor {\n width: 100%;\n max-width: 100%;\n box-sizing: border-box;\n }\n .cm-editor.cm-focused {\n outline: none;\n }\n `,\n ],\n providers: [\n { provide: AXValuableComponent, useExisting: AXCodeEditorComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXCodeEditorComponent),\n multi: true,\n },\n { provide: AXComponent, useExisting: AXCodeEditorComponent },\n ],\n template: `\n <div\n #host\n class=\"cm-editor\"\n [attr.aria-label]=\"ariaLabel() ?? null\"\n [attr.aria-readonly]=\"readOnly() ? 'true' : 'false'\"\n [attr.data-placeholder]=\"placeholder() ?? null\"\n [style.height]=\"height() ?? null\"\n [style.minHeight]=\"minHeight() ?? null\"\n [style.maxHeight]=\"maxHeight() ?? null\"\n ></div>\n `,\n})\nexport class AXCodeEditorComponent extends MXValueComponent<string> {\n // Inputs (signals)\n // value = input<string>('');\n /** Active language identifier from default plugins. Default: 'javascript'. */\n language = input<AXCodeEditorDefaultLanguage>('javascript');\n /** When true, the editor becomes readonly (non-editable). */\n readOnly = input<boolean>(false);\n /** Placeholder text shown when the document is empty. */\n placeholder = input<string>('');\n /** Toggle rendering of line numbers in the gutter. */\n lineNumbers = input<boolean>(true);\n /** Soft-wrap long lines when true. */\n lineWrapping = input<boolean>(false);\n /** Tab size (spaces per indent level). */\n tabSize = input<number>(2);\n /** When true, the Tab key indents instead of moving focus. */\n indentWithTab = input<boolean>(true);\n /** Fixed height for the editor (e.g., '320px'). */\n height = input<string | null>(null);\n /** Minimum height for the editor. */\n minHeight = input<string | null>(null);\n /** Maximum height for the editor. */\n maxHeight = input<string | null>(null);\n /** Theme identifier. If null, uses platform theme mode (dark/light). */\n theme = input<string | null>(null);\n /** Additional CodeMirror extensions to apply. Reconfigures at runtime. */\n extensions = input<ReadonlyArray<AXCodeEditorExtensionLike>>([]);\n /** ARIA label for accessibility. */\n ariaLabel = input<string | null>(null);\n /** Focus the editor after first render. */\n focusOnReady = input<boolean>(false);\n /** If true, format the document via Prettier before emitting save. */\n formatOnSave = input<boolean>(false);\n\n /**\n * Custom autocompletion options: either a static array of Completion items\n * or a CodeMirror CompletionSource function.\n */\n customCompletions = input<ReadonlyArray<AXCodeEditorCompletionLike> | AXCodeEditorCompletionSourceLike | null>(null);\n\n // Outputs (signals)\n // valueChange = output<string>();\n /** Emits when the editor is fully initialized and ready. */\n ready = output<void>();\n /** Emits when the user triggers save (Ctrl/Cmd+S). Payload is the current text. */\n save = output<string>();\n\n // View container\n host = viewChild<ElementRef<HTMLDivElement>>('host');\n\n // Runtime state\n private platformId = inject(PLATFORM_ID);\n private destroyRef = inject(DestroyRef);\n private platformService = inject(AXPlatform);\n private pluginRegistry = inject(AXCodeEditorPluginRegistry);\n\n private editorViewSig = signal<AXCodeEditorEditorViewLike | null>(null);\n\n // Compartments to reconfigure editor without recreating it\n private languageCompartment: AXCodeEditorCompartmentLike | null = null;\n private readOnlyCompartment: AXCodeEditorCompartmentLike | null = null;\n private themeCompartment: AXCodeEditorCompartmentLike | null = null;\n private placeholderCompartment: AXCodeEditorCompartmentLike | null = null;\n private wrappingCompartment: AXCodeEditorCompartmentLike | null = null;\n private keymapExtrasCompartment: AXCodeEditorCompartmentLike | null = null;\n private tabSizeCompartment: AXCodeEditorCompartmentLike | null = null;\n private lineNumbersCompartment: AXCodeEditorCompartmentLike | null = null;\n\n // Cached CodeMirror modules after initialization\n private cm: {\n view: AXCodeEditorViewModule | null;\n state: AXCodeEditorStateModule | null;\n language: AXCodeEditorLanguageModule | null;\n autocomplete: AXCodeEditorAutocompleteModule | null;\n commands: AXCodeEditorCommandsModule | null;\n search: AXCodeEditorSearchModule | null;\n lint: AXCodeEditorLintModule | null;\n } = { view: null, state: null, language: null, autocomplete: null, commands: null, search: null, lint: null };\n\n private isBrowser = computed(() => isPlatformBrowser(this.platformId));\n\n constructor() {\n super();\n afterNextRender(() => {\n if (!this.isBrowser()) return;\n this.initializeEditor();\n });\n\n // Keep model in sync when external value changes\n effect(() => {\n const view = this.editorViewSig();\n if (!view) return;\n const newDoc = this.value ?? '';\n const current = view.state.doc.toString();\n if (newDoc !== current) {\n view.dispatch({\n changes: { from: 0, to: view.state.doc.length, insert: newDoc },\n });\n }\n });\n\n // React to dynamic configuration changes\n effect(() => {\n const view = this.editorViewSig();\n if (!view || !this.languageCompartment) return;\n const lang = this.language();\n this.pluginRegistry.getLanguageExtension(lang).then((ext) => {\n if (!view || !this.languageCompartment) return;\n view.dispatch({ effects: this.languageCompartment.reconfigure(ext) });\n });\n });\n\n effect(() => {\n const view = this.editorViewSig();\n if (!view || !this.readOnlyCompartment) return;\n const editable = !this.readOnly();\n import('@codemirror/view').then(({ EditorView }) => {\n if (!view || !this.readOnlyCompartment) return;\n view.dispatch({ effects: this.readOnlyCompartment.reconfigure(EditorView.editable.of(editable)) });\n });\n });\n\n effect(() => {\n const view = this.editorViewSig();\n // Establish reactive dependency on theme and platform theme\n const customTheme = this.theme();\n const platformTheme = this.platformService.themeMode();\n if (!view || !this.themeCompartment) return;\n this.resolveThemeExtension(customTheme, platformTheme).then((themeExt) => {\n if (!view || !this.themeCompartment) return;\n view.dispatch({ effects: this.themeCompartment.reconfigure(themeExt) });\n });\n });\n\n effect(() => {\n this.placeholder();\n const view = this.editorViewSig();\n if (!view || !this.placeholderCompartment) return;\n import('@codemirror/view').then(({ placeholder }) => {\n if (!view || !this.placeholderCompartment) return;\n view.dispatch({ effects: this.placeholderCompartment.reconfigure(placeholder(this.placeholder() ?? '')) });\n });\n });\n\n effect(() => {\n const view = this.editorViewSig();\n if (!view || !this.wrappingCompartment) return;\n const EditorView = this.cm.view?.EditorView;\n if (!EditorView) return;\n const nextExt = this.lineWrapping() ? EditorView.lineWrapping : [];\n this.reconfigure(this.wrappingCompartment, nextExt);\n });\n\n effect(() => {\n const view = this.editorViewSig();\n if (!view || !this.tabSizeCompartment) return;\n const EditorState = this.cm.state?.EditorState;\n if (!EditorState) return;\n this.reconfigure(this.tabSizeCompartment, EditorState.tabSize.of(this.tabSize() ?? 2));\n });\n\n effect(() => {\n const view = this.editorViewSig();\n if (!view || !this.keymapExtrasCompartment) return;\n const keymap = this.cm.view?.keymap;\n const commands = this.cm.commands;\n if (!keymap || !commands) return;\n this.reconfigure(this.keymapExtrasCompartment, keymap.of(this.indentWithTab() ? [commands.indentWithTab] : []));\n });\n\n effect(() => {\n const view = this.editorViewSig();\n if (!view || !this.lineNumbersCompartment) return;\n const lineNumbers = this.cm.view?.lineNumbers;\n if (!lineNumbers) return;\n this.reconfigure(this.lineNumbersCompartment, this.lineNumbers() ? lineNumbers() : []);\n });\n }\n\n private async initializeEditor(): Promise<void> {\n const hostEl = this.host()?.nativeElement;\n if (!hostEl) return;\n\n await this.loadCodeMirrorModules();\n\n this.createCompartments();\n\n const keymaps = this.buildKeymaps();\n\n const viewMod = this.cm.view;\n const stateMod = this.cm.state;\n const languageMod = this.cm.language;\n const autoMod = this.cm.autocomplete;\n const commandsMod = this.cm.commands;\n const searchMod = this.cm.search;\n const lintMod = this.cm.lint;\n if (!viewMod || !stateMod || !languageMod || !autoMod || !commandsMod || !searchMod || !lintMod) return;\n const languageExt = await this.pluginRegistry.getLanguageExtension(this.language());\n const themeExt = await this.resolveThemeExtension(this.theme(), this.platformService.themeMode());\n const placeholderExt = viewMod.placeholder(this.placeholder() ?? '');\n const editableExt = viewMod.EditorView.editable.of(!this.readOnly());\n const wrappingExt = this.lineWrapping() ? viewMod.EditorView.lineWrapping : [];\n const tabSizeExt = stateMod.EditorState.tabSize.of(this.tabSize() ?? 2);\n const lineNumbersExt = this.lineNumbers() ? viewMod.lineNumbers() : [];\n\n const autoCompleteExt = autoMod.autocompletion({\n override: this.buildCustomCompletionSources(),\n });\n\n const baseExtensions: ReadonlyArray<AXCodeEditorExtensionLike> = [\n this.lineNumbersCompartment.of(lineNumbersExt),\n viewMod.highlightActiveLine(),\n viewMod.highlightActiveLineGutter(),\n viewMod.drawSelection(),\n viewMod.dropCursor(),\n viewMod.rectangularSelection(),\n viewMod.crosshairCursor(),\n viewMod.highlightSpecialChars(),\n languageMod.syntaxHighlighting(languageMod.defaultHighlightStyle, { fallback: true }),\n languageMod.bracketMatching(),\n languageMod.foldGutter(),\n commandsMod.history(),\n searchMod.highlightSelectionMatches(),\n viewMod.keymap.of(keymaps),\n autoCompleteExt,\n this.languageCompartment.of(languageExt),\n this.readOnlyCompartment.of(editableExt),\n this.themeCompartment.of(themeExt),\n this.placeholderCompartment.of(placeholderExt),\n this.wrappingCompartment.of(wrappingExt),\n this.tabSizeCompartment.of(tabSizeExt),\n this.keymapExtrasCompartment.of(viewMod.keymap.of(this.indentWithTab() ? [commandsMod.indentWithTab] : [])),\n ...this.extensions(),\n ];\n\n const updateListener = viewMod.EditorView.updateListener.of((vu) => {\n if (vu.docChanged) {\n const text = vu.state.doc.toString();\n // this.writeValue(text);\n this.value = text;\n }\n });\n\n const state = stateMod.EditorState.create({\n doc: this.value ?? '',\n extensions: [...baseExtensions, updateListener],\n });\n\n const view = new viewMod.EditorView({ state, parent: hostEl });\n\n // Update listener for external changes (selection, viewport, etc.) if needed later\n view.dispatch({ effects: [] });\n\n this.editorViewSig.set(view);\n\n this.destroyRef.onDestroy(() => {\n view.destroy();\n this.editorViewSig.set(null);\n });\n\n if (this.focusOnReady()) {\n view.focus();\n }\n\n this.ready.emit();\n }\n\n private reconfigure(comp: AXCodeEditorCompartmentLike | null, ext: AXCodeEditorExtensionLike): void {\n const view = this.editorViewSig();\n if (!view || !comp) return;\n view.dispatch({ effects: comp.reconfigure(ext) });\n }\n\n /**\n * Handles Ctrl/Cmd+S on the host. If formatOnSave is enabled, attempts\n * to format the document first, then emits the saved text.\n */\n async onSaveShortcut(event: KeyboardEvent): Promise<void> {\n event.preventDefault();\n const view = this.editorViewSig();\n const current = view?.state.doc.toString() ?? this.value ?? '';\n const payload = current;\n if (this.formatOnSave()) {\n await this.format(true);\n }\n this.save.emit(payload);\n }\n\n private async loadCodeMirrorModules(): Promise<void> {\n const [viewMod, stateMod, langMod, autoMod, cmdMod, searchMod, lintMod] = await Promise.all([\n import('@codemirror/view'),\n import('@codemirror/state'),\n import('@codemirror/language'),\n import('@codemirror/autocomplete'),\n import('@codemirror/commands'),\n import('@codemirror/search'),\n import('@codemirror/lint'),\n ]);\n this.cm.view = viewMod;\n this.cm.state = stateMod;\n this.cm.language = langMod;\n this.cm.autocomplete = autoMod;\n this.cm.commands = cmdMod;\n this.cm.search = searchMod;\n this.cm.lint = lintMod;\n }\n\n private createCompartments(): void {\n const stateMod = this.cm.state;\n if (!stateMod) return;\n this.languageCompartment = new stateMod.Compartment();\n this.readOnlyCompartment = new stateMod.Compartment();\n this.themeCompartment = new stateMod.Compartment();\n this.placeholderCompartment = new stateMod.Compartment();\n this.wrappingCompartment = new stateMod.Compartment();\n this.tabSizeCompartment = new stateMod.Compartment();\n this.keymapExtrasCompartment = new stateMod.Compartment();\n this.lineNumbersCompartment = new stateMod.Compartment();\n }\n\n private buildKeymaps(): ReadonlyArray<AXCodeEditorKeyBindingLike> {\n const cmdMod = this.cm.commands;\n const searchMod = this.cm.search;\n const autoMod = this.cm.autocomplete;\n const lintMod = this.cm.lint;\n if (!cmdMod || !searchMod || !autoMod || !lintMod) return [];\n return [\n ...cmdMod.defaultKeymap,\n ...cmdMod.historyKeymap,\n ...searchMod.searchKeymap,\n ...autoMod.completionKeymap,\n ...lintMod.lintKeymap,\n ];\n }\n\n private async resolveThemeExtension(\n customTheme: string | null,\n platformTheme: string,\n ): Promise<AXCodeEditorExtensionLike> {\n // If custom theme is specified, use it\n if (customTheme) {\n return this.pluginRegistry.getThemeExtension(customTheme);\n }\n\n // Otherwise, use platform theme (handle 'system' by defaulting to 'github-light')\n const themeId = platformTheme === 'dark' ? 'github-dark' : 'github-light';\n return this.pluginRegistry.getThemeExtension(themeId);\n }\n\n private buildCustomCompletionSources(): ReadonlyArray<AXCodeEditorCompletionSourceLike> | undefined {\n const provided = this.customCompletions();\n if (!provided) return undefined;\n if (typeof provided === 'function') {\n return [provided as AXCodeEditorCompletionSourceLike];\n }\n // Treat array as a static completion list\n const staticSource: AXCodeEditorCompletionSourceLike = (context: AXCodeEditorCompletionContextLike) => {\n const from = context.pos;\n return { from, options: provided as ReadonlyArray<AXCodeEditorCompletionLike> };\n };\n return [staticSource];\n }\n\n // Public API\n /** Programmatically focus the editor. */\n public override focus(): void {\n const view = this.editorViewSig();\n if (view) view.focus();\n }\n\n /** Select all text in the current document. */\n public selectAll(): void {\n const view = this.editorViewSig();\n if (!view) return;\n const length = view.state.doc.length;\n view.dispatch({ selection: { anchor: 0, head: length } });\n }\n\n // Formats the current document using the registered formatter plugin (if available for the active language).\n // Returns the formatted text or null if unchanged/unsupported.\n public async format(affect = true): Promise<string | null> {\n const view = this.editorViewSig();\n if (!view) return null;\n const source = view.state.doc.toString();\n if (!source) return null;\n const formatted = await this.pluginRegistry.format(source, this.language());\n if (!formatted || formatted === source) return null;\n if (affect) {\n view.dispatch({ changes: { from: 0, to: view.state.doc.length, insert: formatted } });\n }\n return formatted;\n }\n\n /** Returns the total number of characters in the current document. */\n public getTotalCharacters(): number {\n const view = this.editorViewSig();\n if (view) return view.state.doc.length ?? 0;\n const text = this.value ?? '';\n return text.length;\n }\n\n /** Returns the total number of lines in the current document. */\n public getTotalLines(): number {\n const view = this.editorViewSig();\n if (view) {\n const doc: any = view.state.doc;\n return typeof doc?.lines === 'number' ? doc.lines : doc.toString().split(/\\r?\\n/).length;\n }\n const text = this.value ?? '';\n return text ? text.split(/\\r?\\n/).length : 1;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXCodeEditorComponent } from './code-editor.component';\n\n@NgModule({\n imports: [CommonModule, AXCodeEditorComponent],\n exports: [AXCodeEditorComponent],\n})\nexport class AXCodeEditorModule {}\n","// Language plugins\nexport * from './javascript.plugin';\nexport * from './typescript.plugin';\nexport * from './json.plugin';\nexport * from './html.plugin';\nexport * from './css.plugin';\nexport * from './sass.plugin';\nexport * from './sql.plugin';\nexport * from './xml.plugin';\nexport * from './markdown.plugin';\n\n// Type union of all supported languages from default plugins\nexport type AXCodeEditorDefaultLanguage =\n | 'javascript'\n | 'js'\n | 'typescript'\n | 'ts'\n | 'json'\n | 'html'\n | 'css'\n | 'scss'\n | 'sass'\n | 'sql'\n | 'xml'\n | 'markdown';\n","// Language plugins\nexport * from './languages';\n\n// Theme plugins\nexport * from './themes/one-dark.plugin';\nexport * from './themes/light.plugin';\nexport * from './themes/github-light.plugin';\nexport * from './themes/github-dark.plugin';\n\n// Formatter plugins\nexport * from './formatters/prettier.plugin';\n","// Component & Module\nexport * from './lib/code-editor.component';\nexport * from './lib/code-editor.module';\n\n// Plugins\nexport * from './lib/plugins';\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-code-editor.mjs","sources":["../../../../packages/components/code-editor/src/lib/plugins/default/formatters/prettier.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/languages/css.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/languages/html.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/languages/javascript.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/languages/json.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/languages/markdown.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/languages/sass.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/languages/sql.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/languages/typescript.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/languages/xml.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/themes/github-dark.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/themes/github-light.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/themes/light.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/themes/one-dark.plugin.ts","../../../../packages/components/code-editor/src/lib/plugins/default/config.ts","../../../../packages/components/code-editor/src/lib/plugins/tokens.ts","../../../../packages/components/code-editor/src/lib/plugins/registry.service.ts","../../../../packages/components/code-editor/src/lib/code-editor.component.ts","../../../../packages/components/code-editor/src/lib/code-editor.module.ts","../../../../packages/components/code-editor/src/lib/plugins/default/languages/index.ts","../../../../packages/components/code-editor/src/lib/plugins/default/index.ts","../../../../packages/components/code-editor/src/index.ts","../../../../packages/components/code-editor/src/acorex-components-code-editor.ts"],"sourcesContent":["import { AXCodeEditorFormatterPlugin } from '../../types';\n\nexport class PrettierFormatterPlugin implements AXCodeEditorFormatterPlugin {\n readonly id = 'prettier';\n readonly name = 'Prettier';\n readonly version = '1.0.0';\n readonly languages = ['javascript', 'js', 'typescript', 'ts', 'json', 'html', 'css', 'markdown'] as const;\n\n async format(text: string, language: string): Promise<string | null> {\n try {\n const prettier = await import('prettier/standalone');\n let parser: string | null = null;\n const plugins: any[] = [];\n\n switch (language) {\n case 'javascript':\n case 'js': {\n const [babel, estree] = await Promise.all([\n import('prettier/plugins/babel'),\n import('prettier/plugins/estree'),\n ]);\n plugins.push(babel, estree);\n parser = 'babel';\n break;\n }\n case 'typescript':\n case 'ts': {\n const [typescript, estree] = await Promise.all([\n import('prettier/plugins/typescript'),\n import('prettier/plugins/estree'),\n ]);\n plugins.push(typescript, estree);\n parser = 'typescript';\n break;\n }\n case 'json': {\n const [babel, estree] = await Promise.all([\n import('prettier/plugins/babel'),\n import('prettier/plugins/estree'),\n ]);\n plugins.push(babel, estree);\n parser = 'json';\n break;\n }\n case 'html': {\n const html = await import('prettier/plugins/html');\n plugins.push(html);\n parser = 'html';\n break;\n }\n case 'css': {\n const postcss = await import('prettier/plugins/postcss');\n plugins.push(postcss);\n parser = 'css';\n break;\n }\n case 'markdown': {\n const markdown = await import('prettier/plugins/markdown');\n plugins.push(markdown);\n parser = 'markdown';\n break;\n }\n default:\n return null;\n }\n\n if (!parser) return null;\n const formatted = await prettier.format(text, {\n parser,\n plugins,\n } as any);\n return formatted;\n } catch {\n return null;\n }\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorLanguagePlugin } from '../../types';\n\nexport class CSSLanguagePlugin implements AXCodeEditorLanguagePlugin {\n readonly id = 'css';\n readonly name = 'CSS';\n readonly version = '1.0.0';\n readonly languages = ['css'] as const;\n\n async getExtension(): Promise<Extension> {\n const { css } = await import('@codemirror/lang-css');\n return css();\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorLanguagePlugin } from '../../types';\n\nexport class HTMLLanguagePlugin implements AXCodeEditorLanguagePlugin {\n readonly id = 'html';\n readonly name = 'HTML';\n readonly version = '1.0.0';\n readonly languages = ['html'] as const;\n\n async getExtension(): Promise<Extension> {\n const { html } = await import('@codemirror/lang-html');\n return html();\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorLanguagePlugin } from '../../types';\n\nexport class JavaScriptLanguagePlugin implements AXCodeEditorLanguagePlugin {\n readonly id = 'javascript';\n readonly name = 'JavaScript';\n readonly version = '1.0.0';\n readonly languages = ['javascript', 'js'] as const;\n\n async getExtension(): Promise<Extension> {\n const { javascript } = await import('@codemirror/lang-javascript');\n return javascript();\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorLanguagePlugin } from '../../types';\n\nexport class JSONLanguagePlugin implements AXCodeEditorLanguagePlugin {\n readonly id = 'json';\n readonly name = 'JSON';\n readonly version = '1.0.0';\n readonly languages = ['json'] as const;\n\n async getExtension(): Promise<Extension> {\n const { json } = await import('@codemirror/lang-json');\n return json();\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorLanguagePlugin } from '../../types';\n\nexport class MarkdownLanguagePlugin implements AXCodeEditorLanguagePlugin {\n readonly id = 'markdown';\n readonly name = 'Markdown';\n readonly version = '1.0.0';\n readonly languages = ['markdown'] as const;\n\n async getExtension(): Promise<Extension> {\n const { markdown } = await import('@codemirror/lang-markdown');\n return markdown();\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorLanguagePlugin } from '../../types';\n\nexport class SassLanguagePlugin implements AXCodeEditorLanguagePlugin {\n readonly id = 'sass';\n readonly name = 'Sass/SCSS';\n readonly version = '1.0.0';\n readonly languages = ['sass', 'scss'] as const;\n\n async getExtension(): Promise<Extension> {\n const { sass } = await import('@codemirror/lang-sass');\n return sass();\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorLanguagePlugin } from '../../types';\n\nexport class SQLLanguagePlugin implements AXCodeEditorLanguagePlugin {\n readonly id = 'sql';\n readonly name = 'SQL';\n readonly version = '1.0.0';\n readonly languages = ['sql'] as const;\n\n async getExtension(): Promise<Extension> {\n const { sql } = await import('@codemirror/lang-sql');\n return sql();\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorLanguagePlugin } from '../../types';\n\nexport class TypeScriptLanguagePlugin implements AXCodeEditorLanguagePlugin {\n readonly id = 'typescript';\n readonly name = 'TypeScript';\n readonly version = '1.0.0';\n readonly languages = ['typescript', 'ts'] as const;\n\n async getExtension(): Promise<Extension> {\n const { javascript } = await import('@codemirror/lang-javascript');\n return javascript({ typescript: true });\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorLanguagePlugin } from '../../types';\n\nexport class XMLLanguagePlugin implements AXCodeEditorLanguagePlugin {\n readonly id = 'xml';\n readonly name = 'XML';\n readonly version = '1.0.0';\n readonly languages = ['xml'] as const;\n\n async getExtension(): Promise<Extension> {\n const { xml } = await import('@codemirror/lang-xml');\n return xml();\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorThemePlugin } from '../../types';\n\nexport class GitHubDarkThemePlugin implements AXCodeEditorThemePlugin {\n readonly id = 'github-dark';\n readonly name = 'GitHub Dark';\n readonly version = '1.0.0';\n readonly dark = true;\n\n async getExtension(): Promise<Extension> {\n const [{ githubDark }, { EditorView }] = await Promise.all([\n import('@uiw/codemirror-theme-github'),\n import('@codemirror/view'),\n ]);\n return [\n githubDark,\n EditorView.theme(\n {\n // '&': { backgroundColor: 'transparent !important' },\n // '.cm-gutters': { backgroundColor: 'transparent !important' },\n },\n { dark: true },\n ),\n ];\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorThemePlugin } from '../../types';\n\nexport class GitHubLightThemePlugin implements AXCodeEditorThemePlugin {\n readonly id = 'github-light';\n readonly name = 'GitHub Light';\n readonly version = '1.0.0';\n readonly dark = false;\n\n async getExtension(): Promise<Extension> {\n const [{ githubLight }, { EditorView }] = await Promise.all([\n import('@uiw/codemirror-theme-github'),\n import('@codemirror/view'),\n ]);\n return [\n githubLight,\n EditorView.theme(\n {\n // '&': { backgroundColor: 'transparent !important' },\n // '.cm-gutters': { backgroundColor: 'transparent !important' },\n },\n { dark: false },\n ),\n ];\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorThemePlugin } from '../../types';\n\nexport class LightThemePlugin implements AXCodeEditorThemePlugin {\n readonly id = 'light';\n readonly name = 'Light';\n readonly version = '1.0.0';\n readonly dark = false;\n\n async getExtension(): Promise<Extension> {\n const { EditorView } = await import('@codemirror/view');\n return EditorView.theme(\n {\n // '&': { backgroundColor: 'transparent !important' },\n '.cm-gutters': {},\n },\n { dark: false },\n );\n }\n}\n","import type { Extension } from '@codemirror/state';\nimport { AXCodeEditorThemePlugin } from '../../types';\n\nexport class OneDarkThemePlugin implements AXCodeEditorThemePlugin {\n readonly id = 'one-dark';\n readonly name = 'One Dark';\n readonly version = '1.0.0';\n readonly dark = true;\n\n async getExtension(): Promise<Extension> {\n const { EditorView } = await import('@codemirror/view');\n try {\n const { oneDark } = await import('@codemirror/theme-one-dark');\n return [\n oneDark,\n EditorView.theme(\n {\n // '&': { backgroundColor: 'transparent !important' },\n '.cm-gutters': {},\n },\n { dark: true },\n ),\n ];\n } catch {\n return EditorView.theme(\n {\n // '&': { backgroundColor: 'transparent !important' },\n '.cm-gutters': {},\n },\n { dark: true },\n );\n }\n }\n}\n","import { AXCodeEditorPluginConfig } from '../types';\nimport { PrettierFormatterPlugin } from './formatters/prettier.plugin';\nimport { CSSLanguagePlugin } from './languages/css.plugin';\nimport { HTMLLanguagePlugin } from './languages/html.plugin';\nimport { JavaScriptLanguagePlugin } from './languages/javascript.plugin';\nimport { JSONLanguagePlugin } from './languages/json.plugin';\nimport { MarkdownLanguagePlugin } from './languages/markdown.plugin';\nimport { SassLanguagePlugin } from './languages/sass.plugin';\nimport { SQLLanguagePlugin } from './languages/sql.plugin';\nimport { TypeScriptLanguagePlugin } from './languages/typescript.plugin';\nimport { XMLLanguagePlugin } from './languages/xml.plugin';\nimport { GitHubDarkThemePlugin } from './themes/github-dark.plugin';\nimport { GitHubLightThemePlugin } from './themes/github-light.plugin';\nimport { LightThemePlugin } from './themes/light.plugin';\nimport { OneDarkThemePlugin } from './themes/one-dark.plugin';\n\n/**\n * Default plugin configuration with all built-in plugins\n */\nexport function provideDefaultCodeEditorPlugins(): AXCodeEditorPluginConfig {\n return {\n languages: [\n new JavaScriptLanguagePlugin(),\n new TypeScriptLanguagePlugin(),\n new JSONLanguagePlugin(),\n new HTMLLanguagePlugin(),\n new CSSLanguagePlugin(),\n new SassLanguagePlugin(),\n new SQLLanguagePlugin(),\n new XMLLanguagePlugin(),\n new MarkdownLanguagePlugin(),\n ],\n themes: [\n new OneDarkThemePlugin(),\n new LightThemePlugin(),\n new GitHubLightThemePlugin(),\n new GitHubDarkThemePlugin(),\n ],\n formatters: [new PrettierFormatterPlugin()],\n extensions: [],\n };\n}\n","import { InjectionToken } from '@angular/core';\nimport { provideDefaultCodeEditorPlugins } from './default/config';\nimport { AXCodeEditorPluginConfig } from './types';\n\n/**\n * Injection token for providing code editor plugin configuration\n */\nexport const AX_CODE_EDITOR_PLUGIN_CONFIG = new InjectionToken<AXCodeEditorPluginConfig>(\n 'AX_CODE_EDITOR_PLUGIN_CONFIG',\n {\n providedIn: 'root',\n factory: () => provideDefaultCodeEditorPlugins(),\n },\n);\n","import { Injectable, inject } from '@angular/core';\nimport type { Extension } from '@codemirror/state';\nimport {\n AXCodeEditorExtensionPlugin,\n AXCodeEditorFormatterPlugin,\n AXCodeEditorLanguagePlugin,\n AXCodeEditorPluginConfig,\n AXCodeEditorThemePlugin,\n} from './types';\nimport { AX_CODE_EDITOR_PLUGIN_CONFIG } from './tokens';\n\n/**\n * Registry service for managing code editor plugins\n */\n@Injectable({ providedIn: 'root' })\nexport class AXCodeEditorPluginRegistry {\n private config: AXCodeEditorPluginConfig | null = inject(AX_CODE_EDITOR_PLUGIN_CONFIG, { optional: true });\n\n private languagePlugins = new Map<string, AXCodeEditorLanguagePlugin>();\n private themePlugins = new Map<string, AXCodeEditorThemePlugin>();\n private formatterPlugins = new Map<string, AXCodeEditorFormatterPlugin>();\n private extensionPlugins = new Map<string, AXCodeEditorExtensionPlugin>();\n\n constructor() {\n this.initializePlugins();\n }\n\n private initializePlugins(): void {\n if (!this.config) return;\n\n // Register language plugins\n this.config.languages?.forEach((plugin) => {\n plugin.languages.forEach((lang) => {\n this.languagePlugins.set(lang, plugin);\n });\n });\n\n // Register theme plugins\n this.config.themes?.forEach((plugin) => {\n this.themePlugins.set(plugin.id, plugin);\n });\n\n // Register formatter plugins\n this.config.formatters?.forEach((plugin) => {\n plugin.languages.forEach((lang) => {\n this.formatterPlugins.set(lang, plugin);\n });\n });\n\n // Register extension plugins\n this.config.extensions?.forEach((plugin) => {\n this.extensionPlugins.set(plugin.id, plugin);\n });\n }\n\n /**\n * Get language extension for the specified language\n */\n async getLanguageExtension(language: string): Promise<Extension> {\n const plugin = this.languagePlugins.get(language);\n if (!plugin) {\n console.warn(`No language plugin found for: ${language}`);\n return [];\n }\n return plugin.getExtension();\n }\n\n /**\n * Get theme extension by theme ID\n */\n async getThemeExtension(themeId: string): Promise<Extension> {\n const plugin = this.themePlugins.get(themeId);\n if (!plugin) {\n console.warn(`No theme plugin found for: ${themeId}`);\n return [];\n }\n return plugin.getExtension();\n }\n\n /**\n * Format text using the appropriate formatter for the language\n */\n async format(text: string, language: string): Promise<string | null> {\n const plugin = this.formatterPlugins.get(language);\n if (!plugin) {\n return null;\n }\n return plugin.format(text, language);\n }\n\n /**\n * Get all registered extension plugins\n */\n async getExtensionPlugins(): Promise<Extension[]> {\n const extensions = await Promise.all(\n Array.from(this.extensionPlugins.values()).map((plugin) => plugin.getExtension()),\n );\n return extensions;\n }\n\n /**\n * Check if a language is supported\n */\n hasLanguage(language: string): boolean {\n return this.languagePlugins.has(language);\n }\n\n /**\n * Check if a theme is available\n */\n hasTheme(themeId: string): boolean {\n return this.themePlugins.has(themeId);\n }\n\n /**\n * Check if a formatter is available for a language\n */\n hasFormatter(language: string): boolean {\n return this.formatterPlugins.has(language);\n }\n\n /**\n * Get all available language identifiers\n */\n getAvailableLanguages(): string[] {\n return Array.from(this.languagePlugins.keys());\n }\n\n /**\n * Get all available theme identifiers\n */\n getAvailableThemes(): string[] {\n return Array.from(this.themePlugins.keys());\n }\n\n /**\n * Register a language plugin at runtime\n */\n registerLanguagePlugin(plugin: AXCodeEditorLanguagePlugin): void {\n plugin.languages.forEach((lang) => {\n this.languagePlugins.set(lang, plugin);\n });\n }\n\n /**\n * Register a theme plugin at runtime\n */\n registerThemePlugin(plugin: AXCodeEditorThemePlugin): void {\n this.themePlugins.set(plugin.id, plugin);\n }\n\n /**\n * Register a formatter plugin at runtime\n */\n registerFormatterPlugin(plugin: AXCodeEditorFormatterPlugin): void {\n plugin.languages.forEach((lang) => {\n this.formatterPlugins.set(lang, plugin);\n });\n }\n\n /**\n * Register an extension plugin at runtime\n */\n registerExtensionPlugin(plugin: AXCodeEditorExtensionPlugin): void {\n this.extensionPlugins.set(plugin.id, plugin);\n }\n}\n","import { AXComponent, AXValuableComponent, MXValueComponent } from '@acorex/cdk/common';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n Component,\n DestroyRef,\n ElementRef,\n PLATFORM_ID,\n afterNextRender,\n computed,\n effect,\n forwardRef,\n inject,\n input,\n output,\n signal,\n viewChild,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { AXCodeEditorDefaultLanguage } from './plugins';\nimport { AXCodeEditorPluginRegistry } from './plugins/registry.service';\n\n// Re-export language type for external use\nexport type { AXCodeEditorDefaultLanguage } from './plugins/default/languages';\n\n// Type-only aliases for CodeMirror types (tree-shake friendly)\ntype AXCodeEditorEditorViewLike = import('@codemirror/view').EditorView;\ntype AXCodeEditorKeyBindingLike = import('@codemirror/view').KeyBinding;\nexport type AXCodeEditorExtensionLike = import('@codemirror/state').Extension;\ntype AXCodeEditorCompartmentLike = import('@codemirror/state').Compartment;\nexport type AXCodeEditorCompletionLike = import('@codemirror/autocomplete').Completion;\nexport type AXCodeEditorCompletionSourceLike = import('@codemirror/autocomplete').CompletionSource;\ntype AXCodeEditorCompletionContextLike = import('@codemirror/autocomplete').CompletionContext;\n\ntype AXCodeEditorViewModule = typeof import('@codemirror/view');\ntype AXCodeEditorStateModule = typeof import('@codemirror/state');\ntype AXCodeEditorLanguageModule = typeof import('@codemirror/language');\ntype AXCodeEditorAutocompleteModule = typeof import('@codemirror/autocomplete');\ntype AXCodeEditorCommandsModule = typeof import('@codemirror/commands');\ntype AXCodeEditorSearchModule = typeof import('@codemirror/search');\ntype AXCodeEditorLintModule = typeof import('@codemirror/lint');\n\n@Component({\n selector: 'ax-code-editor',\n host: {\n '(keydown.control.s)': 'onSaveShortcut($event)',\n class: 'ax-code-editor block',\n },\n inputs: ['disabled', 'value', 'state', 'name', 'id'],\n outputs: ['onValueChanged', 'valueChange', 'stateChange', 'readonlyChange', 'disabledChange'],\n styles: [\n `\n :host {\n display: block;\n width: 100%;\n height: 100%;\n .ax-editor-container {\n padding: 0.1rem;\n }\n\n &.ax-disable {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n > .ax-editor-container {\n display: block;\n height: 100% !important;\n --ax-comp-editor-space-start-size: 0;\n --ax-comp-editor-space-end-size: 0;\n overflow: visible;\n position: relative;\n }\n\n .ax-code-editor-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n .cm-editor {\n width: 100%;\n max-width: 100%;\n overflow: auto;\n }\n\n .cm-editor.cm-focused {\n outline: none;\n }\n\n .ax-error-message {\n padding-inline: 0.5rem;\n }\n }\n `,\n ],\n providers: [\n { provide: AXValuableComponent, useExisting: AXCodeEditorComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXCodeEditorComponent),\n multi: true,\n },\n { provide: AXComponent, useExisting: AXCodeEditorComponent },\n ],\n template: `\n <div class=\"ax-editor-container\">\n <div class=\"ax-code-editor-container\">\n <div\n #host\n class=\"cm-editor\"\n [attr.aria-label]=\"ariaLabel() ?? null\"\n [attr.aria-readonly]=\"editorReadonly() ? 'true' : 'false'\"\n [attr.data-placeholder]=\"placeholder() ?? null\"\n ></div>\n </div>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\n </div>\n <div class=\"ax-error-container\"></div>\n `,\n})\nexport class AXCodeEditorComponent extends MXValueComponent<string> {\n // Inputs (signals)\n // value = input<string>('');\n /** Active language identifier from default plugins. Default: 'javascript'. */\n language = input<AXCodeEditorDefaultLanguage>('javascript');\n /** When true, the editor becomes readonly (non-editable). */\n editorReadonly = input(false, { alias: 'readonly' });\n /** Placeholder text shown when the document is empty. */\n placeholder = input<string>('');\n /** Toggle rendering of line numbers in the gutter. */\n lineNumbers = input<boolean>(true);\n /** Soft-wrap long lines when true. */\n lineWrapping = input<boolean>(false);\n /** Tab size (spaces per indent level). */\n tabSize = input<number>(2);\n /** When true, the Tab key indents instead of moving focus. */\n indentWithTab = input<boolean>(true);\n /** Theme identifier. If null, uses platform theme mode (dark/light). */\n theme = input<string | null>(null);\n /** Additional CodeMirror extensions to apply. Reconfigures at runtime. */\n extensions = input<ReadonlyArray<AXCodeEditorExtensionLike>>([]);\n /** ARIA label for accessibility. */\n ariaLabel = input<string | null>(null);\n /** Focus the editor after first render. */\n focusOnReady = input<boolean>(false);\n /** If true, format the document via Prettier before emitting save. */\n formatOnSave = input<boolean>(false);\n\n /**\n * Custom autocompletion options: either a static array of Completion items\n * or a CodeMirror CompletionSource function.\n */\n customCompletions = input<ReadonlyArray<AXCodeEditorCompletionLike> | AXCodeEditorCompletionSourceLike | null>(null);\n\n // Outputs (signals)\n // valueChange = output<string>();\n /** Emits when the editor is fully initialized and ready. */\n ready = output<void>();\n /** Emits when the user triggers save (Ctrl/Cmd+S). Payload is the current text. */\n save = output<string>();\n\n // View container\n host = viewChild<ElementRef<HTMLDivElement>>('host');\n\n // Runtime state\n private platformId = inject(PLATFORM_ID);\n private destroyRef = inject(DestroyRef);\n private platformService = inject(AXPlatform);\n private pluginRegistry = inject(AXCodeEditorPluginRegistry);\n\n private editorViewSig = signal<AXCodeEditorEditorViewLike | null>(null);\n\n // Compartments to reconfigure editor without recreating it\n private languageCompartment: AXCodeEditorCompartmentLike | null = null;\n private readonlyCompartment: AXCodeEditorCompartmentLike | null = null;\n private themeCompartment: AXCodeEditorCompartmentLike | null = null;\n private placeholderCompartment: AXCodeEditorCompartmentLike | null = null;\n private wrappingCompartment: AXCodeEditorCompartmentLike | null = null;\n private keymapExtrasCompartment: AXCodeEditorCompartmentLike | null = null;\n private tabSizeCompartment: AXCodeEditorCompartmentLike | null = null;\n private lineNumbersCompartment: AXCodeEditorCompartmentLike | null = null;\n\n // Cached CodeMirror modules after initialization\n private cm: {\n view: AXCodeEditorViewModule | null;\n state: AXCodeEditorStateModule | null;\n language: AXCodeEditorLanguageModule | null;\n autocomplete: AXCodeEditorAutocompleteModule | null;\n commands: AXCodeEditorCommandsModule | null;\n search: AXCodeEditorSearchModule | null;\n lint: AXCodeEditorLintModule | null;\n } = { view: null, state: null, language: null, autocomplete: null, commands: null, search: null, lint: null };\n\n private isBrowser = computed(() => isPlatformBrowser(this.platformId));\n\n constructor() {\n super();\n afterNextRender(() => {\n if (!this.isBrowser()) return;\n this.initializeEditor();\n });\n\n // Keep model in sync when external value changes\n effect(() => {\n const view = this.editorViewSig();\n if (!view) return;\n const newDoc = this.value ?? '';\n const current = view.state.doc.toString();\n if (newDoc !== current) {\n view.dispatch({\n changes: { from: 0, to: view.state.doc.length, insert: newDoc },\n });\n }\n });\n\n // React to dynamic configuration changes\n effect(() => {\n const view = this.editorViewSig();\n if (!view || !this.languageCompartment) return;\n const lang = this.language();\n this.pluginRegistry.getLanguageExtension(lang).then((ext) => {\n if (!view || !this.languageCompartment) return;\n view.dispatch({ effects: this.languageCompartment.reconfigure(ext) });\n });\n });\n\n effect(() => {\n const view = this.editorViewSig();\n if (!view || !this.readonlyCompartment) return;\n const editable = !this.editorReadonly();\n import('@codemirror/view').then(({ EditorView }) => {\n if (!view || !this.readonlyCompartment) return;\n view.dispatch({ effects: this.readonlyCompartment.reconfigure(EditorView.editable.of(editable)) });\n });\n });\n\n effect(() => {\n const view = this.editorViewSig();\n // Establish reactive dependency on theme and platform theme\n const customTheme = this.theme();\n const platformTheme = this.platformService.themeMode();\n if (!view || !this.themeCompartment) return;\n this.resolveThemeExtension(customTheme, platformTheme).then((themeExt) => {\n if (!view || !this.themeCompartment) return;\n view.dispatch({ effects: this.themeCompartment.reconfigure(themeExt) });\n });\n });\n\n effect(() => {\n this.placeholder();\n const view = this.editorViewSig();\n if (!view || !this.placeholderCompartment) return;\n import('@codemirror/view').then(({ placeholder }) => {\n if (!view || !this.placeholderCompartment) return;\n view.dispatch({ effects: this.placeholderCompartment.reconfigure(placeholder(this.placeholder() ?? '')) });\n });\n });\n\n effect(() => {\n const view = this.editorViewSig();\n if (!view || !this.wrappingCompartment) return;\n const EditorView = this.cm.view?.EditorView;\n if (!EditorView) return;\n const nextExt = this.lineWrapping() ? EditorView.lineWrapping : [];\n this.reconfigure(this.wrappingCompartment, nextExt);\n });\n\n effect(() => {\n const view = this.editorViewSig();\n if (!view || !this.tabSizeCompartment) return;\n const EditorState = this.cm.state?.EditorState;\n if (!EditorState) return;\n this.reconfigure(this.tabSizeCompartment, EditorState.tabSize.of(this.tabSize() ?? 2));\n });\n\n effect(() => {\n const view = this.editorViewSig();\n if (!view || !this.keymapExtrasCompartment) return;\n const keymap = this.cm.view?.keymap;\n const commands = this.cm.commands;\n if (!keymap || !commands) return;\n this.reconfigure(this.keymapExtrasCompartment, keymap.of(this.indentWithTab() ? [commands.indentWithTab] : []));\n });\n\n effect(() => {\n const view = this.editorViewSig();\n if (!view || !this.lineNumbersCompartment) return;\n const lineNumbers = this.cm.view?.lineNumbers;\n if (!lineNumbers) return;\n this.reconfigure(this.lineNumbersCompartment, this.lineNumbers() ? lineNumbers() : []);\n });\n }\n\n private async initializeEditor(): Promise<void> {\n const hostEl = this.host()?.nativeElement;\n if (!hostEl) return;\n\n await this.loadCodeMirrorModules();\n\n this.createCompartments();\n\n const keymaps = this.buildKeymaps();\n\n const viewMod = this.cm.view;\n const stateMod = this.cm.state;\n const languageMod = this.cm.language;\n const autoMod = this.cm.autocomplete;\n const commandsMod = this.cm.commands;\n const searchMod = this.cm.search;\n const lintMod = this.cm.lint;\n if (!viewMod || !stateMod || !languageMod || !autoMod || !commandsMod || !searchMod || !lintMod) return;\n const languageExt = await this.pluginRegistry.getLanguageExtension(this.language());\n const themeExt = await this.resolveThemeExtension(this.theme(), this.platformService.themeMode());\n const placeholderExt = viewMod.placeholder(this.placeholder() ?? '');\n const editableExt = viewMod.EditorView.editable.of(!this.editorReadonly());\n const wrappingExt = this.lineWrapping() ? viewMod.EditorView.lineWrapping : [];\n const tabSizeExt = stateMod.EditorState.tabSize.of(this.tabSize() ?? 2);\n const lineNumbersExt = this.lineNumbers() ? viewMod.lineNumbers() : [];\n\n const autoCompleteExt = autoMod.autocompletion({\n override: this.buildCustomCompletionSources(),\n });\n\n const baseExtensions: ReadonlyArray<AXCodeEditorExtensionLike> = [\n this.lineNumbersCompartment.of(lineNumbersExt),\n viewMod.highlightActiveLine(),\n viewMod.highlightActiveLineGutter(),\n viewMod.drawSelection(),\n viewMod.dropCursor(),\n viewMod.rectangularSelection(),\n viewMod.crosshairCursor(),\n viewMod.highlightSpecialChars(),\n languageMod.syntaxHighlighting(languageMod.defaultHighlightStyle, { fallback: true }),\n languageMod.bracketMatching(),\n languageMod.foldGutter(),\n commandsMod.history(),\n searchMod.highlightSelectionMatches(),\n viewMod.keymap.of(keymaps),\n autoCompleteExt,\n this.languageCompartment.of(languageExt),\n this.readonlyCompartment.of(editableExt),\n this.themeCompartment.of(themeExt),\n this.placeholderCompartment.of(placeholderExt),\n this.wrappingCompartment.of(wrappingExt),\n this.tabSizeCompartment.of(tabSizeExt),\n this.keymapExtrasCompartment.of(viewMod.keymap.of(this.indentWithTab() ? [commandsMod.indentWithTab] : [])),\n ...this.extensions(),\n ];\n\n const updateListener = viewMod.EditorView.updateListener.of((vu) => {\n if (vu.docChanged) {\n const text = vu.state.doc.toString();\n // this.writeValue(text);\n this.value = text;\n }\n });\n\n const state = stateMod.EditorState.create({\n doc: this.value ?? '',\n extensions: [...baseExtensions, updateListener],\n });\n\n const view = new viewMod.EditorView({ state, parent: hostEl });\n\n // Update listener for external changes (selection, viewport, etc.) if needed later\n view.dispatch({ effects: [] });\n\n this.editorViewSig.set(view);\n\n this.destroyRef.onDestroy(() => {\n view.destroy();\n this.editorViewSig.set(null);\n });\n\n if (this.focusOnReady()) {\n view.focus();\n }\n\n this.ready.emit();\n }\n\n private reconfigure(comp: AXCodeEditorCompartmentLike | null, ext: AXCodeEditorExtensionLike): void {\n const view = this.editorViewSig();\n if (!view || !comp) return;\n view.dispatch({ effects: comp.reconfigure(ext) });\n }\n\n /**\n * Handles Ctrl/Cmd+S on the host. If formatOnSave is enabled, attempts\n * to format the document first, then emits the saved text.\n */\n async onSaveShortcut(event: KeyboardEvent): Promise<void> {\n event.preventDefault();\n const view = this.editorViewSig();\n const current = view?.state.doc.toString() ?? this.value ?? '';\n const payload = current;\n if (this.formatOnSave()) {\n await this.format(true);\n }\n this.save.emit(payload);\n }\n\n private async loadCodeMirrorModules(): Promise<void> {\n const [viewMod, stateMod, langMod, autoMod, cmdMod, searchMod, lintMod] = await Promise.all([\n import('@codemirror/view'),\n import('@codemirror/state'),\n import('@codemirror/language'),\n import('@codemirror/autocomplete'),\n import('@codemirror/commands'),\n import('@codemirror/search'),\n import('@codemirror/lint'),\n ]);\n this.cm.view = viewMod;\n this.cm.state = stateMod;\n this.cm.language = langMod;\n this.cm.autocomplete = autoMod;\n this.cm.commands = cmdMod;\n this.cm.search = searchMod;\n this.cm.lint = lintMod;\n }\n\n private createCompartments(): void {\n const stateMod = this.cm.state;\n if (!stateMod) return;\n this.languageCompartment = new stateMod.Compartment();\n this.readonlyCompartment = new stateMod.Compartment();\n this.themeCompartment = new stateMod.Compartment();\n this.placeholderCompartment = new stateMod.Compartment();\n this.wrappingCompartment = new stateMod.Compartment();\n this.tabSizeCompartment = new stateMod.Compartment();\n this.keymapExtrasCompartment = new stateMod.Compartment();\n this.lineNumbersCompartment = new stateMod.Compartment();\n }\n\n private buildKeymaps(): ReadonlyArray<AXCodeEditorKeyBindingLike> {\n const cmdMod = this.cm.commands;\n const searchMod = this.cm.search;\n const autoMod = this.cm.autocomplete;\n const lintMod = this.cm.lint;\n if (!cmdMod || !searchMod || !autoMod || !lintMod) return [];\n return [\n ...cmdMod.defaultKeymap,\n ...cmdMod.historyKeymap,\n ...searchMod.searchKeymap,\n ...autoMod.completionKeymap,\n ...lintMod.lintKeymap,\n ];\n }\n\n private async resolveThemeExtension(\n customTheme: string | null,\n platformTheme: string,\n ): Promise<AXCodeEditorExtensionLike> {\n // If custom theme is specified, use it\n if (customTheme) {\n return this.pluginRegistry.getThemeExtension(customTheme);\n }\n\n // Otherwise, use platform theme (handle 'system' by defaulting to 'github-light')\n const themeId = platformTheme === 'dark' ? 'github-dark' : 'github-light';\n return this.pluginRegistry.getThemeExtension(themeId);\n }\n\n private buildCustomCompletionSources(): ReadonlyArray<AXCodeEditorCompletionSourceLike> | undefined {\n const provided = this.customCompletions();\n if (!provided) return undefined;\n if (typeof provided === 'function') {\n return [provided as AXCodeEditorCompletionSourceLike];\n }\n // Treat array as a static completion list\n const staticSource: AXCodeEditorCompletionSourceLike = (context: AXCodeEditorCompletionContextLike) => {\n const from = context.pos;\n return { from, options: provided as ReadonlyArray<AXCodeEditorCompletionLike> };\n };\n return [staticSource];\n }\n\n // Public API\n /** Programmatically focus the editor. */\n public override focus(): void {\n const view = this.editorViewSig();\n if (view) view.focus();\n }\n\n /** Select all text in the current document. */\n public selectAll(): void {\n const view = this.editorViewSig();\n if (!view) return;\n const length = view.state.doc.length;\n view.dispatch({ selection: { anchor: 0, head: length } });\n }\n\n // Formats the current document using the registered formatter plugin (if available for the active language).\n // Returns the formatted text or null if unchanged/unsupported.\n public async format(affect = true): Promise<string | null> {\n const view = this.editorViewSig();\n if (!view) return null;\n const source = view.state.doc.toString();\n if (!source) return null;\n const formatted = await this.pluginRegistry.format(source, this.language());\n if (!formatted || formatted === source) return null;\n if (affect) {\n view.dispatch({ changes: { from: 0, to: view.state.doc.length, insert: formatted } });\n }\n return formatted;\n }\n\n /** Returns the total number of characters in the current document. */\n public getTotalCharacters(): number {\n const view = this.editorViewSig();\n if (view) return view.state.doc.length ?? 0;\n const text = this.value ?? '';\n return text.length;\n }\n\n /** Returns the total number of lines in the current document. */\n public getTotalLines(): number {\n const view = this.editorViewSig();\n if (view) {\n const doc: any = view.state.doc;\n return typeof doc?.lines === 'number' ? doc.lines : doc.toString().split(/\\r?\\n/).length;\n }\n const text = this.value ?? '';\n return text ? text.split(/\\r?\\n/).length : 1;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXCodeEditorComponent } from './code-editor.component';\n\n@NgModule({\n imports: [CommonModule, AXCodeEditorComponent],\n exports: [AXCodeEditorComponent],\n})\nexport class AXCodeEditorModule {}\n","// Language plugins\nexport * from './javascript.plugin';\nexport * from './typescript.plugin';\nexport * from './json.plugin';\nexport * from './html.plugin';\nexport * from './css.plugin';\nexport * from './sass.plugin';\nexport * from './sql.plugin';\nexport * from './xml.plugin';\nexport * from './markdown.plugin';\n\n// Type union of all supported languages from default plugins\nexport type AXCodeEditorDefaultLanguage =\n | 'javascript'\n | 'js'\n | 'typescript'\n | 'ts'\n | 'json'\n | 'html'\n | 'css'\n | 'scss'\n | 'sass'\n | 'sql'\n | 'xml'\n | 'markdown';\n","// Language plugins\nexport * from './languages';\n\n// Theme plugins\nexport * from './themes/one-dark.plugin';\nexport * from './themes/light.plugin';\nexport * from './themes/github-light.plugin';\nexport * from './themes/github-dark.plugin';\n\n// Formatter plugins\nexport * from './formatters/prettier.plugin';\n","// Component & Module\nexport * from './lib/code-editor.component';\nexport * from './lib/code-editor.module';\n\n// Plugins\nexport * from './lib/plugins';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -12,9 +12,8 @@ class AXCollapseClickEvent extends AXClickEvent {
12
12
  }
13
13
  }
14
14
  /**
15
- * A component that provides a collapsible section with animated transitions.
16
- *
17
- * @category Components
15
+ * @deprecated Use `accordion` instead.
16
+ * This component deprecated and no longer support.
18
17
  */
19
18
  class AXCollapseComponent extends classes(MXInteractiveComponent, MXLookComponent) {
20
19
  constructor() {
@@ -178,9 +177,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
178
177
  }] } });
179
178
 
180
179
  /**
181
- * Container for collapsible items with configurable styling.
182
- *
183
- * @category Components
180
+ * @deprecated Use `accordion` instead.
181
+ * This component deprecated and no longer support.
184
182
  */
185
183
  class AXCollapseGroupComponent extends classes(MXBaseComponent, MXLookComponent) {
186
184
  constructor() {
@@ -358,6 +356,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
358
356
  }]
359
357
  }] });
360
358
 
359
+ /**
360
+ * @deprecated Use `range slider` instead.
361
+ * This component deprecated and no longer support.
362
+ */
363
+
361
364
  /**
362
365
  * Generated bundle index. Do not edit.
363
366
  */