@wizishop/angular-components 15.1.114 → 15.1.116

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.
@@ -28,6 +28,8 @@ import * as i3$2 from 'ngx-scrollbar/reached-event';
28
28
  import { NgScrollbarReachedModule } from 'ngx-scrollbar/reached-event';
29
29
  import * as i2$2 from '@angular/cdk/drag-drop';
30
30
  import { moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
31
+ import * as i3$3 from 'ngx-color-picker';
32
+ import { ColorPickerModule } from 'ngx-color-picker';
31
33
 
32
34
  class LoaderComponent {
33
35
  constructor() {
@@ -2135,6 +2137,7 @@ class TabsComponent {
2135
2137
  this.button = false;
2136
2138
  this.right = false;
2137
2139
  this.marginBottom = '30px';
2140
+ this.column = false;
2138
2141
  }
2139
2142
  ngAfterViewInit() {
2140
2143
  this.tabList$.next(this.tabList);
@@ -2176,14 +2179,14 @@ class TabsComponent {
2176
2179
  }
2177
2180
  }
2178
2181
  TabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TabsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2179
- TabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: TabsComponent, isStandalone: true, selector: "wac-tabs", inputs: { underline: "underline", button: "button", right: "right", marginBottom: "marginBottom" }, providers: [
2182
+ TabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: TabsComponent, isStandalone: true, selector: "wac-tabs", inputs: { underline: "underline", button: "button", right: "right", marginBottom: "marginBottom", column: "column" }, providers: [
2180
2183
  { provide: NG_VALUE_ACCESSOR, useExisting: TabsComponent, multi: true },
2181
- ], queries: [{ propertyName: "tabList", predicate: TabComponent }], ngImport: i0, template: "<div class=\"wac-tabs\"\r\n *ngIf=\"((viewModel$ | async) || defaultViewModel ) as viewModel\"\r\n [ngClass]=\"{'wac-tabs--underline': underline, 'wac-tabs--button' : button, 'wac-tabs--right' : right}\"\r\n wzAutoHide\r\n (clickOutside)=\"listIsOpen$.next(false)\"\r\n [triggerElement]=\"'wac-select__header__selection'\"\r\n>\r\n <div *ngIf=\"tabList.length > 1\" class=\"wac-tabs__mobile\" (click)=\"openList($event)\">\r\n <div>{{ viewModel.selected?.label }}</div><i [class]=\"'fa-solid fa-caret-' + (viewModel.listIsOpen ? 'up' : 'down')\"></i>\r\n </div>\r\n <div *ngIf=\"tabList.length > 1\" class=\"wac-tabs__wrapper\" [ngClass]=\"{ 'open' : viewModel.listIsOpen }\" [ngStyle]=\"{'margin-bottom': marginBottom}\">\r\n <a\r\n *ngFor=\"let tab of tabList; let i = index\"\r\n class=\"wac-tabs__wrapper__tab\"\r\n [ngClass]=\"{'wac-tabs__wrapper__tab--selected': i === viewModel.index}\"\r\n (click)=\"index$.next(i); listIsOpen$.next(false)\"\r\n >\r\n {{ tab.label }}\r\n </a>\r\n </div>\r\n <wac-tab-body\r\n *ngFor=\"let tab of tabList; let i = index\"\r\n [content]=\"tab.content\"\r\n [active]=\"i === viewModel.index\"\r\n ></wac-tab-body>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: SharedDirectives }, { kind: "directive", type: AutoHideDirective, selector: "[wzAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "component", type: TabBodyComponent, selector: "wac-tab-body", inputs: ["content", "active"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2184
+ ], queries: [{ propertyName: "tabList", predicate: TabComponent }], ngImport: i0, template: "<div class=\"wac-tabs\"\r\n *ngIf=\"((viewModel$ | async) || defaultViewModel ) as viewModel\"\r\n [ngClass]=\"{'wac-tabs--underline': underline, 'wac-tabs--button' : button, 'wac-tabs--right' : right, 'wac-tabs--column' : column}\"\r\n wzAutoHide\r\n (clickOutside)=\"listIsOpen$.next(false)\"\r\n [triggerElement]=\"'wac-select__header__selection'\"\r\n>\r\n <div *ngIf=\"tabList.length > 1\" class=\"wac-tabs__mobile\" (click)=\"openList($event)\">\r\n <div>{{ viewModel.selected?.label }}</div><i [class]=\"'fa-solid fa-caret-' + (viewModel.listIsOpen ? 'up' : 'down')\"></i>\r\n </div>\r\n <div *ngIf=\"tabList.length > 1\" class=\"wac-tabs__wrapper\" [ngClass]=\"{ 'open' : viewModel.listIsOpen }\" [ngStyle]=\"{'margin-bottom': marginBottom}\">\r\n <a\r\n *ngFor=\"let tab of tabList; let i = index\"\r\n class=\"wac-tabs__wrapper__tab\"\r\n [ngClass]=\"{'wac-tabs__wrapper__tab--selected': i === viewModel.index}\"\r\n (click)=\"index$.next(i); listIsOpen$.next(false)\"\r\n >\r\n {{ tab.label }}\r\n </a>\r\n </div>\r\n <wac-tab-body\r\n *ngFor=\"let tab of tabList; let i = index\"\r\n [content]=\"tab.content\"\r\n [active]=\"i === viewModel.index\"\r\n ></wac-tab-body>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: SharedDirectives }, { kind: "directive", type: AutoHideDirective, selector: "[wzAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "component", type: TabBodyComponent, selector: "wac-tab-body", inputs: ["content", "active"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2182
2185
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: TabsComponent, decorators: [{
2183
2186
  type: Component,
2184
2187
  args: [{ selector: 'wac-tabs', encapsulation: ViewEncapsulation.None, standalone: true, imports: [CommonModule, FormsModule, TabComponent, SharedDirectives, TabBodyComponent], providers: [
2185
2188
  { provide: NG_VALUE_ACCESSOR, useExisting: TabsComponent, multi: true },
2186
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"wac-tabs\"\r\n *ngIf=\"((viewModel$ | async) || defaultViewModel ) as viewModel\"\r\n [ngClass]=\"{'wac-tabs--underline': underline, 'wac-tabs--button' : button, 'wac-tabs--right' : right}\"\r\n wzAutoHide\r\n (clickOutside)=\"listIsOpen$.next(false)\"\r\n [triggerElement]=\"'wac-select__header__selection'\"\r\n>\r\n <div *ngIf=\"tabList.length > 1\" class=\"wac-tabs__mobile\" (click)=\"openList($event)\">\r\n <div>{{ viewModel.selected?.label }}</div><i [class]=\"'fa-solid fa-caret-' + (viewModel.listIsOpen ? 'up' : 'down')\"></i>\r\n </div>\r\n <div *ngIf=\"tabList.length > 1\" class=\"wac-tabs__wrapper\" [ngClass]=\"{ 'open' : viewModel.listIsOpen }\" [ngStyle]=\"{'margin-bottom': marginBottom}\">\r\n <a\r\n *ngFor=\"let tab of tabList; let i = index\"\r\n class=\"wac-tabs__wrapper__tab\"\r\n [ngClass]=\"{'wac-tabs__wrapper__tab--selected': i === viewModel.index}\"\r\n (click)=\"index$.next(i); listIsOpen$.next(false)\"\r\n >\r\n {{ tab.label }}\r\n </a>\r\n </div>\r\n <wac-tab-body\r\n *ngFor=\"let tab of tabList; let i = index\"\r\n [content]=\"tab.content\"\r\n [active]=\"i === viewModel.index\"\r\n ></wac-tab-body>\r\n</div>\r\n" }]
2189
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"wac-tabs\"\r\n *ngIf=\"((viewModel$ | async) || defaultViewModel ) as viewModel\"\r\n [ngClass]=\"{'wac-tabs--underline': underline, 'wac-tabs--button' : button, 'wac-tabs--right' : right, 'wac-tabs--column' : column}\"\r\n wzAutoHide\r\n (clickOutside)=\"listIsOpen$.next(false)\"\r\n [triggerElement]=\"'wac-select__header__selection'\"\r\n>\r\n <div *ngIf=\"tabList.length > 1\" class=\"wac-tabs__mobile\" (click)=\"openList($event)\">\r\n <div>{{ viewModel.selected?.label }}</div><i [class]=\"'fa-solid fa-caret-' + (viewModel.listIsOpen ? 'up' : 'down')\"></i>\r\n </div>\r\n <div *ngIf=\"tabList.length > 1\" class=\"wac-tabs__wrapper\" [ngClass]=\"{ 'open' : viewModel.listIsOpen }\" [ngStyle]=\"{'margin-bottom': marginBottom}\">\r\n <a\r\n *ngFor=\"let tab of tabList; let i = index\"\r\n class=\"wac-tabs__wrapper__tab\"\r\n [ngClass]=\"{'wac-tabs__wrapper__tab--selected': i === viewModel.index}\"\r\n (click)=\"index$.next(i); listIsOpen$.next(false)\"\r\n >\r\n {{ tab.label }}\r\n </a>\r\n </div>\r\n <wac-tab-body\r\n *ngFor=\"let tab of tabList; let i = index\"\r\n [content]=\"tab.content\"\r\n [active]=\"i === viewModel.index\"\r\n ></wac-tab-body>\r\n</div>\r\n" }]
2187
2190
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { tabList: [{
2188
2191
  type: ContentChildren,
2189
2192
  args: [TabComponent]
@@ -2195,6 +2198,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImpor
2195
2198
  type: Input
2196
2199
  }], marginBottom: [{
2197
2200
  type: Input
2201
+ }], column: [{
2202
+ type: Input
2198
2203
  }] } });
2199
2204
 
2200
2205
  class ButtonComponent {
@@ -6510,6 +6515,190 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImpor
6510
6515
  type: Output
6511
6516
  }] } });
6512
6517
 
6518
+ class ColorPickerComponent {
6519
+ constructor() {
6520
+ this.value = '';
6521
+ this.gap = '12px';
6522
+ this.fontSize = '14px';
6523
+ this.colorChange = new EventEmitter();
6524
+ this.onChange = () => { };
6525
+ this.onTouched = () => { };
6526
+ }
6527
+ writeValue(value) {
6528
+ if (value !== undefined) {
6529
+ this.value = value;
6530
+ }
6531
+ }
6532
+ registerOnChange(fn) {
6533
+ this.onChange = fn;
6534
+ }
6535
+ registerOnTouched(fn) {
6536
+ this.onTouched = fn;
6537
+ }
6538
+ setValue(event) {
6539
+ this.value = event.target.value;
6540
+ this.onChange(this.value);
6541
+ this.colorChange.emit(this.value);
6542
+ }
6543
+ changeColor(color) {
6544
+ // Remove any non-hexadecimal characters
6545
+ color = color.replace(/[^a-fA-F0-9]/g, '');
6546
+ // Add '#' if not present
6547
+ if (!color.startsWith('#')) {
6548
+ color = '#' + color;
6549
+ }
6550
+ // Validate and update color
6551
+ if (this.isValidColor(color)) {
6552
+ this.value = color;
6553
+ this.onChange(this.value); // 🔥 AJOUT de cette ligne pour informer Angular du changement
6554
+ this.colorChange.emit(this.value);
6555
+ }
6556
+ else {
6557
+ // If invalid, reset to previous valid color
6558
+ this.colorChange.emit(this.value);
6559
+ }
6560
+ }
6561
+ isValidColor(color) {
6562
+ const s = new Option().style;
6563
+ s.color = color;
6564
+ return s.color !== '';
6565
+ }
6566
+ }
6567
+ ColorPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ColorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6568
+ ColorPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: ColorPickerComponent, isStandalone: true, selector: "wac-color-picker", inputs: { label: "label", value: "value", gap: "gap", fontSize: "fontSize" }, outputs: { colorChange: "colorChange" }, providers: [
6569
+ {
6570
+ provide: NG_VALUE_ACCESSOR,
6571
+ useExisting: forwardRef(() => ColorPickerComponent),
6572
+ multi: true
6573
+ }
6574
+ ], ngImport: i0, template: "<div class=\"w-color-picker\" [ngStyle]=\"{'gap': gap}\">\r\n\r\n <label class=\"cp-label\" for=\"colorPicker\" [ngStyle]=\"{'font-size': fontSize}\">{{ label }}</label>\r\n\r\n <div class=\"w-input\">\r\n\r\n <div\r\n class=\"color-preview\"\r\n [colorPicker]=\"value\"\r\n (click)=\"colorPickerInput.openDialog()\"\r\n [ngStyle]=\"{'background-color': value}\"\r\n [cpPosition]=\"'bottom'\"\r\n [cpPositionOffset]=\"'-35'\"\r\n ></div>\r\n\r\n <input\r\n class=\"cp-input\"\r\n id=\"colorPicker\"\r\n #colorPickerInput=\"ngxColorPicker\"\r\n maxlength=\"7\"\r\n placeholder=\"#000000\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"changeColor($event)\"\r\n [colorPicker]=\"value\"\r\n (colorPickerChange)=\"changeColor($event)\"\r\n [cpPosition]=\"'bottom'\"\r\n [cpPositionOffset]=\"'-35'\"\r\n (input)=\"setValue($event)\"\r\n />\r\n\r\n </div>\r\n\r\n</div>\r\n", styles: [".w-color-picker{display:flex;flex-direction:column}.w-color-picker .cp-label{font-weight:500}.w-color-picker .w-input{width:210px;height:40px;display:flex;align-items:center;gap:10px;padding:5px;border:1px solid #dee2ed;border-radius:3px}.w-color-picker .w-input .color-preview{width:30px;height:30px;border:1px solid #dee2ed;border-radius:3px}.w-color-picker .w-input .cp-input{width:70%;height:100%;border:none;font-size:14px;color:#1d2a3b;font-weight:400}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ColorPickerModule }, { kind: "directive", type: i3$3.ColorPickerDirective, selector: "[colorPicker]", inputs: ["colorPicker", "cpWidth", "cpHeight", "cpToggle", "cpDisabled", "cpIgnoredElements", "cpFallbackColor", "cpColorMode", "cpCmykEnabled", "cpOutputFormat", "cpAlphaChannel", "cpDisableInput", "cpDialogDisplay", "cpSaveClickOutside", "cpCloseClickOutside", "cpUseRootViewContainer", "cpPosition", "cpPositionOffset", "cpPositionRelativeToArrow", "cpOKButton", "cpOKButtonText", "cpOKButtonClass", "cpCancelButton", "cpCancelButtonText", "cpCancelButtonClass", "cpEyeDropper", "cpPresetLabel", "cpPresetColors", "cpPresetColorsClass", "cpMaxPresetColorsLength", "cpPresetEmptyMessage", "cpPresetEmptyMessageClass", "cpAddColorButton", "cpAddColorButtonText", "cpAddColorButtonClass", "cpRemoveColorButtonClass", "cpArrowPosition", "cpExtraTemplate"], outputs: ["cpInputChange", "cpToggleChange", "cpSliderChange", "cpSliderDragEnd", "cpSliderDragStart", "colorPickerOpen", "colorPickerClose", "colorPickerCancel", "colorPickerSelect", "colorPickerChange", "cpCmykColorChange", "cpPresetColorsChange"], exportAs: ["ngxColorPicker"] }] });
6575
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: ColorPickerComponent, decorators: [{
6576
+ type: Component,
6577
+ args: [{ selector: "wac-color-picker", standalone: true, imports: [
6578
+ CommonModule,
6579
+ FormsModule,
6580
+ ColorPickerModule
6581
+ ], providers: [
6582
+ {
6583
+ provide: NG_VALUE_ACCESSOR,
6584
+ useExisting: forwardRef(() => ColorPickerComponent),
6585
+ multi: true
6586
+ }
6587
+ ], template: "<div class=\"w-color-picker\" [ngStyle]=\"{'gap': gap}\">\r\n\r\n <label class=\"cp-label\" for=\"colorPicker\" [ngStyle]=\"{'font-size': fontSize}\">{{ label }}</label>\r\n\r\n <div class=\"w-input\">\r\n\r\n <div\r\n class=\"color-preview\"\r\n [colorPicker]=\"value\"\r\n (click)=\"colorPickerInput.openDialog()\"\r\n [ngStyle]=\"{'background-color': value}\"\r\n [cpPosition]=\"'bottom'\"\r\n [cpPositionOffset]=\"'-35'\"\r\n ></div>\r\n\r\n <input\r\n class=\"cp-input\"\r\n id=\"colorPicker\"\r\n #colorPickerInput=\"ngxColorPicker\"\r\n maxlength=\"7\"\r\n placeholder=\"#000000\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"changeColor($event)\"\r\n [colorPicker]=\"value\"\r\n (colorPickerChange)=\"changeColor($event)\"\r\n [cpPosition]=\"'bottom'\"\r\n [cpPositionOffset]=\"'-35'\"\r\n (input)=\"setValue($event)\"\r\n />\r\n\r\n </div>\r\n\r\n</div>\r\n", styles: [".w-color-picker{display:flex;flex-direction:column}.w-color-picker .cp-label{font-weight:500}.w-color-picker .w-input{width:210px;height:40px;display:flex;align-items:center;gap:10px;padding:5px;border:1px solid #dee2ed;border-radius:3px}.w-color-picker .w-input .color-preview{width:30px;height:30px;border:1px solid #dee2ed;border-radius:3px}.w-color-picker .w-input .cp-input{width:70%;height:100%;border:none;font-size:14px;color:#1d2a3b;font-weight:400}\n"] }]
6588
+ }], ctorParameters: function () { return []; }, propDecorators: { label: [{
6589
+ type: Input
6590
+ }], value: [{
6591
+ type: Input
6592
+ }], gap: [{
6593
+ type: Input
6594
+ }], fontSize: [{
6595
+ type: Input
6596
+ }], colorChange: [{
6597
+ type: Output
6598
+ }] } });
6599
+
6600
+ class BorderPickerComponent {
6601
+ constructor() {
6602
+ this.gap = '12px';
6603
+ this.fontSize = '14px';
6604
+ this.borderRadius = '0px';
6605
+ this.firstBtnOption = 'Small';
6606
+ this.secondBtnOption = 'Medium';
6607
+ this.thirdBtnOption = 'Full';
6608
+ this.disabled = false;
6609
+ this.value = '';
6610
+ this.blurred = new EventEmitter();
6611
+ this.borderRadiusChange = new EventEmitter();
6612
+ this.showSlider = false;
6613
+ this.sliderValue = 0;
6614
+ this.onChange = () => { };
6615
+ this.onTouched = () => { };
6616
+ }
6617
+ writeValue(value) {
6618
+ if (value !== undefined) {
6619
+ this.value = value;
6620
+ }
6621
+ }
6622
+ registerOnChange(fn) {
6623
+ this.onChange = fn;
6624
+ }
6625
+ registerOnTouched(fn) {
6626
+ this.onTouched = fn;
6627
+ }
6628
+ setValue(event) {
6629
+ this.value = event.target.value;
6630
+ this.onChange(this.value);
6631
+ this.borderRadiusChange.emit(this.value);
6632
+ }
6633
+ onFocusOut() {
6634
+ }
6635
+ openSlider() {
6636
+ this.showSlider = true;
6637
+ this.sliderValue = parseInt(this.value.replace('px', ''), 10) || 0;
6638
+ }
6639
+ updateBorderRadius(value) {
6640
+ this.value = value + 'px';
6641
+ this.onChange(this.value); // Notifie Angular du changement
6642
+ this.borderRadiusChange.emit(this.value);
6643
+ }
6644
+ setBorderRadius(value) {
6645
+ this.sliderValue = value;
6646
+ this.updateBorderRadius(value);
6647
+ }
6648
+ onClickOutside(event) {
6649
+ const target = event.target;
6650
+ if (!target.closest('.w-input')) {
6651
+ this.showSlider = false;
6652
+ }
6653
+ }
6654
+ }
6655
+ BorderPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BorderPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6656
+ BorderPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.5", type: BorderPickerComponent, isStandalone: true, selector: "wac-border-picker", inputs: { label: "label", gap: "gap", fontSize: "fontSize", borderRadius: "borderRadius", firstBtnOption: "firstBtnOption", secondBtnOption: "secondBtnOption", thirdBtnOption: "thirdBtnOption", disabled: "disabled", value: "value" }, outputs: { blurred: "blurred", borderRadiusChange: "borderRadiusChange" }, host: { listeners: { "document:click": "onClickOutside($event)" } }, providers: [
6657
+ {
6658
+ provide: NG_VALUE_ACCESSOR,
6659
+ useExisting: forwardRef(() => BorderPickerComponent),
6660
+ multi: true
6661
+ }
6662
+ ], ngImport: i0, template: "<div class=\"w-border-picker\" [ngStyle]=\"{'gap': gap}\">\r\n\r\n <label class=\"bp-label\" for=\"borderPicker\" [ngStyle]=\"{'font-size': fontSize}\">{{ label }}</label>\r\n\r\n <div class=\"w-input\">\r\n\r\n <div class=\"border-preview\" [ngStyle]=\"{'border-radius': value}\">\r\n <div class=\"mask1\"></div>\r\n <div class=\"mask2\"></div>\r\n </div>\r\n\r\n <input\r\n class=\"bp-input\"\r\n id=\"borderPicker\"\r\n placeholder=\"8px\"\r\n maxlength=\"5\"\r\n [(ngModel)]=\"value\"\r\n (focus)=\"openSlider()\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [disabled]=\"disabled\"\r\n (focusout)=\"onFocusOut()\"\r\n (input)=\"setValue($event)\"\r\n />\r\n\r\n <div class=\"slider-popup\" *ngIf=\"showSlider\">\r\n\r\n <div class=\"slider\">\r\n <input\r\n type=\"range\"\r\n min=\"0\"\r\n max=\"100\"\r\n [(ngModel)]=\"sliderValue\"\r\n (ngModelChange)=\"updateBorderRadius($event)\"\r\n />\r\n <span>{{ sliderValue }}px</span>\r\n </div>\r\n\r\n <div class=\"preset-buttons\">\r\n <button (click)=\"setBorderRadius(4)\">{{ firstBtnOption }}</button>\r\n <button (click)=\"setBorderRadius(8)\">{{ secondBtnOption }}</button>\r\n <button (click)=\"setBorderRadius(100)\">{{ thirdBtnOption }}</button>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n</div>\r\n", styles: [".w-border-picker{display:flex;flex-direction:column}.w-border-picker .bp-label{font-weight:500}.w-border-picker .w-input{width:210px;height:40px;display:flex;align-items:center;gap:10px;padding:5px;border:1px solid #dee2ed;border-radius:3px;position:relative}.w-border-picker .w-input .border-preview{position:relative;width:30px;height:30px;border:2px solid #1d2a3b;border-radius:3px}.w-border-picker .w-input .border-preview .mask1,.w-border-picker .w-input .border-preview .mask2{background:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.w-border-picker .w-input .border-preview .mask1{width:30px;height:14px}.w-border-picker .w-input .border-preview .mask2{width:14px;height:30px}.w-border-picker .w-input .bp-input{width:70%;height:100%;border:none;font-size:14px;color:#1d2a3b;font-weight:400}.w-border-picker .w-input .slider-popup{flex-direction:column;position:absolute;top:50px;left:0;min-width:270px;background:white;border:1px solid #dee2ed;padding:10px;box-shadow:0 2px 10px #0000001a;z-index:10;display:flex;align-items:center;gap:10px}.w-border-picker .w-input .slider-popup:before{content:\"\";position:absolute;top:-20px;left:8px;border:10px solid transparent;border-bottom-color:#dee2ed}.w-border-picker .w-input .slider-popup .slider{width:100%;display:flex;align-items:center;gap:10px}.w-border-picker .w-input .slider-popup .slider input[type=range]{-webkit-appearance:none;width:100%;height:8px;background:#dee2ed;border-radius:5px;outline:none;opacity:.7;transition:opacity .2s}.w-border-picker .w-input .slider-popup .slider input[type=range]:hover{opacity:1}.w-border-picker .w-input .slider-popup .slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:#52aecd;cursor:pointer;border-radius:50%;box-shadow:0 0 2px #00000080}.w-border-picker .w-input .slider-popup .slider input[type=range]::-moz-range-thumb{width:20px;height:20px;background:#52aecd;cursor:pointer;border-radius:50%;box-shadow:0 0 2px #00000080}.w-border-picker .w-input .slider-popup .preset-buttons{display:flex;gap:10px;align-items:center}.w-border-picker .w-input .slider-popup .preset-buttons button{border:1px solid #dee2ed;background-color:#f5f5f5;color:#1d2a3b;font-size:14px;border-radius:12px;padding:5px 15px;cursor:pointer;transition:background-color .3s,box-shadow .3s}.w-border-picker .w-input .slider-popup .preset-buttons button:hover{background-color:#e0e0e0;box-shadow:0 2px 5px #0000001a}.w-border-picker .w-input .slider-popup .preset-buttons button:active{background-color:#d0d0d0;box-shadow:inset 0 2px 5px #0003}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.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: i2.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
6663
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: BorderPickerComponent, decorators: [{
6664
+ type: Component,
6665
+ args: [{ selector: "wac-border-picker", standalone: true, imports: [
6666
+ CommonModule,
6667
+ FormsModule,
6668
+ ], providers: [
6669
+ {
6670
+ provide: NG_VALUE_ACCESSOR,
6671
+ useExisting: forwardRef(() => BorderPickerComponent),
6672
+ multi: true
6673
+ }
6674
+ ], template: "<div class=\"w-border-picker\" [ngStyle]=\"{'gap': gap}\">\r\n\r\n <label class=\"bp-label\" for=\"borderPicker\" [ngStyle]=\"{'font-size': fontSize}\">{{ label }}</label>\r\n\r\n <div class=\"w-input\">\r\n\r\n <div class=\"border-preview\" [ngStyle]=\"{'border-radius': value}\">\r\n <div class=\"mask1\"></div>\r\n <div class=\"mask2\"></div>\r\n </div>\r\n\r\n <input\r\n class=\"bp-input\"\r\n id=\"borderPicker\"\r\n placeholder=\"8px\"\r\n maxlength=\"5\"\r\n [(ngModel)]=\"value\"\r\n (focus)=\"openSlider()\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [disabled]=\"disabled\"\r\n (focusout)=\"onFocusOut()\"\r\n (input)=\"setValue($event)\"\r\n />\r\n\r\n <div class=\"slider-popup\" *ngIf=\"showSlider\">\r\n\r\n <div class=\"slider\">\r\n <input\r\n type=\"range\"\r\n min=\"0\"\r\n max=\"100\"\r\n [(ngModel)]=\"sliderValue\"\r\n (ngModelChange)=\"updateBorderRadius($event)\"\r\n />\r\n <span>{{ sliderValue }}px</span>\r\n </div>\r\n\r\n <div class=\"preset-buttons\">\r\n <button (click)=\"setBorderRadius(4)\">{{ firstBtnOption }}</button>\r\n <button (click)=\"setBorderRadius(8)\">{{ secondBtnOption }}</button>\r\n <button (click)=\"setBorderRadius(100)\">{{ thirdBtnOption }}</button>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n</div>\r\n", styles: [".w-border-picker{display:flex;flex-direction:column}.w-border-picker .bp-label{font-weight:500}.w-border-picker .w-input{width:210px;height:40px;display:flex;align-items:center;gap:10px;padding:5px;border:1px solid #dee2ed;border-radius:3px;position:relative}.w-border-picker .w-input .border-preview{position:relative;width:30px;height:30px;border:2px solid #1d2a3b;border-radius:3px}.w-border-picker .w-input .border-preview .mask1,.w-border-picker .w-input .border-preview .mask2{background:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.w-border-picker .w-input .border-preview .mask1{width:30px;height:14px}.w-border-picker .w-input .border-preview .mask2{width:14px;height:30px}.w-border-picker .w-input .bp-input{width:70%;height:100%;border:none;font-size:14px;color:#1d2a3b;font-weight:400}.w-border-picker .w-input .slider-popup{flex-direction:column;position:absolute;top:50px;left:0;min-width:270px;background:white;border:1px solid #dee2ed;padding:10px;box-shadow:0 2px 10px #0000001a;z-index:10;display:flex;align-items:center;gap:10px}.w-border-picker .w-input .slider-popup:before{content:\"\";position:absolute;top:-20px;left:8px;border:10px solid transparent;border-bottom-color:#dee2ed}.w-border-picker .w-input .slider-popup .slider{width:100%;display:flex;align-items:center;gap:10px}.w-border-picker .w-input .slider-popup .slider input[type=range]{-webkit-appearance:none;width:100%;height:8px;background:#dee2ed;border-radius:5px;outline:none;opacity:.7;transition:opacity .2s}.w-border-picker .w-input .slider-popup .slider input[type=range]:hover{opacity:1}.w-border-picker .w-input .slider-popup .slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:#52aecd;cursor:pointer;border-radius:50%;box-shadow:0 0 2px #00000080}.w-border-picker .w-input .slider-popup .slider input[type=range]::-moz-range-thumb{width:20px;height:20px;background:#52aecd;cursor:pointer;border-radius:50%;box-shadow:0 0 2px #00000080}.w-border-picker .w-input .slider-popup .preset-buttons{display:flex;gap:10px;align-items:center}.w-border-picker .w-input .slider-popup .preset-buttons button{border:1px solid #dee2ed;background-color:#f5f5f5;color:#1d2a3b;font-size:14px;border-radius:12px;padding:5px 15px;cursor:pointer;transition:background-color .3s,box-shadow .3s}.w-border-picker .w-input .slider-popup .preset-buttons button:hover{background-color:#e0e0e0;box-shadow:0 2px 5px #0000001a}.w-border-picker .w-input .slider-popup .preset-buttons button:active{background-color:#d0d0d0;box-shadow:inset 0 2px 5px #0003}\n"] }]
6675
+ }], ctorParameters: function () { return []; }, propDecorators: { label: [{
6676
+ type: Input
6677
+ }], gap: [{
6678
+ type: Input
6679
+ }], fontSize: [{
6680
+ type: Input
6681
+ }], borderRadius: [{
6682
+ type: Input
6683
+ }], firstBtnOption: [{
6684
+ type: Input
6685
+ }], secondBtnOption: [{
6686
+ type: Input
6687
+ }], thirdBtnOption: [{
6688
+ type: Input
6689
+ }], disabled: [{
6690
+ type: Input
6691
+ }], value: [{
6692
+ type: Input
6693
+ }], blurred: [{
6694
+ type: Output
6695
+ }], borderRadiusChange: [{
6696
+ type: Output
6697
+ }], onClickOutside: [{
6698
+ type: HostListener,
6699
+ args: ['document:click', ['$event']]
6700
+ }] } });
6701
+
6513
6702
  const components = [
6514
6703
  TagComponent,
6515
6704
  ButtonComponent,
@@ -6601,6 +6790,8 @@ const standaloneComponents = [
6601
6790
  InputWithSelectComponent,
6602
6791
  BlockTitleLegacyComponent,
6603
6792
  BlockSeparatorComponent,
6793
+ ColorPickerComponent,
6794
+ BorderPickerComponent
6604
6795
  ];
6605
6796
  class SharedComponentsModule {
6606
6797
  }
@@ -6688,7 +6879,8 @@ SharedComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
6688
6879
  NgScrollbarModule,
6689
6880
  NgScrollbarReachedModule,
6690
6881
  TreeModule,
6691
- ExpansionModule, TabsComponent,
6882
+ ExpansionModule,
6883
+ ColorPickerModule, TabsComponent,
6692
6884
  TabComponent,
6693
6885
  SnackbarComponent,
6694
6886
  BlockComponent,
@@ -6699,7 +6891,9 @@ SharedComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
6699
6891
  InputSearchComponent,
6700
6892
  InputWithSelectComponent,
6701
6893
  BlockTitleLegacyComponent,
6702
- BlockSeparatorComponent], exports: [TagComponent,
6894
+ BlockSeparatorComponent,
6895
+ ColorPickerComponent,
6896
+ BorderPickerComponent], exports: [TagComponent,
6703
6897
  ButtonComponent,
6704
6898
  InfoComponent,
6705
6899
  SettingsComponent,
@@ -6781,7 +6975,9 @@ SharedComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
6781
6975
  InputSearchComponent,
6782
6976
  InputWithSelectComponent,
6783
6977
  BlockTitleLegacyComponent,
6784
- BlockSeparatorComponent] });
6978
+ BlockSeparatorComponent,
6979
+ ColorPickerComponent,
6980
+ BorderPickerComponent] });
6785
6981
  SharedComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SharedComponentsModule, imports: [CommonModule,
6786
6982
  FormsModule,
6787
6983
  NwbAllModule,
@@ -6803,7 +6999,8 @@ SharedComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
6803
6999
  NgScrollbarModule,
6804
7000
  NgScrollbarReachedModule,
6805
7001
  TreeModule,
6806
- ExpansionModule, standaloneComponents] });
7002
+ ExpansionModule,
7003
+ ColorPickerModule, standaloneComponents] });
6807
7004
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImport: i0, type: SharedComponentsModule, decorators: [{
6808
7005
  type: NgModule,
6809
7006
  args: [{
@@ -6830,6 +7027,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.5", ngImpor
6830
7027
  NgScrollbarReachedModule,
6831
7028
  TreeModule,
6832
7029
  ExpansionModule,
7030
+ ColorPickerModule,
6833
7031
  ...standaloneComponents
6834
7032
  ],
6835
7033
  declarations: components,
@@ -7025,5 +7223,5 @@ const switchInOut = trigger('switchInOut', [
7025
7223
  * Generated bundle index. Do not edit.
7026
7224
  */
7027
7225
 
7028
- export { ACCORDION_ITEM, AbstractDebounceDirective, AccordionComponent, AiExpressComponent, AlertComponent, AlertPopupComponent, AlertPopupModule, AlertPopupService, AreAllOptionsSelectedPipe, AutoHideDirective, BackComponent, BlockComponent, BlockSeparatorComponent, BlockTitleLegacyComponent, BlockWithCheckboxComponent, BreadcrumbsComponent, ButtonComponent, CalendarComponent, CallComponentFunctionPipe, CardPriceComponent, ChargingBarComponent, CheckBoxRow, CheckboxComponent, ColumnComponent, ConfirmDeleteComponent, ContentWithButtonsComponent, CopyToClipBoardDirective, DebounceKeyupDirective, DeleteComponent, DomChangedDirective, DraganddropListComponent, DropdownComponent, EXPANSION_PANEL_HEADER, ExpandedPanelComponent, ExpansionExport, ExpansionModule, ExpansionPanelComponent, ExpansionPanelDirective, ExpansionPanelHeaderComponent, ExpansionPanelHeaderDirective, FilterOptionsPipe, FiltersComponent, FiltersTableService, FindOptionSelectedPipe, FormatObjectToRecursifTreePipe, FormatObjectToSimpleTreePipe, FreePopinComponent, GooglePreviewComponent, H1Component, H2Component, H3Component, H4Component, HeaderPageComponent, HistoryService, HtmlContainer, ImageComponent, InfoComponent, InputComponent, InputSearchComponent, InputWithSelectComponent, KeypressEnterDirective, LabelComponent, LinkComponent, LoaderComponent, LogoComponent, MosaicComponent, MultipleSearchComponent, MultipleSearchPlusComponent, OnlyNumberDirective, OptionCallToActionComponent, OptionComponent, OptionalDisableContainerComponent, PaginationComponent, PlaceholderComponent, PopinComponent, ProgressBarComponent, RadioComponent, RadioDirective, RadioGroupDirective$1 as RadioGroupDirective, RadioLegacyComponent, RadioOptionComponent, RowComponent, ScrollToDirective, SearchComponent, SelectComponent, SelectDirective, SelectFiltersPipe, SelectInTextComponent, SelectOptionDirective, SelectSearchTriggerComponent, SelectedListComponent, SeparatorComponent, SettingsComponent, SharedComponentsModule, SharedDirectives, SharedPipes, SnackbarComponent, StateComponent, SummaryComponent, SwitchComponent, TabComponent, TableColumn, TableColumnHeader, TableComponent, TableFiltersGroup, TableRow, TabsComponent, TagComponent, TagDropdownComponent, TagLabelComponent, TextAreaComponent, TextComponent, TokenCheckComponent, TooltipComponent, TreeComponent, TreeModule, TwoDigitDecimalNumberDirective, UploadComponent, ValueChangeService, VarDirective, WiziComponentsModule, WrapperBlocsComponent, WrapperComponent, WrapperMultipleBlockComponent, WrapperSidebarComponent, WzEditInPlaceComponent, ZindexToggleDirective, animateListFromBottom, animateListFromLeft, animateListFromRight, animateListFromTop, distinctUntilTableFiltersChanged, inOutX, inOutY, opacityAnimation, showFromBottom, showFromLeft, showFromRight, showFromTop, switchInOut, updateTableFiltersTotalItems, uuid };
7226
+ export { ACCORDION_ITEM, AbstractDebounceDirective, AccordionComponent, AiExpressComponent, AlertComponent, AlertPopupComponent, AlertPopupModule, AlertPopupService, AreAllOptionsSelectedPipe, AutoHideDirective, BackComponent, BlockComponent, BlockSeparatorComponent, BlockTitleLegacyComponent, BlockWithCheckboxComponent, BorderPickerComponent, BreadcrumbsComponent, ButtonComponent, CalendarComponent, CallComponentFunctionPipe, CardPriceComponent, ChargingBarComponent, CheckBoxRow, CheckboxComponent, ColorPickerComponent, ColumnComponent, ConfirmDeleteComponent, ContentWithButtonsComponent, CopyToClipBoardDirective, DebounceKeyupDirective, DeleteComponent, DomChangedDirective, DraganddropListComponent, DropdownComponent, EXPANSION_PANEL_HEADER, ExpandedPanelComponent, ExpansionExport, ExpansionModule, ExpansionPanelComponent, ExpansionPanelDirective, ExpansionPanelHeaderComponent, ExpansionPanelHeaderDirective, FilterOptionsPipe, FiltersComponent, FiltersTableService, FindOptionSelectedPipe, FormatObjectToRecursifTreePipe, FormatObjectToSimpleTreePipe, FreePopinComponent, GooglePreviewComponent, H1Component, H2Component, H3Component, H4Component, HeaderPageComponent, HistoryService, HtmlContainer, ImageComponent, InfoComponent, InputComponent, InputSearchComponent, InputWithSelectComponent, KeypressEnterDirective, LabelComponent, LinkComponent, LoaderComponent, LogoComponent, MosaicComponent, MultipleSearchComponent, MultipleSearchPlusComponent, OnlyNumberDirective, OptionCallToActionComponent, OptionComponent, OptionalDisableContainerComponent, PaginationComponent, PlaceholderComponent, PopinComponent, ProgressBarComponent, RadioComponent, RadioDirective, RadioGroupDirective$1 as RadioGroupDirective, RadioLegacyComponent, RadioOptionComponent, RowComponent, ScrollToDirective, SearchComponent, SelectComponent, SelectDirective, SelectFiltersPipe, SelectInTextComponent, SelectOptionDirective, SelectSearchTriggerComponent, SelectedListComponent, SeparatorComponent, SettingsComponent, SharedComponentsModule, SharedDirectives, SharedPipes, SnackbarComponent, StateComponent, SummaryComponent, SwitchComponent, TabComponent, TableColumn, TableColumnHeader, TableComponent, TableFiltersGroup, TableRow, TabsComponent, TagComponent, TagDropdownComponent, TagLabelComponent, TextAreaComponent, TextComponent, TokenCheckComponent, TooltipComponent, TreeComponent, TreeModule, TwoDigitDecimalNumberDirective, UploadComponent, ValueChangeService, VarDirective, WiziComponentsModule, WrapperBlocsComponent, WrapperComponent, WrapperMultipleBlockComponent, WrapperSidebarComponent, WzEditInPlaceComponent, ZindexToggleDirective, animateListFromBottom, animateListFromLeft, animateListFromRight, animateListFromTop, distinctUntilTableFiltersChanged, inOutX, inOutY, opacityAnimation, showFromBottom, showFromLeft, showFromRight, showFromTop, switchInOut, updateTableFiltersTotalItems, uuid };
7029
7227
  //# sourceMappingURL=wizishop-angular-components.mjs.map