simpo-component-library 3.6.107 → 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.
Files changed (25) hide show
  1. package/esm2022/lib/elements/text-editor/text-editor.component.mjs +3 -3
  2. package/esm2022/lib/sections/banner-grid-section/banner-grid-section.component.mjs +3 -3
  3. package/esm2022/lib/sections/banner-section/banner-section.component.mjs +3 -21
  4. package/fesm2022/simpo-component-library.mjs +381 -390
  5. package/fesm2022/simpo-component-library.mjs.map +1 -1
  6. package/lib/components/input-fields/input-fields.component.d.ts +1 -1
  7. package/lib/directive/background-directive.d.ts +1 -1
  8. package/lib/directive/button-directive.directive.d.ts +1 -1
  9. package/lib/directive/color.directive.d.ts +1 -1
  10. package/lib/ecommerce/sections/authentication-required/authentication-required.component.d.ts +1 -1
  11. package/lib/ecommerce/sections/new-collection/new-collection.component.d.ts +1 -1
  12. package/lib/elements/link-editor/link-editor.component.d.ts +1 -1
  13. package/lib/sections/banner-carousel/banner-carousel.component.d.ts +2 -2
  14. package/lib/sections/banner-grid-section/banner-grid-section.component.d.ts +1 -1
  15. package/lib/sections/carousel-banner/carousel-banner.component.d.ts +1 -1
  16. package/lib/sections/contact-us/contact-us.component.d.ts +1 -1
  17. package/lib/sections/header-section/header-section.component.d.ts +1 -1
  18. package/lib/sections/image-section/image-section.component.d.ts +2 -2
  19. package/lib/sections/logo-showcase/logo-showcase.component.d.ts +1 -1
  20. package/lib/sections/moving-text/moving-text.component.d.ts +1 -1
  21. package/lib/sections/new-testimonials/new-testimonials.component.d.ts +1 -1
  22. package/lib/sections/pricing-section/pricing-section.component.d.ts +1 -1
  23. package/package.json +1 -1
  24. package/simpo-component-library-3.6.109.tgz +0 -0
  25. package/simpo-component-library-3.6.107.tgz +0 -0
@@ -1694,7 +1694,7 @@ class TextEditorComponent {
1694
1694
  }
1695
1695
  }
1696
1696
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextEditorComponent, deps: [{ token: ElementServiceService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
1697
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TextEditorComponent, isStandalone: true, selector: "simpo-text-editor", inputs: { value: "value", editable: "editable", sectionId: "sectionId", label: "label" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "toolbar", first: true, predicate: ["toolbar"], descendants: true }, { propertyName: "editor", first: true, predicate: ["editor"], descendants: true }, { propertyName: "colorPicker", first: true, predicate: ["colorPicker"], descendants: true }, { propertyName: "parentElement", first: true, predicate: ["parentElement"], descendants: true }, { propertyName: "suggestion", first: true, predicate: ["suggestion"], descendants: true }], ngImport: i0, template: "<div class=\"editor-container\" [ngClass]=\"{'border': editable}\" #parentElement>\n <div [contenteditable]=\"editable\" [(ngModel)]=\"value\" class=\"editable-text\" (mouseup)=\"showToolbar($event)\" #editor\n (ngModelChange)=\"updateText($event)\" (mousedown)=\"hideToolbar($event)\">\n </div>\n\n <div class=\"toolbar\" *ngIf=\"editable && show\" [ngStyle]=\"{'top.px': toolbarY}\" [style.right]=\"rightZero ? '0px' : 'auto'\" [style.left]=\"!rightZero ? '0px' : 'auto'\" #toolbar >\n <!-- <select class=\"tool\" (change)=\"onFormatChange($event)\" [(ngModel)]=\"toolbarData.selectedHeading\">\n <option value=\"H1\">Heading1</option>\n <option value=\"H2\">Heading2</option>\n <option value=\"H3\">Heading3</option>\n <option value=\"div\">Text</option>\n </select> -->\n\n <button class=\"tool\" (click)=\"formatText('bold')\" [ngClass]=\"{'selectedTool': toolbarData.isBold}\"><mat-icon> format_bold</mat-icon></button>\n <button class=\"tool\" (click)=\"formatText('italic')\" [ngClass]=\"{'selectedTool': toolbarData.isItalic}\"><mat-icon> format_italic</mat-icon></button>\n <button class=\"tool\" (click)=\"formatText('underline')\" [ngClass]=\"{'selectedTool': toolbarData.isUnderlined}\"><mat-icon> format_underlined</mat-icon></button>\n\n <select class=\"tool\" (change)=\"changeFontSize($event)\" [(ngModel)]=\"toolbarData.selectedSize\">\n <option value=\"\" selected>Default</option>\n <option value=\"clamp(0.75rem, 2vw, 1rem)\">Small</option>\n <option value=\"clamp(1rem, 3vw, 1.5rem)\">Medium</option>\n <option value=\"clamp(1.25rem, 4vw, 2rem)\">Large</option>\n <option value=\"clamp(2rem, 5vw, 3rem)\">Extra Large</option>\n <option value=\"clamp(3.1rem, 7vw, 4.5rem)\">Huge</option>\n </select>\n\n <button class=\"tool\" (click)=\"formatText('insertOrderedList')\" [ngClass]=\"{'selectedTool': toolbarData.selectedList === 'insertOrderedList'}\"><mat-icon>format_list_numbered</mat-icon></button>\n <button class=\"tool\" (click)=\"formatText('insertUnorderedList')\" [ngClass]=\"{'selectedTool': toolbarData.selectedList === 'insertUnorderedList'}\"><mat-icon> format_list_bulleted</mat-icon></button>\n\n <button class=\"tool\" (click)=\"formatText('justifyLeft')\" [ngClass]=\"{'selectedTool': toolbarData.selectedAlignment === 'justifyLeft'}\"><mat-icon> format_align_left</mat-icon></button>\n <button class=\"tool\" (click)=\"formatText('justifyCenter')\" [ngClass]=\"{'selectedTool': toolbarData.selectedAlignment === 'justifyCenter'}\"><mat-icon> format_align_center</mat-icon></button>\n <button class=\"tool\" (click)=\"formatText('justifyRight')\" [ngClass]=\"{'selectedTool': toolbarData.selectedAlignment === 'justifyRight'}\"><mat-icon> format_align_right</mat-icon></button>\n\n <div class=\"colorType\">\n <button class=\"solid\" [ngClass]=\"{'solidColorSelected': selectedColorType === 'SOLID'}\" (click)=\"selectedColorType = 'SOLID'\">Solid</button>\n <button class=\"gradient\" [ngClass]=\"{'gradientColorSelected': selectedColorType === 'GRADIENT'}\" (click)=\"selectedColorType = 'GRADIENT'\">Gradient</button>\n </div>\n\n <button class=\"tool color-picker-btn\" (click)=\"openColorPicker()\" *ngIf=\"selectedColorType === 'SOLID'\">\n <mat-icon>format_color_text</mat-icon>\n <input type=\"color\" #colorPicker class=\"hidden-color-picker\" (input)=\"changeColor($event)\" [(ngModel)]=\"toolbarData.selectedColor\">\n </button>\n \n <div class=\"colorType\" *ngIf=\"selectedColorType === 'GRADIENT'\">\n <button class=\"tool color-picker-btn\" (click)=\"openColorPicker(); primaryColorPicker.click()\">\n <mat-icon [style.color]=\"primaryColor\">format_color_text</mat-icon>\n <input type=\"color\" #primaryColorPicker class=\"hidden-color-picker\" (input)=\"changeGradientColor()\" [(ngModel)]=\"primaryColor\">\n </button>\n <button class=\"tool color-picker-btn\" (click)=\"openColorPicker(); secondaryColorPicker.click()\">\n <mat-icon [style.color]=\"secondaryColor\">format_color_text</mat-icon>\n <input type=\"color\" #secondaryColorPicker class=\"hidden-color-picker\" (input)=\"changeGradientColor()\" [(ngModel)]=\"secondaryColor\">\n </button>\n </div>\n </div>\n\n <div class=\"suggestion-box\" [ngStyle]=\"{'top.px': suggestionY}\" [style.right]=\"rightZero ? '0px' : 'auto'\" [style.left]=\"!rightZero ? '0px' : 'auto'\" *ngIf=\"editable && label && showSuggestion\" #suggestion>\n <div class=\"suggestion\" (click)=\"regenerateText()\">\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/887493c1742273970151Frame%201244831740.png\" alt=\"\">\n <div>\n <p class=\"name\">Regenerate Text</p>\n <p class=\"desc\">Get a fresh variation of a current text</p>\n </div>\n </div>\n </div>\n</div>\n", styles: [".toolbar,.tool option{font-family:var(--primary-font-family)}mat-icon{font-family:Material Icons!important}.editor-container{position:relative;display:inline-block;overflow:visible;width:100%}.editor-container div{outline:none}.editable-text{padding:4px;cursor:text}.toolbar{position:absolute;background:#fff;box-shadow:0 2px 5px #0003;display:flex;gap:5px;align-items:center;z-index:100000;box-shadow:#00000029 0 1px 4px;padding:5px 15px;border-radius:22px}.toolbar:hover{border:1px solid #ccc}.toolbar button{background:none;border:none;padding:5px 8px;cursor:pointer;font-weight:700;display:flex;align-items:center}.toolbar button:hover{background:#ddd}.toolbar select{padding:3px;border:none;outline:none;font-size:14px;font-weight:600;cursor:pointer}.toolbar input[type=color]{border:none;width:30px;height:30px;padding:0;cursor:pointer}.color-picker-btn{position:relative;background:none;border:none;cursor:pointer;padding:5px}.hidden-color-picker{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;cursor:pointer}.border{border:1px solid #E9E9E9!important;border-radius:8px}.selectedTool{background:var(--primary-bg-color)!important;color:#fff;border-radius:5px}p{margin-bottom:0rem!important}.suggestion-box{position:absolute;background:#fff;border:1px solid #ccc;box-shadow:0 2px 5px #0003;z-index:10000;box-shadow:#00000029 0 1px 4px;padding:5px 15px;border-radius:10px}.suggestion{display:flex;gap:10px;width:307px;align-items:center;cursor:pointer}.suggestion img{border-radius:5px;width:32px;height:32px;background:#faf1fc;padding:3px}.suggestion .name{color:#000;font-family:var(--primary-font-family)}.suggestion .desc{color:#000;font-size:12px;color:#918585;font-family:var(--primary-font-family)}.colorType{display:flex;border:1px solid #E9E9E9;border-radius:5px;height:35px}.colorType .solid{border-right:1px solid #E9E9E9;font-size:14px!important;font-family:Mulish}.colorType .gradient{font-size:14px!important;font-family:Mulish}.solidColorSelected{background:var(--primary-bg-color)!important;color:#fff;border-top-left-radius:5px;border-bottom-left-radius:5px}.gradientColorSelected{background:var(--primary-bg-color)!important;color:#fff;border-top-right-radius:5px;border-bottom-right-radius:5px}@media screen and (max-width: 475px){.toolbar{max-width:100%;flex-wrap:wrap;row-gap:15px}.tool{width:max-content!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i8.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i8.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ContenteditableValueAccessor, selector: "[contenteditable][ngModel]", inputs: ["contenteditable"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
1697
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TextEditorComponent, isStandalone: true, selector: "simpo-text-editor", inputs: { value: "value", editable: "editable", sectionId: "sectionId", label: "label" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "toolbar", first: true, predicate: ["toolbar"], descendants: true }, { propertyName: "editor", first: true, predicate: ["editor"], descendants: true }, { propertyName: "colorPicker", first: true, predicate: ["colorPicker"], descendants: true }, { propertyName: "parentElement", first: true, predicate: ["parentElement"], descendants: true }, { propertyName: "suggestion", first: true, predicate: ["suggestion"], descendants: true }], ngImport: i0, template: "<div class=\"editor-container\" [ngClass]=\"{'border': editable}\" #parentElement>\n <div [contenteditable]=\"editable\" [(ngModel)]=\"value\" class=\"editable-text\" (mouseup)=\"showToolbar($event)\" #editor\n (ngModelChange)=\"updateText($event)\" (mousedown)=\"hideToolbar($event)\">\n </div>\n\n <div class=\"toolbar\" *ngIf=\"editable && show\" [ngStyle]=\"{'top.px': toolbarY}\" [style.right]=\"rightZero ? '0px' : 'auto'\" [style.left]=\"!rightZero ? '0px' : 'auto'\" #toolbar >\n <!-- <select class=\"tool\" (change)=\"onFormatChange($event)\" [(ngModel)]=\"toolbarData.selectedHeading\">\n <option value=\"H1\">Heading1</option>\n <option value=\"H2\">Heading2</option>\n <option value=\"H3\">Heading3</option>\n <option value=\"div\">Text</option>\n </select> -->\n\n <button class=\"tool\" (click)=\"formatText('bold')\" [ngClass]=\"{'selectedTool': toolbarData.isBold}\"><mat-icon> format_bold</mat-icon></button>\n <button class=\"tool\" (click)=\"formatText('italic')\" [ngClass]=\"{'selectedTool': toolbarData.isItalic}\"><mat-icon> format_italic</mat-icon></button>\n <button class=\"tool\" (click)=\"formatText('underline')\" [ngClass]=\"{'selectedTool': toolbarData.isUnderlined}\"><mat-icon> format_underlined</mat-icon></button>\n\n <select class=\"tool\" (change)=\"changeFontSize($event)\" [(ngModel)]=\"toolbarData.selectedSize\">\n <option value=\"\" selected>Default</option>\n <option value=\"clamp(0.75rem, 2vw, 1rem)\">Small</option>\n <option value=\"clamp(1rem, 3vw, 1.5rem)\">Medium</option>\n <option value=\"clamp(1.25rem, 4vw, 2rem)\">Large</option>\n <option value=\"clamp(2rem, 5vw, 3rem)\">Extra Large</option>\n <option value=\"clamp(3.1rem, 7vw, 4.5rem)\">Huge</option>\n </select>\n\n <button class=\"tool\" (click)=\"formatText('insertOrderedList')\" [ngClass]=\"{'selectedTool': toolbarData.selectedList === 'insertOrderedList'}\"><mat-icon>format_list_numbered</mat-icon></button>\n <button class=\"tool\" (click)=\"formatText('insertUnorderedList')\" [ngClass]=\"{'selectedTool': toolbarData.selectedList === 'insertUnorderedList'}\"><mat-icon> format_list_bulleted</mat-icon></button>\n\n <button class=\"tool\" (click)=\"formatText('justifyLeft')\" [ngClass]=\"{'selectedTool': toolbarData.selectedAlignment === 'justifyLeft'}\"><mat-icon> format_align_left</mat-icon></button>\n <button class=\"tool\" (click)=\"formatText('justifyCenter')\" [ngClass]=\"{'selectedTool': toolbarData.selectedAlignment === 'justifyCenter'}\"><mat-icon> format_align_center</mat-icon></button>\n <button class=\"tool\" (click)=\"formatText('justifyRight')\" [ngClass]=\"{'selectedTool': toolbarData.selectedAlignment === 'justifyRight'}\"><mat-icon> format_align_right</mat-icon></button>\n\n <div class=\"colorType\">\n <button class=\"solid\" [ngClass]=\"{'solidColorSelected': selectedColorType === 'SOLID'}\" (click)=\"selectedColorType = 'SOLID'\">Solid</button>\n <button class=\"gradient\" [ngClass]=\"{'gradientColorSelected': selectedColorType === 'GRADIENT'}\" (click)=\"selectedColorType = 'GRADIENT'\">Gradient</button>\n </div>\n\n <button class=\"tool color-picker-btn\" (click)=\"openColorPicker()\" *ngIf=\"selectedColorType === 'SOLID'\">\n <mat-icon>format_color_text</mat-icon>\n <input type=\"color\" #colorPicker class=\"hidden-color-picker\" (input)=\"changeColor($event)\" [(ngModel)]=\"toolbarData.selectedColor\">\n </button>\n \n <div class=\"colorType\" *ngIf=\"selectedColorType === 'GRADIENT'\">\n <button class=\"tool color-picker-btn\" (click)=\"openColorPicker(); primaryColorPicker.click()\">\n <mat-icon [style.color]=\"primaryColor\">format_color_text</mat-icon>\n <input type=\"color\" #primaryColorPicker class=\"hidden-color-picker\" (input)=\"changeGradientColor()\" [(ngModel)]=\"primaryColor\">\n </button>\n <button class=\"tool color-picker-btn\" (click)=\"openColorPicker(); secondaryColorPicker.click()\">\n <mat-icon [style.color]=\"secondaryColor\">format_color_text</mat-icon>\n <input type=\"color\" #secondaryColorPicker class=\"hidden-color-picker\" (input)=\"changeGradientColor()\" [(ngModel)]=\"secondaryColor\">\n </button>\n </div>\n </div>\n\n <div class=\"suggestion-box\" [ngStyle]=\"{'top.px': suggestionY}\" [style.right]=\"rightZero ? '0px' : 'auto'\" [style.left]=\"!rightZero ? '0px' : 'auto'\" *ngIf=\"editable && label && showSuggestion\" #suggestion>\n <div class=\"suggestion\" (click)=\"regenerateText()\">\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/887493c1742273970151Frame%201244831740.png\" alt=\"\">\n <div>\n <p class=\"name\">Regenerate Text</p>\n <p class=\"desc\">Get a fresh variation of a current text</p>\n </div>\n </div>\n </div>\n</div>\n", styles: [".toolbar,.tool option{font-family:var(--primary-font-family)}mat-icon{font-family:Material Icons!important}.editor-container{position:relative;display:inline-block;overflow:visible;width:100%}.editor-container div{outline:none}.editable-text{padding:4px;cursor:text}.toolbar{position:absolute;background:#fff;box-shadow:0 2px 5px #0003;display:flex;gap:5px;align-items:center;z-index:100000;box-shadow:#00000029 0 1px 4px;padding:5px 15px;border-radius:22px}.toolbar:hover{border:1px solid #ccc}.toolbar button{background:none;border:none;padding:5px 8px;cursor:pointer;font-weight:700;display:flex;align-items:center}.toolbar button:hover{background:#ddd}.toolbar select{padding:3px;border:none;outline:none;font-size:14px;font-weight:600;cursor:pointer}.toolbar input[type=color]{border:none;width:30px;height:30px;padding:0;cursor:pointer}.color-picker-btn{position:relative;background:none;border:none;cursor:pointer;padding:5px}.hidden-color-picker{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;cursor:pointer}.border,.border:hover{border:1px solid #E9E9E9!important;border-radius:8px}.selectedTool{background:var(--primary-bg-color)!important;color:#fff;border-radius:5px}p{margin-bottom:0rem!important}.suggestion-box{position:absolute;background:#fff;border:1px solid #ccc;box-shadow:0 2px 5px #0003;z-index:10000;box-shadow:#00000029 0 1px 4px;padding:5px 15px;border-radius:10px}.suggestion{display:flex;gap:10px;width:307px;align-items:center;cursor:pointer}.suggestion img{border-radius:5px;width:32px;height:32px;background:#faf1fc;padding:3px}.suggestion .name{color:#000;font-family:var(--primary-font-family)}.suggestion .desc{color:#000;font-size:12px;color:#918585;font-family:var(--primary-font-family)}.colorType{display:flex;border:1px solid #E9E9E9;border-radius:5px;height:35px}.colorType .solid{border-right:1px solid #E9E9E9;font-size:14px!important;font-family:Mulish}.colorType .gradient{font-size:14px!important;font-family:Mulish}.solidColorSelected{background:var(--primary-bg-color)!important;color:#fff;border-top-left-radius:5px;border-bottom-left-radius:5px}.gradientColorSelected{background:var(--primary-bg-color)!important;color:#fff;border-top-right-radius:5px;border-bottom-right-radius:5px}@media screen and (max-width: 475px){.toolbar{max-width:100%;flex-wrap:wrap;row-gap:15px}.tool{width:max-content!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i8.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i8.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ContenteditableValueAccessor, selector: "[contenteditable][ngModel]", inputs: ["contenteditable"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
1698
1698
  }
1699
1699
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextEditorComponent, decorators: [{
1700
1700
  type: Component,
@@ -1703,7 +1703,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
1703
1703
  FormsModule,
1704
1704
  ContenteditableValueAccessor,
1705
1705
  MatIconModule
1706
- ], template: "<div class=\"editor-container\" [ngClass]=\"{'border': editable}\" #parentElement>\n <div [contenteditable]=\"editable\" [(ngModel)]=\"value\" class=\"editable-text\" (mouseup)=\"showToolbar($event)\" #editor\n (ngModelChange)=\"updateText($event)\" (mousedown)=\"hideToolbar($event)\">\n </div>\n\n <div class=\"toolbar\" *ngIf=\"editable && show\" [ngStyle]=\"{'top.px': toolbarY}\" [style.right]=\"rightZero ? '0px' : 'auto'\" [style.left]=\"!rightZero ? '0px' : 'auto'\" #toolbar >\n <!-- <select class=\"tool\" (change)=\"onFormatChange($event)\" [(ngModel)]=\"toolbarData.selectedHeading\">\n <option value=\"H1\">Heading1</option>\n <option value=\"H2\">Heading2</option>\n <option value=\"H3\">Heading3</option>\n <option value=\"div\">Text</option>\n </select> -->\n\n <button class=\"tool\" (click)=\"formatText('bold')\" [ngClass]=\"{'selectedTool': toolbarData.isBold}\"><mat-icon> format_bold</mat-icon></button>\n <button class=\"tool\" (click)=\"formatText('italic')\" [ngClass]=\"{'selectedTool': toolbarData.isItalic}\"><mat-icon> format_italic</mat-icon></button>\n <button class=\"tool\" (click)=\"formatText('underline')\" [ngClass]=\"{'selectedTool': toolbarData.isUnderlined}\"><mat-icon> format_underlined</mat-icon></button>\n\n <select class=\"tool\" (change)=\"changeFontSize($event)\" [(ngModel)]=\"toolbarData.selectedSize\">\n <option value=\"\" selected>Default</option>\n <option value=\"clamp(0.75rem, 2vw, 1rem)\">Small</option>\n <option value=\"clamp(1rem, 3vw, 1.5rem)\">Medium</option>\n <option value=\"clamp(1.25rem, 4vw, 2rem)\">Large</option>\n <option value=\"clamp(2rem, 5vw, 3rem)\">Extra Large</option>\n <option value=\"clamp(3.1rem, 7vw, 4.5rem)\">Huge</option>\n </select>\n\n <button class=\"tool\" (click)=\"formatText('insertOrderedList')\" [ngClass]=\"{'selectedTool': toolbarData.selectedList === 'insertOrderedList'}\"><mat-icon>format_list_numbered</mat-icon></button>\n <button class=\"tool\" (click)=\"formatText('insertUnorderedList')\" [ngClass]=\"{'selectedTool': toolbarData.selectedList === 'insertUnorderedList'}\"><mat-icon> format_list_bulleted</mat-icon></button>\n\n <button class=\"tool\" (click)=\"formatText('justifyLeft')\" [ngClass]=\"{'selectedTool': toolbarData.selectedAlignment === 'justifyLeft'}\"><mat-icon> format_align_left</mat-icon></button>\n <button class=\"tool\" (click)=\"formatText('justifyCenter')\" [ngClass]=\"{'selectedTool': toolbarData.selectedAlignment === 'justifyCenter'}\"><mat-icon> format_align_center</mat-icon></button>\n <button class=\"tool\" (click)=\"formatText('justifyRight')\" [ngClass]=\"{'selectedTool': toolbarData.selectedAlignment === 'justifyRight'}\"><mat-icon> format_align_right</mat-icon></button>\n\n <div class=\"colorType\">\n <button class=\"solid\" [ngClass]=\"{'solidColorSelected': selectedColorType === 'SOLID'}\" (click)=\"selectedColorType = 'SOLID'\">Solid</button>\n <button class=\"gradient\" [ngClass]=\"{'gradientColorSelected': selectedColorType === 'GRADIENT'}\" (click)=\"selectedColorType = 'GRADIENT'\">Gradient</button>\n </div>\n\n <button class=\"tool color-picker-btn\" (click)=\"openColorPicker()\" *ngIf=\"selectedColorType === 'SOLID'\">\n <mat-icon>format_color_text</mat-icon>\n <input type=\"color\" #colorPicker class=\"hidden-color-picker\" (input)=\"changeColor($event)\" [(ngModel)]=\"toolbarData.selectedColor\">\n </button>\n \n <div class=\"colorType\" *ngIf=\"selectedColorType === 'GRADIENT'\">\n <button class=\"tool color-picker-btn\" (click)=\"openColorPicker(); primaryColorPicker.click()\">\n <mat-icon [style.color]=\"primaryColor\">format_color_text</mat-icon>\n <input type=\"color\" #primaryColorPicker class=\"hidden-color-picker\" (input)=\"changeGradientColor()\" [(ngModel)]=\"primaryColor\">\n </button>\n <button class=\"tool color-picker-btn\" (click)=\"openColorPicker(); secondaryColorPicker.click()\">\n <mat-icon [style.color]=\"secondaryColor\">format_color_text</mat-icon>\n <input type=\"color\" #secondaryColorPicker class=\"hidden-color-picker\" (input)=\"changeGradientColor()\" [(ngModel)]=\"secondaryColor\">\n </button>\n </div>\n </div>\n\n <div class=\"suggestion-box\" [ngStyle]=\"{'top.px': suggestionY}\" [style.right]=\"rightZero ? '0px' : 'auto'\" [style.left]=\"!rightZero ? '0px' : 'auto'\" *ngIf=\"editable && label && showSuggestion\" #suggestion>\n <div class=\"suggestion\" (click)=\"regenerateText()\">\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/887493c1742273970151Frame%201244831740.png\" alt=\"\">\n <div>\n <p class=\"name\">Regenerate Text</p>\n <p class=\"desc\">Get a fresh variation of a current text</p>\n </div>\n </div>\n </div>\n</div>\n", styles: [".toolbar,.tool option{font-family:var(--primary-font-family)}mat-icon{font-family:Material Icons!important}.editor-container{position:relative;display:inline-block;overflow:visible;width:100%}.editor-container div{outline:none}.editable-text{padding:4px;cursor:text}.toolbar{position:absolute;background:#fff;box-shadow:0 2px 5px #0003;display:flex;gap:5px;align-items:center;z-index:100000;box-shadow:#00000029 0 1px 4px;padding:5px 15px;border-radius:22px}.toolbar:hover{border:1px solid #ccc}.toolbar button{background:none;border:none;padding:5px 8px;cursor:pointer;font-weight:700;display:flex;align-items:center}.toolbar button:hover{background:#ddd}.toolbar select{padding:3px;border:none;outline:none;font-size:14px;font-weight:600;cursor:pointer}.toolbar input[type=color]{border:none;width:30px;height:30px;padding:0;cursor:pointer}.color-picker-btn{position:relative;background:none;border:none;cursor:pointer;padding:5px}.hidden-color-picker{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;cursor:pointer}.border{border:1px solid #E9E9E9!important;border-radius:8px}.selectedTool{background:var(--primary-bg-color)!important;color:#fff;border-radius:5px}p{margin-bottom:0rem!important}.suggestion-box{position:absolute;background:#fff;border:1px solid #ccc;box-shadow:0 2px 5px #0003;z-index:10000;box-shadow:#00000029 0 1px 4px;padding:5px 15px;border-radius:10px}.suggestion{display:flex;gap:10px;width:307px;align-items:center;cursor:pointer}.suggestion img{border-radius:5px;width:32px;height:32px;background:#faf1fc;padding:3px}.suggestion .name{color:#000;font-family:var(--primary-font-family)}.suggestion .desc{color:#000;font-size:12px;color:#918585;font-family:var(--primary-font-family)}.colorType{display:flex;border:1px solid #E9E9E9;border-radius:5px;height:35px}.colorType .solid{border-right:1px solid #E9E9E9;font-size:14px!important;font-family:Mulish}.colorType .gradient{font-size:14px!important;font-family:Mulish}.solidColorSelected{background:var(--primary-bg-color)!important;color:#fff;border-top-left-radius:5px;border-bottom-left-radius:5px}.gradientColorSelected{background:var(--primary-bg-color)!important;color:#fff;border-top-right-radius:5px;border-bottom-right-radius:5px}@media screen and (max-width: 475px){.toolbar{max-width:100%;flex-wrap:wrap;row-gap:15px}.tool{width:max-content!important}}\n"] }]
1706
+ ], template: "<div class=\"editor-container\" [ngClass]=\"{'border': editable}\" #parentElement>\n <div [contenteditable]=\"editable\" [(ngModel)]=\"value\" class=\"editable-text\" (mouseup)=\"showToolbar($event)\" #editor\n (ngModelChange)=\"updateText($event)\" (mousedown)=\"hideToolbar($event)\">\n </div>\n\n <div class=\"toolbar\" *ngIf=\"editable && show\" [ngStyle]=\"{'top.px': toolbarY}\" [style.right]=\"rightZero ? '0px' : 'auto'\" [style.left]=\"!rightZero ? '0px' : 'auto'\" #toolbar >\n <!-- <select class=\"tool\" (change)=\"onFormatChange($event)\" [(ngModel)]=\"toolbarData.selectedHeading\">\n <option value=\"H1\">Heading1</option>\n <option value=\"H2\">Heading2</option>\n <option value=\"H3\">Heading3</option>\n <option value=\"div\">Text</option>\n </select> -->\n\n <button class=\"tool\" (click)=\"formatText('bold')\" [ngClass]=\"{'selectedTool': toolbarData.isBold}\"><mat-icon> format_bold</mat-icon></button>\n <button class=\"tool\" (click)=\"formatText('italic')\" [ngClass]=\"{'selectedTool': toolbarData.isItalic}\"><mat-icon> format_italic</mat-icon></button>\n <button class=\"tool\" (click)=\"formatText('underline')\" [ngClass]=\"{'selectedTool': toolbarData.isUnderlined}\"><mat-icon> format_underlined</mat-icon></button>\n\n <select class=\"tool\" (change)=\"changeFontSize($event)\" [(ngModel)]=\"toolbarData.selectedSize\">\n <option value=\"\" selected>Default</option>\n <option value=\"clamp(0.75rem, 2vw, 1rem)\">Small</option>\n <option value=\"clamp(1rem, 3vw, 1.5rem)\">Medium</option>\n <option value=\"clamp(1.25rem, 4vw, 2rem)\">Large</option>\n <option value=\"clamp(2rem, 5vw, 3rem)\">Extra Large</option>\n <option value=\"clamp(3.1rem, 7vw, 4.5rem)\">Huge</option>\n </select>\n\n <button class=\"tool\" (click)=\"formatText('insertOrderedList')\" [ngClass]=\"{'selectedTool': toolbarData.selectedList === 'insertOrderedList'}\"><mat-icon>format_list_numbered</mat-icon></button>\n <button class=\"tool\" (click)=\"formatText('insertUnorderedList')\" [ngClass]=\"{'selectedTool': toolbarData.selectedList === 'insertUnorderedList'}\"><mat-icon> format_list_bulleted</mat-icon></button>\n\n <button class=\"tool\" (click)=\"formatText('justifyLeft')\" [ngClass]=\"{'selectedTool': toolbarData.selectedAlignment === 'justifyLeft'}\"><mat-icon> format_align_left</mat-icon></button>\n <button class=\"tool\" (click)=\"formatText('justifyCenter')\" [ngClass]=\"{'selectedTool': toolbarData.selectedAlignment === 'justifyCenter'}\"><mat-icon> format_align_center</mat-icon></button>\n <button class=\"tool\" (click)=\"formatText('justifyRight')\" [ngClass]=\"{'selectedTool': toolbarData.selectedAlignment === 'justifyRight'}\"><mat-icon> format_align_right</mat-icon></button>\n\n <div class=\"colorType\">\n <button class=\"solid\" [ngClass]=\"{'solidColorSelected': selectedColorType === 'SOLID'}\" (click)=\"selectedColorType = 'SOLID'\">Solid</button>\n <button class=\"gradient\" [ngClass]=\"{'gradientColorSelected': selectedColorType === 'GRADIENT'}\" (click)=\"selectedColorType = 'GRADIENT'\">Gradient</button>\n </div>\n\n <button class=\"tool color-picker-btn\" (click)=\"openColorPicker()\" *ngIf=\"selectedColorType === 'SOLID'\">\n <mat-icon>format_color_text</mat-icon>\n <input type=\"color\" #colorPicker class=\"hidden-color-picker\" (input)=\"changeColor($event)\" [(ngModel)]=\"toolbarData.selectedColor\">\n </button>\n \n <div class=\"colorType\" *ngIf=\"selectedColorType === 'GRADIENT'\">\n <button class=\"tool color-picker-btn\" (click)=\"openColorPicker(); primaryColorPicker.click()\">\n <mat-icon [style.color]=\"primaryColor\">format_color_text</mat-icon>\n <input type=\"color\" #primaryColorPicker class=\"hidden-color-picker\" (input)=\"changeGradientColor()\" [(ngModel)]=\"primaryColor\">\n </button>\n <button class=\"tool color-picker-btn\" (click)=\"openColorPicker(); secondaryColorPicker.click()\">\n <mat-icon [style.color]=\"secondaryColor\">format_color_text</mat-icon>\n <input type=\"color\" #secondaryColorPicker class=\"hidden-color-picker\" (input)=\"changeGradientColor()\" [(ngModel)]=\"secondaryColor\">\n </button>\n </div>\n </div>\n\n <div class=\"suggestion-box\" [ngStyle]=\"{'top.px': suggestionY}\" [style.right]=\"rightZero ? '0px' : 'auto'\" [style.left]=\"!rightZero ? '0px' : 'auto'\" *ngIf=\"editable && label && showSuggestion\" #suggestion>\n <div class=\"suggestion\" (click)=\"regenerateText()\">\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/887493c1742273970151Frame%201244831740.png\" alt=\"\">\n <div>\n <p class=\"name\">Regenerate Text</p>\n <p class=\"desc\">Get a fresh variation of a current text</p>\n </div>\n </div>\n </div>\n</div>\n", styles: [".toolbar,.tool option{font-family:var(--primary-font-family)}mat-icon{font-family:Material Icons!important}.editor-container{position:relative;display:inline-block;overflow:visible;width:100%}.editor-container div{outline:none}.editable-text{padding:4px;cursor:text}.toolbar{position:absolute;background:#fff;box-shadow:0 2px 5px #0003;display:flex;gap:5px;align-items:center;z-index:100000;box-shadow:#00000029 0 1px 4px;padding:5px 15px;border-radius:22px}.toolbar:hover{border:1px solid #ccc}.toolbar button{background:none;border:none;padding:5px 8px;cursor:pointer;font-weight:700;display:flex;align-items:center}.toolbar button:hover{background:#ddd}.toolbar select{padding:3px;border:none;outline:none;font-size:14px;font-weight:600;cursor:pointer}.toolbar input[type=color]{border:none;width:30px;height:30px;padding:0;cursor:pointer}.color-picker-btn{position:relative;background:none;border:none;cursor:pointer;padding:5px}.hidden-color-picker{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;cursor:pointer}.border,.border:hover{border:1px solid #E9E9E9!important;border-radius:8px}.selectedTool{background:var(--primary-bg-color)!important;color:#fff;border-radius:5px}p{margin-bottom:0rem!important}.suggestion-box{position:absolute;background:#fff;border:1px solid #ccc;box-shadow:0 2px 5px #0003;z-index:10000;box-shadow:#00000029 0 1px 4px;padding:5px 15px;border-radius:10px}.suggestion{display:flex;gap:10px;width:307px;align-items:center;cursor:pointer}.suggestion img{border-radius:5px;width:32px;height:32px;background:#faf1fc;padding:3px}.suggestion .name{color:#000;font-family:var(--primary-font-family)}.suggestion .desc{color:#000;font-size:12px;color:#918585;font-family:var(--primary-font-family)}.colorType{display:flex;border:1px solid #E9E9E9;border-radius:5px;height:35px}.colorType .solid{border-right:1px solid #E9E9E9;font-size:14px!important;font-family:Mulish}.colorType .gradient{font-size:14px!important;font-family:Mulish}.solidColorSelected{background:var(--primary-bg-color)!important;color:#fff;border-top-left-radius:5px;border-bottom-left-radius:5px}.gradientColorSelected{background:var(--primary-bg-color)!important;color:#fff;border-top-right-radius:5px;border-bottom-right-radius:5px}@media screen and (max-width: 475px){.toolbar{max-width:100%;flex-wrap:wrap;row-gap:15px}.tool{width:max-content!important}}\n"] }]
1707
1707
  }], ctorParameters: () => [{ type: ElementServiceService }, { type: Object, decorators: [{
1708
1708
  type: Inject,
1709
1709
  args: [PLATFORM_ID]
@@ -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;
@@ -8877,7 +8813,7 @@ class BannerGridSectionComponent extends BaseSection {
8877
8813
  return "#ffffff;";
8878
8814
  }
8879
8815
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BannerGridSectionComponent, deps: [{ token: EventsService }], target: i0.ɵɵFactoryTarget.Component }); }
8880
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BannerGridSectionComponent, isStandalone: true, selector: "simpo-banner-grid-section", inputs: { data: "data", edit: "edit", delete: "delete", customClass: "customClass", index: "index", nextComponentColor: "nextComponentColor" }, host: { listeners: { "window: resize": "getScreenSize($event)" } }, usesInheritance: true, ngImport: i0, template: "<section class=\"total-container\" simpoHover (hovering)=\"showEditTabs($event)\">\n <div [simpoBackground]=\"styles?.background\" [id]=\"data?.id\" [simpoBorder]=\"styles?.border\">\n <div class=\"row top-parent\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\"\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\" [simpoHeight]=\"fitLayout\"\n [simpoOverlay]=\"styles?.background\">\n <div class=\"col\" [spacingHorizontal]=\"!data?.styles?.borderLessImage ? stylesLayout : undefined\" [class.p0]=\"data?.styles?.borderLessImage\"\n [simpoSpacing]=\"!data?.styles?.borderLessImage ? spacingLayout : undefined\">\n <ng-container *ngTemplateOutlet=\"imageTemplate\"></ng-container>\n </div>\n <div class=\"col d-flex flex-column\" [spacingHorizontal]=\"stylesLayout\" [simpoSpacing]=\"spacingLayout\"\n [simpoAlignment]=\"alignmentLayout\" [simpoContentAlignment]=\"styles?.contentAlignment\">\n <div class=\"text-parent\">\n <ng-container *ngTemplateOutlet=\"textTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"\n [isMerged]=\"styles?.merge ?? false\"></simpo-hover-elements>\n </div>\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\n </div>\n\n</section>\n\n<ng-template #buttonTemplate>\n <div class=\"button-display\">\n <ng-container *ngFor=\"let button of data?.action?.buttons\">\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [buttonId]=\"button.id\"\n [sectionId]=\"data?.id\" [color]=\"data?.styles?.background?.accentColor\" [edit]=\"edit\"\n [backgroundInfo]=\"data?.styles?.background\"></app-button-element>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #textTemplate>\n <div [simpoContentAlignment]=\"styles?.contentAlignment\" [id]=\"data?.id\">\n <ng-container *ngFor=\"let item of content?.inputText\">\n <simpo-text-editor [(value)]=\"item.value\" [editable]=\"edit || false\"></simpo-text-editor>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #imageTemplate>\n <div class=\"row\" [style.rowGap]=\"!data?.styles?.borderLessImage ? '15px' : '0'\">\n <img [src]=\"item?.image?.url\" [alt]=\"item?.image?.altText\" *ngFor=\"let item of data?.content?.listItem?.data || []; let i = index\"\n [class]=\"getImageClass(i)\" [class.p0]=\"data?.styles?.borderLessImage\" [id]=\"data?.id\" class=\"grid-img\"\n [simpoObjectPosition]=\"item?.image?.position\" [simpoCorner]=\"styles?.corners\"\n [appImageEditor]=\"edit || false\" [imageData]=\"item?.image\" [sectionId]=\"data?.id\">\n </div>\n</ng-template>\n", styles: [".total-container{height:auto;position:relative}.float-none{float:none}.image-section{display:flex;flex-direction:column;align-items:center}.image-section .d-flex{gap:10px}.img{width:100%;height:auto}.align-items-unset{align-items:unset}.borderLess-image{border-radius:0!important}.borderless-width{width:50%;height:auto}.borderLess-height{height:54vh}.img-1{width:48%;height:auto}.image-section-2{display:flex;align-items:center}.image-section-2 .d-flex{gap:10px}.image-section-2-borderless,.image-1{width:100%}.image-position{display:flex;flex-direction:row;width:100%}.image-width{width:100%;margin-right:5px}.images{width:33%}.images-top{width:33%;margin-right:15px}.image-width-top{width:100%;height:100%;margin-top:17px;margin-right:15px}.col-lg-12{width:100%!important}.total-section{min-height:calc(50vh + -0px)!important;height:auto}.image-width-2{width:50%}.images-width-2{width:100%}.image-width-3,.images-width-3{width:100%;height:450px}.button-section{gap:10px}@media only screen and (max-width: 475px){.total-section{height:auto;flex-direction:column}.py-4{padding:1rem!important}.body-large{font-size:16px;line-height:21px}.image-position{overflow-y:scroll}.images-top,.images{width:100%}.image-width,.image-width-top{height:450px;width:300px;margin-right:2px}.image-section-2{display:flex;align-items:center;overflow-y:scroll!important;width:100%}.images-width-2{width:310px;height:450px}.image-width-2{width:100%}}.mergeNavbar{margin-top:-75px;padding-top:75px}.main-container{display:flex}.button-display{display:flex;gap:10px}.p0{padding:0!important}.text-parent{display:flex;flex-direction:column;gap:15px}.grid-img{min-height:464px;max-height:50vh;object-fit:cover}.row{margin:0}@media screen and (max-width: 475px){.top-parent{flex-direction:column;margin:0}.grid-img{min-height:232px;max-height:25vh}}\n"], dependencies: [{ 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: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: OverlayDirective, selector: "[simpoOverlay]", inputs: ["simpoOverlay"] }, { kind: "directive", type: CornerDirective, selector: "[simpoCorner]", inputs: ["simpoCorner"] }, { 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: "component", type: SimpoButtonComponent, selector: "app-button-element", inputs: ["buttonContent", "buttonStyle", "buttonId", "color", "sectionId", "edit", "backgroundInfo"] }, { kind: "directive", type: BorderDirective, selector: "[simpoBorder]", inputs: ["simpoBorder"] }, { kind: "directive", type: AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: PositionLayoutDirectiveDirective, selector: "[simpoPositionLayoutDirective]", inputs: ["simpoPositionLayoutDirective"] }, { kind: "directive", type: ObjectPositionDirective, selector: "[simpoObjectPosition]", inputs: ["simpoObjectPosition"] }, { kind: "directive", type: simpoConetenAlignmentDirective, selector: "[simpoContentAlignment]", inputs: ["simpoContentAlignment"] }, { kind: "component", type: TextEditorComponent, selector: "simpo-text-editor", inputs: ["value", "editable", "sectionId", "label"], outputs: ["valueChange"] }, { kind: "directive", type: ImageEditorDirective, selector: "img[appImageEditor]", inputs: ["appImageEditor", "imageData", "sectionId"] }, { kind: "directive", type: SpacingHorizontalDirective, selector: "[spacingHorizontal]", inputs: ["spacingHorizontal", "isHeader"] }, { kind: "directive", type: SpacingDirective, selector: "[simpoSpacing]", inputs: ["simpoSpacing"] }, { kind: "directive", type: HeightDirective, selector: "[simpoHeight]", inputs: ["simpoHeight"] }, { kind: "directive", type: AlignmentDirective, selector: "[simpoAlignment]", inputs: ["simpoAlignment"] }] }); }
8816
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BannerGridSectionComponent, isStandalone: true, selector: "simpo-banner-grid-section", inputs: { data: "data", edit: "edit", delete: "delete", customClass: "customClass", index: "index", nextComponentColor: "nextComponentColor" }, host: { listeners: { "window: resize": "getScreenSize($event)" } }, usesInheritance: true, ngImport: i0, template: "<section class=\"total-container\" simpoHover (hovering)=\"showEditTabs($event)\">\n <div [simpoBackground]=\"styles?.background\" [id]=\"data?.id\" [simpoBorder]=\"styles?.border\">\n <div class=\"row top-parent\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\"\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\" [simpoHeight]=\"fitLayout\"\n [simpoOverlay]=\"styles?.background\">\n <div class=\"col\" [spacingHorizontal]=\"!data?.styles?.borderLessImage ? stylesLayout : undefined\" [class.p0]=\"data?.styles?.borderLessImage\"\n [simpoSpacing]=\"!data?.styles?.borderLessImage ? spacingLayout : undefined\">\n <ng-container *ngTemplateOutlet=\"imageTemplate\"></ng-container>\n </div>\n <div class=\"col d-flex flex-column\" [spacingHorizontal]=\"stylesLayout\" [simpoSpacing]=\"spacingLayout\"\n [simpoAlignment]=\"alignmentLayout\" [simpoContentAlignment]=\"styles?.contentAlignment\">\n <div class=\"text-parent\">\n <ng-container *ngTemplateOutlet=\"textTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"\n [isMerged]=\"styles?.merge ?? false\"></simpo-hover-elements>\n </div>\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\n </div>\n\n</section>\n\n<ng-template #buttonTemplate>\n <div class=\"button-display\"\n *ngIf=\"data?.action && data?.action?.display\" class=\"customclass w-full\" [ngClass]=\"[\n styles?.layout?.align === 'left' ? 'justify-content-md-start' : '',\n styles?.layout?.align === 'center' ? 'justify-content-md-center' : '',\n styles?.layout?.align === 'right' ? 'justify-content-md-end' : ''\n ]\">\n <ng-container *ngFor=\"let button of data?.action?.buttons\">\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [buttonId]=\"button.id\"\n [sectionId]=\"data?.id\" [color]=\"data?.styles?.background?.accentColor\" [edit]=\"edit\"\n [backgroundInfo]=\"data?.styles?.background\"></app-button-element>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #textTemplate>\n <div [simpoContentAlignment]=\"styles?.contentAlignment\" [id]=\"data?.id\">\n <ng-container *ngFor=\"let item of content?.inputText\">\n <div [ngClass]=\"item.label.includes('Heading') ? 'heading-large lh-2 mb-4' : 'body-large'\">\n <simpo-text-editor [(value)]=\"item.value\" [editable]=\"edit || false\"></simpo-text-editor>\n </div>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #imageTemplate>\n <div class=\"row\" [style.rowGap]=\"!data?.styles?.borderLessImage ? '15px' : '0'\">\n <img [src]=\"item?.image?.url\" [alt]=\"item?.image?.altText\" *ngFor=\"let item of data?.content?.listItem?.data || []; let i = index\"\n [class]=\"getImageClass(i)\" [class.p0]=\"data?.styles?.borderLessImage\" [id]=\"data?.id\" class=\"grid-img\"\n [simpoObjectPosition]=\"item?.image?.position\" [simpoCorner]=\"styles?.corners\"\n [appImageEditor]=\"edit || false\" [imageData]=\"item?.image\" [sectionId]=\"data?.id\">\n </div>\n</ng-template>\n", styles: [".total-container{height:auto;position:relative}.float-none{float:none}.image-section{display:flex;flex-direction:column;align-items:center}.image-section .d-flex{gap:10px}.img{width:100%;height:auto}.align-items-unset{align-items:unset}.borderLess-image{border-radius:0!important}.borderless-width{width:50%;height:auto}.borderLess-height{height:54vh}.img-1{width:48%;height:auto}.image-section-2{display:flex;align-items:center}.image-section-2 .d-flex{gap:10px}.image-section-2-borderless,.image-1{width:100%}.image-position{display:flex;flex-direction:row;width:100%}.image-width{width:100%;margin-right:5px}.images{width:33%}.images-top{width:33%;margin-right:15px}.image-width-top{width:100%;height:100%;margin-top:17px;margin-right:15px}.col-lg-12{width:100%!important}.total-section{min-height:calc(50vh + -0px)!important;height:auto}.image-width-2{width:50%}.images-width-2{width:100%}.image-width-3,.images-width-3{width:100%;height:450px}.button-section{gap:10px}@media only screen and (max-width: 475px){.total-section{height:auto;flex-direction:column}.py-4{padding:1rem!important}.body-large{font-size:16px;line-height:21px}.image-position{overflow-y:scroll}.images-top,.images{width:100%}.image-width,.image-width-top{height:450px;width:300px;margin-right:2px}.image-section-2{display:flex;align-items:center;overflow-y:scroll!important;width:100%}.images-width-2{width:310px;height:450px}.image-width-2{width:100%}}.mergeNavbar{margin-top:-75px;padding-top:75px}.main-container{display:flex}.button-display{display:flex;gap:10px}.p0{padding:0!important}.text-parent{display:flex;flex-direction:column;gap:15px}.grid-img{min-height:464px;max-height:50vh;object-fit:cover}.row{margin:0}@media screen and (max-width: 475px){.top-parent{flex-direction:column;margin:0}.grid-img{min-height:232px;max-height:25vh}}\n"], dependencies: [{ 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: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: OverlayDirective, selector: "[simpoOverlay]", inputs: ["simpoOverlay"] }, { kind: "directive", type: CornerDirective, selector: "[simpoCorner]", inputs: ["simpoCorner"] }, { 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: "component", type: SimpoButtonComponent, selector: "app-button-element", inputs: ["buttonContent", "buttonStyle", "buttonId", "color", "sectionId", "edit", "backgroundInfo"] }, { kind: "directive", type: BorderDirective, selector: "[simpoBorder]", inputs: ["simpoBorder"] }, { kind: "directive", type: AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: PositionLayoutDirectiveDirective, selector: "[simpoPositionLayoutDirective]", inputs: ["simpoPositionLayoutDirective"] }, { kind: "directive", type: ObjectPositionDirective, selector: "[simpoObjectPosition]", inputs: ["simpoObjectPosition"] }, { kind: "directive", type: simpoConetenAlignmentDirective, selector: "[simpoContentAlignment]", inputs: ["simpoContentAlignment"] }, { kind: "component", type: TextEditorComponent, selector: "simpo-text-editor", inputs: ["value", "editable", "sectionId", "label"], outputs: ["valueChange"] }, { kind: "directive", type: ImageEditorDirective, selector: "img[appImageEditor]", inputs: ["appImageEditor", "imageData", "sectionId"] }, { kind: "directive", type: SpacingHorizontalDirective, selector: "[spacingHorizontal]", inputs: ["spacingHorizontal", "isHeader"] }, { kind: "directive", type: SpacingDirective, selector: "[simpoSpacing]", inputs: ["simpoSpacing"] }, { kind: "directive", type: HeightDirective, selector: "[simpoHeight]", inputs: ["simpoHeight"] }, { kind: "directive", type: AlignmentDirective, selector: "[simpoAlignment]", inputs: ["simpoAlignment"] }] }); }
8881
8817
  }
8882
8818
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BannerGridSectionComponent, decorators: [{
8883
8819
  type: Component,
@@ -8900,7 +8836,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
8900
8836
  SpacingDirective,
8901
8837
  HeightDirective,
8902
8838
  AlignmentDirective
8903
- ], template: "<section class=\"total-container\" simpoHover (hovering)=\"showEditTabs($event)\">\n <div [simpoBackground]=\"styles?.background\" [id]=\"data?.id\" [simpoBorder]=\"styles?.border\">\n <div class=\"row top-parent\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\"\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\" [simpoHeight]=\"fitLayout\"\n [simpoOverlay]=\"styles?.background\">\n <div class=\"col\" [spacingHorizontal]=\"!data?.styles?.borderLessImage ? stylesLayout : undefined\" [class.p0]=\"data?.styles?.borderLessImage\"\n [simpoSpacing]=\"!data?.styles?.borderLessImage ? spacingLayout : undefined\">\n <ng-container *ngTemplateOutlet=\"imageTemplate\"></ng-container>\n </div>\n <div class=\"col d-flex flex-column\" [spacingHorizontal]=\"stylesLayout\" [simpoSpacing]=\"spacingLayout\"\n [simpoAlignment]=\"alignmentLayout\" [simpoContentAlignment]=\"styles?.contentAlignment\">\n <div class=\"text-parent\">\n <ng-container *ngTemplateOutlet=\"textTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"\n [isMerged]=\"styles?.merge ?? false\"></simpo-hover-elements>\n </div>\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\n </div>\n\n</section>\n\n<ng-template #buttonTemplate>\n <div class=\"button-display\">\n <ng-container *ngFor=\"let button of data?.action?.buttons\">\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [buttonId]=\"button.id\"\n [sectionId]=\"data?.id\" [color]=\"data?.styles?.background?.accentColor\" [edit]=\"edit\"\n [backgroundInfo]=\"data?.styles?.background\"></app-button-element>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #textTemplate>\n <div [simpoContentAlignment]=\"styles?.contentAlignment\" [id]=\"data?.id\">\n <ng-container *ngFor=\"let item of content?.inputText\">\n <simpo-text-editor [(value)]=\"item.value\" [editable]=\"edit || false\"></simpo-text-editor>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #imageTemplate>\n <div class=\"row\" [style.rowGap]=\"!data?.styles?.borderLessImage ? '15px' : '0'\">\n <img [src]=\"item?.image?.url\" [alt]=\"item?.image?.altText\" *ngFor=\"let item of data?.content?.listItem?.data || []; let i = index\"\n [class]=\"getImageClass(i)\" [class.p0]=\"data?.styles?.borderLessImage\" [id]=\"data?.id\" class=\"grid-img\"\n [simpoObjectPosition]=\"item?.image?.position\" [simpoCorner]=\"styles?.corners\"\n [appImageEditor]=\"edit || false\" [imageData]=\"item?.image\" [sectionId]=\"data?.id\">\n </div>\n</ng-template>\n", styles: [".total-container{height:auto;position:relative}.float-none{float:none}.image-section{display:flex;flex-direction:column;align-items:center}.image-section .d-flex{gap:10px}.img{width:100%;height:auto}.align-items-unset{align-items:unset}.borderLess-image{border-radius:0!important}.borderless-width{width:50%;height:auto}.borderLess-height{height:54vh}.img-1{width:48%;height:auto}.image-section-2{display:flex;align-items:center}.image-section-2 .d-flex{gap:10px}.image-section-2-borderless,.image-1{width:100%}.image-position{display:flex;flex-direction:row;width:100%}.image-width{width:100%;margin-right:5px}.images{width:33%}.images-top{width:33%;margin-right:15px}.image-width-top{width:100%;height:100%;margin-top:17px;margin-right:15px}.col-lg-12{width:100%!important}.total-section{min-height:calc(50vh + -0px)!important;height:auto}.image-width-2{width:50%}.images-width-2{width:100%}.image-width-3,.images-width-3{width:100%;height:450px}.button-section{gap:10px}@media only screen and (max-width: 475px){.total-section{height:auto;flex-direction:column}.py-4{padding:1rem!important}.body-large{font-size:16px;line-height:21px}.image-position{overflow-y:scroll}.images-top,.images{width:100%}.image-width,.image-width-top{height:450px;width:300px;margin-right:2px}.image-section-2{display:flex;align-items:center;overflow-y:scroll!important;width:100%}.images-width-2{width:310px;height:450px}.image-width-2{width:100%}}.mergeNavbar{margin-top:-75px;padding-top:75px}.main-container{display:flex}.button-display{display:flex;gap:10px}.p0{padding:0!important}.text-parent{display:flex;flex-direction:column;gap:15px}.grid-img{min-height:464px;max-height:50vh;object-fit:cover}.row{margin:0}@media screen and (max-width: 475px){.top-parent{flex-direction:column;margin:0}.grid-img{min-height:232px;max-height:25vh}}\n"] }]
8839
+ ], template: "<section class=\"total-container\" simpoHover (hovering)=\"showEditTabs($event)\">\n <div [simpoBackground]=\"styles?.background\" [id]=\"data?.id\" [simpoBorder]=\"styles?.border\">\n <div class=\"row top-parent\" [id]=\"data?.id\" [simpoAnimation]=\"styles?.animation\"\n [simpoPositionLayoutDirective]=\"styles?.positionLayout\" [simpoHeight]=\"fitLayout\"\n [simpoOverlay]=\"styles?.background\">\n <div class=\"col\" [spacingHorizontal]=\"!data?.styles?.borderLessImage ? stylesLayout : undefined\" [class.p0]=\"data?.styles?.borderLessImage\"\n [simpoSpacing]=\"!data?.styles?.borderLessImage ? spacingLayout : undefined\">\n <ng-container *ngTemplateOutlet=\"imageTemplate\"></ng-container>\n </div>\n <div class=\"col d-flex flex-column\" [spacingHorizontal]=\"stylesLayout\" [simpoSpacing]=\"spacingLayout\"\n [simpoAlignment]=\"alignmentLayout\" [simpoContentAlignment]=\"styles?.contentAlignment\">\n <div class=\"text-parent\">\n <ng-container *ngTemplateOutlet=\"textTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"buttonTemplate\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"\n [isMerged]=\"styles?.merge ?? false\"></simpo-hover-elements>\n </div>\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\n </div>\n\n</section>\n\n<ng-template #buttonTemplate>\n <div class=\"button-display\"\n *ngIf=\"data?.action && data?.action?.display\" class=\"customclass w-full\" [ngClass]=\"[\n styles?.layout?.align === 'left' ? 'justify-content-md-start' : '',\n styles?.layout?.align === 'center' ? 'justify-content-md-center' : '',\n styles?.layout?.align === 'right' ? 'justify-content-md-end' : ''\n ]\">\n <ng-container *ngFor=\"let button of data?.action?.buttons\">\n <app-button-element [buttonContent]=\"button.content\" [buttonStyle]=\"button.styles\" [buttonId]=\"button.id\"\n [sectionId]=\"data?.id\" [color]=\"data?.styles?.background?.accentColor\" [edit]=\"edit\"\n [backgroundInfo]=\"data?.styles?.background\"></app-button-element>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #textTemplate>\n <div [simpoContentAlignment]=\"styles?.contentAlignment\" [id]=\"data?.id\">\n <ng-container *ngFor=\"let item of content?.inputText\">\n <div [ngClass]=\"item.label.includes('Heading') ? 'heading-large lh-2 mb-4' : 'body-large'\">\n <simpo-text-editor [(value)]=\"item.value\" [editable]=\"edit || false\"></simpo-text-editor>\n </div>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #imageTemplate>\n <div class=\"row\" [style.rowGap]=\"!data?.styles?.borderLessImage ? '15px' : '0'\">\n <img [src]=\"item?.image?.url\" [alt]=\"item?.image?.altText\" *ngFor=\"let item of data?.content?.listItem?.data || []; let i = index\"\n [class]=\"getImageClass(i)\" [class.p0]=\"data?.styles?.borderLessImage\" [id]=\"data?.id\" class=\"grid-img\"\n [simpoObjectPosition]=\"item?.image?.position\" [simpoCorner]=\"styles?.corners\"\n [appImageEditor]=\"edit || false\" [imageData]=\"item?.image\" [sectionId]=\"data?.id\">\n </div>\n</ng-template>\n", styles: [".total-container{height:auto;position:relative}.float-none{float:none}.image-section{display:flex;flex-direction:column;align-items:center}.image-section .d-flex{gap:10px}.img{width:100%;height:auto}.align-items-unset{align-items:unset}.borderLess-image{border-radius:0!important}.borderless-width{width:50%;height:auto}.borderLess-height{height:54vh}.img-1{width:48%;height:auto}.image-section-2{display:flex;align-items:center}.image-section-2 .d-flex{gap:10px}.image-section-2-borderless,.image-1{width:100%}.image-position{display:flex;flex-direction:row;width:100%}.image-width{width:100%;margin-right:5px}.images{width:33%}.images-top{width:33%;margin-right:15px}.image-width-top{width:100%;height:100%;margin-top:17px;margin-right:15px}.col-lg-12{width:100%!important}.total-section{min-height:calc(50vh + -0px)!important;height:auto}.image-width-2{width:50%}.images-width-2{width:100%}.image-width-3,.images-width-3{width:100%;height:450px}.button-section{gap:10px}@media only screen and (max-width: 475px){.total-section{height:auto;flex-direction:column}.py-4{padding:1rem!important}.body-large{font-size:16px;line-height:21px}.image-position{overflow-y:scroll}.images-top,.images{width:100%}.image-width,.image-width-top{height:450px;width:300px;margin-right:2px}.image-section-2{display:flex;align-items:center;overflow-y:scroll!important;width:100%}.images-width-2{width:310px;height:450px}.image-width-2{width:100%}}.mergeNavbar{margin-top:-75px;padding-top:75px}.main-container{display:flex}.button-display{display:flex;gap:10px}.p0{padding:0!important}.text-parent{display:flex;flex-direction:column;gap:15px}.grid-img{min-height:464px;max-height:50vh;object-fit:cover}.row{margin:0}@media screen and (max-width: 475px){.top-parent{flex-direction:column;margin:0}.grid-img{min-height:232px;max-height:25vh}}\n"] }]
8904
8840
  }], ctorParameters: () => [{ type: EventsService }], propDecorators: { data: [{
8905
8841
  type: Input
8906
8842
  }], edit: [{
@@ -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();