simpo-component-library 3.6.108 → 3.6.109

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.
@@ -4642,196 +4642,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
4642
4642
  args: ['mainContainer']
4643
4643
  }] } });
4644
4644
 
4645
- class BannerContentFitDirective {
4646
- constructor(el, eventService, renderer) {
4647
- this.el = el;
4648
- this.eventService = eventService;
4649
- this.renderer = renderer;
4650
- this.eventService.alignmentChangeChecks.subscribe((res) => {
4651
- if (this.layout?.bannerImageDisplay) {
4652
- Object.entries(BANNERALIGNMENT).forEach(([className, classValue]) => {
4653
- if (res.data?.align === className) {
4654
- this.renderer.addClass(this.el.nativeElement, classValue);
4655
- if (res.data?.align == 'top' || res.data?.align == 'bottom') {
4656
- this.el.nativeElement.style.setProperty('text-align', "center");
4657
- }
4658
- }
4659
- });
4660
- }
4661
- else {
4662
- Object.entries(BANNERHALIGN).forEach(([className, classValue]) => {
4663
- if (res.data?.layoutAlignment?.value === className) {
4664
- this.renderer.addClass(this.el.nativeElement, `flex-lg-row`);
4665
- classValue.split(" ").forEach(element => {
4666
- this.renderer.addClass(this.el.nativeElement, element);
4667
- });
4668
- }
4669
- });
4670
- }
4671
- applySpacing(this.el.nativeElement, this.layout?.spacing);
4672
- });
4673
- this.eventService.spacingChangeChecks.subscribe((res) => {
4674
- if (this.el.nativeElement.id === res.type) {
4675
- if (this.layout?.fit === 'content') {
4676
- fitContent(this.el.nativeElement);
4677
- }
4678
- else {
4679
- fitScreen(this.el.nativeElement);
4680
- }
4681
- applySpacing(this.el.nativeElement, res.data.spacing);
4682
- }
4683
- });
4684
- }
4685
- ngOnInit() {
4686
- this.appply();
4687
- }
4688
- ngOnChanges() {
4689
- this.appply();
4690
- }
4691
- appply() {
4692
- if (this.layout?.fit === 'content') {
4693
- fitContent(this.el.nativeElement);
4694
- }
4695
- else {
4696
- fitScreen(this.el.nativeElement);
4697
- }
4698
- if (this.layout?.bannerImageDisplay) {
4699
- Object.entries(BANNERALIGNMENT).forEach(([className, classValue]) => {
4700
- if (this.layout?.layoutAlignment.value === className) {
4701
- this.renderer.addClass(this.el.nativeElement, classValue);
4702
- if (this.layout.layoutAlignment.value == 'top' || this.layout.layoutAlignment.value == 'bottom') {
4703
- this.el.nativeElement.style.setProperty('text-align', "center");
4704
- }
4705
- }
4706
- });
4707
- }
4708
- else {
4709
- Object.entries(BANNERHALIGN).forEach(([className, classValue]) => {
4710
- if (this.layout?.layoutAlignment.value === className) {
4711
- this.renderer.addClass(this.el.nativeElement, `flex-lg-row`);
4712
- classValue.split(" ").forEach(element => {
4713
- this.renderer.addClass(this.el.nativeElement, element);
4714
- });
4715
- }
4716
- });
4717
- }
4718
- applySpacing(this.el.nativeElement, this.layout?.spacing);
4719
- }
4720
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BannerContentFitDirective, deps: [{ token: i0.ElementRef }, { token: EventsService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
4721
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: BannerContentFitDirective, isStandalone: true, selector: "[simpoBannerLayout]", inputs: { layout: ["simpoBannerLayout", "layout"] }, usesOnChanges: true, ngImport: i0 }); }
4722
- }
4723
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BannerContentFitDirective, decorators: [{
4724
- type: Directive,
4725
- args: [{
4726
- selector: '[simpoBannerLayout]',
4727
- standalone: true,
4728
- }]
4729
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: EventsService }, { type: i0.Renderer2 }], propDecorators: { layout: [{
4730
- type: Input,
4731
- args: ['simpoBannerLayout']
4732
- }] } });
4733
-
4734
- class ColumnDirectiveDirective {
4735
- constructor(el, eventService) {
4736
- this.el = el;
4737
- this.eventService = eventService;
4738
- this.checkSizeChanges();
4739
- }
4740
- ngOnChanges() {
4741
- if (this.columnDirective === 'Large') {
4742
- this.el.nativeElement.classList.add('col-md-6');
4743
- }
4744
- if (this.columnDirective === 'Medium') {
4745
- this.el.nativeElement.classList.add('col-md-4');
4746
- }
4747
- if (this.columnDirective === 'Small') {
4748
- this.el.nativeElement.classList.add('col-md-3');
4749
- }
4750
- }
4751
- ngOnDestroy() {
4752
- if (this.cardSizeSubSubscription) {
4753
- this.cardSizeSubSubscription.unsubscribe();
4754
- }
4755
- }
4756
- checkSizeChanges() {
4757
- this.cardSizeSubSubscription = this.eventService.cardSizeChangeChecks.subscribe((res) => {
4758
- this.addClass(res.size, res.id);
4759
- });
4760
- }
4761
- addClass(res, id) {
4762
- if (this.el.nativeElement.id == id) {
4763
- this.removeAllClasses();
4764
- if (res === 'Large') {
4765
- this.el.nativeElement.classList.add('col-md-6');
4766
- }
4767
- if (res === 'Medium') {
4768
- this.el.nativeElement.classList.add('col-md-4');
4769
- }
4770
- if (res === 'Small') {
4771
- this.el.nativeElement.classList.add('col-md-3');
4772
- }
4773
- }
4774
- }
4775
- removeAllClasses() {
4776
- this.el.nativeElement.classList.remove("col-md-3");
4777
- this.el.nativeElement.classList.remove("col-md-4");
4778
- this.el.nativeElement.classList.remove("col-md-6");
4779
- }
4780
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnDirectiveDirective, deps: [{ token: i0.ElementRef }, { token: EventsService }], target: i0.ɵɵFactoryTarget.Directive }); }
4781
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ColumnDirectiveDirective, isStandalone: true, selector: "[simpoColumnDirective]", inputs: { columnDirective: ["simpoColumnDirective", "columnDirective"] }, usesOnChanges: true, ngImport: i0 }); }
4782
- }
4783
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnDirectiveDirective, decorators: [{
4784
- type: Directive,
4785
- args: [{
4786
- selector: '[simpoColumnDirective]',
4787
- standalone: true
4788
- }]
4789
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: EventsService }], propDecorators: { columnDirective: [{
4790
- type: Input,
4791
- args: ['simpoColumnDirective']
4792
- }] } });
4793
-
4794
- class ContainerFitDirective {
4795
- constructor(el, eventService) {
4796
- this.el = el;
4797
- this.eventService = eventService;
4798
- }
4799
- ngOnInit() {
4800
- this.appply();
4801
- }
4802
- ngOnChanges() {
4803
- this.appply();
4804
- }
4805
- appply() {
4806
- this.el.nativeElement.style.setProperty('margin', 'unset');
4807
- this.el.nativeElement.style.setProperty('align-items', 'unset');
4808
- if (this.layout?.align == 'center') {
4809
- this.el.nativeElement.style.setProperty('margin', 'auto');
4810
- this.el.nativeElement.style.setProperty('align-items', 'center');
4811
- }
4812
- else if (this.layout?.align == "left") {
4813
- this.el.nativeElement.style.setProperty('margin-right', "auto");
4814
- this.el.nativeElement.style.setProperty('align-items', 'flex-start');
4815
- }
4816
- else {
4817
- this.el.nativeElement.style.setProperty("margin-left", "auto");
4818
- this.el.nativeElement.style.setProperty('align-items', 'flex-end');
4819
- }
4820
- }
4821
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContainerFitDirective, deps: [{ token: i0.ElementRef }, { token: EventsService }], target: i0.ɵɵFactoryTarget.Directive }); }
4822
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ContainerFitDirective, isStandalone: true, selector: "[simpoContainerLayout]", inputs: { layout: ["simpoContainerLayout", "layout"] }, usesOnChanges: true, ngImport: i0 }); }
4823
- }
4824
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContainerFitDirective, decorators: [{
4825
- type: Directive,
4826
- args: [{
4827
- selector: '[simpoContainerLayout]',
4828
- standalone: true,
4829
- }]
4830
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: EventsService }], propDecorators: { layout: [{
4831
- type: Input,
4832
- args: ['simpoContainerLayout']
4833
- }] } });
4834
-
4835
4645
  class simpoConetenAlignmentDirective {
4836
4646
  constructor(el, eventService) {
4837
4647
  this.el = el;
@@ -4878,37 +4688,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
4878
4688
  args: ['simpoContentAlignment']
4879
4689
  }] } });
4880
4690
 
4881
- class SimpoFooterLayoutDirective {
4882
- constructor(el, eventService) {
4883
- this.el = el;
4884
- this.eventService = eventService;
4885
- this.eventService.spacingChangeChecks.subscribe((res) => {
4886
- this.appply();
4887
- });
4888
- }
4889
- ngOnInit() {
4890
- this.appply();
4891
- }
4892
- ngOnChanges() {
4893
- this.appply();
4894
- }
4895
- appply() {
4896
- applySpacing(this.el.nativeElement, this.layout?.spacing);
4897
- }
4898
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SimpoFooterLayoutDirective, deps: [{ token: i0.ElementRef }, { token: EventsService }], target: i0.ɵɵFactoryTarget.Directive }); }
4899
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: SimpoFooterLayoutDirective, isStandalone: true, selector: "[simpoFooterLayout]", inputs: { layout: ["simpoFooterLayout", "layout"] }, usesOnChanges: true, ngImport: i0 }); }
4900
- }
4901
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SimpoFooterLayoutDirective, decorators: [{
4902
- type: Directive,
4903
- args: [{
4904
- selector: '[simpoFooterLayout]',
4905
- standalone: true,
4906
- }]
4907
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: EventsService }], propDecorators: { layout: [{
4908
- type: Input,
4909
- args: ['simpoFooterLayout']
4910
- }] } });
4911
-
4912
4691
  class PositionLayoutDirectiveDirective {
4913
4692
  constructor(el, eventService) {
4914
4693
  this.el = el;
@@ -4996,61 +4775,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
4996
4775
  args: ['simpoContainerAlignment']
4997
4776
  }] } });
4998
4777
 
4999
- class TextSizeDirective {
5000
- constructor(eventService, el) {
5001
- this.eventService = eventService;
5002
- this.el = el;
5003
- }
5004
- ngOnChanges() {
5005
- this.applyFontSize();
5006
- }
5007
- ngOnDestroy() {
5008
- this.fontSizeSubscription?.unsubscribe();
5009
- }
5010
- applyFontSize() {
5011
- if (this.type === 'heading') {
5012
- this.removeHeadingClass();
5013
- this.el.nativeElement.classList.add(this.size ? fontSize.heading[this.size] : fontSize.heading.Large);
5014
- }
5015
- if (this.type === 'desc') {
5016
- this.removeDescClass();
5017
- this.el.nativeElement.classList.add(this.size ? fontSize.desc[this.size] : fontSize.desc.Large);
5018
- }
5019
- }
5020
- changeFontSizeCheck() {
5021
- this.fontSizeSubscription = this.eventService.textSizeChangeCheck.subscribe((res) => {
5022
- if (res.id === this.el.nativeElement.id) {
5023
- this.size = res.size;
5024
- this.type = res.type;
5025
- this.applyFontSize();
5026
- }
5027
- });
5028
- }
5029
- removeHeadingClass() {
5030
- for (let values of Object.values(fontSize.heading)) {
5031
- this.el.nativeElement.classList.remove(values);
5032
- }
5033
- }
5034
- removeDescClass() {
5035
- for (let values of Object.values(fontSize.desc)) {
5036
- this.el.nativeElement.classList.remove(values);
5037
- }
5038
- }
5039
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextSizeDirective, deps: [{ token: EventsService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
5040
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TextSizeDirective, isStandalone: true, selector: "[simpoTextSize]", inputs: { size: "size", type: "type" }, usesOnChanges: true, ngImport: i0 }); }
5041
- }
5042
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextSizeDirective, decorators: [{
5043
- type: Directive,
5044
- args: [{
5045
- selector: '[simpoTextSize]',
5046
- standalone: true
5047
- }]
5048
- }], ctorParameters: () => [{ type: EventsService }, { type: i0.ElementRef }], propDecorators: { size: [{
5049
- type: Input
5050
- }], type: [{
5051
- type: Input
5052
- }] } });
5053
-
5054
4778
  class SpacingAroundDirective {
5055
4779
  constructor(el, eventService) {
5056
4780
  this.el = el;
@@ -5125,136 +4849,348 @@ class SpacingAroundDirective {
5125
4849
  return this.darkenColor(r, g, b, 0.15);
5126
4850
  }
5127
4851
  }
5128
- lightenColor(r, g, b, factor) {
5129
- const newR = Math.min(255, Math.round(r + (255 - r) * factor));
5130
- const newG = Math.min(255, Math.round(g + (255 - g) * factor));
5131
- const newB = Math.min(255, Math.round(b + (255 - b) * factor));
5132
- return `2px solid rgb(${newR}, ${newG}, ${newB})`;
4852
+ lightenColor(r, g, b, factor) {
4853
+ const newR = Math.min(255, Math.round(r + (255 - r) * factor));
4854
+ const newG = Math.min(255, Math.round(g + (255 - g) * factor));
4855
+ const newB = Math.min(255, Math.round(b + (255 - b) * factor));
4856
+ return `2px solid rgb(${newR}, ${newG}, ${newB})`;
4857
+ }
4858
+ darkenColor(r, g, b, factor) {
4859
+ const newR = Math.max(0, Math.round(r * (1 - factor)));
4860
+ const newG = Math.max(0, Math.round(g * (1 - factor)));
4861
+ const newB = Math.max(0, Math.round(b * (1 - factor)));
4862
+ return `2px solid rgb(${newR}, ${newG}, ${newB})`;
4863
+ }
4864
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpacingAroundDirective, deps: [{ token: i0.ElementRef }, { token: EventsService }], target: i0.ɵɵFactoryTarget.Directive }); }
4865
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: SpacingAroundDirective, isStandalone: true, selector: "[spacingAround]", inputs: { layout: ["spacingAround", "layout"], backgroundInfo: "backgroundInfo" }, usesOnChanges: true, ngImport: i0 }); }
4866
+ }
4867
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpacingAroundDirective, decorators: [{
4868
+ type: Directive,
4869
+ args: [{
4870
+ selector: '[spacingAround]',
4871
+ standalone: true
4872
+ }]
4873
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: EventsService }], propDecorators: { layout: [{
4874
+ type: Input,
4875
+ args: ['spacingAround']
4876
+ }], backgroundInfo: [{
4877
+ type: Input,
4878
+ args: ['backgroundInfo']
4879
+ }] } });
4880
+
4881
+ class BannerSectionComponent extends BaseSection {
4882
+ constructor(_eventService) {
4883
+ super();
4884
+ this._eventService = _eventService;
4885
+ this.screenWidth = "";
4886
+ }
4887
+ ngOnInit() {
4888
+ this.deleteSelected = this.delete;
4889
+ this.content = this.data?.content;
4890
+ this.styles = this.data?.styles;
4891
+ if (!this.styles || !this.content)
4892
+ return;
4893
+ console.log("styles", this.styles?.background);
4894
+ this.getScreenSize();
4895
+ // this.styles.layout.bannerImageDisplay = this.content.image.showImage;
4896
+ }
4897
+ get stylesLayout() {
4898
+ return { ...this.styles?.layout };
4899
+ }
4900
+ get getJustifyContent() {
4901
+ return "justify-content: center !important;";
4902
+ }
4903
+ get canMergeNavbar() {
4904
+ return this.styles?.merge;
4905
+ }
4906
+ get isBorderlessImage() {
4907
+ return this.styles?.borderLessImage;
4908
+ }
4909
+ get getPositionLayout() {
4910
+ return { ...this.styles?.positionLayout };
4911
+ }
4912
+ editSection() {
4913
+ this._eventService.toggleEditorEvent.emit(false);
4914
+ setTimeout(() => {
4915
+ this._eventService.editSection.emit({ data: this.data });
4916
+ }, 100);
4917
+ }
4918
+ stopPropagation(event) {
4919
+ event.stopPropagation();
4920
+ }
4921
+ getScreenSize() {
4922
+ this.screenWidth = window.innerWidth;
4923
+ }
4924
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BannerSectionComponent, deps: [{ token: EventsService }], target: i0.ɵɵFactoryTarget.Component }); }
4925
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BannerSectionComponent, isStandalone: true, selector: "simpo-banner-section", inputs: { data: "data", index: "index", edit: "edit", delete: "delete", customClass: "customClass", nextComponentColor: "nextComponentColor" }, host: { listeners: { "window: resize": "getScreenSize($event)" } }, usesInheritance: true, ngImport: i0, template: "<div [id]=\"data?.id\"\r\n [ngClass]=\"{'mergeNavbar': canMergeNavbar && index == 1, 'justify-content-between d-flex': isBorderlessImage , 'd-block': isBorderlessImage}\"\r\n class=\"total-container\" style=\"overflow-x: hidden;\" simpoHover\r\n (hovering)=\"showEditTabs($event)\" [attr.style]=\"customClass\">\r\n <div [spacingAround]=\"stylesLayout\" [id]=\"data?.id\" [simpoBorder]=\"styles?.border\" [backgroundInfo]=\"styles?.background\">\r\n <div [simpoBackground]=\"styles?.background\" [id]=\"data?.id\" class=\"total-container row\" [simpoCorner]=\"styles?.corners\"\r\n [ngClass]=\"{'flex-column': isBorderlessImage && styles?.positionLayout?.value === 'top' , 'flex-column-reverse': isBorderlessImage && styles?.positionLayout?.value === 'bottom'}\">\r\n <ng-container *ngTemplateOutlet=\"ImageSection\"></ng-container>\r\n <div class=\"py-5\"\r\n [ngClass]=\"{'col-lg-6 col-xxl-6': content?.image?.showImage && isBorderlessImage, 'w-100 col-xxl-8': !isBorderlessImage || !content?.image?.showImage , 'col-lg-12 col-md-12 col-12 width-100': isBorderlessImage && (styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom')}\"\r\n [id]=\"data?.id\" [spacingHorizontal]=\"stylesLayout\" [simpoOverlay]=\"styles?.background\">\r\n <div class=\"row g-5 justify-content-start mlr-0 h-auto\" [id]=\"data?.id\"\r\n [style.flexDirection]=\"styles?.revertImage ? 'column-reverse' : ''\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoLayout]=\"styles?.layout\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [ngClass]=\"{ 'align-items-stretch': styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right', 'flex-lg-row': true }\">\r\n <div class=\"col-10 col-sm-8 col-lg-6\" *ngIf=\"content?.image?.showImage && !isBorderlessImage\"\r\n [simpoContainerAlignment]=\"stylesLayout\">\r\n <img loading=\"lazy\" [src]=\"content?.image?.url\" [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\"\r\n [simpoObjectPosition]=\"content?.image?.position\" [simpoCorner]=\"styles?.corners\"\r\n [appImageEditor]=\"edit || false\" [imageData]=\"content?.image\" [sectionId]=\"data?.id\"\r\n [class]=\"data?.id+(content?.image?.id || '')\" class=\"d-block w-100 insideImg\"\r\n [alt]=\"content?.image?.altText\" loading=\"lazy\" />\r\n </div>\r\n <div class=\"d-flex flex-column justify-content-start gap-15 content-side\"\r\n [ngClass]=\"{'col-lg-12': content?.image?.showImage && isBorderlessImage, 'col-lg-6':!isBorderlessImage || !content?.image?.showImage,'box p-3': content?.display?.showCard}\"\r\n [simpoContainerAlignment]=\"stylesLayout\" [id]=\"data?.id\" [simpoContentAlignment]=\"styles?.contentAlignment\"\r\n [simpoCorner]=\"styles?.corners\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <!-- <div [innerHTML]=\"item.value | sanitizeHtml\" class=\"text-element\"\r\n [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\"></div> -->\r\n <div [ngClass]=\"item.label.includes('Heading') ? 'heading-large lh-2 mb-4' : 'body-large'\">\r\n <simpo-text-editor [(value)]=\"item.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 card-container\"\r\n [ngClass]=\"{'gap-3': screenWidth > 475 , 'gap-1' : screenWidth <= 475}\">\r\n <div *ngFor=\"let item of content?.listItem?.data\" class=\"carder\">\r\n <div class=\"card_wrapper\">\r\n <div class=\"container_card visible\">\r\n <div class=\"card-section\">\r\n <div class=\"second-part-card\">\r\n </div>\r\n <div class=\"first-part-card d-flex align-items-center\"\r\n [ngClass]=\"item.inputText[0].label=== 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n <img loading=\"lazy\" class=\"tick-img\" [src]=\"item?.icon?.url\" alt=\"something\" />\r\n <!-- <div [innerHTML]=\"item.inputText[0].value | sanitizeHtml\" class=\"ml-5\"></div> -->\r\n <simpo-text-editor [(value)]=\"item.inputText[0].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"button-display\"\r\n [simpoContainerAlignment]=\"stylesLayout\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\"\r\n [buttonId]=\"button.id\" [sectionId]=\"data?.id\" [color]=\"data?.styles?.background?.accentColor\"\r\n [edit]=\"edit\" [backgroundInfo]=\"data?.styles?.background\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"styles?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"\r\n [isMerged]=\"styles?.merge ?? false\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n</div>\r\n<ng-template #ImageSection>\r\n <div class=\"col-10 col-sm-8 col-lg-6\"\r\n [ngClass]=\"{'w-100' : content?.image?.showImage && isBorderlessImage && styles?.positionLayout?.value == 'top' || styles?.positionLayout?.value == 'bottom'}\"\r\n style=\"padding: 0px !important;\" *ngIf=\"content?.image?.showImage && isBorderlessImage;\"\r\n [simpoBorderless]=\"getPositionLayout\">\r\n <img loading=\"lazy\" [src]=\"content?.image?.url\" class=\"d-block img-fluid h-100 w-100\"\r\n [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\" [simpoObjectPosition]=\"content?.image?.position\"\r\n [alt]=\"content?.image?.altText\" width=\"700\" height=\"500\" loading=\"lazy\" [appImageEditor]=\"edit || false\"\r\n [imageData]=\"content?.image\" [sectionId]=\"data?.id\" />\r\n </div>\r\n</ng-template>", styles: [".btn-primary{border:none}.hover_effect{position:unset;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.width-100{width:100%!important}.button-display{display:flex;gap:10px}.gap-15{gap:15px}.box{background:#fff;border:8px solid rgb(232 232 232 / 80%);box-shadow:#63636333 0 2px 8px}@media only screen and (max-width: 475px){.col-10{width:100%;max-width:100%;flex-basis:100%;height:32vh;padding-right:13px;padding-left:13px}.total-container{flex-direction:column}.insideImg{height:100%!important}.card-container{flex-direction:column}}.text-element{inline-size:100%;overflow-wrap:break-word}.container_card .card-section{align-items:center;gap:20px;padding-top:5px;padding-bottom:5px;width:100%;border-radius:10px;opacity:0;transform:translateY(150px);transition:2s all ease}.card_wrapper{display:flex;flex-direction:column;gap:20px}.visible{visibility:visible!important}.visible .card-section{opacity:1;transform:translateY(0)}.first-part-card{min-width:fit-content}.first-part-card .body-large{font-size:1.1rem;font-weight:700}.second-part-card{width:2px;height:2px;border-radius:50%;display:flex;justify-content:center;align-items:center}.third-part-card .heading-large{font-size:1.1rem;font-weight:700}.third-part-card .body-large{font-size:12px;font-weight:400;line-height:15px}.tick-img{width:25px;height:25px;border-radius:50%}.third-part-card{display:flex;flex-direction:column;gap:10px}.image-card{width:50%!important}.svg{fill:#ffb6c1;transform:rotate(180deg)}.ml-5{margin-left:5px}.mlr-0{margin-left:0;margin-right:0}.d-block{display:block!important}\n"], dependencies: [{ kind: "ngmodule", type: SimpoElementsModule }, { kind: "component", type: SimpoButtonComponent, selector: "app-button-element", inputs: ["buttonContent", "buttonStyle", "buttonId", "color", "sectionId", "edit", "backgroundInfo"] }, { kind: "component", type: SvgDividerComponent, selector: "simpo-svg-divider", inputs: ["dividerType", "color"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "ngmodule", type: MatGridListModule }, { kind: "component", type: TextEditorComponent, selector: "simpo-text-editor", inputs: ["value", "editable", "sectionId", "label"], outputs: ["valueChange"] }, { kind: "directive", type:
4926
+ // SimpoHoverBorderDirective,
4927
+ //directive
4928
+ SimpoBorderlessDirective, selector: "[simpoBorderless]", inputs: ["simpoBorderless"] }, { kind: "directive", type: SimpoContainerAligment, selector: "[simpoContainerAlignment]", inputs: ["simpoContainerAlignment"] }, { kind: "directive", type: AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: BorderDirective, selector: "[simpoBorder]", inputs: ["simpoBorder"] }, { kind: "directive", type: simpoConetenAlignmentDirective, selector: "[simpoContentAlignment]", inputs: ["simpoContentAlignment"] }, { kind: "directive", type: ContentFitDirective, selector: "[simpoLayout]", inputs: ["simpoLayout"] }, { kind: "directive", type: CornerDirective, selector: "[simpoCorner]", inputs: ["simpoCorner"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "directive", type: ImageDirectiveDirective, selector: "[simpoImageDirective]", inputs: ["simpoImageDirective"] }, { kind: "directive", type: OverlayDirective, selector: "[simpoOverlay]", inputs: ["simpoOverlay"] }, { kind: "directive", type: PositionLayoutDirectiveDirective, selector: "[simpoPositionLayoutDirective]", inputs: ["simpoPositionLayoutDirective"] }, { kind: "directive", type: ObjectPositionDirective, selector: "[simpoObjectPosition]", inputs: ["simpoObjectPosition"] }, { kind: "directive", type: SpacingHorizontalDirective, selector: "[spacingHorizontal]", inputs: ["spacingHorizontal", "isHeader"] }, { kind: "directive", type: SpacingAroundDirective, selector: "[spacingAround]", inputs: ["spacingAround", "backgroundInfo"] }, { kind: "directive", type: ImageEditorDirective, selector: "img[appImageEditor]", inputs: ["appImageEditor", "imageData", "sectionId"] }] }); }
4929
+ }
4930
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BannerSectionComponent, decorators: [{
4931
+ type: Component,
4932
+ args: [{ selector: 'simpo-banner-section', standalone: true, imports: [
4933
+ SimpoElementsModule,
4934
+ CommonModule,
4935
+ SimpoComponentModule,
4936
+ MatGridListModule,
4937
+ SimpoButtonComponent,
4938
+ TextEditorComponent,
4939
+ // SimpoHoverBorderDirective,
4940
+ //directive
4941
+ SimpoBorderlessDirective,
4942
+ SimpoContainerAligment,
4943
+ AnimationDirective,
4944
+ BackgroundDirective,
4945
+ BorderDirective,
4946
+ simpoConetenAlignmentDirective,
4947
+ ContentFitDirective,
4948
+ CornerDirective,
4949
+ HoverDirective,
4950
+ ImageDirectiveDirective,
4951
+ OverlayDirective,
4952
+ PositionLayoutDirectiveDirective,
4953
+ ObjectPositionDirective,
4954
+ SpacingHorizontalDirective,
4955
+ SpacingAroundDirective,
4956
+ ImageEditorDirective
4957
+ ], template: "<div [id]=\"data?.id\"\r\n [ngClass]=\"{'mergeNavbar': canMergeNavbar && index == 1, 'justify-content-between d-flex': isBorderlessImage , 'd-block': isBorderlessImage}\"\r\n class=\"total-container\" style=\"overflow-x: hidden;\" simpoHover\r\n (hovering)=\"showEditTabs($event)\" [attr.style]=\"customClass\">\r\n <div [spacingAround]=\"stylesLayout\" [id]=\"data?.id\" [simpoBorder]=\"styles?.border\" [backgroundInfo]=\"styles?.background\">\r\n <div [simpoBackground]=\"styles?.background\" [id]=\"data?.id\" class=\"total-container row\" [simpoCorner]=\"styles?.corners\"\r\n [ngClass]=\"{'flex-column': isBorderlessImage && styles?.positionLayout?.value === 'top' , 'flex-column-reverse': isBorderlessImage && styles?.positionLayout?.value === 'bottom'}\">\r\n <ng-container *ngTemplateOutlet=\"ImageSection\"></ng-container>\r\n <div class=\"py-5\"\r\n [ngClass]=\"{'col-lg-6 col-xxl-6': content?.image?.showImage && isBorderlessImage, 'w-100 col-xxl-8': !isBorderlessImage || !content?.image?.showImage , 'col-lg-12 col-md-12 col-12 width-100': isBorderlessImage && (styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom')}\"\r\n [id]=\"data?.id\" [spacingHorizontal]=\"stylesLayout\" [simpoOverlay]=\"styles?.background\">\r\n <div class=\"row g-5 justify-content-start mlr-0 h-auto\" [id]=\"data?.id\"\r\n [style.flexDirection]=\"styles?.revertImage ? 'column-reverse' : ''\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoLayout]=\"styles?.layout\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [ngClass]=\"{ 'align-items-stretch': styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right', 'flex-lg-row': true }\">\r\n <div class=\"col-10 col-sm-8 col-lg-6\" *ngIf=\"content?.image?.showImage && !isBorderlessImage\"\r\n [simpoContainerAlignment]=\"stylesLayout\">\r\n <img loading=\"lazy\" [src]=\"content?.image?.url\" [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\"\r\n [simpoObjectPosition]=\"content?.image?.position\" [simpoCorner]=\"styles?.corners\"\r\n [appImageEditor]=\"edit || false\" [imageData]=\"content?.image\" [sectionId]=\"data?.id\"\r\n [class]=\"data?.id+(content?.image?.id || '')\" class=\"d-block w-100 insideImg\"\r\n [alt]=\"content?.image?.altText\" loading=\"lazy\" />\r\n </div>\r\n <div class=\"d-flex flex-column justify-content-start gap-15 content-side\"\r\n [ngClass]=\"{'col-lg-12': content?.image?.showImage && isBorderlessImage, 'col-lg-6':!isBorderlessImage || !content?.image?.showImage,'box p-3': content?.display?.showCard}\"\r\n [simpoContainerAlignment]=\"stylesLayout\" [id]=\"data?.id\" [simpoContentAlignment]=\"styles?.contentAlignment\"\r\n [simpoCorner]=\"styles?.corners\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <!-- <div [innerHTML]=\"item.value | sanitizeHtml\" class=\"text-element\"\r\n [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\"></div> -->\r\n <div [ngClass]=\"item.label.includes('Heading') ? 'heading-large lh-2 mb-4' : 'body-large'\">\r\n <simpo-text-editor [(value)]=\"item.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-3 card-container\"\r\n [ngClass]=\"{'gap-3': screenWidth > 475 , 'gap-1' : screenWidth <= 475}\">\r\n <div *ngFor=\"let item of content?.listItem?.data\" class=\"carder\">\r\n <div class=\"card_wrapper\">\r\n <div class=\"container_card visible\">\r\n <div class=\"card-section\">\r\n <div class=\"second-part-card\">\r\n </div>\r\n <div class=\"first-part-card d-flex align-items-center\"\r\n [ngClass]=\"item.inputText[0].label=== 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n <img loading=\"lazy\" class=\"tick-img\" [src]=\"item?.icon?.url\" alt=\"something\" />\r\n <!-- <div [innerHTML]=\"item.inputText[0].value | sanitizeHtml\" class=\"ml-5\"></div> -->\r\n <simpo-text-editor [(value)]=\"item.inputText[0].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"button-display\"\r\n [simpoContainerAlignment]=\"stylesLayout\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\"\r\n [buttonId]=\"button.id\" [sectionId]=\"data?.id\" [color]=\"data?.styles?.background?.accentColor\"\r\n [edit]=\"edit\" [backgroundInfo]=\"data?.styles?.background\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"styles?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"\r\n [isMerged]=\"styles?.merge ?? false\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n</div>\r\n<ng-template #ImageSection>\r\n <div class=\"col-10 col-sm-8 col-lg-6\"\r\n [ngClass]=\"{'w-100' : content?.image?.showImage && isBorderlessImage && styles?.positionLayout?.value == 'top' || styles?.positionLayout?.value == 'bottom'}\"\r\n style=\"padding: 0px !important;\" *ngIf=\"content?.image?.showImage && isBorderlessImage;\"\r\n [simpoBorderless]=\"getPositionLayout\">\r\n <img loading=\"lazy\" [src]=\"content?.image?.url\" class=\"d-block img-fluid h-100 w-100\"\r\n [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\" [simpoObjectPosition]=\"content?.image?.position\"\r\n [alt]=\"content?.image?.altText\" width=\"700\" height=\"500\" loading=\"lazy\" [appImageEditor]=\"edit || false\"\r\n [imageData]=\"content?.image\" [sectionId]=\"data?.id\" />\r\n </div>\r\n</ng-template>", styles: [".btn-primary{border:none}.hover_effect{position:unset;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.width-100{width:100%!important}.button-display{display:flex;gap:10px}.gap-15{gap:15px}.box{background:#fff;border:8px solid rgb(232 232 232 / 80%);box-shadow:#63636333 0 2px 8px}@media only screen and (max-width: 475px){.col-10{width:100%;max-width:100%;flex-basis:100%;height:32vh;padding-right:13px;padding-left:13px}.total-container{flex-direction:column}.insideImg{height:100%!important}.card-container{flex-direction:column}}.text-element{inline-size:100%;overflow-wrap:break-word}.container_card .card-section{align-items:center;gap:20px;padding-top:5px;padding-bottom:5px;width:100%;border-radius:10px;opacity:0;transform:translateY(150px);transition:2s all ease}.card_wrapper{display:flex;flex-direction:column;gap:20px}.visible{visibility:visible!important}.visible .card-section{opacity:1;transform:translateY(0)}.first-part-card{min-width:fit-content}.first-part-card .body-large{font-size:1.1rem;font-weight:700}.second-part-card{width:2px;height:2px;border-radius:50%;display:flex;justify-content:center;align-items:center}.third-part-card .heading-large{font-size:1.1rem;font-weight:700}.third-part-card .body-large{font-size:12px;font-weight:400;line-height:15px}.tick-img{width:25px;height:25px;border-radius:50%}.third-part-card{display:flex;flex-direction:column;gap:10px}.image-card{width:50%!important}.svg{fill:#ffb6c1;transform:rotate(180deg)}.ml-5{margin-left:5px}.mlr-0{margin-left:0;margin-right:0}.d-block{display:block!important}\n"] }]
4958
+ }], ctorParameters: () => [{ type: EventsService }], propDecorators: { data: [{
4959
+ type: Input
4960
+ }], index: [{
4961
+ type: Input
4962
+ }], edit: [{
4963
+ type: Input
4964
+ }], delete: [{
4965
+ type: Input
4966
+ }], customClass: [{
4967
+ type: Input
4968
+ }], nextComponentColor: [{
4969
+ type: Input
4970
+ }], getScreenSize: [{
4971
+ type: HostListener,
4972
+ args: ["window: resize", ["$event"]]
4973
+ }] } });
4974
+
4975
+ class BannerContentFitDirective {
4976
+ constructor(el, eventService, renderer) {
4977
+ this.el = el;
4978
+ this.eventService = eventService;
4979
+ this.renderer = renderer;
4980
+ this.eventService.alignmentChangeChecks.subscribe((res) => {
4981
+ if (this.layout?.bannerImageDisplay) {
4982
+ Object.entries(BANNERALIGNMENT).forEach(([className, classValue]) => {
4983
+ if (res.data?.align === className) {
4984
+ this.renderer.addClass(this.el.nativeElement, classValue);
4985
+ if (res.data?.align == 'top' || res.data?.align == 'bottom') {
4986
+ this.el.nativeElement.style.setProperty('text-align', "center");
4987
+ }
4988
+ }
4989
+ });
4990
+ }
4991
+ else {
4992
+ Object.entries(BANNERHALIGN).forEach(([className, classValue]) => {
4993
+ if (res.data?.layoutAlignment?.value === className) {
4994
+ this.renderer.addClass(this.el.nativeElement, `flex-lg-row`);
4995
+ classValue.split(" ").forEach(element => {
4996
+ this.renderer.addClass(this.el.nativeElement, element);
4997
+ });
4998
+ }
4999
+ });
5000
+ }
5001
+ applySpacing(this.el.nativeElement, this.layout?.spacing);
5002
+ });
5003
+ this.eventService.spacingChangeChecks.subscribe((res) => {
5004
+ if (this.el.nativeElement.id === res.type) {
5005
+ if (this.layout?.fit === 'content') {
5006
+ fitContent(this.el.nativeElement);
5007
+ }
5008
+ else {
5009
+ fitScreen(this.el.nativeElement);
5010
+ }
5011
+ applySpacing(this.el.nativeElement, res.data.spacing);
5012
+ }
5013
+ });
5014
+ }
5015
+ ngOnInit() {
5016
+ this.appply();
5017
+ }
5018
+ ngOnChanges() {
5019
+ this.appply();
5020
+ }
5021
+ appply() {
5022
+ if (this.layout?.fit === 'content') {
5023
+ fitContent(this.el.nativeElement);
5024
+ }
5025
+ else {
5026
+ fitScreen(this.el.nativeElement);
5027
+ }
5028
+ if (this.layout?.bannerImageDisplay) {
5029
+ Object.entries(BANNERALIGNMENT).forEach(([className, classValue]) => {
5030
+ if (this.layout?.layoutAlignment.value === className) {
5031
+ this.renderer.addClass(this.el.nativeElement, classValue);
5032
+ if (this.layout.layoutAlignment.value == 'top' || this.layout.layoutAlignment.value == 'bottom') {
5033
+ this.el.nativeElement.style.setProperty('text-align', "center");
5034
+ }
5035
+ }
5036
+ });
5037
+ }
5038
+ else {
5039
+ Object.entries(BANNERHALIGN).forEach(([className, classValue]) => {
5040
+ if (this.layout?.layoutAlignment.value === className) {
5041
+ this.renderer.addClass(this.el.nativeElement, `flex-lg-row`);
5042
+ classValue.split(" ").forEach(element => {
5043
+ this.renderer.addClass(this.el.nativeElement, element);
5044
+ });
5045
+ }
5046
+ });
5047
+ }
5048
+ applySpacing(this.el.nativeElement, this.layout?.spacing);
5049
+ }
5050
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BannerContentFitDirective, deps: [{ token: i0.ElementRef }, { token: EventsService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
5051
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: BannerContentFitDirective, isStandalone: true, selector: "[simpoBannerLayout]", inputs: { layout: ["simpoBannerLayout", "layout"] }, usesOnChanges: true, ngImport: i0 }); }
5052
+ }
5053
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BannerContentFitDirective, decorators: [{
5054
+ type: Directive,
5055
+ args: [{
5056
+ selector: '[simpoBannerLayout]',
5057
+ standalone: true,
5058
+ }]
5059
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: EventsService }, { type: i0.Renderer2 }], propDecorators: { layout: [{
5060
+ type: Input,
5061
+ args: ['simpoBannerLayout']
5062
+ }] } });
5063
+
5064
+ class ColumnDirectiveDirective {
5065
+ constructor(el, eventService) {
5066
+ this.el = el;
5067
+ this.eventService = eventService;
5068
+ this.checkSizeChanges();
5069
+ }
5070
+ ngOnChanges() {
5071
+ if (this.columnDirective === 'Large') {
5072
+ this.el.nativeElement.classList.add('col-md-6');
5073
+ }
5074
+ if (this.columnDirective === 'Medium') {
5075
+ this.el.nativeElement.classList.add('col-md-4');
5076
+ }
5077
+ if (this.columnDirective === 'Small') {
5078
+ this.el.nativeElement.classList.add('col-md-3');
5079
+ }
5080
+ }
5081
+ ngOnDestroy() {
5082
+ if (this.cardSizeSubSubscription) {
5083
+ this.cardSizeSubSubscription.unsubscribe();
5084
+ }
5133
5085
  }
5134
- darkenColor(r, g, b, factor) {
5135
- const newR = Math.max(0, Math.round(r * (1 - factor)));
5136
- const newG = Math.max(0, Math.round(g * (1 - factor)));
5137
- const newB = Math.max(0, Math.round(b * (1 - factor)));
5138
- return `2px solid rgb(${newR}, ${newG}, ${newB})`;
5086
+ checkSizeChanges() {
5087
+ this.cardSizeSubSubscription = this.eventService.cardSizeChangeChecks.subscribe((res) => {
5088
+ this.addClass(res.size, res.id);
5089
+ });
5139
5090
  }
5140
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpacingAroundDirective, deps: [{ token: i0.ElementRef }, { token: EventsService }], target: i0.ɵɵFactoryTarget.Directive }); }
5141
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: SpacingAroundDirective, isStandalone: true, selector: "[spacingAround]", inputs: { layout: ["spacingAround", "layout"], backgroundInfo: "backgroundInfo" }, usesOnChanges: true, ngImport: i0 }); }
5091
+ addClass(res, id) {
5092
+ if (this.el.nativeElement.id == id) {
5093
+ this.removeAllClasses();
5094
+ if (res === 'Large') {
5095
+ this.el.nativeElement.classList.add('col-md-6');
5096
+ }
5097
+ if (res === 'Medium') {
5098
+ this.el.nativeElement.classList.add('col-md-4');
5099
+ }
5100
+ if (res === 'Small') {
5101
+ this.el.nativeElement.classList.add('col-md-3');
5102
+ }
5103
+ }
5104
+ }
5105
+ removeAllClasses() {
5106
+ this.el.nativeElement.classList.remove("col-md-3");
5107
+ this.el.nativeElement.classList.remove("col-md-4");
5108
+ this.el.nativeElement.classList.remove("col-md-6");
5109
+ }
5110
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnDirectiveDirective, deps: [{ token: i0.ElementRef }, { token: EventsService }], target: i0.ɵɵFactoryTarget.Directive }); }
5111
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ColumnDirectiveDirective, isStandalone: true, selector: "[simpoColumnDirective]", inputs: { columnDirective: ["simpoColumnDirective", "columnDirective"] }, usesOnChanges: true, ngImport: i0 }); }
5142
5112
  }
5143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpacingAroundDirective, decorators: [{
5113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnDirectiveDirective, decorators: [{
5144
5114
  type: Directive,
5145
5115
  args: [{
5146
- selector: '[spacingAround]',
5116
+ selector: '[simpoColumnDirective]',
5147
5117
  standalone: true
5148
5118
  }]
5149
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: EventsService }], propDecorators: { layout: [{
5150
- type: Input,
5151
- args: ['spacingAround']
5152
- }], backgroundInfo: [{
5119
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: EventsService }], propDecorators: { columnDirective: [{
5153
5120
  type: Input,
5154
- args: ['backgroundInfo']
5121
+ args: ['simpoColumnDirective']
5155
5122
  }] } });
5156
5123
 
5157
- class BannerSectionComponent extends BaseSection {
5158
- constructor(_eventService) {
5159
- super();
5160
- this._eventService = _eventService;
5161
- this.screenWidth = "";
5124
+ class ContainerFitDirective {
5125
+ constructor(el, eventService) {
5126
+ this.el = el;
5127
+ this.eventService = eventService;
5162
5128
  }
5163
5129
  ngOnInit() {
5164
- this.deleteSelected = this.delete;
5165
- this.content = this.data?.content;
5166
- this.styles = this.data?.styles;
5167
- if (!this.styles || !this.content)
5168
- return;
5169
- console.log("styles", this.styles?.background);
5170
- this.getScreenSize();
5171
- // this.styles.layout.bannerImageDisplay = this.content.image.showImage;
5172
- }
5173
- get stylesLayout() {
5174
- return { ...this.styles?.layout };
5175
- }
5176
- get getJustifyContent() {
5177
- return "justify-content: center !important;";
5130
+ this.appply();
5178
5131
  }
5179
- get canMergeNavbar() {
5180
- return this.styles?.merge;
5132
+ ngOnChanges() {
5133
+ this.appply();
5181
5134
  }
5182
- get isBorderlessImage() {
5183
- return this.styles?.borderLessImage;
5135
+ appply() {
5136
+ this.el.nativeElement.style.setProperty('margin', 'unset');
5137
+ this.el.nativeElement.style.setProperty('align-items', 'unset');
5138
+ if (this.layout?.align == 'center') {
5139
+ this.el.nativeElement.style.setProperty('margin', 'auto');
5140
+ this.el.nativeElement.style.setProperty('align-items', 'center');
5141
+ }
5142
+ else if (this.layout?.align == "left") {
5143
+ this.el.nativeElement.style.setProperty('margin-right', "auto");
5144
+ this.el.nativeElement.style.setProperty('align-items', 'flex-start');
5145
+ }
5146
+ else {
5147
+ this.el.nativeElement.style.setProperty("margin-left", "auto");
5148
+ this.el.nativeElement.style.setProperty('align-items', 'flex-end');
5149
+ }
5184
5150
  }
5185
- get getPositionLayout() {
5186
- return { ...this.styles?.positionLayout };
5151
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContainerFitDirective, deps: [{ token: i0.ElementRef }, { token: EventsService }], target: i0.ɵɵFactoryTarget.Directive }); }
5152
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ContainerFitDirective, isStandalone: true, selector: "[simpoContainerLayout]", inputs: { layout: ["simpoContainerLayout", "layout"] }, usesOnChanges: true, ngImport: i0 }); }
5153
+ }
5154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContainerFitDirective, decorators: [{
5155
+ type: Directive,
5156
+ args: [{
5157
+ selector: '[simpoContainerLayout]',
5158
+ standalone: true,
5159
+ }]
5160
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: EventsService }], propDecorators: { layout: [{
5161
+ type: Input,
5162
+ args: ['simpoContainerLayout']
5163
+ }] } });
5164
+
5165
+ class SimpoFooterLayoutDirective {
5166
+ constructor(el, eventService) {
5167
+ this.el = el;
5168
+ this.eventService = eventService;
5169
+ this.eventService.spacingChangeChecks.subscribe((res) => {
5170
+ this.appply();
5171
+ });
5187
5172
  }
5188
- editSection() {
5189
- this._eventService.toggleEditorEvent.emit(false);
5190
- setTimeout(() => {
5191
- this._eventService.editSection.emit({ data: this.data });
5192
- }, 100);
5173
+ ngOnInit() {
5174
+ this.appply();
5193
5175
  }
5194
- stopPropagation(event) {
5195
- event.stopPropagation();
5176
+ ngOnChanges() {
5177
+ this.appply();
5196
5178
  }
5197
- getScreenSize() {
5198
- this.screenWidth = window.innerWidth;
5179
+ appply() {
5180
+ applySpacing(this.el.nativeElement, this.layout?.spacing);
5199
5181
  }
5200
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BannerSectionComponent, deps: [{ token: EventsService }], target: i0.ɵɵFactoryTarget.Component }); }
5201
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BannerSectionComponent, isStandalone: true, selector: "simpo-banner-section", inputs: { data: "data", index: "index", edit: "edit", delete: "delete", customClass: "customClass", nextComponentColor: "nextComponentColor" }, host: { listeners: { "window: resize": "getScreenSize($event)" } }, usesInheritance: true, ngImport: i0, template: "<div [id]=\"data?.id\"\r\n [ngClass]=\"{'mergeNavbar': canMergeNavbar && index == 1, 'justify-content-between d-flex': isBorderlessImage , 'd-block': isBorderlessImage}\"\r\n class=\"total-container\" style=\"overflow-x: hidden;\" simpoHover\r\n (hovering)=\"showEditTabs($event)\" [attr.style]=\"customClass\">\r\n <div [spacingAround]=\"stylesLayout\" [id]=\"data?.id\" [simpoBorder]=\"styles?.border\" [backgroundInfo]=\"styles?.background\">\r\n <div [simpoBackground]=\"styles?.background\" [id]=\"data?.id\" class=\"total-container row\" [simpoCorner]=\"styles?.corners\"\r\n [ngClass]=\"{'flex-column': isBorderlessImage && styles?.positionLayout?.value === 'top' , 'flex-column-reverse': isBorderlessImage && styles?.positionLayout?.value === 'bottom'}\">\r\n <ng-container *ngTemplateOutlet=\"ImageSection\"></ng-container>\r\n <div class=\"py-5\"\r\n [ngClass]=\"{'col-lg-6 col-xxl-6': content?.image?.showImage && isBorderlessImage, 'w-100 col-xxl-8': !isBorderlessImage || !content?.image?.showImage , 'col-lg-12 col-md-12 col-12 width-100': isBorderlessImage && (styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom')}\"\r\n [id]=\"data?.id\" [spacingHorizontal]=\"stylesLayout\" [simpoOverlay]=\"styles?.background\">\r\n <div class=\"row g-5 justify-content-start mlr-0 h-auto\" [id]=\"data?.id\"\r\n [style.flexDirection]=\"styles?.revertImage ? 'column-reverse' : ''\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoLayout]=\"styles?.layout\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [ngClass]=\"{ 'align-items-stretch': styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right', 'flex-lg-row': true }\">\r\n <div class=\"col-10 col-sm-8 col-lg-6\" *ngIf=\"content?.image?.showImage && !isBorderlessImage\"\r\n [simpoContainerAlignment]=\"stylesLayout\">\r\n <img loading=\"lazy\" [src]=\"content?.image?.url\" [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\"\r\n [simpoObjectPosition]=\"content?.image?.position\" [simpoCorner]=\"styles?.corners\"\r\n [appImageEditor]=\"edit || false\" [imageData]=\"content?.image\" [sectionId]=\"data?.id\"\r\n [class]=\"data?.id+(content?.image?.id || '')\" class=\"d-block w-100 insideImg\"\r\n [alt]=\"content?.image?.altText\" loading=\"lazy\" />\r\n </div>\r\n <div class=\"d-flex flex-column justify-content-start gap-15 content-side\"\r\n [ngClass]=\"{'col-lg-12': content?.image?.showImage && isBorderlessImage, 'col-lg-6':!isBorderlessImage || !content?.image?.showImage,'box p-3': content?.display?.showCard}\"\r\n [simpoContainerAlignment]=\"stylesLayout\" [id]=\"data?.id\" [simpoContentAlignment]=\"styles?.contentAlignment\"\r\n [simpoCorner]=\"styles?.corners\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <!-- <div [innerHTML]=\"item.value | sanitizeHtml\" class=\"text-element\"\r\n [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\"></div> -->\r\n <simpo-text-editor [(value)]=\"item.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n <div class=\"d-flex gap-3 card-container\"\r\n [ngClass]=\"{'gap-3': screenWidth > 475 , 'gap-1' : screenWidth <= 475}\">\r\n <div *ngFor=\"let item of content?.listItem?.data\" class=\"carder\">\r\n <div class=\"card_wrapper\">\r\n <div class=\"container_card visible\">\r\n <div class=\"card-section\">\r\n <div class=\"second-part-card\">\r\n </div>\r\n <div class=\"first-part-card d-flex align-items-center\"\r\n [ngClass]=\"item.inputText[0].label=== 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n <img loading=\"lazy\" class=\"tick-img\" [src]=\"item?.icon?.url\" alt=\"something\" />\r\n <!-- <div [innerHTML]=\"item.inputText[0].value | sanitizeHtml\" class=\"ml-5\"></div> -->\r\n <simpo-text-editor [(value)]=\"item.inputText[0].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"button-display\"\r\n [simpoContainerAlignment]=\"stylesLayout\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\"\r\n [buttonId]=\"button.id\" [sectionId]=\"data?.id\" [color]=\"data?.styles?.background?.accentColor\"\r\n [edit]=\"edit\" [backgroundInfo]=\"data?.styles?.background\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"styles?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"\r\n [isMerged]=\"styles?.merge ?? false\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n</div>\r\n<ng-template #ImageSection>\r\n <div class=\"col-10 col-sm-8 col-lg-6\"\r\n [ngClass]=\"{'w-100' : content?.image?.showImage && isBorderlessImage && styles?.positionLayout?.value == 'top' || styles?.positionLayout?.value == 'bottom'}\"\r\n style=\"padding: 0px !important;\" *ngIf=\"content?.image?.showImage && isBorderlessImage;\"\r\n [simpoBorderless]=\"getPositionLayout\">\r\n <img loading=\"lazy\" [src]=\"content?.image?.url\" class=\"d-block img-fluid h-100 w-100\"\r\n [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\" [simpoObjectPosition]=\"content?.image?.position\"\r\n [alt]=\"content?.image?.altText\" width=\"700\" height=\"500\" loading=\"lazy\" [appImageEditor]=\"edit || false\"\r\n [imageData]=\"content?.image\" [sectionId]=\"data?.id\" />\r\n </div>\r\n</ng-template>", styles: [".btn-primary{border:none}.hover_effect{position:unset;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.width-100{width:100%!important}.button-display{display:flex;gap:10px}.gap-15{gap:15px}.box{background:#fff;border:8px solid rgb(232 232 232 / 80%);box-shadow:#63636333 0 2px 8px}@media only screen and (max-width: 475px){.col-10{width:100%;max-width:100%;flex-basis:100%;height:32vh;padding-right:13px;padding-left:13px}.total-container{flex-direction:column}.insideImg{height:100%!important}.card-container{flex-direction:column}}.text-element{inline-size:100%;overflow-wrap:break-word}.container_card .card-section{align-items:center;gap:20px;padding-top:5px;padding-bottom:5px;width:100%;border-radius:10px;opacity:0;transform:translateY(150px);transition:2s all ease}.card_wrapper{display:flex;flex-direction:column;gap:20px}.visible{visibility:visible!important}.visible .card-section{opacity:1;transform:translateY(0)}.first-part-card{min-width:fit-content}.first-part-card .body-large{font-size:1.1rem;font-weight:700}.second-part-card{width:2px;height:2px;border-radius:50%;display:flex;justify-content:center;align-items:center}.third-part-card .heading-large{font-size:1.1rem;font-weight:700}.third-part-card .body-large{font-size:12px;font-weight:400;line-height:15px}.tick-img{width:25px;height:25px;border-radius:50%}.third-part-card{display:flex;flex-direction:column;gap:10px}.image-card{width:50%!important}.svg{fill:#ffb6c1;transform:rotate(180deg)}.ml-5{margin-left:5px}.mlr-0{margin-left:0;margin-right:0}.d-block{display:block!important}\n"], dependencies: [{ kind: "ngmodule", type: SimpoElementsModule }, { kind: "component", type: SimpoButtonComponent, selector: "app-button-element", inputs: ["buttonContent", "buttonStyle", "buttonId", "color", "sectionId", "edit", "backgroundInfo"] }, { kind: "component", type: SvgDividerComponent, selector: "simpo-svg-divider", inputs: ["dividerType", "color"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "ngmodule", type: MatGridListModule }, { kind: "component", type: TextEditorComponent, selector: "simpo-text-editor", inputs: ["value", "editable", "sectionId", "label"], outputs: ["valueChange"] }, { kind: "directive", type:
5202
- // SimpoHoverBorderDirective,
5203
- //directive
5204
- SimpoBorderlessDirective, selector: "[simpoBorderless]", inputs: ["simpoBorderless"] }, { kind: "directive", type: SimpoContainerAligment, selector: "[simpoContainerAlignment]", inputs: ["simpoContainerAlignment"] }, { kind: "directive", type: AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: BorderDirective, selector: "[simpoBorder]", inputs: ["simpoBorder"] }, { kind: "directive", type: simpoConetenAlignmentDirective, selector: "[simpoContentAlignment]", inputs: ["simpoContentAlignment"] }, { kind: "directive", type: ContentFitDirective, selector: "[simpoLayout]", inputs: ["simpoLayout"] }, { kind: "directive", type: CornerDirective, selector: "[simpoCorner]", inputs: ["simpoCorner"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "directive", type: ImageDirectiveDirective, selector: "[simpoImageDirective]", inputs: ["simpoImageDirective"] }, { kind: "directive", type: OverlayDirective, selector: "[simpoOverlay]", inputs: ["simpoOverlay"] }, { kind: "directive", type: PositionLayoutDirectiveDirective, selector: "[simpoPositionLayoutDirective]", inputs: ["simpoPositionLayoutDirective"] }, { kind: "directive", type: ObjectPositionDirective, selector: "[simpoObjectPosition]", inputs: ["simpoObjectPosition"] }, { kind: "directive", type: SpacingHorizontalDirective, selector: "[spacingHorizontal]", inputs: ["spacingHorizontal", "isHeader"] }, { kind: "directive", type: SpacingAroundDirective, selector: "[spacingAround]", inputs: ["spacingAround", "backgroundInfo"] }, { kind: "directive", type: ImageEditorDirective, selector: "img[appImageEditor]", inputs: ["appImageEditor", "imageData", "sectionId"] }] }); }
5182
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SimpoFooterLayoutDirective, deps: [{ token: i0.ElementRef }, { token: EventsService }], target: i0.ɵɵFactoryTarget.Directive }); }
5183
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: SimpoFooterLayoutDirective, isStandalone: true, selector: "[simpoFooterLayout]", inputs: { layout: ["simpoFooterLayout", "layout"] }, usesOnChanges: true, ngImport: i0 }); }
5205
5184
  }
5206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BannerSectionComponent, decorators: [{
5207
- type: Component,
5208
- args: [{ selector: 'simpo-banner-section', standalone: true, imports: [
5209
- SimpoElementsModule,
5210
- CommonModule,
5211
- SimpoComponentModule,
5212
- MatGridListModule,
5213
- SimpoButtonComponent,
5214
- TextEditorComponent,
5215
- // SimpoHoverBorderDirective,
5216
- //directive
5217
- SimpoBorderlessDirective,
5218
- SimpoContainerAligment,
5219
- AnimationDirective,
5220
- BackgroundDirective,
5221
- BannerContentFitDirective,
5222
- BorderDirective,
5223
- ButtonDirectiveDirective,
5224
- ColumnDirectiveDirective,
5225
- ContainerFitDirective,
5226
- simpoConetenAlignmentDirective,
5227
- ContentFitDirective,
5228
- CornerDirective,
5229
- SimpoFooterLayoutDirective,
5230
- HoverDirective,
5231
- ImageDirectiveDirective,
5232
- OverlayDirective,
5233
- PositionLayoutDirectiveDirective,
5234
- TextBackgroundDirectiveDirective,
5235
- ObjectPositionDirective,
5236
- ColorDirective,
5237
- TextSizeDirective,
5238
- SanitizeHtmlPipe,
5239
- SpacingHorizontalDirective,
5240
- SpacingAroundDirective,
5241
- ImageEditorDirective
5242
- ], template: "<div [id]=\"data?.id\"\r\n [ngClass]=\"{'mergeNavbar': canMergeNavbar && index == 1, 'justify-content-between d-flex': isBorderlessImage , 'd-block': isBorderlessImage}\"\r\n class=\"total-container\" style=\"overflow-x: hidden;\" simpoHover\r\n (hovering)=\"showEditTabs($event)\" [attr.style]=\"customClass\">\r\n <div [spacingAround]=\"stylesLayout\" [id]=\"data?.id\" [simpoBorder]=\"styles?.border\" [backgroundInfo]=\"styles?.background\">\r\n <div [simpoBackground]=\"styles?.background\" [id]=\"data?.id\" class=\"total-container row\" [simpoCorner]=\"styles?.corners\"\r\n [ngClass]=\"{'flex-column': isBorderlessImage && styles?.positionLayout?.value === 'top' , 'flex-column-reverse': isBorderlessImage && styles?.positionLayout?.value === 'bottom'}\">\r\n <ng-container *ngTemplateOutlet=\"ImageSection\"></ng-container>\r\n <div class=\"py-5\"\r\n [ngClass]=\"{'col-lg-6 col-xxl-6': content?.image?.showImage && isBorderlessImage, 'w-100 col-xxl-8': !isBorderlessImage || !content?.image?.showImage , 'col-lg-12 col-md-12 col-12 width-100': isBorderlessImage && (styles?.positionLayout?.value === 'top' || styles?.positionLayout?.value === 'bottom')}\"\r\n [id]=\"data?.id\" [spacingHorizontal]=\"stylesLayout\" [simpoOverlay]=\"styles?.background\">\r\n <div class=\"row g-5 justify-content-start mlr-0 h-auto\" [id]=\"data?.id\"\r\n [style.flexDirection]=\"styles?.revertImage ? 'column-reverse' : ''\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoLayout]=\"styles?.layout\" [simpoPositionLayoutDirective]=\"styles?.positionLayout\"\r\n [ngClass]=\"{ 'align-items-stretch': styles?.positionLayout?.value === 'left' || styles?.positionLayout?.value === 'right', 'flex-lg-row': true }\">\r\n <div class=\"col-10 col-sm-8 col-lg-6\" *ngIf=\"content?.image?.showImage && !isBorderlessImage\"\r\n [simpoContainerAlignment]=\"stylesLayout\">\r\n <img loading=\"lazy\" [src]=\"content?.image?.url\" [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\"\r\n [simpoObjectPosition]=\"content?.image?.position\" [simpoCorner]=\"styles?.corners\"\r\n [appImageEditor]=\"edit || false\" [imageData]=\"content?.image\" [sectionId]=\"data?.id\"\r\n [class]=\"data?.id+(content?.image?.id || '')\" class=\"d-block w-100 insideImg\"\r\n [alt]=\"content?.image?.altText\" loading=\"lazy\" />\r\n </div>\r\n <div class=\"d-flex flex-column justify-content-start gap-15 content-side\"\r\n [ngClass]=\"{'col-lg-12': content?.image?.showImage && isBorderlessImage, 'col-lg-6':!isBorderlessImage || !content?.image?.showImage,'box p-3': content?.display?.showCard}\"\r\n [simpoContainerAlignment]=\"stylesLayout\" [id]=\"data?.id\" [simpoContentAlignment]=\"styles?.contentAlignment\"\r\n [simpoCorner]=\"styles?.corners\">\r\n <div *ngFor=\"let item of content?.inputText\">\r\n <!-- <div [innerHTML]=\"item.value | sanitizeHtml\" class=\"text-element\"\r\n [ngClass]=\"item.label === 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\"></div> -->\r\n <simpo-text-editor [(value)]=\"item.value\" [editable]=\"edit || false\"></simpo-text-editor>\r\n </div>\r\n <div class=\"d-flex gap-3 card-container\"\r\n [ngClass]=\"{'gap-3': screenWidth > 475 , 'gap-1' : screenWidth <= 475}\">\r\n <div *ngFor=\"let item of content?.listItem?.data\" class=\"carder\">\r\n <div class=\"card_wrapper\">\r\n <div class=\"container_card visible\">\r\n <div class=\"card-section\">\r\n <div class=\"second-part-card\">\r\n </div>\r\n <div class=\"first-part-card d-flex align-items-center\"\r\n [ngClass]=\"item.inputText[0].label=== 'Heading' ? 'heading-large lh-2 mb-3' : 'body-large'\">\r\n <img loading=\"lazy\" class=\"tick-img\" [src]=\"item?.icon?.url\" alt=\"something\" />\r\n <!-- <div [innerHTML]=\"item.inputText[0].value | sanitizeHtml\" class=\"ml-5\"></div> -->\r\n <simpo-text-editor [(value)]=\"item.inputText[0].value\"\r\n [editable]=\"edit || false\"></simpo-text-editor>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"data?.action && data?.action?.display\" class=\"button-display\"\r\n [simpoContainerAlignment]=\"stylesLayout\">\r\n <div *ngFor=\"let button of data?.action?.buttons\">\r\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\"\r\n [buttonId]=\"button.id\" [sectionId]=\"data?.id\" [color]=\"data?.styles?.background?.accentColor\"\r\n [edit]=\"edit\" [backgroundInfo]=\"data?.styles?.background\"></app-button-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"styles?.devider?.display\">\r\n <simpo-svg-divider [dividerType]=\"styles?.devider?.deviderType\"\r\n [color]=\"nextComponentColor?.color\"></simpo-svg-divider>\r\n </ng-container>\r\n\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"\r\n [isMerged]=\"styles?.merge ?? false\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n</div>\r\n<ng-template #ImageSection>\r\n <div class=\"col-10 col-sm-8 col-lg-6\"\r\n [ngClass]=\"{'w-100' : content?.image?.showImage && isBorderlessImage && styles?.positionLayout?.value == 'top' || styles?.positionLayout?.value == 'bottom'}\"\r\n style=\"padding: 0px !important;\" *ngIf=\"content?.image?.showImage && isBorderlessImage;\"\r\n [simpoBorderless]=\"getPositionLayout\">\r\n <img loading=\"lazy\" [src]=\"content?.image?.url\" class=\"d-block img-fluid h-100 w-100\"\r\n [simpoImageDirective]=\"styles?.image\" [id]=\"data?.id\" [simpoObjectPosition]=\"content?.image?.position\"\r\n [alt]=\"content?.image?.altText\" width=\"700\" height=\"500\" loading=\"lazy\" [appImageEditor]=\"edit || false\"\r\n [imageData]=\"content?.image\" [sectionId]=\"data?.id\" />\r\n </div>\r\n</ng-template>", styles: [".btn-primary{border:none}.hover_effect{position:unset;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.width-100{width:100%!important}.button-display{display:flex;gap:10px}.gap-15{gap:15px}.box{background:#fff;border:8px solid rgb(232 232 232 / 80%);box-shadow:#63636333 0 2px 8px}@media only screen and (max-width: 475px){.col-10{width:100%;max-width:100%;flex-basis:100%;height:32vh;padding-right:13px;padding-left:13px}.total-container{flex-direction:column}.insideImg{height:100%!important}.card-container{flex-direction:column}}.text-element{inline-size:100%;overflow-wrap:break-word}.container_card .card-section{align-items:center;gap:20px;padding-top:5px;padding-bottom:5px;width:100%;border-radius:10px;opacity:0;transform:translateY(150px);transition:2s all ease}.card_wrapper{display:flex;flex-direction:column;gap:20px}.visible{visibility:visible!important}.visible .card-section{opacity:1;transform:translateY(0)}.first-part-card{min-width:fit-content}.first-part-card .body-large{font-size:1.1rem;font-weight:700}.second-part-card{width:2px;height:2px;border-radius:50%;display:flex;justify-content:center;align-items:center}.third-part-card .heading-large{font-size:1.1rem;font-weight:700}.third-part-card .body-large{font-size:12px;font-weight:400;line-height:15px}.tick-img{width:25px;height:25px;border-radius:50%}.third-part-card{display:flex;flex-direction:column;gap:10px}.image-card{width:50%!important}.svg{fill:#ffb6c1;transform:rotate(180deg)}.ml-5{margin-left:5px}.mlr-0{margin-left:0;margin-right:0}.d-block{display:block!important}\n"] }]
5243
- }], ctorParameters: () => [{ type: EventsService }], propDecorators: { data: [{
5244
- type: Input
5245
- }], index: [{
5246
- type: Input
5247
- }], edit: [{
5248
- type: Input
5249
- }], delete: [{
5250
- type: Input
5251
- }], customClass: [{
5252
- type: Input
5253
- }], nextComponentColor: [{
5254
- type: Input
5255
- }], getScreenSize: [{
5256
- type: HostListener,
5257
- args: ["window: resize", ["$event"]]
5185
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SimpoFooterLayoutDirective, decorators: [{
5186
+ type: Directive,
5187
+ args: [{
5188
+ selector: '[simpoFooterLayout]',
5189
+ standalone: true,
5190
+ }]
5191
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: EventsService }], propDecorators: { layout: [{
5192
+ type: Input,
5193
+ args: ['simpoFooterLayout']
5258
5194
  }] } });
5259
5195
 
5260
5196
  var SPACING;
@@ -10415,6 +10351,61 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
10415
10351
  type: Input
10416
10352
  }] } });
10417
10353
 
10354
+ class TextSizeDirective {
10355
+ constructor(eventService, el) {
10356
+ this.eventService = eventService;
10357
+ this.el = el;
10358
+ }
10359
+ ngOnChanges() {
10360
+ this.applyFontSize();
10361
+ }
10362
+ ngOnDestroy() {
10363
+ this.fontSizeSubscription?.unsubscribe();
10364
+ }
10365
+ applyFontSize() {
10366
+ if (this.type === 'heading') {
10367
+ this.removeHeadingClass();
10368
+ this.el.nativeElement.classList.add(this.size ? fontSize.heading[this.size] : fontSize.heading.Large);
10369
+ }
10370
+ if (this.type === 'desc') {
10371
+ this.removeDescClass();
10372
+ this.el.nativeElement.classList.add(this.size ? fontSize.desc[this.size] : fontSize.desc.Large);
10373
+ }
10374
+ }
10375
+ changeFontSizeCheck() {
10376
+ this.fontSizeSubscription = this.eventService.textSizeChangeCheck.subscribe((res) => {
10377
+ if (res.id === this.el.nativeElement.id) {
10378
+ this.size = res.size;
10379
+ this.type = res.type;
10380
+ this.applyFontSize();
10381
+ }
10382
+ });
10383
+ }
10384
+ removeHeadingClass() {
10385
+ for (let values of Object.values(fontSize.heading)) {
10386
+ this.el.nativeElement.classList.remove(values);
10387
+ }
10388
+ }
10389
+ removeDescClass() {
10390
+ for (let values of Object.values(fontSize.desc)) {
10391
+ this.el.nativeElement.classList.remove(values);
10392
+ }
10393
+ }
10394
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextSizeDirective, deps: [{ token: EventsService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
10395
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TextSizeDirective, isStandalone: true, selector: "[simpoTextSize]", inputs: { size: "size", type: "type" }, usesOnChanges: true, ngImport: i0 }); }
10396
+ }
10397
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextSizeDirective, decorators: [{
10398
+ type: Directive,
10399
+ args: [{
10400
+ selector: '[simpoTextSize]',
10401
+ standalone: true
10402
+ }]
10403
+ }], ctorParameters: () => [{ type: EventsService }, { type: i0.ElementRef }], propDecorators: { size: [{
10404
+ type: Input
10405
+ }], type: [{
10406
+ type: Input
10407
+ }] } });
10408
+
10418
10409
  class ProcessSectionComponent extends BaseSection {
10419
10410
  constructor(_eventService) {
10420
10411
  super();