@osovitny/anatoly 3.17.158 → 3.17.160

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 (27) hide show
  1. package/esm2022/lib/billing/components/payment-methods/payment-methods.component.mjs +2 -2
  2. package/esm2022/lib/core/interceptors/httpInterceptor.mjs +9 -9
  3. package/esm2022/lib/ui/components/copy-2-clipboard/copy-2-clipboard.component.mjs +3 -2
  4. package/esm2022/lib/ui/components/data-grid/control-panel.component.mjs +3 -2
  5. package/esm2022/lib/ui/components/identity/signin-button.component.mjs +3 -2
  6. package/esm2022/lib/ui/components/identity/signout-button.component.mjs +3 -2
  7. package/esm2022/lib/ui/components/identity/signup-button.component.mjs +3 -2
  8. package/esm2022/lib/ui/components/no-mobile-support/no-mobile-support.component.mjs +2 -2
  9. package/esm2022/lib/ui/components/urlslug/urlslug.component.mjs +5 -4
  10. package/esm2022/lib/ui/components/you-agree-to-our-terms/you-agree-to-our-terms.component.mjs +3 -2
  11. package/esm2022/lib/ui/directives/exports.mjs +3 -2
  12. package/esm2022/lib/ui/directives/index.mjs +4 -3
  13. package/esm2022/lib/ui/directives/replacer/a-replacer.directive.mjs +48 -0
  14. package/esm2022/lib/ui/directives/replacer/image-replacer.directive.mjs +44 -0
  15. package/esm2022/lib/ui/directives/replacer/replacer.base.directive.mjs +44 -0
  16. package/esm2022/lib/ui/ui.module.mjs +14 -13
  17. package/fesm2022/osovitny-anatoly.mjs +112 -40
  18. package/fesm2022/osovitny-anatoly.mjs.map +1 -1
  19. package/lib/ui/directives/exports.d.ts +2 -1
  20. package/lib/ui/directives/index.d.ts +2 -2
  21. package/lib/ui/directives/replacer/a-replacer.directive.d.ts +11 -0
  22. package/lib/ui/directives/replacer/image-replacer.directive.d.ts +11 -0
  23. package/lib/ui/directives/replacer/replacer.base.directive.d.ts +10 -0
  24. package/lib/ui/ui.module.d.ts +19 -18
  25. package/package.json +1 -1
  26. package/esm2022/lib/ui/directives/image-src-replacer.directive.mjs +0 -56
  27. package/lib/ui/directives/image-src-replacer.directive.d.ts +0 -13
@@ -0,0 +1,44 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny vadim.osovitny@osovitny.com
8
+
9
+ Created:
10
+ 11 Apr 2025
11
+
12
+ Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
13
+ </file>
14
+ */
15
+ //Node
16
+ import { Directive, Input } from '@angular/core';
17
+ //App
18
+ import { ReplacerDirectiveBase } from './replacer.base.directive';
19
+ import * as i0 from "@angular/core";
20
+ export class ImageReplacerDirective extends ReplacerDirectiveBase {
21
+ ngOnInit() {
22
+ this.setSrc(this.src);
23
+ }
24
+ ngOnChanges(changes) {
25
+ if (changes['src']) {
26
+ this.setSrc(changes['src'].currentValue);
27
+ }
28
+ }
29
+ setSrc(value) {
30
+ this.setAttribute('src', value);
31
+ }
32
+ static { this.ɵfac = /*@__PURE__*/ (() => { let ɵImageReplacerDirective_BaseFactory; return function ImageReplacerDirective_Factory(t) { return (ɵImageReplacerDirective_BaseFactory || (ɵImageReplacerDirective_BaseFactory = i0.ɵɵgetInheritedFactory(ImageReplacerDirective)))(t || ImageReplacerDirective); }; })(); }
33
+ static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ImageReplacerDirective, selectors: [["img"]], inputs: { src: "src" }, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature] }); }
34
+ }
35
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImageReplacerDirective, [{
36
+ type: Directive,
37
+ args: [{
38
+ selector: 'img'
39
+ }]
40
+ }], null, { src: [{
41
+ type: Input,
42
+ args: ['src']
43
+ }] }); })();
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtcmVwbGFjZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL2RpcmVjdGl2ZXMvcmVwbGFjZXIvaW1hZ2UtcmVwbGFjZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBRW5GLEtBQUs7QUFDTCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFLbEUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHFCQUFxQjtJQUcvRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzNDLENBQUM7SUFDSCxDQUFDO0lBRU8sTUFBTSxDQUFDLEtBQUs7UUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQzs0UEFmVSxzQkFBc0IsU0FBdEIsc0JBQXNCO29FQUF0QixzQkFBc0I7O2lGQUF0QixzQkFBc0I7Y0FIbEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxLQUFLO2FBQ2hCO2dCQUVlLEdBQUc7a0JBQWhCLEtBQUs7bUJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxMSBBcHIgMjAyNVxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgUmVwbGFjZXJEaXJlY3RpdmVCYXNlIH0gZnJvbSAnLi9yZXBsYWNlci5iYXNlLmRpcmVjdGl2ZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ2ltZycgXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbWFnZVJlcGxhY2VyRGlyZWN0aXZlIGV4dGVuZHMgUmVwbGFjZXJEaXJlY3RpdmVCYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgnc3JjJykgc3JjOiBzdHJpbmc7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRTcmModGhpcy5zcmMpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGNoYW5nZXNbJ3NyYyddKSB7XHJcbiAgICAgIHRoaXMuc2V0U3JjKGNoYW5nZXNbJ3NyYyddLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFNyYyh2YWx1ZSkge1xyXG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3NyYycsIHZhbHVlKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,44 @@
1
+ /*
2
+ <file>
3
+ Project:
4
+ @osovitny/anatoly
5
+
6
+ Authors:
7
+ Vadim Osovitny vadim.osovitny@osovitny.com
8
+
9
+ Created:
10
+ 19 May 2025
11
+
12
+ Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
13
+ </file>
14
+ */
15
+ //Node
16
+ import { Directive } from '@angular/core';
17
+ //App
18
+ import { AppCoreSettings } from '../../../core/consts/core-settings';
19
+ import * as i0 from "@angular/core";
20
+ export class ReplacerDirectiveBase {
21
+ constructor(el, renderer) {
22
+ this.el = el;
23
+ this.renderer = renderer;
24
+ }
25
+ setAttribute(name, value) {
26
+ if (value) {
27
+ if (value.startsWith("http")) {
28
+ this.renderer.setAttribute(this.el.nativeElement, name, value);
29
+ return;
30
+ }
31
+ const isCDNEnabled = AppCoreSettings.cdn.enabled;
32
+ const cdnUrl = AppCoreSettings.cdn.url;
33
+ const newSrc = isCDNEnabled ? cdnUrl + value : value;
34
+ this.renderer.setAttribute(this.el.nativeElement, name, newSrc);
35
+ }
36
+ }
37
+ static { this.ɵfac = function ReplacerDirectiveBase_Factory(t) { return new (t || ReplacerDirectiveBase)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2)); }; }
38
+ static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ReplacerDirectiveBase }); }
39
+ }
40
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReplacerDirectiveBase, [{
41
+ type: Directive,
42
+ args: [{}]
43
+ }], () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], null); })();
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZXIuYmFzZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvdWkvZGlyZWN0aXZlcy9yZXBsYWNlci9yZXBsYWNlci5iYXNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztFQWFFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxTQUFTLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBRWpFLEtBQUs7QUFDTCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBSXJFLE1BQU0sT0FBZ0IscUJBQXFCO0lBQ3pDLFlBQW9CLEVBQWMsRUFBVSxRQUFtQjtRQUEzQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUMvRCxDQUFDO0lBRVMsWUFBWSxDQUFDLElBQVksRUFBRSxLQUFLO1FBQ3hDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUMvRCxPQUFPO1lBQ1QsQ0FBQztZQUVELE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO1lBQ2pELE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1lBQ3ZDLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBRXJELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNsRSxDQUFDO0lBQ0gsQ0FBQztzRkFqQm1CLHFCQUFxQjtvRUFBckIscUJBQXFCOztpRkFBckIscUJBQXFCO2NBRjFDLFNBQVM7ZUFBQyxFQUNWIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDE5IE1heSAyMDI1XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBBcHBDb3JlU2V0dGluZ3MgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2NvbnN0cy9jb3JlLXNldHRpbmdzJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmVwbGFjZXJEaXJlY3RpdmVCYXNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBzZXRBdHRyaWJ1dGUobmFtZTogc3RyaW5nLCB2YWx1ZSkge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIGlmICh2YWx1ZS5zdGFydHNXaXRoKFwiaHR0cFwiKSkge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgbmFtZSwgdmFsdWUpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgaXNDRE5FbmFibGVkID0gQXBwQ29yZVNldHRpbmdzLmNkbi5lbmFibGVkO1xyXG4gICAgICBjb25zdCBjZG5VcmwgPSBBcHBDb3JlU2V0dGluZ3MuY2RuLnVybDtcclxuICAgICAgY29uc3QgbmV3U3JjID0gaXNDRE5FbmFibGVkID8gY2RuVXJsICsgdmFsdWUgOiB2YWx1ZTtcclxuXHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgbmFtZSwgbmV3U3JjKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -56,16 +56,17 @@ import * as i22 from "./components/feature-will-be-ready/feature-will-be-ready.c
56
56
  import * as i23 from "./components/you-agree-to-our-terms/you-agree-to-our-terms.component";
57
57
  import * as i24 from "./dialogs/contact-us/contact-us.dialog";
58
58
  import * as i25 from "./directives/hover.directive";
59
- import * as i26 from "./directives/image-src-replacer.directive";
60
- import * as i27 from "./directives/native-element.directive";
61
- import * as i28 from "./forms/components/address/address.component";
62
- import * as i29 from "./forms/components/company/company.component";
63
- import * as i30 from "./forms/contact-us/contact-us";
64
- import * as i31 from "./pipes/safeHtml.pipe";
65
- import * as i32 from "./pipes/replace-text.pipe";
66
- import * as i33 from "./pipes/filesize.pipe";
67
- import * as i34 from "./validation/form-validation-summary.component";
68
- import * as i35 from "./validation/item-validation-summary.component";
59
+ import * as i26 from "./directives/replacer/a-replacer.directive";
60
+ import * as i27 from "./directives/replacer/image-replacer.directive";
61
+ import * as i28 from "./directives/native-element.directive";
62
+ import * as i29 from "./forms/components/address/address.component";
63
+ import * as i30 from "./forms/components/company/company.component";
64
+ import * as i31 from "./forms/contact-us/contact-us";
65
+ import * as i32 from "./pipes/safeHtml.pipe";
66
+ import * as i33 from "./pipes/replace-text.pipe";
67
+ import * as i34 from "./pipes/filesize.pipe";
68
+ import * as i35 from "./validation/form-validation-summary.component";
69
+ import * as i36 from "./validation/item-validation-summary.component";
69
70
  const COMPONENTS = [
70
71
  MAIN_COMPONENTS,
71
72
  DIALOGS,
@@ -109,7 +110,7 @@ export class AnatolyUIModule {
109
110
  ]
110
111
  }]
111
112
  }], null, null); })();
112
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(AnatolyUIModule, { declarations: [i1.CardComponent, i2.CardHeaderComponent, i3.CardBodyComponent, i4.CardFooterComponent, i5.CheckIconComponent, i6.Copy2ClipboardComponent, i7.ControlPanelComponent, i8.DataPagerComponent, i9.CountryDropdownlist, i10.ModerationStatusDropdownlist, i11.PublishStatusDropdownlist, i12.TimezoneDropdownlist, i13.HtmlEditorComponent, i14.SignInButtonComponent, i15.SignUpButtonComponent, i16.SignOutButtonComponent, i17.NodataComponent, i18.NoMobileSupportComponent, i19.PageSpinnerComponent, i20.LoadingComponent, i21.UrlSlugComponent, i22.FeatureWillBeReadyComponent, i23.YouAgreeToOurTermsComponent, i24.ContactUsDialog, i25.HoveringDirective, i26.ImageSrcReplacerDirective, i27.NativeElementDirective, i28.AddressComponent, i29.CompanyComponent, i30.ContactUsForm, i31.SafeHtmlPipe, i32.ReplaceTextPipe, i33.FileSizePipe, i34.FormValidationSummaryComponent, i35.ItemValidationSummaryComponent], imports: [CommonModule,
113
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(AnatolyUIModule, { declarations: [i1.CardComponent, i2.CardHeaderComponent, i3.CardBodyComponent, i4.CardFooterComponent, i5.CheckIconComponent, i6.Copy2ClipboardComponent, i7.ControlPanelComponent, i8.DataPagerComponent, i9.CountryDropdownlist, i10.ModerationStatusDropdownlist, i11.PublishStatusDropdownlist, i12.TimezoneDropdownlist, i13.HtmlEditorComponent, i14.SignInButtonComponent, i15.SignUpButtonComponent, i16.SignOutButtonComponent, i17.NodataComponent, i18.NoMobileSupportComponent, i19.PageSpinnerComponent, i20.LoadingComponent, i21.UrlSlugComponent, i22.FeatureWillBeReadyComponent, i23.YouAgreeToOurTermsComponent, i24.ContactUsDialog, i25.HoveringDirective, i26.AReplacerDirective, i27.ImageReplacerDirective, i28.NativeElementDirective, i29.AddressComponent, i30.CompanyComponent, i31.ContactUsForm, i32.SafeHtmlPipe, i33.ReplaceTextPipe, i34.FileSizePipe, i35.FormValidationSummaryComponent, i36.ItemValidationSummaryComponent], imports: [CommonModule,
113
114
  RouterModule,
114
115
  ReactiveFormsModule,
115
116
  FormsModule,
@@ -117,5 +118,5 @@ export class AnatolyUIModule {
117
118
  FERootModule,
118
119
  //Modules
119
120
  FaModule,
120
- KendoModule], exports: [i1.CardComponent, i2.CardHeaderComponent, i3.CardBodyComponent, i4.CardFooterComponent, i5.CheckIconComponent, i6.Copy2ClipboardComponent, i7.ControlPanelComponent, i8.DataPagerComponent, i9.CountryDropdownlist, i10.ModerationStatusDropdownlist, i11.PublishStatusDropdownlist, i12.TimezoneDropdownlist, i13.HtmlEditorComponent, i14.SignInButtonComponent, i15.SignUpButtonComponent, i16.SignOutButtonComponent, i17.NodataComponent, i18.NoMobileSupportComponent, i19.PageSpinnerComponent, i20.LoadingComponent, i21.UrlSlugComponent, i22.FeatureWillBeReadyComponent, i23.YouAgreeToOurTermsComponent, i24.ContactUsDialog, i25.HoveringDirective, i26.ImageSrcReplacerDirective, i27.NativeElementDirective, i28.AddressComponent, i29.CompanyComponent, i30.ContactUsForm, i31.SafeHtmlPipe, i32.ReplaceTextPipe, i33.FileSizePipe, i34.FormValidationSummaryComponent, i35.ItemValidationSummaryComponent] }); })();
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL3VpLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdEQsU0FBUztBQUNULE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFdEQsWUFBWTtBQUNaLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNuQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsTUFBTSxTQUFTLENBQUE7QUFDOUIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNoQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFckQsTUFBTSxVQUFVLEdBQUc7SUFDakIsZUFBZTtJQUNmLE9BQU87SUFDUCxVQUFVO0lBQ1YsS0FBSztJQUNMLEtBQUs7SUFDTCxxQkFBcUI7Q0FDdEIsQ0FBQztBQXNCRixNQUFNLE9BQU8sZUFBZTtnRkFBZixlQUFlO21FQUFmLGVBQWU7dUVBbEJ4QixZQUFZO1lBQ1osWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixXQUFXO1lBQ1gsZ0JBQWdCO1lBQ2hCLFlBQVk7WUFFWixTQUFTO1lBQ1QsUUFBUTtZQUNSLFdBQVc7O2lGQVNGLGVBQWU7Y0FwQjNCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixZQUFZO29CQUNaLG1CQUFtQjtvQkFDbkIsV0FBVztvQkFDWCxnQkFBZ0I7b0JBQ2hCLFlBQVk7b0JBRVosU0FBUztvQkFDVCxRQUFRO29CQUNSLFdBQVc7aUJBQ1o7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLEdBQUcsVUFBVTtpQkFDZDtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osR0FBRyxVQUFVO2lCQUNkO2FBQ0Y7O3dGQUNZLGVBQWUsMDVCQWxCeEIsWUFBWTtRQUNaLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsV0FBVztRQUNYLGdCQUFnQjtRQUNoQixZQUFZO1FBRVosU0FBUztRQUNULFFBQVE7UUFDUixXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbS5vc292aXRueUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDI2IEp1biAyMDIwXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgTmd4Q2FwdGNoYU1vZHVsZSB9IGZyb20gJ25neC1jYXB0Y2hhJztcclxuaW1wb3J0IHsgRkVSb290TW9kdWxlIH0gZnJvbSBcImFuZ3VsYXItZnJvYWxhLXd5c2l3eWdcIjtcclxuXHJcbi8vTW9kdWxlc1xyXG5pbXBvcnQgeyBGYU1vZHVsZSB9IGZyb20gJy4uL2V4dGVybmFsL2ZhLm1vZHVsZSdcclxuaW1wb3J0IHsgS2VuZG9Nb2R1bGUgfSBmcm9tICcuLi9leHRlcm5hbC9rZW5kby5tb2R1bGUnXHJcblxyXG4vL0NvbXBvbmVudHNcclxuaW1wb3J0IHsgTUFJTl9DT01QT05FTlRTIH0gZnJvbSAnLi9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgRElBTE9HUyB9IGZyb20gJy4vZGlhbG9ncydcclxuaW1wb3J0IHsgRElSRUNUSVZFUyB9IGZyb20gJy4vZGlyZWN0aXZlcyc7XHJcbmltcG9ydCB7IEZPUk1TfSBmcm9tICcuL2Zvcm1zJ1xyXG5pbXBvcnQgeyBQSVBFUyB9IGZyb20gJy4vcGlwZXMnO1xyXG5pbXBvcnQgeyBWQUxJREFUSU9OX0NPTVBPTkVOVFMgfSBmcm9tICcuL3ZhbGlkYXRpb24nO1xyXG5cclxuY29uc3QgQ09NUE9ORU5UUyA9IFtcclxuICBNQUlOX0NPTVBPTkVOVFMsXHJcbiAgRElBTE9HUyxcclxuICBESVJFQ1RJVkVTLFxyXG4gIEZPUk1TLFxyXG4gIFBJUEVTLFxyXG4gIFZBTElEQVRJT05fQ09NUE9ORU5UU1xyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBOZ3hDYXB0Y2hhTW9kdWxlLFxyXG4gICAgRkVSb290TW9kdWxlLFxyXG5cclxuICAgIC8vTW9kdWxlc1xyXG4gICAgRmFNb2R1bGUsXHJcbiAgICBLZW5kb01vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgLi4uQ09NUE9ORU5UU1xyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAuLi5DT01QT05FTlRTXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5hdG9seVVJTW9kdWxlIHtcclxufVxyXG4iXX0=
121
+ KendoModule], exports: [i1.CardComponent, i2.CardHeaderComponent, i3.CardBodyComponent, i4.CardFooterComponent, i5.CheckIconComponent, i6.Copy2ClipboardComponent, i7.ControlPanelComponent, i8.DataPagerComponent, i9.CountryDropdownlist, i10.ModerationStatusDropdownlist, i11.PublishStatusDropdownlist, i12.TimezoneDropdownlist, i13.HtmlEditorComponent, i14.SignInButtonComponent, i15.SignUpButtonComponent, i16.SignOutButtonComponent, i17.NodataComponent, i18.NoMobileSupportComponent, i19.PageSpinnerComponent, i20.LoadingComponent, i21.UrlSlugComponent, i22.FeatureWillBeReadyComponent, i23.YouAgreeToOurTermsComponent, i24.ContactUsDialog, i25.HoveringDirective, i26.AReplacerDirective, i27.ImageReplacerDirective, i28.NativeElementDirective, i29.AddressComponent, i30.CompanyComponent, i31.ContactUsForm, i32.SafeHtmlPipe, i33.ReplaceTextPipe, i34.FileSizePipe, i35.FormValidationSummaryComponent, i36.ItemValidationSummaryComponent] }); })();
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL3VpL3VpLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdEQsU0FBUztBQUNULE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFdEQsWUFBWTtBQUNaLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUNuQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsTUFBTSxTQUFTLENBQUE7QUFDOUIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNoQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXJELE1BQU0sVUFBVSxHQUFHO0lBQ2pCLGVBQWU7SUFDZixPQUFPO0lBQ1AsVUFBVTtJQUNWLEtBQUs7SUFDTCxLQUFLO0lBQ0wscUJBQXFCO0NBQ3RCLENBQUM7QUFzQkYsTUFBTSxPQUFPLGVBQWU7Z0ZBQWYsZUFBZTttRUFBZixlQUFlO3VFQWxCeEIsWUFBWTtZQUNaLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsV0FBVztZQUNYLGdCQUFnQjtZQUNoQixZQUFZO1lBRVosU0FBUztZQUNULFFBQVE7WUFDUixXQUFXOztpRkFTRixlQUFlO2NBcEIzQixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixtQkFBbUI7b0JBQ25CLFdBQVc7b0JBQ1gsZ0JBQWdCO29CQUNoQixZQUFZO29CQUVaLFNBQVM7b0JBQ1QsUUFBUTtvQkFDUixXQUFXO2lCQUNaO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxHQUFHLFVBQVU7aUJBQ2Q7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLEdBQUcsVUFBVTtpQkFDZDthQUNGOzt3RkFDWSxlQUFlLCs2QkFsQnhCLFlBQVk7UUFDWixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLFdBQVc7UUFDWCxnQkFBZ0I7UUFDaEIsWUFBWTtRQUVaLFNBQVM7UUFDVCxRQUFRO1FBQ1IsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHkub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyNiBKdW4gMjAyMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IE5neENhcHRjaGFNb2R1bGUgfSBmcm9tICduZ3gtY2FwdGNoYSc7XHJcbmltcG9ydCB7IEZFUm9vdE1vZHVsZSB9IGZyb20gXCJhbmd1bGFyLWZyb2FsYS13eXNpd3lnXCI7XHJcblxyXG4vL01vZHVsZXNcclxuaW1wb3J0IHsgRmFNb2R1bGUgfSBmcm9tICcuLi9leHRlcm5hbC9mYS5tb2R1bGUnXHJcbmltcG9ydCB7IEtlbmRvTW9kdWxlIH0gZnJvbSAnLi4vZXh0ZXJuYWwva2VuZG8ubW9kdWxlJ1xyXG5cclxuLy9Db21wb25lbnRzXHJcbmltcG9ydCB7IE1BSU5fQ09NUE9ORU5UUyB9IGZyb20gJy4vY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IERJQUxPR1MgfSBmcm9tICcuL2RpYWxvZ3MnXHJcbmltcG9ydCB7IERJUkVDVElWRVMgfSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xyXG5pbXBvcnQgeyBGT1JNU30gZnJvbSAnLi9mb3JtcydcclxuaW1wb3J0IHsgUElQRVMgfSBmcm9tICcuL3BpcGVzJztcclxuaW1wb3J0IHsgVkFMSURBVElPTl9DT01QT05FTlRTIH0gZnJvbSAnLi92YWxpZGF0aW9uJztcclxuXHJcbmNvbnN0IENPTVBPTkVOVFMgPSBbXHJcbiAgTUFJTl9DT01QT05FTlRTLFxyXG4gIERJQUxPR1MsXHJcbiAgRElSRUNUSVZFUyxcclxuICBGT1JNUyxcclxuICBQSVBFUyxcclxuICBWQUxJREFUSU9OX0NPTVBPTkVOVFNcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTmd4Q2FwdGNoYU1vZHVsZSxcclxuICAgIEZFUm9vdE1vZHVsZSxcclxuXHJcbiAgICAvL01vZHVsZXNcclxuICAgIEZhTW9kdWxlLFxyXG4gICAgS2VuZG9Nb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIC4uLkNPTVBPTkVOVFNcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgLi4uQ09NUE9ORU5UU1xyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFuYXRvbHlVSU1vZHVsZSB7XHJcbn1cclxuIl19
@@ -2524,9 +2524,13 @@ class AnatolyHttpInterceptor {
2524
2524
  }
2525
2525
  }
2526
2526
  }
2527
+ //4. appContext
2528
+ if (url.indexOf('/appcontext/') > -1) {
2529
+ authorizationTokenRequired = this.authService.isUserAuthenticated();
2530
+ }
2527
2531
  // Change Url if need it -------------------------------------------->
2528
2532
  let newUrl = originalUrl;
2529
- //4. Check should we add CDN SAS tokens
2533
+ //5. Check should we add CDN SAS tokens
2530
2534
  if (isCDNEnabled) {
2531
2535
  for (const i of this.autoCDNSASTokenUrls) {
2532
2536
  if (url.indexOf(this.autoCDNSASTokenUrls[i]) >= 0) {
@@ -2535,20 +2539,16 @@ class AnatolyHttpInterceptor {
2535
2539
  }
2536
2540
  }
2537
2541
  }
2538
- //5. no caching for API calls
2542
+ //6. no caching for API calls
2539
2543
  if (url.indexOf('/api/') > -1 || url.indexOf('api.') > -1) {
2540
2544
  const t = new Date().getTime().toString();
2541
2545
  newUrl = this.setQS(newUrl, 't=' + t);
2542
2546
  }
2543
- //6. set ca
2547
+ //7. set ca
2544
2548
  let app = getCurrentApp();
2545
2549
  newUrl = this.setQS(newUrl, 'ca=' + app.type);
2546
- //7. set new url
2550
+ //8. set new url
2547
2551
  req = req.clone({ url: newUrl });
2548
- //8. appContext
2549
- if (url.indexOf('/appcontext/') > -1) {
2550
- authorizationTokenRequired = this.authService.isUserAuthenticated();
2551
- }
2552
2552
  req = req.clone({ headers: req.headers.set('Accept', 'application/json') });
2553
2553
  req = req.clone({ headers: req.headers.set('Accept', 'application/text') });
2554
2554
  this.onRequestStart(loadingRequired);
@@ -4544,46 +4544,73 @@ class OrderSummaryComponent extends ComponentBase {
4544
4544
  Vadim Osovitny vadim.osovitny@osovitny.com
4545
4545
 
4546
4546
  Created:
4547
- 24 Feb 2023
4547
+ 19 May 2025
4548
4548
 
4549
4549
  Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
4550
4550
  </file>
4551
4551
  */
4552
4552
  //Node
4553
- class ImageSrcReplacerDirective {
4553
+ class ReplacerDirectiveBase {
4554
4554
  constructor(el, renderer) {
4555
4555
  this.el = el;
4556
4556
  this.renderer = renderer;
4557
4557
  }
4558
+ setAttribute(name, value) {
4559
+ if (value) {
4560
+ if (value.startsWith("http")) {
4561
+ this.renderer.setAttribute(this.el.nativeElement, name, value);
4562
+ return;
4563
+ }
4564
+ const isCDNEnabled = AppCoreSettings.cdn.enabled;
4565
+ const cdnUrl = AppCoreSettings.cdn.url;
4566
+ const newSrc = isCDNEnabled ? cdnUrl + value : value;
4567
+ this.renderer.setAttribute(this.el.nativeElement, name, newSrc);
4568
+ }
4569
+ }
4570
+ static { this.ɵfac = function ReplacerDirectiveBase_Factory(t) { return new (t || ReplacerDirectiveBase)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2)); }; }
4571
+ static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ReplacerDirectiveBase }); }
4572
+ }
4573
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReplacerDirectiveBase, [{
4574
+ type: Directive,
4575
+ args: [{}]
4576
+ }], () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], null); })();
4577
+
4578
+ /*
4579
+ <file>
4580
+ Project:
4581
+ @osovitny/anatoly
4582
+
4583
+ Authors:
4584
+ Vadim Osovitny vadim.osovitny@osovitny.com
4585
+
4586
+ Created:
4587
+ 11 Apr 2025
4588
+
4589
+ Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
4590
+ </file>
4591
+ */
4592
+ //Node
4593
+ class ImageReplacerDirective extends ReplacerDirectiveBase {
4558
4594
  ngOnInit() {
4559
- this.handleImage(this.src);
4595
+ this.setSrc(this.src);
4560
4596
  }
4561
4597
  ngOnChanges(changes) {
4562
4598
  if (changes['src']) {
4563
- this.handleImage(changes['src'].currentValue);
4599
+ this.setSrc(changes['src'].currentValue);
4564
4600
  }
4565
4601
  }
4566
- handleImage(src) {
4567
- if (src) {
4568
- if (src.startsWith("http")) {
4569
- this.renderer.setAttribute(this.el.nativeElement, 'src', src);
4570
- return;
4571
- }
4572
- const isCDNEnabled = AppCoreSettings.cdn.enabled;
4573
- const cdnUrl = AppCoreSettings.cdn.url;
4574
- const newSrc = isCDNEnabled ? cdnUrl + src : src;
4575
- this.renderer.setAttribute(this.el.nativeElement, 'src', newSrc);
4576
- }
4602
+ setSrc(value) {
4603
+ this.setAttribute('src', value);
4577
4604
  }
4578
- static { this.ɵfac = function ImageSrcReplacerDirective_Factory(t) { return new (t || ImageSrcReplacerDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2)); }; }
4579
- static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ImageSrcReplacerDirective, selectors: [["img"]], inputs: { src: "src" }, features: [i0.ɵɵNgOnChangesFeature] }); }
4605
+ static { this.ɵfac = /*@__PURE__*/ (() => { let ɵImageReplacerDirective_BaseFactory; return function ImageReplacerDirective_Factory(t) { return (ɵImageReplacerDirective_BaseFactory || (ɵImageReplacerDirective_BaseFactory = i0.ɵɵgetInheritedFactory(ImageReplacerDirective)))(t || ImageReplacerDirective); }; })(); }
4606
+ static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ImageReplacerDirective, selectors: [["img"]], inputs: { src: "src" }, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature] }); }
4580
4607
  }
4581
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImageSrcReplacerDirective, [{
4608
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImageReplacerDirective, [{
4582
4609
  type: Directive,
4583
4610
  args: [{
4584
4611
  selector: 'img'
4585
4612
  }]
4586
- }], () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], { src: [{
4613
+ }], null, { src: [{
4587
4614
  type: Input,
4588
4615
  args: ['src']
4589
4616
  }] }); })();
@@ -4679,7 +4706,7 @@ class PaymentMethodsComponent extends ComponentBase {
4679
4706
  } if (rf & 2) {
4680
4707
  i0.ɵɵadvance(8);
4681
4708
  i0.ɵɵrepeater(ctx.paymentMethods);
4682
- } }, dependencies: [ImageSrcReplacerDirective], encapsulation: 2 }); }
4709
+ } }, dependencies: [ImageReplacerDirective], encapsulation: 2 }); }
4683
4710
  }
4684
4711
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PaymentMethodsComponent, [{
4685
4712
  type: Component,
@@ -7747,6 +7774,50 @@ class CheckIconComponent {
7747
7774
  }] }); })();
7748
7775
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CheckIconComponent, { className: "CheckIconComponent", filePath: "lib\\ui\\components\\check-icon\\check-icon.component.ts", lineNumber: 24 }); })();
7749
7776
 
7777
+ /*
7778
+ <file>
7779
+ Project:
7780
+ @osovitny/anatoly
7781
+
7782
+ Authors:
7783
+ Vadim Osovitny vadim.osovitny@osovitny.com
7784
+
7785
+ Created:
7786
+ 19 May 2025
7787
+
7788
+ Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
7789
+ </file>
7790
+ */
7791
+ //Node
7792
+ class AReplacerDirective extends ReplacerDirectiveBase {
7793
+ ngOnInit() {
7794
+ this.setHref(this.href);
7795
+ }
7796
+ ngOnChanges(changes) {
7797
+ if (changes['href']) {
7798
+ this.setHref(changes['href'].currentValue);
7799
+ }
7800
+ }
7801
+ setHref(value) {
7802
+ if (value) {
7803
+ if (value.indexOf("assets") > -1) {
7804
+ this.setAttribute('href', value);
7805
+ }
7806
+ }
7807
+ }
7808
+ static { this.ɵfac = /*@__PURE__*/ (() => { let ɵAReplacerDirective_BaseFactory; return function AReplacerDirective_Factory(t) { return (ɵAReplacerDirective_BaseFactory || (ɵAReplacerDirective_BaseFactory = i0.ɵɵgetInheritedFactory(AReplacerDirective)))(t || AReplacerDirective); }; })(); }
7809
+ static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: AReplacerDirective, selectors: [["a"]], inputs: { href: "href" }, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature] }); }
7810
+ }
7811
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AReplacerDirective, [{
7812
+ type: Directive,
7813
+ args: [{
7814
+ selector: 'a'
7815
+ }]
7816
+ }], null, { href: [{
7817
+ type: Input,
7818
+ args: ['href']
7819
+ }] }); })();
7820
+
7750
7821
  /*
7751
7822
  <file>
7752
7823
  Project:
@@ -7914,7 +7985,7 @@ class ControlPanelComponent extends ComponentBase {
7914
7985
  i0.ɵɵconditional(7, ctx.viewTypesVisible ? 7 : -1);
7915
7986
  i0.ɵɵadvance();
7916
7987
  i0.ɵɵconditional(8, ctx.addButtonVisible ? 8 : -1);
7917
- } }, dependencies: [i1$1.NgClass, i2.NgControlStatus, i2.NgModel, i1$6.FaIconComponent, i3.DropDownListComponent], encapsulation: 2 }); }
7988
+ } }, dependencies: [i1$1.NgClass, i2.NgControlStatus, i2.NgModel, i1$6.FaIconComponent, i3.DropDownListComponent, AReplacerDirective], encapsulation: 2 }); }
7918
7989
  }
7919
7990
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ControlPanelComponent, [{
7920
7991
  type: Component,
@@ -8115,7 +8186,7 @@ class SignInButtonComponent extends ComponentBase {
8115
8186
  i0.ɵɵproperty("ngIf", ctx.external);
8116
8187
  i0.ɵɵadvance();
8117
8188
  i0.ɵɵproperty("ngIf", !ctx.external);
8118
- } }, dependencies: [i1$1.NgIf, i1$1.NgTemplateOutlet, i1$2.RouterLink], encapsulation: 2 }); }
8189
+ } }, dependencies: [i1$1.NgIf, i1$1.NgTemplateOutlet, i1$2.RouterLink, AReplacerDirective], encapsulation: 2 }); }
8119
8190
  }
8120
8191
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SignInButtonComponent, [{
8121
8192
  type: Component,
@@ -8212,7 +8283,7 @@ class SignOutButtonComponent extends ComponentBase {
8212
8283
  i0.ɵɵproperty("ngIf", ctx.external);
8213
8284
  i0.ɵɵadvance();
8214
8285
  i0.ɵɵproperty("ngIf", !ctx.external);
8215
- } }, dependencies: [i1$1.NgIf, i1$1.NgTemplateOutlet, i1$2.RouterLink], encapsulation: 2 }); }
8286
+ } }, dependencies: [i1$1.NgIf, i1$1.NgTemplateOutlet, i1$2.RouterLink, AReplacerDirective], encapsulation: 2 }); }
8216
8287
  }
8217
8288
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SignOutButtonComponent, [{
8218
8289
  type: Component,
@@ -8309,7 +8380,7 @@ class SignUpButtonComponent extends ComponentBase {
8309
8380
  i0.ɵɵproperty("ngIf", ctx.external);
8310
8381
  i0.ɵɵadvance();
8311
8382
  i0.ɵɵproperty("ngIf", !ctx.external);
8312
- } }, dependencies: [i1$1.NgIf, i1$1.NgTemplateOutlet, i1$2.RouterLink], encapsulation: 2 }); }
8383
+ } }, dependencies: [i1$1.NgIf, i1$1.NgTemplateOutlet, i1$2.RouterLink, AReplacerDirective], encapsulation: 2 }); }
8313
8384
  }
8314
8385
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SignUpButtonComponent, [{
8315
8386
  type: Component,
@@ -8421,7 +8492,7 @@ class NoMobileSupportComponent extends ComponentBase {
8421
8492
  } if (rf & 2) {
8422
8493
  i0.ɵɵadvance();
8423
8494
  i0.ɵɵproperty("src", ctx.logo, i0.ɵɵsanitizeUrl);
8424
- } }, dependencies: [ImageSrcReplacerDirective], encapsulation: 2 }); }
8495
+ } }, dependencies: [ImageReplacerDirective], encapsulation: 2 }); }
8425
8496
  }
8426
8497
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NoMobileSupportComponent, [{
8427
8498
  type: Component,
@@ -8606,7 +8677,7 @@ class Copy2ClipboardComponent extends ComponentBase {
8606
8677
  i0.ɵɵelementEnd();
8607
8678
  } if (rf & 2) {
8608
8679
  i0.ɵɵclassMapInterpolate1("btn btn-icon ", ctx.classes, "");
8609
- } }, dependencies: [i1$6.FaIconComponent], encapsulation: 2 }); }
8680
+ } }, dependencies: [i1$6.FaIconComponent, AReplacerDirective], encapsulation: 2 }); }
8610
8681
  }
8611
8682
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(Copy2ClipboardComponent, [{
8612
8683
  type: Component,
@@ -8721,7 +8792,7 @@ class UrlSlugComponent extends EditComponentBase {
8721
8792
  i0.ɵɵproperty("formControlName", ctx.controlName);
8722
8793
  i0.ɵɵadvance();
8723
8794
  i0.ɵɵproperty("ngIf", ctx.isGoButtonVisible);
8724
- } }, dependencies: [i1$1.NgClass, i1$1.NgIf, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.FormGroupDirective, i2.FormControlName, i4$1.LabelDirective, NativeElementDirective, ItemValidationSummaryComponent], encapsulation: 2 }); }
8795
+ } }, dependencies: [i1$1.NgClass, i1$1.NgIf, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.FormGroupDirective, i2.FormControlName, i4$1.LabelDirective, AReplacerDirective, NativeElementDirective, ItemValidationSummaryComponent], encapsulation: 2 }); }
8725
8796
  }
8726
8797
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UrlSlugComponent, [{
8727
8798
  type: Component,
@@ -8833,7 +8904,7 @@ class YouAgreeToOurTermsComponent extends ComponentBase {
8833
8904
  i0.ɵɵproperty("href", ctx.currentApp.oneUrl + "legal/terms", i0.ɵɵsanitizeUrl);
8834
8905
  i0.ɵɵadvance(3);
8835
8906
  i0.ɵɵproperty("href", ctx.currentApp.oneUrl + "legal/privacy", i0.ɵɵsanitizeUrl);
8836
- } }, encapsulation: 2 }); }
8907
+ } }, dependencies: [AReplacerDirective], encapsulation: 2 }); }
8837
8908
  }
8838
8909
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(YouAgreeToOurTermsComponent, [{
8839
8910
  type: Component,
@@ -10609,7 +10680,8 @@ const DIALOGS = [
10609
10680
  */
10610
10681
  const DIRECTIVES = [
10611
10682
  HoveringDirective,
10612
- ImageSrcReplacerDirective,
10683
+ AReplacerDirective,
10684
+ ImageReplacerDirective,
10613
10685
  NativeElementDirective
10614
10686
  ];
10615
10687
 
@@ -10733,7 +10805,7 @@ class AnatolyUIModule {
10733
10805
  ]
10734
10806
  }]
10735
10807
  }], null, null); })();
10736
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(AnatolyUIModule, { declarations: [CardComponent, CardHeaderComponent, CardBodyComponent, CardFooterComponent, CheckIconComponent, Copy2ClipboardComponent, ControlPanelComponent, DataPagerComponent, CountryDropdownlist, ModerationStatusDropdownlist, PublishStatusDropdownlist, TimezoneDropdownlist, HtmlEditorComponent, SignInButtonComponent, SignUpButtonComponent, SignOutButtonComponent, NodataComponent, NoMobileSupportComponent, PageSpinnerComponent, LoadingComponent, UrlSlugComponent, FeatureWillBeReadyComponent, YouAgreeToOurTermsComponent, ContactUsDialog, HoveringDirective, ImageSrcReplacerDirective, NativeElementDirective, AddressComponent, CompanyComponent, ContactUsForm, SafeHtmlPipe, ReplaceTextPipe, FileSizePipe, FormValidationSummaryComponent, ItemValidationSummaryComponent], imports: [CommonModule,
10808
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(AnatolyUIModule, { declarations: [CardComponent, CardHeaderComponent, CardBodyComponent, CardFooterComponent, CheckIconComponent, Copy2ClipboardComponent, ControlPanelComponent, DataPagerComponent, CountryDropdownlist, ModerationStatusDropdownlist, PublishStatusDropdownlist, TimezoneDropdownlist, HtmlEditorComponent, SignInButtonComponent, SignUpButtonComponent, SignOutButtonComponent, NodataComponent, NoMobileSupportComponent, PageSpinnerComponent, LoadingComponent, UrlSlugComponent, FeatureWillBeReadyComponent, YouAgreeToOurTermsComponent, ContactUsDialog, HoveringDirective, AReplacerDirective, ImageReplacerDirective, NativeElementDirective, AddressComponent, CompanyComponent, ContactUsForm, SafeHtmlPipe, ReplaceTextPipe, FileSizePipe, FormValidationSummaryComponent, ItemValidationSummaryComponent], imports: [CommonModule,
10737
10809
  RouterModule,
10738
10810
  ReactiveFormsModule,
10739
10811
  FormsModule,
@@ -10741,7 +10813,7 @@ class AnatolyUIModule {
10741
10813
  FERootModule,
10742
10814
  //Modules
10743
10815
  FaModule,
10744
- KendoModule], exports: [CardComponent, CardHeaderComponent, CardBodyComponent, CardFooterComponent, CheckIconComponent, Copy2ClipboardComponent, ControlPanelComponent, DataPagerComponent, CountryDropdownlist, ModerationStatusDropdownlist, PublishStatusDropdownlist, TimezoneDropdownlist, HtmlEditorComponent, SignInButtonComponent, SignUpButtonComponent, SignOutButtonComponent, NodataComponent, NoMobileSupportComponent, PageSpinnerComponent, LoadingComponent, UrlSlugComponent, FeatureWillBeReadyComponent, YouAgreeToOurTermsComponent, ContactUsDialog, HoveringDirective, ImageSrcReplacerDirective, NativeElementDirective, AddressComponent, CompanyComponent, ContactUsForm, SafeHtmlPipe, ReplaceTextPipe, FileSizePipe, FormValidationSummaryComponent, ItemValidationSummaryComponent] }); })();
10816
+ KendoModule], exports: [CardComponent, CardHeaderComponent, CardBodyComponent, CardFooterComponent, CheckIconComponent, Copy2ClipboardComponent, ControlPanelComponent, DataPagerComponent, CountryDropdownlist, ModerationStatusDropdownlist, PublishStatusDropdownlist, TimezoneDropdownlist, HtmlEditorComponent, SignInButtonComponent, SignUpButtonComponent, SignOutButtonComponent, NodataComponent, NoMobileSupportComponent, PageSpinnerComponent, LoadingComponent, UrlSlugComponent, FeatureWillBeReadyComponent, YouAgreeToOurTermsComponent, ContactUsDialog, HoveringDirective, AReplacerDirective, ImageReplacerDirective, NativeElementDirective, AddressComponent, CompanyComponent, ContactUsForm, SafeHtmlPipe, ReplaceTextPipe, FileSizePipe, FormValidationSummaryComponent, ItemValidationSummaryComponent] }); })();
10745
10817
 
10746
10818
  /*
10747
10819
  <file>
@@ -10893,5 +10965,5 @@ class AnatolyModule {
10893
10965
  * Generated bundle index. Do not edit.
10894
10966
  */
10895
10967
 
10896
- export { AddressComponent, AdminGuard, Alerts, AnatolyBillingModule, AnatolyCoreModule, AnatolyDataModule, AnatolyHttpInterceptor, AnatolyIAMModule, AnatolyIAMPagesModule, AnatolyModule, AnatolyUIModule, ApiServiceBase, ApiUrl, AppContextService, AppCoreSettings, AppName, AppSettings, AppVersion, AppsGoServiceBase, AuthService, AuthenticationGuard, BillingUtils, BraintreeDialog, Browser, BuyAccessButtonComponent, CardBodyComponent, CardComponent, CardFooterComponent, CardHeaderComponent, CheckIconComponent, ClientApps, CompanyComponent, ComponentBase, ContactUsDialog, ContactUsForm, ControlPanelComponent, Convert, Copy2ClipboardComponent, CoreApiService, CountryDropdownlist, CurrenciesApiService, CurrenciesStorageService, DOM, DataPagerComponent, DataViewType, DateConvert, DefaultEditorOptions, DialogBase, DigitalMarketingService, DiscountCodeStatus, DiscountCodeType, DiscountCodesApiService, EditComponentBase, EditPageBase, EmailsApiService, EnumEditComponentBase, FeatureWillBeReadyComponent, FileSizePipe, FormValidationSummaryComponent, GABillingEvents, GAEvents, GlobalErrorHandler, GoServiceBase, GoogleAnalyticsService, GridEditServiceBase, GridReadServiceBase, Guid, HoveringDirective, HtmlEditorComponent, HtmlEditorComponentBase, IdleService, ImageSrcReplacerDirective, InjectorInstance, IsDevMode, IsProdMode, ItemValidationSummaryComponent, L10nUtils, ListBase, LoadingComponent, LoadingService, LocalStorageService, LocalizationInjectorInstance, LocalizationModule, LocalizationService, LocalizationSettingsModule, LocalizePipe, LoggingService, MSALUtils, ModerationStatus, ModerationStatusDropdownlist, NativeElementDirective, NoMobileSupportComponent, NodataComponent, NotificationService, OrderSummaryComponent, PageBase, PageSpinnerComponent, PagedPageBase, PayPalComponent, PayPalScriptService, PaymentMethod, PaymentMethodsComponent, PaymentOptionsComponent, PaymentStage, PaymentType, PaymentsApiService, PaymentsService, PaypalButtonComponent, PaypalSubscribeButtonComponent, PublishStatus, PublishStatusDropdownlist, QSUtils, ReplaceTextPipe, SafeHtmlPipe, ScriptService, SessionStorageService, SignInButtonComponent, SignOutButtonComponent, SignUpButtonComponent, StarterGuard, StarterService, Stopwatch, StripeDialog, Subs, SubscribePlanButtonComponent, SubscriptionProvider, SubscriptionsApiService, TimezoneDropdownlist, TransactionsApiService, UrlSlugComponent, Utils, ValidationSummaryComponent, XmlFormatter, YouAgreeToOurTermsComponent, dateFormats, dateTimeFormats, getAppSettingsById, getAppSettingsByName, getCurrentApp, is, localizationInitializerFactory, throwIfAlreadyLoaded, timeFormats, translateLoaderFactory };
10968
+ export { AReplacerDirective, AddressComponent, AdminGuard, Alerts, AnatolyBillingModule, AnatolyCoreModule, AnatolyDataModule, AnatolyHttpInterceptor, AnatolyIAMModule, AnatolyIAMPagesModule, AnatolyModule, AnatolyUIModule, ApiServiceBase, ApiUrl, AppContextService, AppCoreSettings, AppName, AppSettings, AppVersion, AppsGoServiceBase, AuthService, AuthenticationGuard, BillingUtils, BraintreeDialog, Browser, BuyAccessButtonComponent, CardBodyComponent, CardComponent, CardFooterComponent, CardHeaderComponent, CheckIconComponent, ClientApps, CompanyComponent, ComponentBase, ContactUsDialog, ContactUsForm, ControlPanelComponent, Convert, Copy2ClipboardComponent, CoreApiService, CountryDropdownlist, CurrenciesApiService, CurrenciesStorageService, DOM, DataPagerComponent, DataViewType, DateConvert, DefaultEditorOptions, DialogBase, DigitalMarketingService, DiscountCodeStatus, DiscountCodeType, DiscountCodesApiService, EditComponentBase, EditPageBase, EmailsApiService, EnumEditComponentBase, FeatureWillBeReadyComponent, FileSizePipe, FormValidationSummaryComponent, GABillingEvents, GAEvents, GlobalErrorHandler, GoServiceBase, GoogleAnalyticsService, GridEditServiceBase, GridReadServiceBase, Guid, HoveringDirective, HtmlEditorComponent, HtmlEditorComponentBase, IdleService, ImageReplacerDirective, InjectorInstance, IsDevMode, IsProdMode, ItemValidationSummaryComponent, L10nUtils, ListBase, LoadingComponent, LoadingService, LocalStorageService, LocalizationInjectorInstance, LocalizationModule, LocalizationService, LocalizationSettingsModule, LocalizePipe, LoggingService, MSALUtils, ModerationStatus, ModerationStatusDropdownlist, NativeElementDirective, NoMobileSupportComponent, NodataComponent, NotificationService, OrderSummaryComponent, PageBase, PageSpinnerComponent, PagedPageBase, PayPalComponent, PayPalScriptService, PaymentMethod, PaymentMethodsComponent, PaymentOptionsComponent, PaymentStage, PaymentType, PaymentsApiService, PaymentsService, PaypalButtonComponent, PaypalSubscribeButtonComponent, PublishStatus, PublishStatusDropdownlist, QSUtils, ReplaceTextPipe, SafeHtmlPipe, ScriptService, SessionStorageService, SignInButtonComponent, SignOutButtonComponent, SignUpButtonComponent, StarterGuard, StarterService, Stopwatch, StripeDialog, Subs, SubscribePlanButtonComponent, SubscriptionProvider, SubscriptionsApiService, TimezoneDropdownlist, TransactionsApiService, UrlSlugComponent, Utils, ValidationSummaryComponent, XmlFormatter, YouAgreeToOurTermsComponent, dateFormats, dateTimeFormats, getAppSettingsById, getAppSettingsByName, getCurrentApp, is, localizationInitializerFactory, throwIfAlreadyLoaded, timeFormats, translateLoaderFactory };
10897
10969
  //# sourceMappingURL=osovitny-anatoly.mjs.map