tango-app-ui-store-builder 1.0.46 → 1.0.48
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.
- package/esm2022/lib/components/collection-update-ai/collection-update-ai.component.mjs +3 -3
- package/esm2022/lib/components/collection-update-ai/components/dynamic-filter/dynamic-filter.component.mjs +183 -0
- package/esm2022/lib/components/collection-update-ai/components/store-dropdown/store-dropdown.component.mjs +211 -0
- package/esm2022/lib/components/collection-update-ai/components/store-fixture/store-fixture.component.mjs +422 -0
- package/esm2022/lib/components/collection-update-ai/components/store-select/store-select.component.mjs +148 -0
- package/esm2022/lib/components/collection-update-ai/find-replace-layout/cancel-confirmation-modal/cancel-confirmation-modal.component.mjs +20 -0
- package/esm2022/lib/components/collection-update-ai/find-replace-layout/find-replace-layout.component.mjs +359 -0
- package/esm2022/lib/components/collection-update-ai/find-replace-layout/prepare-template/batch-confirmation-modal/batch-confirmation-modal.component.mjs +23 -0
- package/esm2022/lib/components/collection-update-ai/find-replace-layout/prepare-template/prepare-template.component.mjs +2524 -0
- package/esm2022/lib/components/collection-update-ai/find-replace-layout/review-replace/approve-complete-modal/approve-complete-modal.component.mjs +66 -0
- package/esm2022/lib/components/collection-update-ai/find-replace-layout/review-replace/fixture-before-after/fixture-before-after.component.mjs +85 -0
- package/esm2022/lib/components/collection-update-ai/find-replace-layout/review-replace/review-replace.component.mjs +2039 -0
- package/esm2022/lib/components/collection-update-ai/find-replace-table/find-replace-table.component.mjs +433 -0
- package/esm2022/lib/components/collection-update-ai/find-replace-table/reschedule-modal/reschedule-modal.component.mjs +76 -0
- package/esm2022/lib/components/collection-update-ai/models/find-replace.model.mjs +2 -0
- package/esm2022/lib/components/collection-update-ai/services/data.service.mjs +291 -0
- package/esm2022/lib/components/create-fixture/create-fixture.component.mjs +233 -138
- package/esm2022/lib/components/fixture-template/template-assign-stores/preview-modal/preview-modal.component.mjs +4 -2
- package/esm2022/lib/components/fixture-template/template-assign-stores/template-assign-stores.component.mjs +4 -2
- package/esm2022/lib/components/fixture-template/template-basic-details/template-basic-details.component.mjs +40 -4
- package/esm2022/lib/components/fixture-template/template-products/template-products.component.mjs +3 -3
- package/esm2022/lib/components/fixture-template/template-summary/template-summary.component.mjs +3 -3
- package/esm2022/lib/components/fixture-template/template-vms/template-vms.component.mjs +108 -79
- package/esm2022/lib/components/fixture-template-table/fixture-template-table.component.mjs +33 -4
- package/esm2022/lib/components/fixture-template-tree/fixture-template-tree.component.mjs +7 -3
- package/esm2022/lib/components/manage-plano/rollout-table/rollout-table.component.mjs +25 -3
- package/esm2022/lib/components/manage-store-plano/manage-store-plano.component.mjs +4 -2
- package/esm2022/lib/components/manage-store-plano/template-basic-details/template-basic-details.component.mjs +27 -4
- package/esm2022/lib/components/manage-store-plano/template-products/template-products.component.mjs +3 -3
- package/esm2022/lib/components/manage-store-plano/template-vms/template-vms.component.mjs +10 -14
- package/esm2022/lib/components/manage-store-plano/verification-feedback/editable-fixture/editable-fixture.component.mjs +3 -3
- package/esm2022/lib/components/manage-store-plano/verification-feedback/verification-feedback.component.mjs +3 -3
- package/esm2022/lib/components/planogram/merch-compliance/fixture-products/fixture-products.component.mjs +75 -31
- package/esm2022/lib/components/planogram/merch-compliance/merch-compliance.component.mjs +7 -8
- package/esm2022/lib/components/planogram/merch-compliance/product-locator/misplaced-product-fixture/misplaced-product-fixture.component.mjs +234 -0
- package/esm2022/lib/components/planogram/merch-compliance/product-locator/product-locator.component.mjs +1110 -0
- package/esm2022/lib/components/planogram/merch-compliance/product-locator/product-zone-locator/product-zone-locator.component.mjs +52 -0
- package/esm2022/lib/components/planogram/merch-compliance/zone-products/zone-products.component.mjs +36 -10
- package/esm2022/lib/components/planogram/plano-analytics/analytics-popup/analytics-popup.component.mjs +68 -0
- package/esm2022/lib/components/planogram/plano-analytics/date-range-picker/date-range-picker.component.mjs +92 -0
- package/esm2022/lib/components/planogram/plano-analytics/fixture-analytics/fixture-analytics.component.mjs +645 -0
- package/esm2022/lib/components/planogram/plano-analytics/plano-analytics.component.mjs +1276 -0
- package/esm2022/lib/components/planogram/plano-details-parent/plano-details-parent.component.mjs +33 -15
- package/esm2022/lib/components/planogram/plano-overview/fixture-overview/fixture-overview.component.mjs +41 -35
- package/esm2022/lib/components/planogram/plano-overview/plano-comparison/plano-comparison.component.mjs +8 -4
- package/esm2022/lib/components/planogram/plano-overview/plano-overview.component.mjs +19 -12
- package/esm2022/lib/components/planogram/plano-table/plano-table.component.mjs +3 -3
- package/esm2022/lib/components/store-plano/store-plano-tree-view/store-plano-tree-view.component.mjs +3 -2
- package/esm2022/lib/components/store-plano/store-plano.component.mjs +4 -2
- package/esm2022/lib/interfaces/fixture-library.interface.mjs +1 -1
- package/esm2022/lib/services/store-builder.service.mjs +49 -1
- package/esm2022/lib/tango-store-builder-routing.module.mjs +23 -1
- package/esm2022/lib/tango-store-builder.module.mjs +42 -5
- package/fesm2022/tango-app-ui-store-builder.mjs +12677 -2064
- package/fesm2022/tango-app-ui-store-builder.mjs.map +1 -1
- package/lib/components/collection-update-ai/components/dynamic-filter/dynamic-filter.component.d.ts +51 -0
- package/lib/components/collection-update-ai/components/store-dropdown/store-dropdown.component.d.ts +36 -0
- package/lib/components/collection-update-ai/components/store-fixture/store-fixture.component.d.ts +50 -0
- package/lib/components/collection-update-ai/components/store-select/store-select.component.d.ts +33 -0
- package/lib/components/collection-update-ai/find-replace-layout/cancel-confirmation-modal/cancel-confirmation-modal.component.d.ts +9 -0
- package/lib/components/collection-update-ai/find-replace-layout/find-replace-layout.component.d.ts +58 -0
- package/lib/components/collection-update-ai/find-replace-layout/prepare-template/batch-confirmation-modal/batch-confirmation-modal.component.d.ts +10 -0
- package/lib/components/collection-update-ai/find-replace-layout/prepare-template/prepare-template.component.d.ts +141 -0
- package/lib/components/collection-update-ai/find-replace-layout/review-replace/approve-complete-modal/approve-complete-modal.component.d.ts +18 -0
- package/lib/components/collection-update-ai/find-replace-layout/review-replace/fixture-before-after/fixture-before-after.component.d.ts +19 -0
- package/lib/components/collection-update-ai/find-replace-layout/review-replace/review-replace.component.d.ts +116 -0
- package/lib/components/collection-update-ai/find-replace-table/find-replace-table.component.d.ts +63 -0
- package/lib/components/collection-update-ai/find-replace-table/reschedule-modal/reschedule-modal.component.d.ts +19 -0
- package/lib/components/collection-update-ai/models/find-replace.model.d.ts +55 -0
- package/lib/components/collection-update-ai/services/data.service.d.ts +70 -0
- package/lib/components/create-fixture/create-fixture.component.d.ts +15 -14
- package/lib/components/fixture-template/template-basic-details/template-basic-details.component.d.ts +2 -0
- package/lib/components/fixture-template/template-vms/template-vms.component.d.ts +12 -12
- package/lib/components/fixture-template-table/fixture-template-table.component.d.ts +2 -0
- package/lib/components/manage-plano/rollout-table/rollout-table.component.d.ts +4 -2
- package/lib/components/manage-plano/verification-table/verification-table.component.d.ts +4 -4
- package/lib/components/manage-store-plano/template-basic-details/template-basic-details.component.d.ts +2 -0
- package/lib/components/manage-store-plano/template-vms/template-vms.component.d.ts +0 -1
- package/lib/components/planogram/merch-compliance/fixture-products/fixture-products.component.d.ts +8 -2
- package/lib/components/planogram/merch-compliance/merch-compliance.component.d.ts +1 -3
- package/lib/components/planogram/merch-compliance/product-locator/misplaced-product-fixture/misplaced-product-fixture.component.d.ts +47 -0
- package/lib/components/planogram/merch-compliance/product-locator/product-locator.component.d.ts +70 -0
- package/lib/components/planogram/merch-compliance/product-locator/product-zone-locator/product-zone-locator.component.d.ts +16 -0
- package/lib/components/planogram/merch-compliance/zone-products/zone-products.component.d.ts +13 -3
- package/lib/components/planogram/plano-analytics/analytics-popup/analytics-popup.component.d.ts +25 -0
- package/lib/components/planogram/plano-analytics/date-range-picker/date-range-picker.component.d.ts +24 -0
- package/lib/components/planogram/plano-analytics/fixture-analytics/fixture-analytics.component.d.ts +93 -0
- package/lib/components/planogram/plano-analytics/plano-analytics.component.d.ts +97 -0
- package/lib/components/planogram/plano-details-parent/plano-details-parent.component.d.ts +8 -3
- package/lib/components/planogram/plano-overview/fixture-overview/fixture-overview.component.d.ts +2 -4
- package/lib/interfaces/fixture-library.interface.d.ts +1 -1
- package/lib/services/store-builder.service.d.ts +25 -0
- package/lib/tango-store-builder.module.d.ts +31 -21
- package/package.json +1 -1
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter, HostListener, ViewChild } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
export class StoreSelectComponent {
|
|
7
|
+
options = [];
|
|
8
|
+
initialSelected = [];
|
|
9
|
+
selectedChange = new EventEmitter();
|
|
10
|
+
inputWrapper;
|
|
11
|
+
selectedItems = new Set();
|
|
12
|
+
inputText = '';
|
|
13
|
+
isDropdownOpen = false;
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
// Initialize with any pre-selected items if needed
|
|
16
|
+
this.setInitialSelections();
|
|
17
|
+
}
|
|
18
|
+
ngOnChanges(changes) {
|
|
19
|
+
if (changes['initialSelected'] || changes['options']) {
|
|
20
|
+
this.setInitialSelections();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
setInitialSelections() {
|
|
24
|
+
// Only set initial selections if both options and initialSelected are available
|
|
25
|
+
if (this.initialSelected && this.initialSelected.length > 0 && this.options && this.options.length > 0) {
|
|
26
|
+
this.selectedItems.clear();
|
|
27
|
+
this.initialSelected.forEach(option => {
|
|
28
|
+
// Match by id first, then by label
|
|
29
|
+
const matchedOption = this.options.find(opt => opt.id === option.id || opt.label === option.label);
|
|
30
|
+
if (matchedOption) {
|
|
31
|
+
this.selectedItems.add(matchedOption.id);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
// Emit the selected options
|
|
35
|
+
if (this.selectedItems.size > 0) {
|
|
36
|
+
this.selectedChange.emit(this.selectedOptions);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
onDocumentClick(event) {
|
|
41
|
+
if (this.inputWrapper && !this.inputWrapper.nativeElement.contains(event.target)) {
|
|
42
|
+
this.isDropdownOpen = false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
get selectedOptions() {
|
|
46
|
+
return this.options.filter(option => this.selectedItems.has(option.id));
|
|
47
|
+
}
|
|
48
|
+
get isAllSelected() {
|
|
49
|
+
return this.options.length > 0 && this.selectedItems.size === this.options.length;
|
|
50
|
+
}
|
|
51
|
+
get isIndeterminate() {
|
|
52
|
+
return this.selectedItems.size > 0 && this.selectedItems.size < this.options.length;
|
|
53
|
+
}
|
|
54
|
+
isSelected(id) {
|
|
55
|
+
return this.selectedItems.has(id);
|
|
56
|
+
}
|
|
57
|
+
toggleSelectAll() {
|
|
58
|
+
if (this.isAllSelected) {
|
|
59
|
+
// Deselect all
|
|
60
|
+
this.selectedItems.clear();
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
// Select all
|
|
64
|
+
this.options.forEach(option => {
|
|
65
|
+
this.selectedItems.add(option.id);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
this.selectedChange.emit(this.selectedOptions);
|
|
69
|
+
}
|
|
70
|
+
onInputChange(event) {
|
|
71
|
+
const target = event.target;
|
|
72
|
+
this.inputText = target.value;
|
|
73
|
+
}
|
|
74
|
+
onKeyDown(event) {
|
|
75
|
+
const keyboardEvent = event;
|
|
76
|
+
if (keyboardEvent.key === 'Enter') {
|
|
77
|
+
keyboardEvent.preventDefault();
|
|
78
|
+
const target = keyboardEvent.target;
|
|
79
|
+
const value = target.value.trim();
|
|
80
|
+
if (value.length > 0) {
|
|
81
|
+
// Split by comma and process each value
|
|
82
|
+
const values = value.split(',').map(v => v.trim()).filter(v => v.length > 0);
|
|
83
|
+
let hasChanges = false;
|
|
84
|
+
values.forEach(val => {
|
|
85
|
+
// Find matching option by label (case-insensitive)
|
|
86
|
+
const matchedOption = this.options.find(opt => opt.label.toLowerCase() === val.toLowerCase());
|
|
87
|
+
if (matchedOption && !this.selectedItems.has(matchedOption.id)) {
|
|
88
|
+
this.selectedItems.add(matchedOption.id);
|
|
89
|
+
hasChanges = true;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
// Only emit if there were changes
|
|
93
|
+
if (hasChanges) {
|
|
94
|
+
this.selectedChange.emit(this.selectedOptions);
|
|
95
|
+
}
|
|
96
|
+
// Clear input after processing
|
|
97
|
+
this.inputText = '';
|
|
98
|
+
target.value = '';
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
onInputClick() {
|
|
103
|
+
// Open dropdown on input click
|
|
104
|
+
this.isDropdownOpen = true;
|
|
105
|
+
}
|
|
106
|
+
onInputFocus() {
|
|
107
|
+
// Open dropdown on focus
|
|
108
|
+
this.isDropdownOpen = true;
|
|
109
|
+
}
|
|
110
|
+
toggleSelection(option) {
|
|
111
|
+
if (this.selectedItems.has(option.id)) {
|
|
112
|
+
this.selectedItems.delete(option.id);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
this.selectedItems.add(option.id);
|
|
116
|
+
}
|
|
117
|
+
this.selectedChange.emit(this.selectedOptions);
|
|
118
|
+
}
|
|
119
|
+
removeChip(option, event) {
|
|
120
|
+
event.stopPropagation();
|
|
121
|
+
event.preventDefault();
|
|
122
|
+
this.selectedItems.delete(option.id);
|
|
123
|
+
this.selectedChange.emit(this.selectedOptions);
|
|
124
|
+
}
|
|
125
|
+
onDropdownClick(event) {
|
|
126
|
+
// Prevent click from bubbling to document
|
|
127
|
+
event.stopPropagation();
|
|
128
|
+
}
|
|
129
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StoreSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
130
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: StoreSelectComponent, isStandalone: true, selector: "lib-store-select", inputs: { options: "options", initialSelected: "initialSelected" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, viewQueries: [{ propertyName: "inputWrapper", first: true, predicate: ["inputWrapper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"input-wrapper\" #inputWrapper>\r\n <div class=\"form-control custom-input d-flex align-items-center gap-2 flex-wrap\" \r\n (click)=\"onInputClick()\">\r\n <span *ngFor=\"let option of selectedOptions\" \r\n class=\"store-badge\"\r\n (click)=\"removeChip(option, $event)\">\r\n <span class=\"badge-text\">{{ option.label }}</span>\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <input \r\n type=\"text\" \r\n class=\"input-text\"\r\n [value]=\"inputText\"\r\n (input)=\"onInputChange($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (focus)=\"onInputFocus()\"\r\n placeholder=\"Type and press Enter\"\r\n autocomplete=\"off\">\r\n </div>\r\n <div class=\"dropdown-menu-custom\" \r\n *ngIf=\"isDropdownOpen && options.length > 0\"\r\n (click)=\"onDropdownClick($event)\">\r\n <div class=\"dropdown-item-custom select-all-item\"\r\n (click)=\"toggleSelectAll()\">\r\n <div class=\"custom-checkbox\">\r\n <div class=\"checkbox-box\" [class.checked]=\"isAllSelected\" [class.indeterminate]=\"isIndeterminate\">\r\n <svg *ngIf=\"isAllSelected\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M10 3L4.5 8.5L2 6\" stroke=\"#00A3FF\" stroke-width=\"1.6666\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n <svg *ngIf=\"isIndeterminate && !isAllSelected\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M2 6H10\" stroke=\"#00A3FF\" stroke-width=\"1.6666\" stroke-linecap=\"round\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n <span class=\"dropdown-item-text\">Select All</span>\r\n </div>\r\n <hr class=\"dropdown-divider\">\r\n <div *ngFor=\"let option of options\" \r\n class=\"dropdown-item-custom\"\r\n (click)=\"toggleSelection(option)\">\r\n <div class=\"custom-checkbox\">\r\n <div class=\"checkbox-box\" [class.checked]=\"isSelected(option.id)\">\r\n <svg *ngIf=\"isSelected(option.id)\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M10 3L4.5 8.5L2 6\" stroke=\"#00A3FF\" stroke-width=\"1.6666\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n <span class=\"dropdown-item-text\">{{ option.label }}</span>\r\n </div>\r\n </div>\r\n</div>", styles: [".input-wrapper{position:relative;width:100%}:host{display:block;flex:1;min-width:0}.custom-input{background:#fff;border:1px solid #d0d5dd;border-radius:8px;padding:6px 10px;min-height:44px;max-height:160px;box-shadow:0 1px 2px #1018280d;display:flex;align-items:flex-start;overflow-y:auto;overflow-x:hidden}.custom-input:focus,.custom-input:focus-within{outline:none;box-shadow:0 1px 2px #1018280d}.store-badge{background-color:#f2f4f7;border-radius:16px;padding:2px 6px 2px 8px;display:inline-flex;align-items:center;gap:4px;flex-shrink:0;cursor:pointer;transition:background-color .2s ease}.store-badge:hover{background-color:#e4e7ec}.badge-text{font-size:12px;font-weight:500;line-height:18px;color:#344054}.input-text{font-size:14px;font-weight:400;line-height:20px;color:#1d2939;border:none;outline:none;background:transparent;flex:1;min-width:120px;padding:0}.input-text:focus{outline:none;box-shadow:none}.input-text::placeholder{color:#98a2b3}.dropdown-menu-custom{position:absolute;background:#fff;border:1px solid #f2f4f7;border-radius:8px;width:100%;box-shadow:0 12px 16px -4px #10182814,0 4px 6px -2px #10182808;margin-top:8px;top:100%;left:0;z-index:1000;max-height:300px;overflow-y:auto;overflow-x:hidden}.dropdown-menu-custom::-webkit-scrollbar,.custom-input::-webkit-scrollbar{width:6px}.dropdown-menu-custom::-webkit-scrollbar-track,.custom-input::-webkit-scrollbar-track{background:#f9fafb;border-radius:4px}.dropdown-menu-custom::-webkit-scrollbar-thumb,.custom-input::-webkit-scrollbar-thumb{background:#d0d5dd;border-radius:4px}.dropdown-menu-custom::-webkit-scrollbar-thumb:hover,.custom-input::-webkit-scrollbar-thumb:hover{background:#98a2b3}.dropdown-item-custom{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;transition:background-color .2s ease}.dropdown-item-custom:hover{background-color:#f9fafb}.select-all-item{font-weight:600;border-bottom:1px solid #f2f4f7;margin-bottom:4px}.dropdown-item-text{font-size:14px;font-weight:500;line-height:20px;color:#344054}.custom-checkbox{display:flex;align-items:center;justify-content:center}.checkbox-box{width:16px;height:16px;background:#fff;border:1px solid #d0d5dd;border-radius:4px;display:flex;align-items:center;justify-content:center}.checkbox-box.checked,.checkbox-box.indeterminate{background-color:#eaf8ff;border-color:#00a3ff}.dropdown-divider{background-color:#f2f4f7;height:1px;margin:0;opacity:1}@media (max-width: 767px){.btn-apply{width:100%;margin-top:0}.dropdown-menu-custom{position:absolute;margin-top:8px;width:100%;left:0}}@media (max-width: 575px){.custom-input{flex-direction:column;align-items:flex-start}.store-badge{margin-bottom:4px}}.gap-2{gap:.5rem!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }] });
|
|
131
|
+
}
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StoreSelectComponent, decorators: [{
|
|
133
|
+
type: Component,
|
|
134
|
+
args: [{ selector: 'lib-store-select', standalone: true, imports: [CommonModule, FormsModule], template: "<div class=\"input-wrapper\" #inputWrapper>\r\n <div class=\"form-control custom-input d-flex align-items-center gap-2 flex-wrap\" \r\n (click)=\"onInputClick()\">\r\n <span *ngFor=\"let option of selectedOptions\" \r\n class=\"store-badge\"\r\n (click)=\"removeChip(option, $event)\">\r\n <span class=\"badge-text\">{{ option.label }}</span>\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n <input \r\n type=\"text\" \r\n class=\"input-text\"\r\n [value]=\"inputText\"\r\n (input)=\"onInputChange($event)\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (focus)=\"onInputFocus()\"\r\n placeholder=\"Type and press Enter\"\r\n autocomplete=\"off\">\r\n </div>\r\n <div class=\"dropdown-menu-custom\" \r\n *ngIf=\"isDropdownOpen && options.length > 0\"\r\n (click)=\"onDropdownClick($event)\">\r\n <div class=\"dropdown-item-custom select-all-item\"\r\n (click)=\"toggleSelectAll()\">\r\n <div class=\"custom-checkbox\">\r\n <div class=\"checkbox-box\" [class.checked]=\"isAllSelected\" [class.indeterminate]=\"isIndeterminate\">\r\n <svg *ngIf=\"isAllSelected\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M10 3L4.5 8.5L2 6\" stroke=\"#00A3FF\" stroke-width=\"1.6666\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n <svg *ngIf=\"isIndeterminate && !isAllSelected\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M2 6H10\" stroke=\"#00A3FF\" stroke-width=\"1.6666\" stroke-linecap=\"round\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n <span class=\"dropdown-item-text\">Select All</span>\r\n </div>\r\n <hr class=\"dropdown-divider\">\r\n <div *ngFor=\"let option of options\" \r\n class=\"dropdown-item-custom\"\r\n (click)=\"toggleSelection(option)\">\r\n <div class=\"custom-checkbox\">\r\n <div class=\"checkbox-box\" [class.checked]=\"isSelected(option.id)\">\r\n <svg *ngIf=\"isSelected(option.id)\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M10 3L4.5 8.5L2 6\" stroke=\"#00A3FF\" stroke-width=\"1.6666\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n <span class=\"dropdown-item-text\">{{ option.label }}</span>\r\n </div>\r\n </div>\r\n</div>", styles: [".input-wrapper{position:relative;width:100%}:host{display:block;flex:1;min-width:0}.custom-input{background:#fff;border:1px solid #d0d5dd;border-radius:8px;padding:6px 10px;min-height:44px;max-height:160px;box-shadow:0 1px 2px #1018280d;display:flex;align-items:flex-start;overflow-y:auto;overflow-x:hidden}.custom-input:focus,.custom-input:focus-within{outline:none;box-shadow:0 1px 2px #1018280d}.store-badge{background-color:#f2f4f7;border-radius:16px;padding:2px 6px 2px 8px;display:inline-flex;align-items:center;gap:4px;flex-shrink:0;cursor:pointer;transition:background-color .2s ease}.store-badge:hover{background-color:#e4e7ec}.badge-text{font-size:12px;font-weight:500;line-height:18px;color:#344054}.input-text{font-size:14px;font-weight:400;line-height:20px;color:#1d2939;border:none;outline:none;background:transparent;flex:1;min-width:120px;padding:0}.input-text:focus{outline:none;box-shadow:none}.input-text::placeholder{color:#98a2b3}.dropdown-menu-custom{position:absolute;background:#fff;border:1px solid #f2f4f7;border-radius:8px;width:100%;box-shadow:0 12px 16px -4px #10182814,0 4px 6px -2px #10182808;margin-top:8px;top:100%;left:0;z-index:1000;max-height:300px;overflow-y:auto;overflow-x:hidden}.dropdown-menu-custom::-webkit-scrollbar,.custom-input::-webkit-scrollbar{width:6px}.dropdown-menu-custom::-webkit-scrollbar-track,.custom-input::-webkit-scrollbar-track{background:#f9fafb;border-radius:4px}.dropdown-menu-custom::-webkit-scrollbar-thumb,.custom-input::-webkit-scrollbar-thumb{background:#d0d5dd;border-radius:4px}.dropdown-menu-custom::-webkit-scrollbar-thumb:hover,.custom-input::-webkit-scrollbar-thumb:hover{background:#98a2b3}.dropdown-item-custom{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;transition:background-color .2s ease}.dropdown-item-custom:hover{background-color:#f9fafb}.select-all-item{font-weight:600;border-bottom:1px solid #f2f4f7;margin-bottom:4px}.dropdown-item-text{font-size:14px;font-weight:500;line-height:20px;color:#344054}.custom-checkbox{display:flex;align-items:center;justify-content:center}.checkbox-box{width:16px;height:16px;background:#fff;border:1px solid #d0d5dd;border-radius:4px;display:flex;align-items:center;justify-content:center}.checkbox-box.checked,.checkbox-box.indeterminate{background-color:#eaf8ff;border-color:#00a3ff}.dropdown-divider{background-color:#f2f4f7;height:1px;margin:0;opacity:1}@media (max-width: 767px){.btn-apply{width:100%;margin-top:0}.dropdown-menu-custom{position:absolute;margin-top:8px;width:100%;left:0}}@media (max-width: 575px){.custom-input{flex-direction:column;align-items:flex-start}.store-badge{margin-bottom:4px}}.gap-2{gap:.5rem!important}\n"] }]
|
|
135
|
+
}], propDecorators: { options: [{
|
|
136
|
+
type: Input
|
|
137
|
+
}], initialSelected: [{
|
|
138
|
+
type: Input
|
|
139
|
+
}], selectedChange: [{
|
|
140
|
+
type: Output
|
|
141
|
+
}], inputWrapper: [{
|
|
142
|
+
type: ViewChild,
|
|
143
|
+
args: ['inputWrapper', { static: false }]
|
|
144
|
+
}], onDocumentClick: [{
|
|
145
|
+
type: HostListener,
|
|
146
|
+
args: ['document:click', ['$event']]
|
|
147
|
+
}] } });
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXN0b3JlLWJ1aWxkZXIvc3JjL2xpYi9jb21wb25lbnRzL2NvbGxlY3Rpb24tdXBkYXRlLWFpL2NvbXBvbmVudHMvc3RvcmUtc2VsZWN0L3N0b3JlLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1zdG9yZS1idWlsZGVyL3NyYy9saWIvY29tcG9uZW50cy9jb2xsZWN0aW9uLXVwZGF0ZS1haS9jb21wb25lbnRzL3N0b3JlLXNlbGVjdC9zdG9yZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBb0MsWUFBWSxFQUFjLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFjN0MsTUFBTSxPQUFPLG9CQUFvQjtJQUN0QixPQUFPLEdBQWtCLEVBQUUsQ0FBQztJQUM1QixlQUFlLEdBQWtCLEVBQUUsQ0FBQztJQUNuQyxjQUFjLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7SUFDZixZQUFZLENBQWM7SUFFeEUsYUFBYSxHQUFnQixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ3ZDLFNBQVMsR0FBVyxFQUFFLENBQUM7SUFDdkIsY0FBYyxHQUFZLEtBQUssQ0FBQztJQUVoQyxRQUFRO1FBQ04sbURBQW1EO1FBQ25ELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsaUJB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Q0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFZO1FBQzFCLDBDQUEwQztRQUMxQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQzt3R0FuSlUsb0JBQW9COzRGQUFwQixvQkFBb0Isd1lDaEJqQyxvNkZBb0RNLDJyRkR4Q00sWUFBWSwrUEFBRSxXQUFXOzs0RkFJeEIsb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDOzhCQUszQixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDSSxjQUFjO3NCQUF2QixNQUFNO2dCQUN1QyxZQUFZO3NCQUF6RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBc0M1QyxlQUFlO3NCQURkLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIEhvc3RMaXN0ZW5lciwgRWxlbWVudFJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdG9yZU9wdGlvbiB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBsYWJlbDogc3RyaW5nO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1zdG9yZS1zZWxlY3QnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zdG9yZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9zdG9yZS1zZWxlY3QuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9yZVNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBvcHRpb25zOiBTdG9yZU9wdGlvbltdID0gW107XHJcbiAgQElucHV0KCkgaW5pdGlhbFNlbGVjdGVkOiBTdG9yZU9wdGlvbltdID0gW107XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTdG9yZU9wdGlvbltdPigpO1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0V3JhcHBlcicsIHsgc3RhdGljOiBmYWxzZSB9KSBpbnB1dFdyYXBwZXIhOiBFbGVtZW50UmVmO1xyXG5cclxuICBzZWxlY3RlZEl0ZW1zOiBTZXQ8c3RyaW5nPiA9IG5ldyBTZXQoKTtcclxuICBpbnB1dFRleHQ6IHN0cmluZyA9ICcnO1xyXG4gIGlzRHJvcGRvd25PcGVuOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgLy8gSW5pdGlhbGl6ZSB3aXRoIGFueSBwcmUtc2VsZWN0ZWQgaXRlbXMgaWYgbmVlZGVkXHJcbiAgICB0aGlzLnNldEluaXRpYWxTZWxlY3Rpb25zKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlc1snaW5pdGlhbFNlbGVjdGVkJ10gfHwgY2hhbmdlc1snb3B0aW9ucyddKSB7XHJcbiAgICAgIHRoaXMuc2V0SW5pdGlhbFNlbGVjdGlvbnMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldEluaXRpYWxTZWxlY3Rpb25zKCkge1xyXG4gICAgLy8gT25seSBzZXQgaW5pdGlhbCBzZWxlY3Rpb25zIGlmIGJvdGggb3B0aW9ucyBhbmQgaW5pdGlhbFNlbGVjdGVkIGFyZSBhdmFpbGFibGVcclxuICAgIGlmICh0aGlzLmluaXRpYWxTZWxlY3RlZCAmJiB0aGlzLmluaXRpYWxTZWxlY3RlZC5sZW5ndGggPiAwICYmIHRoaXMub3B0aW9ucyAmJiB0aGlzLm9wdGlvbnMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuY2xlYXIoKTtcclxuICAgICAgdGhpcy5pbml0aWFsU2VsZWN0ZWQuZm9yRWFjaChvcHRpb24gPT4ge1xyXG4gICAgICAgIC8vIE1hdGNoIGJ5IGlkIGZpcnN0LCB0aGVuIGJ5IGxhYmVsXHJcbiAgICAgICAgY29uc3QgbWF0Y2hlZE9wdGlvbiA9IHRoaXMub3B0aW9ucy5maW5kKFxyXG4gICAgICAgICAgb3B0ID0+IG9wdC5pZCA9PT0gb3B0aW9uLmlkIHx8IG9wdC5sYWJlbCA9PT0gb3B0aW9uLmxhYmVsXHJcbiAgICAgICAgKTtcclxuICAgICAgICBpZiAobWF0Y2hlZE9wdGlvbikge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmFkZChtYXRjaGVkT3B0aW9uLmlkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICAvLyBFbWl0IHRoZSBzZWxlY3RlZCBvcHRpb25zXHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXMuc2l6ZSA+IDApIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZE9wdGlvbnMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgb25Eb2N1bWVudENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5pbnB1dFdyYXBwZXIgJiYgIXRoaXMuaW5wdXRXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xyXG4gICAgICB0aGlzLmlzRHJvcGRvd25PcGVuID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgc2VsZWN0ZWRPcHRpb25zKCk6IFN0b3JlT3B0aW9uW10ge1xyXG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IHRoaXMuc2VsZWN0ZWRJdGVtcy5oYXMob3B0aW9uLmlkKSk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNBbGxTZWxlY3RlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm9wdGlvbnMubGVuZ3RoID4gMCAmJiB0aGlzLnNlbGVjdGVkSXRlbXMuc2l6ZSA9PT0gdGhpcy5vcHRpb25zLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIGdldCBpc0luZGV0ZXJtaW5hdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zLnNpemUgPiAwICYmIHRoaXMuc2VsZWN0ZWRJdGVtcy5zaXplIDwgdGhpcy5vcHRpb25zLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIGlzU2VsZWN0ZWQoaWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcy5oYXMoaWQpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlU2VsZWN0QWxsKCkge1xyXG4gICAgaWYgKHRoaXMuaXNBbGxTZWxlY3RlZCkge1xyXG4gICAgICAvLyBEZXNlbGVjdCBhbGxcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmNsZWFyKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBTZWxlY3QgYWxsXHJcbiAgICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKG9wdGlvbiA9PiB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmFkZChvcHRpb24uaWQpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkT3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBvbklucHV0Q2hhbmdlKGV2ZW50OiBFdmVudCkge1xyXG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICB0aGlzLmlucHV0VGV4dCA9IHRhcmdldC52YWx1ZTtcclxuICB9XHJcblxyXG4gIG9uS2V5RG93bihldmVudDogRXZlbnQpIHtcclxuICAgIGNvbnN0IGtleWJvYXJkRXZlbnQgPSBldmVudCBhcyBLZXlib2FyZEV2ZW50O1xyXG4gICAgaWYgKGtleWJvYXJkRXZlbnQua2V5ID09PSAnRW50ZXInKSB7XHJcbiAgICAgIGtleWJvYXJkRXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgY29uc3QgdGFyZ2V0ID0ga2V5Ym9hcmRFdmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgICAgY29uc3QgdmFsdWUgPSB0YXJnZXQudmFsdWUudHJpbSgpO1xyXG5cclxuICAgICAgaWYgKHZhbHVlLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAvLyBTcGxpdCBieSBjb21tYSBhbmQgcHJvY2VzcyBlYWNoIHZhbHVlXHJcbiAgICAgICAgY29uc3QgdmFsdWVzID0gdmFsdWUuc3BsaXQoJywnKS5tYXAodiA9PiB2LnRyaW0oKSkuZmlsdGVyKHYgPT4gdi5sZW5ndGggPiAwKTtcclxuICAgICAgICBsZXQgaGFzQ2hhbmdlcyA9IGZhbHNlO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHZhbHVlcy5mb3JFYWNoKHZhbCA9PiB7XHJcbiAgICAgICAgICAvLyBGaW5kIG1hdGNoaW5nIG9wdGlvbiBieSBsYWJlbCAoY2FzZS1pbnNlbnNpdGl2ZSlcclxuICAgICAgICAgIGNvbnN0IG1hdGNoZWRPcHRpb24gPSB0aGlzLm9wdGlvbnMuZmluZChcclxuICAgICAgICAgICAgb3B0ID0+IG9wdC5sYWJlbC50b0xvd2VyQ2FzZSgpID09PSB2YWwudG9Mb3dlckNhc2UoKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgaWYgKG1hdGNoZWRPcHRpb24gJiYgIXRoaXMuc2VsZWN0ZWRJdGVtcy5oYXMobWF0Y2hlZE9wdGlvbi5pZCkpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmFkZChtYXRjaGVkT3B0aW9uLmlkKTtcclxuICAgICAgICAgICAgaGFzQ2hhbmdlcyA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vIE9ubHkgZW1pdCBpZiB0aGVyZSB3ZXJlIGNoYW5nZXNcclxuICAgICAgICBpZiAoaGFzQ2hhbmdlcykge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRPcHRpb25zKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENsZWFyIGlucHV0IGFmdGVyIHByb2Nlc3NpbmdcclxuICAgICAgICB0aGlzLmlucHV0VGV4dCA9ICcnO1xyXG4gICAgICAgIHRhcmdldC52YWx1ZSA9ICcnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbklucHV0Q2xpY2soKSB7XHJcbiAgICAvLyBPcGVuIGRyb3Bkb3duIG9uIGlucHV0IGNsaWNrXHJcbiAgICB0aGlzLmlzRHJvcGRvd25PcGVuID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIG9uSW5wdXRGb2N1cygpIHtcclxuICAgIC8vIE9wZW4gZHJvcGRvd24gb24gZm9jdXNcclxuICAgIHRoaXMuaXNEcm9wZG93bk9wZW4gPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlU2VsZWN0aW9uKG9wdGlvbjogU3RvcmVPcHRpb24pIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXMuaGFzKG9wdGlvbi5pZCkpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmRlbGV0ZShvcHRpb24uaWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmFkZChvcHRpb24uaWQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRPcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUNoaXAob3B0aW9uOiBTdG9yZU9wdGlvbiwgZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMuZGVsZXRlKG9wdGlvbi5pZCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZE9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgb25Ecm9wZG93bkNsaWNrKGV2ZW50OiBFdmVudCkge1xyXG4gICAgLy8gUHJldmVudCBjbGljayBmcm9tIGJ1YmJsaW5nIHRvIGRvY3VtZW50XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIiAjaW5wdXRXcmFwcGVyPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tY29udHJvbCBjdXN0b20taW5wdXQgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiBmbGV4LXdyYXBcIiBcclxuICAgICAgICAgKGNsaWNrKT1cIm9uSW5wdXRDbGljaygpXCI+XHJcbiAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBzZWxlY3RlZE9wdGlvbnNcIiBcclxuICAgICAgICAgICAgICBjbGFzcz1cInN0b3JlLWJhZGdlXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlQ2hpcChvcHRpb24sICRldmVudClcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZS10ZXh0XCI+e3sgb3B0aW9uLmxhYmVsIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk05IDNMMyA5TTMgM0w5IDlcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPGlucHV0IFxyXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiIFxyXG4gICAgICAgICAgICBjbGFzcz1cImlucHV0LXRleHRcIlxyXG4gICAgICAgICAgICBbdmFsdWVdPVwiaW5wdXRUZXh0XCJcclxuICAgICAgICAgICAgKGlucHV0KT1cIm9uSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcclxuICAgICAgICAgICAgKGZvY3VzKT1cIm9uSW5wdXRGb2N1cygpXCJcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJUeXBlIGFuZCBwcmVzcyBFbnRlclwiXHJcbiAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudS1jdXN0b21cIiBcclxuICAgICAgICAgKm5nSWY9XCJpc0Ryb3Bkb3duT3BlbiAmJiBvcHRpb25zLmxlbmd0aCA+IDBcIlxyXG4gICAgICAgICAoY2xpY2spPVwib25Ecm9wZG93bkNsaWNrKCRldmVudClcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24taXRlbS1jdXN0b20gc2VsZWN0LWFsbC1pdGVtXCJcclxuICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVTZWxlY3RBbGwoKVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWNoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3gtYm94XCIgW2NsYXNzLmNoZWNrZWRdPVwiaXNBbGxTZWxlY3RlZFwiIFtjbGFzcy5pbmRldGVybWluYXRlXT1cImlzSW5kZXRlcm1pbmF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJpc0FsbFNlbGVjdGVkXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAgM0w0LjUgOC41TDIgNlwiIHN0cm9rZT1cIiMwMEEzRkZcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjZcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cImlzSW5kZXRlcm1pbmF0ZSAmJiAhaXNBbGxTZWxlY3RlZFwiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIgNkgxMFwiIHN0cm9rZT1cIiMwMEEzRkZcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjZcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRyb3Bkb3duLWl0ZW0tdGV4dFwiPlNlbGVjdCBBbGw8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGhyIGNsYXNzPVwiZHJvcGRvd24tZGl2aWRlclwiPlxyXG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCIgXHJcbiAgICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWl0ZW0tY3VzdG9tXCJcclxuICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVTZWxlY3Rpb24ob3B0aW9uKVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWNoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3gtYm94XCIgW2NsYXNzLmNoZWNrZWRdPVwiaXNTZWxlY3RlZChvcHRpb24uaWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cImlzU2VsZWN0ZWQob3B0aW9uLmlkKVwiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEwIDNMNC41IDguNUwyIDZcIiBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRyb3Bkb3duLWl0ZW0tdGV4dFwiPnt7IG9wdGlvbi5sYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Component, inject } from '@angular/core';
|
|
2
|
+
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class CancelConfirmationModalComponent {
|
|
6
|
+
activeModal = inject(NgbActiveModal);
|
|
7
|
+
onKeepProcessing() {
|
|
8
|
+
this.activeModal.dismiss();
|
|
9
|
+
}
|
|
10
|
+
onCancelBatchProcess() {
|
|
11
|
+
this.activeModal.close(true);
|
|
12
|
+
}
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CancelConfirmationModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CancelConfirmationModalComponent, isStandalone: true, selector: "lib-cancel-confirmation-modal", ngImport: i0, template: "<div class=\"modal-content-custom\">\r\n <!-- Modal Header -->\r\n <div class=\"modal-header-custom\">\r\n <h5 class=\"modal-title\">Abort batch process?</h5>\r\n </div>\r\n \r\n <!-- Modal Body -->\r\n <div class=\"modal-body-custom\">\r\n <p class=\"description-text\">This will cancel the batch process and discard any progress. Are you sure you want to continue?</p>\r\n </div>\r\n \r\n <!-- Modal Footer -->\r\n <div class=\"modal-footer-custom\">\r\n <button type=\"button\" class=\"btn btn-outline\" (click)=\"onKeepProcessing()\">Keep Processing</button>\r\n <button type=\"button\" class=\"btn btn-primary-custom\" (click)=\"onCancelBatchProcess()\">Cancel Batch Process</button>\r\n </div>\r\n</div>\r\n", styles: [".modal-content-custom{background:#fff;border-radius:12px;padding:0;box-shadow:0 20px 24px -4px #10182814,0 8px 8px -4px #10182808;border:none;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.modal-header-custom{padding:24px 16px 0;border-bottom:none}.modal-title{color:#1d2939;font-size:18px;font-weight:600;line-height:28px;margin:0}.modal-body-custom{padding:24px 16px}.description-text{color:#1d2939;font-size:16px;font-weight:500;line-height:24px;margin:0}.modal-footer-custom{border-top:none;padding:0 16px 24px;display:flex;justify-content:flex-end;gap:12px}.btn-outline{background:#fff;color:#344054;border:1px solid #d0d5dd;border-radius:8px;padding:10px 18px;font-size:16px;font-weight:600;line-height:24px;text-transform:capitalize;box-shadow:0 1px 2px #1018280d;cursor:pointer;transition:all .2s}.btn-outline:hover{background-color:#f9fafb;border-color:#d0d5dd;color:#344054}.btn-primary-custom{background:#00a3ff;color:#fff;border:1px solid #00a3ff;border-radius:8px;padding:10px 18px;font-size:16px;font-weight:600;line-height:24px;text-transform:capitalize;box-shadow:0 1px 2px #1018280d;cursor:pointer;transition:all .2s}.btn-primary-custom:hover{background:#0090e0;border-color:#0090e0;color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CancelConfirmationModalComponent, decorators: [{
|
|
17
|
+
type: Component,
|
|
18
|
+
args: [{ selector: 'lib-cancel-confirmation-modal', standalone: true, imports: [CommonModule], template: "<div class=\"modal-content-custom\">\r\n <!-- Modal Header -->\r\n <div class=\"modal-header-custom\">\r\n <h5 class=\"modal-title\">Abort batch process?</h5>\r\n </div>\r\n \r\n <!-- Modal Body -->\r\n <div class=\"modal-body-custom\">\r\n <p class=\"description-text\">This will cancel the batch process and discard any progress. Are you sure you want to continue?</p>\r\n </div>\r\n \r\n <!-- Modal Footer -->\r\n <div class=\"modal-footer-custom\">\r\n <button type=\"button\" class=\"btn btn-outline\" (click)=\"onKeepProcessing()\">Keep Processing</button>\r\n <button type=\"button\" class=\"btn btn-primary-custom\" (click)=\"onCancelBatchProcess()\">Cancel Batch Process</button>\r\n </div>\r\n</div>\r\n", styles: [".modal-content-custom{background:#fff;border-radius:12px;padding:0;box-shadow:0 20px 24px -4px #10182814,0 8px 8px -4px #10182808;border:none;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.modal-header-custom{padding:24px 16px 0;border-bottom:none}.modal-title{color:#1d2939;font-size:18px;font-weight:600;line-height:28px;margin:0}.modal-body-custom{padding:24px 16px}.description-text{color:#1d2939;font-size:16px;font-weight:500;line-height:24px;margin:0}.modal-footer-custom{border-top:none;padding:0 16px 24px;display:flex;justify-content:flex-end;gap:12px}.btn-outline{background:#fff;color:#344054;border:1px solid #d0d5dd;border-radius:8px;padding:10px 18px;font-size:16px;font-weight:600;line-height:24px;text-transform:capitalize;box-shadow:0 1px 2px #1018280d;cursor:pointer;transition:all .2s}.btn-outline:hover{background-color:#f9fafb;border-color:#d0d5dd;color:#344054}.btn-primary-custom{background:#00a3ff;color:#fff;border:1px solid #00a3ff;border-radius:8px;padding:10px 18px;font-size:16px;font-weight:600;line-height:24px;text-transform:capitalize;box-shadow:0 1px 2px #1018280d;cursor:pointer;transition:all .2s}.btn-primary-custom:hover{background:#0090e0;border-color:#0090e0;color:#fff}\n"] }]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuY2VsLWNvbmZpcm1hdGlvbi1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1zdG9yZS1idWlsZGVyL3NyYy9saWIvY29tcG9uZW50cy9jb2xsZWN0aW9uLXVwZGF0ZS1haS9maW5kLXJlcGxhY2UtbGF5b3V0L2NhbmNlbC1jb25maXJtYXRpb24tbW9kYWwvY2FuY2VsLWNvbmZpcm1hdGlvbi1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1zdG9yZS1idWlsZGVyL3NyYy9saWIvY29tcG9uZW50cy9jb2xsZWN0aW9uLXVwZGF0ZS1haS9maW5kLXJlcGxhY2UtbGF5b3V0L2NhbmNlbC1jb25maXJtYXRpb24tbW9kYWwvY2FuY2VsLWNvbmZpcm1hdGlvbi1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVMvQyxNQUFNLE9BQU8sZ0NBQWdDO0lBQzNDLFdBQVcsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFckMsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7d0dBVFUsZ0NBQWdDOzRGQUFoQyxnQ0FBZ0MseUZDWDdDLHd3QkFpQkEsOHlDRFZZLFlBQVk7OzRGQUlYLGdDQUFnQztrQkFQNUMsU0FBUzsrQkFDRSwrQkFBK0IsY0FDN0IsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdiQWN0aXZlTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jYW5jZWwtY29uZmlybWF0aW9uLW1vZGFsJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYW5jZWwtY29uZmlybWF0aW9uLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vY2FuY2VsLWNvbmZpcm1hdGlvbi1tb2RhbC5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIENhbmNlbENvbmZpcm1hdGlvbk1vZGFsQ29tcG9uZW50IHtcclxuICBhY3RpdmVNb2RhbCA9IGluamVjdChOZ2JBY3RpdmVNb2RhbCk7XHJcblxyXG4gIG9uS2VlcFByb2Nlc3NpbmcoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZU1vZGFsLmRpc21pc3MoKTtcclxuICB9XHJcblxyXG4gIG9uQ2FuY2VsQmF0Y2hQcm9jZXNzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmVNb2RhbC5jbG9zZSh0cnVlKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnQtY3VzdG9tXCI+XHJcbiAgICA8IS0tIE1vZGFsIEhlYWRlciAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXItY3VzdG9tXCI+XHJcbiAgICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIj5BYm9ydCBiYXRjaCBwcm9jZXNzPzwvaDU+XHJcbiAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgPCEtLSBNb2RhbCBCb2R5IC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHktY3VzdG9tXCI+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJkZXNjcmlwdGlvbi10ZXh0XCI+VGhpcyB3aWxsIGNhbmNlbCB0aGUgYmF0Y2ggcHJvY2VzcyBhbmQgZGlzY2FyZCBhbnkgcHJvZ3Jlc3MuIEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjb250aW51ZT88L3A+XHJcbiAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgPCEtLSBNb2RhbCBGb290ZXIgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyLWN1c3RvbVwiPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lXCIgKGNsaWNrKT1cIm9uS2VlcFByb2Nlc3NpbmcoKVwiPktlZXAgUHJvY2Vzc2luZzwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5LWN1c3RvbVwiIChjbGljayk9XCJvbkNhbmNlbEJhdGNoUHJvY2VzcygpXCI+Q2FuY2VsIEJhdGNoIFByb2Nlc3M8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|