myrta-ui 1.1.19 → 1.1.21

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 (29) hide show
  1. package/esm2020/lib/components/form/formula-editor/formula-editor.component.mjs +164 -0
  2. package/esm2020/lib/components/form/formula-editor/formula-editor.module.mjs +50 -0
  3. package/esm2020/lib/components/form/input-tel/input-tel.component.mjs +2 -1
  4. package/esm2020/lib/services/mrx-form-validator/mrx-form-validator.mjs +7 -2
  5. package/esm2020/lib/services/mrx-form-validator/validations/callback.validation.mjs +2 -2
  6. package/esm2020/lib/services/mrx-form-validator/validations/email.validation.mjs +2 -2
  7. package/esm2020/lib/services/mrx-form-validator/validations/max-length.validation.mjs +2 -2
  8. package/esm2020/lib/services/mrx-form-validator/validations/max-value.validation.mjs +2 -2
  9. package/esm2020/lib/services/mrx-form-validator/validations/min-length.validation.mjs +2 -2
  10. package/esm2020/lib/services/mrx-form-validator/validations/min-value.validation.mjs +2 -2
  11. package/esm2020/lib/services/mrx-form-validator/validations/pattern.validation.mjs +2 -2
  12. package/esm2020/lib/services/mrx-form-validator/validations/required.validation.mjs +2 -2
  13. package/esm2020/public-api.mjs +4 -1
  14. package/fesm2015/myrta-ui.mjs +218 -11
  15. package/fesm2015/myrta-ui.mjs.map +1 -1
  16. package/fesm2020/myrta-ui.mjs +214 -11
  17. package/fesm2020/myrta-ui.mjs.map +1 -1
  18. package/lib/components/form/formula-editor/formula-editor.component.d.ts +32 -0
  19. package/lib/components/form/formula-editor/formula-editor.module.d.ts +14 -0
  20. package/lib/services/mrx-form-validator/validations/callback.validation.d.ts +1 -1
  21. package/lib/services/mrx-form-validator/validations/email.validation.d.ts +1 -1
  22. package/lib/services/mrx-form-validator/validations/max-length.validation.d.ts +1 -1
  23. package/lib/services/mrx-form-validator/validations/max-value.validation.d.ts +1 -1
  24. package/lib/services/mrx-form-validator/validations/min-length.validation.d.ts +1 -1
  25. package/lib/services/mrx-form-validator/validations/min-value.validation.d.ts +1 -1
  26. package/lib/services/mrx-form-validator/validations/pattern.validation.d.ts +1 -1
  27. package/lib/services/mrx-form-validator/validations/required.validation.d.ts +1 -1
  28. package/package.json +4 -2
  29. package/public-api.d.ts +3 -0
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Component, Input, Pipe, EventEmitter, ChangeDetectionStrategy, Output, NgModule, CUSTOM_ELEMENTS_SCHEMA, Injectable, forwardRef, InjectionToken, TemplateRef, Inject, Injector, Directive, HostListener, ContentChild, ViewChild, QueryList, Optional, ViewChildren, ElementRef, ViewEncapsulation, ContentChildren, HostBinding, LOCALE_ID } from '@angular/core';
3
3
  import * as i1$1 from '@angular/common';
4
- import { CommonModule, registerLocaleData, DatePipe } from '@angular/common';
4
+ import { CommonModule, registerLocaleData, DatePipe, DOCUMENT } from '@angular/common';
5
5
  import * as i1 from '@angular/platform-browser';
6
6
  import * as i1$4 from '@angular/animations';
7
7
  import { trigger, state, style, transition, animate, group, keyframes } from '@angular/animations';
@@ -47,6 +47,7 @@ import { ImageCropperModule } from 'ngx-image-cropper';
47
47
  import localeRu$1 from '@angular/common/locales/ru';
48
48
  import { parsePhoneNumber } from 'libphonenumber-js';
49
49
  import { getExample, getAsYouType } from 'awesome-phonenumber';
50
+ import Tagify from '@yaireo/tagify';
50
51
 
51
52
  var ButtonTypesEnum;
52
53
  (function (ButtonTypesEnum) {
@@ -4255,7 +4256,7 @@ const getErrorMessageHelper = (key, invalidMessages, messages, params) => {
4255
4256
  };
4256
4257
 
4257
4258
  const requiredValidation = (value, validations, key, invalidMessages) => {
4258
- const result = { isValid: true, message: '' };
4259
+ const result = { isValid: true, message: null };
4259
4260
  if (Array.isArray(value) && validations.type !== 'single') {
4260
4261
  value.forEach((field, idx) => {
4261
4262
  if ((field === '' || field === null || field === undefined)) {
@@ -4277,7 +4278,7 @@ const requiredValidation = (value, validations, key, invalidMessages) => {
4277
4278
 
4278
4279
  const emailValidation = (value, validations, key, invalidMessages) => {
4279
4280
  const emailRegExp = /^[a-zA-Z0-9._а-яА-Я-]+@[a-zA-Zа-яА-Я0-9.-]+\.[a-zA-Zа-яА-Я]{2,10}$/;
4280
- const result = { isValid: true, message: '' };
4281
+ const result = { isValid: true, message: null };
4281
4282
  if (!emailRegExp.test(value)) {
4282
4283
  result.message = getErrorMessageHelper(key, invalidMessages, validations.messages);
4283
4284
  result.isValid = false;
@@ -4287,7 +4288,7 @@ const emailValidation = (value, validations, key, invalidMessages) => {
4287
4288
 
4288
4289
  const patternValidation = (value, validations, key, invalidMessages) => {
4289
4290
  const validation = validations[key];
4290
- const result = { isValid: true, message: '' };
4291
+ const result = { isValid: true, message: null };
4291
4292
  if (!validation.test(value)) {
4292
4293
  result.message = getErrorMessageHelper(key, invalidMessages, validations.messages);
4293
4294
  result.isValid = false;
@@ -4296,7 +4297,7 @@ const patternValidation = (value, validations, key, invalidMessages) => {
4296
4297
  };
4297
4298
 
4298
4299
  const maxLengthValidation = (value, validations, key, invalidMessages) => {
4299
- const result = { isValid: true, message: '' };
4300
+ const result = { isValid: true, message: null };
4300
4301
  if (String(value).length > Number(validations[key])) {
4301
4302
  result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]));
4302
4303
  result.isValid = false;
@@ -4305,7 +4306,7 @@ const maxLengthValidation = (value, validations, key, invalidMessages) => {
4305
4306
  };
4306
4307
 
4307
4308
  const minLengthValidation = (value, validations, key, invalidMessages) => {
4308
- const result = { isValid: true, message: '' };
4309
+ const result = { isValid: true, message: null };
4309
4310
  if (String(value).length < Number(validations[key]) && !!validations[ValidationTypesEnum.Required]) {
4310
4311
  result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]));
4311
4312
  result.isValid = false;
@@ -4314,7 +4315,7 @@ const minLengthValidation = (value, validations, key, invalidMessages) => {
4314
4315
  };
4315
4316
 
4316
4317
  const minValueValidation = (value, validations, key, invalidMessages) => {
4317
- const result = { isValid: true, message: '' };
4318
+ const result = { isValid: true, message: null };
4318
4319
  if (parseInt(value) > Number(validations[key])) {
4319
4320
  result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]));
4320
4321
  result.isValid = false;
@@ -4323,7 +4324,7 @@ const minValueValidation = (value, validations, key, invalidMessages) => {
4323
4324
  };
4324
4325
 
4325
4326
  const maxValueValidation = (value, validations, key, invalidMessages) => {
4326
- const result = { isValid: true, message: '' };
4327
+ const result = { isValid: true, message: null };
4327
4328
  if (parseInt(value) < Number(validations[key])) {
4328
4329
  result.message = getErrorMessageHelper(key, invalidMessages, validations.messages, Number(validations[key]));
4329
4330
  result.isValid = false;
@@ -4332,7 +4333,7 @@ const maxValueValidation = (value, validations, key, invalidMessages) => {
4332
4333
  };
4333
4334
 
4334
4335
  const callbackValidation = (value, validations, key, invalidMessages) => {
4335
- const result = { isValid: true, message: '' };
4336
+ const result = { isValid: true, message: null };
4336
4337
  if (validations[ValidationTypesEnum.Callback] && typeof validations[ValidationTypesEnum.Callback] === 'function') {
4337
4338
  const validation = validations[ValidationTypesEnum.Callback];
4338
4339
  const callbackResult = validation(value);
@@ -4426,6 +4427,9 @@ class MrxFormValidator {
4426
4427
  if (!validateEmptyValue && (value.length === 0)) {
4427
4428
  return;
4428
4429
  }
4430
+ if (!this._isValid) {
4431
+ return;
4432
+ }
4429
4433
  for (let key in validations) {
4430
4434
  switch (key) {
4431
4435
  case ValidationTypesEnum.Required:
@@ -4546,10 +4550,12 @@ class MrxFormValidator {
4546
4550
  }
4547
4551
  isValid() {
4548
4552
  for (let key in this._validations) {
4553
+ if (!this._isValid) {
4554
+ return this._isValid;
4555
+ }
4549
4556
  this.errors[key] = null;
4550
4557
  this.validateField(this._fields[key], key, this._validations[key], true);
4551
4558
  }
4552
- console.log(1, this._isValid);
4553
4559
  return this._isValid;
4554
4560
  }
4555
4561
  // TODO Вырезать в будущем
@@ -16929,6 +16935,7 @@ class InputTelComponent {
16929
16935
  }
16930
16936
  set onlyCountries(val) {
16931
16937
  this._onlyCountries = val;
16938
+ this._detector.detectChanges();
16932
16939
  this._initData();
16933
16940
  }
16934
16941
  writeValue(outsideValue) {
@@ -17309,11 +17316,207 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
17309
17316
  }]
17310
17317
  }] });
17311
17318
 
17319
+ const whitelist_2 = ['Homer simpson', 'Marge simpson', 'Bart', 'Lisa', 'Maggie', 'Mr. Burns', 'Ned', 'Milhouse', 'Moe'];
17320
+ class FormulaEditorComponent {
17321
+ constructor(document, sanitizer) {
17322
+ this.document = document;
17323
+ this.sanitizer = sanitizer;
17324
+ this._whitelist = ['Angular', 'React', 'Vue'];
17325
+ this.value = '';
17326
+ this.isFocused = false;
17327
+ }
17328
+ getSanitizedValue() {
17329
+ return this.value;
17330
+ }
17331
+ ngAfterViewInit() {
17332
+ if (!this.inputElement?.nativeElement)
17333
+ return;
17334
+ this._tagify = new Tagify(this.inputElement.nativeElement, {
17335
+ mode: 'mix',
17336
+ editTags: false,
17337
+ enforceWhitelist: false,
17338
+ pattern: /@|#/,
17339
+ whitelist: ['firstname', 'lastname', 'email', 'company'],
17340
+ callbacks: {
17341
+ add: (e) => {
17342
+ console.log(1);
17343
+ console.log(e);
17344
+ //
17345
+ // let ranges = [];
17346
+ // let sel = window.getSelection();
17347
+ // if (sel) {
17348
+ // for (let i = 0; i < sel.rangeCount; i++) {
17349
+ // ranges[i] = sel.getRangeAt(i);
17350
+ // }
17351
+ // }
17352
+ //
17353
+ // const textNode = e.detail.tag.nextSibling
17354
+ // e.detail.tag.insertAdjacentText('afterend', '\u00A0')
17355
+ // document.getSelection()?.getRangeAt(0).setStart(textNode, 0)
17356
+ console.log(e.detail.tagify.value);
17357
+ console.log(e.detail.tagify.getCleanValue());
17358
+ },
17359
+ change: (e) => {
17360
+ console.log(2);
17361
+ console.log(e);
17362
+ // const textNode = e.detail.tag.nextSibling
17363
+ },
17364
+ 'dropdown:select': (e) => {
17365
+ console.log(3);
17366
+ console.log(e);
17367
+ e.detail.tagify.DOM.input.focus();
17368
+ }
17369
+ },
17370
+ });
17371
+ this._tagify.on('input', (e) => {
17372
+ if (e.detail.textContent.length > 1) {
17373
+ this._tagify.dropdown.show(e.detail.value);
17374
+ }
17375
+ });
17376
+ this._tagify.on('add', (e) => {
17377
+ e.detail.tagify.DOM.input.focus();
17378
+ const textNode = e.detail.tag.nextSibling;
17379
+ if (document.getSelection()?.getRangeAt(0)) {
17380
+ document.getSelection()?.getRangeAt(0).setStart(textNode, 1);
17381
+ }
17382
+ });
17383
+ // this._tagify.on('focus', (e: any) => {
17384
+ // this._tagify.dropdown.show(e.detail.value);
17385
+ // })
17386
+ }
17387
+ ngOnDestroy() {
17388
+ }
17389
+ registerOnChange(fn) {
17390
+ }
17391
+ registerOnTouched(fn) {
17392
+ }
17393
+ writeValue(obj) {
17394
+ }
17395
+ onInput(event) {
17396
+ const target = event.target;
17397
+ const content = target.textContent || '';
17398
+ const valueArray = content.split(/[ &nbsp;]+/);
17399
+ }
17400
+ onBlur(event) {
17401
+ const target = event.target;
17402
+ const content = target.textContent || '';
17403
+ const visibleValueArray = content.split(/[\s\u00A0]+/);
17404
+ const originalValueArray = [];
17405
+ visibleValueArray.forEach((item, index, array) => {
17406
+ if (this._whitelist.find(v => v === item)) {
17407
+ visibleValueArray[index] = `<div class="tag" title="Eric Cartman" contenteditable="false" tabindex="-1"><div>${item}</div><div></div></div>&nbsp;`;
17408
+ originalValueArray.push(`{${item}}`);
17409
+ }
17410
+ else {
17411
+ originalValueArray.push(item);
17412
+ }
17413
+ });
17414
+ this.transformValue(visibleValueArray);
17415
+ this.updateValue(originalValueArray);
17416
+ // this.isFocused = false
17417
+ this.updateSelection(event);
17418
+ }
17419
+ transformValue(array) {
17420
+ this.value = array.join(' ');
17421
+ }
17422
+ updateValue(array) {
17423
+ console.log(array.join(' '));
17424
+ }
17425
+ updateSelection(event) {
17426
+ const selections = window.getSelection();
17427
+ console.log(selections);
17428
+ const start = selections?.anchorOffset || 0;
17429
+ const end = selections?.focusOffset || 0;
17430
+ if (start > end) {
17431
+ this.selectionStart = end;
17432
+ this.selectionEnd = start;
17433
+ }
17434
+ else {
17435
+ this.selectionStart = start;
17436
+ this.selectionEnd = end;
17437
+ }
17438
+ }
17439
+ onFocus(event) {
17440
+ // this.updateSelection(event)
17441
+ this.isFocused = true;
17442
+ }
17443
+ insertTag(row) {
17444
+ if ((this.selectionStart || this.selectionStart === 0) && (this.selectionEnd || this.selectionEnd === 0)) {
17445
+ const firstText = this.value.slice(0, this.selectionStart);
17446
+ const secondText = this.value.slice(this.selectionEnd);
17447
+ this.value = firstText + row + secondText;
17448
+ }
17449
+ }
17450
+ onSelectionChange(event) {
17451
+ console.log('asd');
17452
+ }
17453
+ }
17454
+ FormulaEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FormulaEditorComponent, deps: [{ token: DOCUMENT }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
17455
+ FormulaEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FormulaEditorComponent, selector: "mrx-formula-editor", providers: [{
17456
+ provide: NG_VALUE_ACCESSOR,
17457
+ useExisting: forwardRef(() => FormulaEditorComponent),
17458
+ multi: true
17459
+ }], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true, static: true }], ngImport: i0, template: "<div\n class=\"mrx-formula-editor\"\n>\n <div class=\"mrx-formula-editor__wrapper\">\n <div\n [innerHTML]=\"value | safe\"\n class=\"mrx-formula-editor__box\"\n contenteditable=\"true\"\n tabindex=\"0\" data-placeholder=\"&ZeroWidthSpace;\" aria-placeholder=\"\" role=\"textbox\" autocapitalize=\"false\"\n autocorrect=\"off\" spellcheck=\"false\" aria-autocomplete=\"both\" aria-multiline=\"true\"\n (input)=\"onInput($event)\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (selectionchange)=\"onSelectionChange($event)\"\n ></div>\n <!-- <textarea #inputElement name='mix' contenteditable=\"false\">asd[[{\"value\":\"firstname\"}]] [[{\"value\":\"email\"}]] asdasdasd asd[[{\"value\":\"company\"}]]</textarea>-->\n <!-- <input-->\n <!-- autocomplete=\"nope\"-->\n <!-- #inputElement-->\n <!-- [type]=\"'text'\"-->\n <!-- [id]=\"uuid\"-->\n <!-- [ngModel]=\"value\"-->\n <!-- [title]=\"placeholder || ''\"-->\n <!-- [disabled]=\"disabled\"-->\n <!-- [readOnly]=\"readonly\"-->\n <!-- [placeholder]=\"!disabled && placeholder ? placeholder : ''\"-->\n <!-- [mask]=\"mask\"-->\n <!-- [prefix]=\"maskPrefix\"-->\n <!-- [showMaskTyped]=\"showMaskTyped\"-->\n <!-- [dropSpecialCharacters]=\"maskDropSpecialCharacters\"-->\n <!-- [minlength]=\"minlength > 0 && restrictInput ? minlength : null\"-->\n <!-- [maxlength]=\"maxlength > 0 && restrictInput ? maxlength : null\"-->\n <!-- (ngModelChange)=\"updateValue($event)\"-->\n <!-- (blur)=\"onBlur($event)\"-->\n <!-- />-->\n\n <!-- <mrx-chars-left-->\n <!-- *ngIf=\"!disabled && maxlength\"-->\n <!-- [value]=\"value\"-->\n <!-- [maxlength]=\"maxlength\"-->\n <!-- ></mrx-chars-left>-->\n\n <div class=\"mrx-formula-editor__popup\" *ngIf=\"isFocused\">\n <div\n class=\"mrx-formula-editor__popup--row\"\n *ngFor=\"let row of _whitelist\"\n (click)=\"insertTag(row)\"\n >\n {{ row }}\n </div>\n </div>\n </div>\n\n <!-- <mrx-error-message-->\n <!-- *ngIf=\"getInvalid && getInvalidMessage\"-->\n <!-- [invalidMessage]=\"getInvalidMessage\"-->\n <!-- ></mrx-error-message>-->\n\n <!-- <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>-->\n</div>\n", styles: [".mrx-formula-editor{position:relative}.mrx-formula-editor__box{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding:calc(var(--spacing-3) + var(--spacing-half) - var(--border-width-default)) var(--spacing-4);border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);outline:none;color:var(--neutral-text-primary, #262626);transition:outline-width .2s,border .2s;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space}.mrx-formula-editor__box:focus,.mrx-formula-editor__box:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}.mrx-formula-editor__box:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}.mrx-formula-editor__box ::ng-deep .tag{display:inline-flex;padding:2px 4px;background-color:#8ad5f4;border-radius:var(--border-radius-1);margin:0 2px;position:relative;z-index:1;cursor:default;-webkit-user-modify:read-only}.mrx-formula-editor__wrapper{position:relative}.mrx-formula-editor__popup{position:absolute;top:52px;width:100%;border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);background-color:#fff;max-height:240px;overflow-x:hidden;overflow-y:auto}.mrx-formula-editor__popup--row{min-height:var(--sizing-10);transition:.2s;display:flex;align-items:center;padding:var(--spacing-1) var(--spacing-4);white-space:normal}.mrx-formula-editor__popup--row:hover{cursor:pointer;background-color:var(--Bg2)!important}\n"], directives: [{ type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "safe": SafePipe } });
17460
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FormulaEditorComponent, decorators: [{
17461
+ type: Component,
17462
+ args: [{ selector: 'mrx-formula-editor', providers: [{
17463
+ provide: NG_VALUE_ACCESSOR,
17464
+ useExisting: forwardRef(() => FormulaEditorComponent),
17465
+ multi: true
17466
+ }], template: "<div\n class=\"mrx-formula-editor\"\n>\n <div class=\"mrx-formula-editor__wrapper\">\n <div\n [innerHTML]=\"value | safe\"\n class=\"mrx-formula-editor__box\"\n contenteditable=\"true\"\n tabindex=\"0\" data-placeholder=\"&ZeroWidthSpace;\" aria-placeholder=\"\" role=\"textbox\" autocapitalize=\"false\"\n autocorrect=\"off\" spellcheck=\"false\" aria-autocomplete=\"both\" aria-multiline=\"true\"\n (input)=\"onInput($event)\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (selectionchange)=\"onSelectionChange($event)\"\n ></div>\n <!-- <textarea #inputElement name='mix' contenteditable=\"false\">asd[[{\"value\":\"firstname\"}]] [[{\"value\":\"email\"}]] asdasdasd asd[[{\"value\":\"company\"}]]</textarea>-->\n <!-- <input-->\n <!-- autocomplete=\"nope\"-->\n <!-- #inputElement-->\n <!-- [type]=\"'text'\"-->\n <!-- [id]=\"uuid\"-->\n <!-- [ngModel]=\"value\"-->\n <!-- [title]=\"placeholder || ''\"-->\n <!-- [disabled]=\"disabled\"-->\n <!-- [readOnly]=\"readonly\"-->\n <!-- [placeholder]=\"!disabled && placeholder ? placeholder : ''\"-->\n <!-- [mask]=\"mask\"-->\n <!-- [prefix]=\"maskPrefix\"-->\n <!-- [showMaskTyped]=\"showMaskTyped\"-->\n <!-- [dropSpecialCharacters]=\"maskDropSpecialCharacters\"-->\n <!-- [minlength]=\"minlength > 0 && restrictInput ? minlength : null\"-->\n <!-- [maxlength]=\"maxlength > 0 && restrictInput ? maxlength : null\"-->\n <!-- (ngModelChange)=\"updateValue($event)\"-->\n <!-- (blur)=\"onBlur($event)\"-->\n <!-- />-->\n\n <!-- <mrx-chars-left-->\n <!-- *ngIf=\"!disabled && maxlength\"-->\n <!-- [value]=\"value\"-->\n <!-- [maxlength]=\"maxlength\"-->\n <!-- ></mrx-chars-left>-->\n\n <div class=\"mrx-formula-editor__popup\" *ngIf=\"isFocused\">\n <div\n class=\"mrx-formula-editor__popup--row\"\n *ngFor=\"let row of _whitelist\"\n (click)=\"insertTag(row)\"\n >\n {{ row }}\n </div>\n </div>\n </div>\n\n <!-- <mrx-error-message-->\n <!-- *ngIf=\"getInvalid && getInvalidMessage\"-->\n <!-- [invalidMessage]=\"getInvalidMessage\"-->\n <!-- ></mrx-error-message>-->\n\n <!-- <mrx-save-state [id]=\"uuid\" [fields]=\"fields\"></mrx-save-state>-->\n</div>\n", styles: [".mrx-formula-editor{position:relative}.mrx-formula-editor__box{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);padding:calc(var(--spacing-3) + var(--spacing-half) - var(--border-width-default)) var(--spacing-4);border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);outline:none;color:var(--neutral-text-primary, #262626);transition:outline-width .2s,border .2s;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space}.mrx-formula-editor__box:focus,.mrx-formula-editor__box:active{outline:var(--neutral-bg-island-default) solid var(--border-width-focused)}.mrx-formula-editor__box:hover{border:var(--border-width-default) solid var(--neutral-bg-stroke-hover)}.mrx-formula-editor__box ::ng-deep .tag{display:inline-flex;padding:2px 4px;background-color:#8ad5f4;border-radius:var(--border-radius-1);margin:0 2px;position:relative;z-index:1;cursor:default;-webkit-user-modify:read-only}.mrx-formula-editor__wrapper{position:relative}.mrx-formula-editor__popup{position:absolute;top:52px;width:100%;border:var(--border-width-default) solid var(--neutral-bg-stroke-default);border-radius:var(--border-radius-1);background-color:#fff;max-height:240px;overflow-x:hidden;overflow-y:auto}.mrx-formula-editor__popup--row{min-height:var(--sizing-10);transition:.2s;display:flex;align-items:center;padding:var(--spacing-1) var(--spacing-4);white-space:normal}.mrx-formula-editor__popup--row:hover{cursor:pointer;background-color:var(--Bg2)!important}\n"] }]
17467
+ }], ctorParameters: function () { return [{ type: Document, decorators: [{
17468
+ type: Inject,
17469
+ args: [DOCUMENT]
17470
+ }] }, { type: i1.DomSanitizer }]; }, propDecorators: { inputElement: [{
17471
+ type: ViewChild,
17472
+ args: ['inputElement', { static: true }]
17473
+ }] } });
17474
+
17475
+ class FormulaEditorModule {
17476
+ }
17477
+ FormulaEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FormulaEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17478
+ FormulaEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FormulaEditorModule, declarations: [FormulaEditorComponent], imports: [CommonModule,
17479
+ CharsLeftModule,
17480
+ ErrorMessageModule,
17481
+ FormsModule,
17482
+ NgxMaskModule,
17483
+ SaveStateModule,
17484
+ SafeModule], exports: [FormulaEditorComponent] });
17485
+ FormulaEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FormulaEditorModule, imports: [[
17486
+ CommonModule,
17487
+ CharsLeftModule,
17488
+ ErrorMessageModule,
17489
+ FormsModule,
17490
+ NgxMaskModule,
17491
+ SaveStateModule,
17492
+ SafeModule
17493
+ ]] });
17494
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FormulaEditorModule, decorators: [{
17495
+ type: NgModule,
17496
+ args: [{
17497
+ declarations: [
17498
+ FormulaEditorComponent
17499
+ ],
17500
+ imports: [
17501
+ CommonModule,
17502
+ CharsLeftModule,
17503
+ ErrorMessageModule,
17504
+ FormsModule,
17505
+ NgxMaskModule,
17506
+ SaveStateModule,
17507
+ SafeModule
17508
+ ],
17509
+ exports: [
17510
+ FormulaEditorComponent
17511
+ ]
17512
+ }]
17513
+ }] });
17514
+
17312
17515
  // COMPONENTS
17313
17516
 
17314
17517
  /**
17315
17518
  * Generated bundle index. Do not edit.
17316
17519
  */
17317
17520
 
17318
- export { AlertColorClasses, AlertComponent, AlertIconClasses, AlertModule, BadgeColorClassesEnum, BadgeComponent, BadgeGroupComponent, BadgeSizeEnum, BadgeTagTypeClassesEnum, BadgeTargetTypesEnum, BadgeTypeEnum, BadgesModule, BreadcrumbsComponent, BreadcrumbsModule, BreadcrumbsTypeEnum, ButtonColorsEnum, ButtonComponent, ButtonIconPositionEnum, ButtonModule, ButtonSizesEnum, ButtonTypesEnum, CdkTooltipDirective, CdkTooltipModule, CharsLeftComponent, CharsLeftModule, CheckboxComponent, CheckboxGroupComponent, CheckboxGroupModule, CheckboxModule, ColumnComponent, ContentWrapperComponent, ContentWrapperModule, ContentWrapperTypeEnum, ContextMenuAttachDirective, ContextMenuComponent, ContextMenuContentComponent, ContextMenuFixedService, ContextMenuItemDirective, ContextMenuModule, ContextMenuService, ControlsItemComponent, ControlsVisibilityEnum, ControlsWrapperComponent, ControlsWrapperModule, CountriesISO, CountryISO, CurrencyModule, CurrencyPipe, DateFormatModule, DateFormatPipe, DateTimeFormatPipe, DefaultPagerSettings, DocumentEditorComponent, DocumentEditorModule, DropdownComponent, DropdownModule, EditorComponent, EditorModule, ErrorMessageComponent, ErrorMessageModule, FileUploadService, GalleryComponent, GalleryModule, HideAfterClickDirective, HintErrorMessageComponent, HintErrorMessageModule, IconButtonComponent, IconButtonModule, IconButtonSizeEnum, IconButtonStateEnum, IconButtonTypeEnum, InputDateSizesEnum$2 as InputDateSizesEnum, InputDateTimeComponent, InputDateTimeModule, InputDatepickerComponent, InputDatepickerModule, InputFileComponent, InputFileImageComponent, InputFileImageModule, InputFileImageTypeEnum, InputFileModule, InputNumberComponent, InputNumberModule, InputNumberSizesEnum, InputOptComponent, InputOptModule, InputPasswordComponent, InputPasswordModule, InputPasswordSizesEnum, InputPhoneComponent, InputPhoneModule, InputSearchComponent, InputSearchModule, InputSearchSizesEnum, InputSelectComponent, InputSelectModule, InputSelectSizeEnum, InputTelComponent, InputTelModule, InputTelSizesEnum, InputTextComponent, InputTextIconColorEnum, InputTextModule, InputTextSizesEnum, InputTextareaComponent, InputTextareaModule, InputTextareaSizesEnum, InputTimepickerComponent, InputTimepickerModule, LabelComponent, LabelModule, LinkComponent, LinkModule, LinkSizesEnum, LinkTargetTypesEnum, LinkTypesEnum, LoaderColorEnum, LoaderComponent, LoaderModule, LoaderSizesEnum, ModalAlignButtonsEnum, ModalColorEnum, ModalComponent, ModalModule, ModalSizesEnum, MrxAutoSaveActionsEnum, MrxAutosaveService, MrxFormValidator, NgxOtpBehavior, PagesNavComponent, PagesNavEnum, PagesNavModule, PaginatorComponent, PaginatorModule, PaginatorPositionCss, PhoneFormatModule, PhoneFormatPipe, PreviewEnum, ProgressClasses, ProgressComponent, ProgressModule, RadioComponent, RadioGroupComponent, RadioGroupModule, RadioModule, RadioTypesEnum, RatingComponent, RatingModule, RatingSizesEnum, RatingValueSizesEnum, RatingWrapperSizesEnum, SafeModule, SafePipe, SaveStateComponent, SaveStateModule, SaveStoreModule, StepperClasses, StepperComponent, StepperModule, SwitchComponent, SwitchModule, SwitchSizeEnum, SwitchTypeEnum, TabComponent, TableComponent, TableModule, TableTypeEnum, TabsClasses, TabsGroupComponent, TabsModule, TabsTypesClasses, Timezone$1 as Timezone, Tooltip, TooltipComponent, TooltipModule, TooltipService, TooltipTextPositionEnum, TooltipTriggerComponent, TooltipTriggerEnum, TruncateDirective, TruncateDirectiveModule, TruncateModule, TruncatePipe, TruncateTextComponent, TruncateTextModule, ValidationMethodsEnum, ValidationOptionsEnum, ValidationTypesEnum, WarningMessageComponent, WarningMessageModule, WidgetWrapperComponent, WidgetWrapperModule, autosaveAddId, autosaveError, autosaveErrorFor, autosaveStart, autosaveStartFor, autosaveStop, autosaveStopFor, autosaveSuccess, autosaveSuccessFor, convertBase64ToFile, countryData, dateTimeFormat, formatBytes, formattingDateRange, formattingIsoToString, getBase64FromUrl, getHashCode, sHashCode, selectFields, selectMrxAutoSaveState, sliceDate, toBytes, toDate, toNumberFormat, wordForm };
17521
+ export { AlertColorClasses, AlertComponent, AlertIconClasses, AlertModule, BadgeColorClassesEnum, BadgeComponent, BadgeGroupComponent, BadgeSizeEnum, BadgeTagTypeClassesEnum, BadgeTargetTypesEnum, BadgeTypeEnum, BadgesModule, BreadcrumbsComponent, BreadcrumbsModule, BreadcrumbsTypeEnum, ButtonColorsEnum, ButtonComponent, ButtonIconPositionEnum, ButtonModule, ButtonSizesEnum, ButtonTypesEnum, CdkTooltipDirective, CdkTooltipModule, CharsLeftComponent, CharsLeftModule, CheckboxComponent, CheckboxGroupComponent, CheckboxGroupModule, CheckboxModule, ColumnComponent, ContentWrapperComponent, ContentWrapperModule, ContentWrapperTypeEnum, ContextMenuAttachDirective, ContextMenuComponent, ContextMenuContentComponent, ContextMenuFixedService, ContextMenuItemDirective, ContextMenuModule, ContextMenuService, ControlsItemComponent, ControlsVisibilityEnum, ControlsWrapperComponent, ControlsWrapperModule, CountriesISO, CountriesRusLabel, CountryISO, CurrencyModule, CurrencyPipe, DateFormatModule, DateFormatPipe, DateTimeFormatPipe, DefaultPagerSettings, DocumentEditorComponent, DocumentEditorModule, DropdownComponent, DropdownModule, EditorComponent, EditorModule, ErrorMessageComponent, ErrorMessageModule, FileUploadService, FormulaEditorComponent, FormulaEditorModule, GalleryComponent, GalleryModule, HideAfterClickDirective, HintErrorMessageComponent, HintErrorMessageModule, IconButtonComponent, IconButtonModule, IconButtonSizeEnum, IconButtonStateEnum, IconButtonTypeEnum, InputDateSizesEnum$2 as InputDateSizesEnum, InputDateTimeComponent, InputDateTimeModule, InputDatepickerComponent, InputDatepickerModule, InputFileComponent, InputFileImageComponent, InputFileImageModule, InputFileImageTypeEnum, InputFileModule, InputNumberComponent, InputNumberModule, InputNumberSizesEnum, InputOptComponent, InputOptModule, InputPasswordComponent, InputPasswordModule, InputPasswordSizesEnum, InputPhoneComponent, InputPhoneModule, InputSearchComponent, InputSearchModule, InputSearchSizesEnum, InputSelectComponent, InputSelectModule, InputSelectSizeEnum, InputTelComponent, InputTelModule, InputTelSizesEnum, InputTextComponent, InputTextIconColorEnum, InputTextModule, InputTextSizesEnum, InputTextareaComponent, InputTextareaModule, InputTextareaSizesEnum, InputTimepickerComponent, InputTimepickerModule, LabelComponent, LabelModule, LinkComponent, LinkModule, LinkSizesEnum, LinkTargetTypesEnum, LinkTypesEnum, LoaderColorEnum, LoaderComponent, LoaderModule, LoaderSizesEnum, ModalAlignButtonsEnum, ModalColorEnum, ModalComponent, ModalModule, ModalSizesEnum, MrxAutoSaveActionsEnum, MrxAutosaveService, MrxFormValidator, NgxOtpBehavior, PagesNavComponent, PagesNavEnum, PagesNavModule, PaginatorComponent, PaginatorModule, PaginatorPositionCss, PhoneFormatModule, PhoneFormatPipe, PreviewEnum, ProgressClasses, ProgressComponent, ProgressModule, RadioComponent, RadioGroupComponent, RadioGroupModule, RadioModule, RadioTypesEnum, RatingComponent, RatingModule, RatingSizesEnum, RatingValueSizesEnum, RatingWrapperSizesEnum, SafeModule, SafePipe, SaveStateComponent, SaveStateModule, SaveStoreModule, StepperClasses, StepperComponent, StepperModule, SwitchComponent, SwitchModule, SwitchSizeEnum, SwitchTypeEnum, TabComponent, TableComponent, TableModule, TableTypeEnum, TabsClasses, TabsGroupComponent, TabsModule, TabsTypesClasses, Timezone$1 as Timezone, Tooltip, TooltipComponent, TooltipModule, TooltipService, TooltipTextPositionEnum, TooltipTriggerComponent, TooltipTriggerEnum, TruncateDirective, TruncateDirectiveModule, TruncateModule, TruncatePipe, TruncateTextComponent, TruncateTextModule, ValidationMethodsEnum, ValidationOptionsEnum, ValidationTypesEnum, WarningMessageComponent, WarningMessageModule, WidgetWrapperComponent, WidgetWrapperModule, autosaveAddId, autosaveError, autosaveErrorFor, autosaveStart, autosaveStartFor, autosaveStop, autosaveStopFor, autosaveSuccess, autosaveSuccessFor, convertBase64ToFile, countryData, dateTimeFormat, formatBytes, formattingDateRange, formattingIsoToString, getBase64FromUrl, getHashCode, sHashCode, selectFields, selectMrxAutoSaveState, sliceDate, toBytes, toDate, toNumberFormat, wordForm };
17319
17522
  //# sourceMappingURL=myrta-ui.mjs.map