@festo-ui/angular 8.2.0-dev.617 → 8.2.0-dev.620
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/css/bundle.css +1 -1
- package/css/popover.css +1 -1
- package/fesm2022/festo-ui-angular.mjs +514 -260
- package/fesm2022/festo-ui-angular.mjs.map +1 -1
- package/lib/components/components.module.d.ts +3 -1
- package/lib/components/overlay/overlay-content/overlay-content.component.d.ts +5 -0
- package/lib/components/overlay/overlay-outlet.directive.d.ts +64 -0
- package/lib/components/popovers/popover.defaults.d.ts +0 -18
- package/lib/components/popovers/popover.models.d.ts +2 -1
- package/lib/components/popovers/tooltip/tooltip.directive.d.ts +7 -0
- package/lib/forms/value-accessor-base.d.ts +1 -1
- package/package.json +9 -11
- package/public-api.d.ts +2 -0
- package/scss/base/icons-svg.scss +1 -1
- package/scss/base/image-gallery.scss +2 -2
- package/scss/base/popover.scss +2 -2
- package/scss/base/styles.scss +4 -4
- package/esm2022/festo-ui-angular.mjs +0 -5
- package/esm2022/lib/components/accordion/accordion-header/accordion-header.component.mjs +0 -11
- package/esm2022/lib/components/accordion/accordion-item/accordion-item-body/accordion-item-body.component.mjs +0 -15
- package/esm2022/lib/components/accordion/accordion-item/accordion-item-header/accordion-item-header.component.mjs +0 -28
- package/esm2022/lib/components/accordion/accordion-item/accordion-item.component.mjs +0 -148
- package/esm2022/lib/components/accordion/accordion.component.mjs +0 -59
- package/esm2022/lib/components/accordion/index.mjs +0 -6
- package/esm2022/lib/components/bottom-sheet/bottom-sheet.component.mjs +0 -97
- package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +0 -26
- package/esm2022/lib/components/buttons/button/button.component.mjs +0 -48
- package/esm2022/lib/components/buttons/link-button/link-button.component.mjs +0 -34
- package/esm2022/lib/components/chips/chip/chip.component.mjs +0 -38
- package/esm2022/lib/components/chips/chip-container/chip-container.component.mjs +0 -17
- package/esm2022/lib/components/components.module.mjs +0 -212
- package/esm2022/lib/components/loading-indicator/loading-indicator.component.mjs +0 -17
- package/esm2022/lib/components/mobile-flyout/mobile-flyout-item/mobile-flyout-item.component.mjs +0 -39
- package/esm2022/lib/components/mobile-flyout/mobile-flyout-page/mobile-flyout-page.component.mjs +0 -65
- package/esm2022/lib/components/mobile-flyout/mobile-flyout.component.mjs +0 -69
- package/esm2022/lib/components/pagination/pagination.component.mjs +0 -57
- package/esm2022/lib/components/popovers/legend/legend.component.mjs +0 -42
- package/esm2022/lib/components/popovers/legend/legend.directive.mjs +0 -31
- package/esm2022/lib/components/popovers/popover/popover.component.mjs +0 -31
- package/esm2022/lib/components/popovers/popover-content/popover-content.component.mjs +0 -80
- package/esm2022/lib/components/popovers/popover-content/popover-content.directive.mjs +0 -39
- package/esm2022/lib/components/popovers/popover-menu/popover-menu.component.mjs +0 -67
- package/esm2022/lib/components/popovers/popover-ref.mjs +0 -25
- package/esm2022/lib/components/popovers/popover.defaults.mjs +0 -59
- package/esm2022/lib/components/popovers/popover.models.mjs +0 -7
- package/esm2022/lib/components/popovers/popover.service.mjs +0 -140
- package/esm2022/lib/components/popovers/tooltip/tooltip.directive.mjs +0 -101
- package/esm2022/lib/components/progress/progress.component.mjs +0 -22
- package/esm2022/lib/components/scroll/index.mjs +0 -2
- package/esm2022/lib/components/scroll/scrollable.directive.mjs +0 -75
- package/esm2022/lib/components/search-input/search-input.component.mjs +0 -182
- package/esm2022/lib/components/sidebar-overlay/sidebar-overlay.component.mjs +0 -59
- package/esm2022/lib/components/snackbar/snackbar-container.component.mjs +0 -21
- package/esm2022/lib/components/snackbar/snackbar-container.directive.mjs +0 -80
- package/esm2022/lib/components/snackbar/snackbar.component.mjs +0 -81
- package/esm2022/lib/components/snackbar/snackbar.models.mjs +0 -2
- package/esm2022/lib/components/snackbar/snackbar.module.mjs +0 -24
- package/esm2022/lib/components/snackbar/snackbar.service.mjs +0 -23
- package/esm2022/lib/components/stepper-horizontal/step-horizontal/step-horizontal.component.mjs +0 -19
- package/esm2022/lib/components/stepper-horizontal/stepper-horizontal.component.mjs +0 -52
- package/esm2022/lib/components/stepper-vertical/step-vertical/step-vertical.component.mjs +0 -57
- package/esm2022/lib/components/stepper-vertical/stepper-vertical.component.mjs +0 -54
- package/esm2022/lib/components/table-header-cell/table-header-cell.directive.mjs +0 -60
- package/esm2022/lib/components/tabs/tab-pane/tab-pane.component.mjs +0 -34
- package/esm2022/lib/components/tabs/tabs.component.mjs +0 -459
- package/esm2022/lib/directives/click-outside.directive.mjs +0 -29
- package/esm2022/lib/festo-angular.module.mjs +0 -21
- package/esm2022/lib/forms/checkbox/checkbox.component.mjs +0 -154
- package/esm2022/lib/forms/color-indicator/color-indicator.component.mjs +0 -88
- package/esm2022/lib/forms/color-picker/color-helper.mjs +0 -129
- package/esm2022/lib/forms/color-picker/color-picker.component.mjs +0 -292
- package/esm2022/lib/forms/date-picker/date-picker.component.mjs +0 -205
- package/esm2022/lib/forms/date-range-picker/date-range-picker.component.mjs +0 -231
- package/esm2022/lib/forms/flatpickr/flatpickr.component.mjs +0 -55
- package/esm2022/lib/forms/forms.module.mjs +0 -132
- package/esm2022/lib/forms/radio/radio.component.mjs +0 -349
- package/esm2022/lib/forms/segment/segment-control/segment-control.component.mjs +0 -65
- package/esm2022/lib/forms/segment/segment.component.mjs +0 -139
- package/esm2022/lib/forms/select/chip-text.pipe.mjs +0 -39
- package/esm2022/lib/forms/select/select-option/select-option.component.mjs +0 -23
- package/esm2022/lib/forms/select/select.component.mjs +0 -273
- package/esm2022/lib/forms/slider/slider.component.mjs +0 -117
- package/esm2022/lib/forms/switch/switch.component.mjs +0 -121
- package/esm2022/lib/forms/text-area/text-area.component.mjs +0 -187
- package/esm2022/lib/forms/text-editor/text-editor.component.mjs +0 -307
- package/esm2022/lib/forms/text-input/text-input.component.mjs +0 -208
- package/esm2022/lib/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.mjs +0 -107
- package/esm2022/lib/forms/time-picker/time-picker.component.mjs +0 -204
- package/esm2022/lib/forms/unique-selection-dispatcher.mjs +0 -41
- package/esm2022/lib/forms/value-accessor-base.mjs +0 -41
- package/esm2022/lib/modals/alert/alert.component.mjs +0 -55
- package/esm2022/lib/modals/confirm/confirm.component.mjs +0 -56
- package/esm2022/lib/modals/custom-modal/custom-modal.component.mjs +0 -88
- package/esm2022/lib/modals/image-gallery/image-gallery.component.mjs +0 -80
- package/esm2022/lib/modals/index.mjs +0 -2
- package/esm2022/lib/modals/modal.service.mjs +0 -118
- package/esm2022/lib/modals/modals.module.mjs +0 -27
- package/esm2022/lib/modals/prompt/prompt.component.mjs +0 -114
- package/esm2022/lib/pipes/safe-html.pipe.mjs +0 -21
- package/esm2022/public-api.mjs +0 -66
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { FestoAngularComponentsModule } from './components/components.module';
|
|
3
|
-
import { FestoAngularFormsModule } from './forms/forms.module';
|
|
4
|
-
import { FngSafeHtmlPipe } from './pipes/safe-html.pipe';
|
|
5
|
-
import { FestoAngularModalsModule } from './modals/modals.module';
|
|
6
|
-
import { FestoAngularSnackbarModule } from './components/snackbar/snackbar.module';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class FestoAngularModule {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FestoAngularModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: FestoAngularModule, imports: [FngSafeHtmlPipe, FestoAngularComponentsModule, FestoAngularFormsModule, FestoAngularModalsModule, FestoAngularSnackbarModule], exports: [FngSafeHtmlPipe, FestoAngularComponentsModule, FestoAngularFormsModule, FestoAngularModalsModule, FestoAngularSnackbarModule] }); }
|
|
11
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FestoAngularModule, imports: [FestoAngularComponentsModule, FestoAngularFormsModule, FestoAngularModalsModule, FestoAngularSnackbarModule, FestoAngularComponentsModule, FestoAngularFormsModule, FestoAngularModalsModule, FestoAngularSnackbarModule] }); }
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FestoAngularModule, decorators: [{
|
|
14
|
-
type: NgModule,
|
|
15
|
-
args: [{
|
|
16
|
-
declarations: [],
|
|
17
|
-
imports: [FngSafeHtmlPipe, FestoAngularComponentsModule, FestoAngularFormsModule, FestoAngularModalsModule, FestoAngularSnackbarModule],
|
|
18
|
-
exports: [FngSafeHtmlPipe, FestoAngularComponentsModule, FestoAngularFormsModule, FestoAngularModalsModule, FestoAngularSnackbarModule]
|
|
19
|
-
}]
|
|
20
|
-
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVzdG8tYW5ndWxhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9saWIvZmVzdG8tYW5ndWxhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBT25GLE1BQU0sT0FBTyxrQkFBa0I7OEdBQWxCLGtCQUFrQjsrR0FBbEIsa0JBQWtCLFlBSG5CLGVBQWUsRUFBRSw0QkFBNEIsRUFBRSx1QkFBdUIsRUFBRSx3QkFBd0IsRUFBRSwwQkFBMEIsYUFDNUgsZUFBZSxFQUFFLDRCQUE0QixFQUFFLHVCQUF1QixFQUFFLHdCQUF3QixFQUFFLDBCQUEwQjsrR0FFM0gsa0JBQWtCLFlBSEYsNEJBQTRCLEVBQUUsdUJBQXVCLEVBQUUsd0JBQXdCLEVBQUUsMEJBQTBCLEVBQzNHLDRCQUE0QixFQUFFLHVCQUF1QixFQUFFLHdCQUF3QixFQUFFLDBCQUEwQjs7MkZBRTNILGtCQUFrQjtrQkFMOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLDRCQUE0QixFQUFFLHVCQUF1QixFQUFFLHdCQUF3QixFQUFFLDBCQUEwQixDQUFDO29CQUN2SSxPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsNEJBQTRCLEVBQUUsdUJBQXVCLEVBQUUsd0JBQXdCLEVBQUUsMEJBQTBCLENBQUM7aUJBQ3hJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZlc3RvQW5ndWxhckNvbXBvbmVudHNNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvY29tcG9uZW50cy5tb2R1bGUnO1xuaW1wb3J0IHsgRmVzdG9Bbmd1bGFyRm9ybXNNb2R1bGUgfSBmcm9tICcuL2Zvcm1zL2Zvcm1zLm1vZHVsZSc7XG5pbXBvcnQgeyBGbmdTYWZlSHRtbFBpcGUgfSBmcm9tICcuL3BpcGVzL3NhZmUtaHRtbC5waXBlJztcbmltcG9ydCB7IEZlc3RvQW5ndWxhck1vZGFsc01vZHVsZSB9IGZyb20gJy4vbW9kYWxzL21vZGFscy5tb2R1bGUnO1xuaW1wb3J0IHsgRmVzdG9Bbmd1bGFyU25hY2tiYXJNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgaW1wb3J0czogW0ZuZ1NhZmVIdG1sUGlwZSwgRmVzdG9Bbmd1bGFyQ29tcG9uZW50c01vZHVsZSwgRmVzdG9Bbmd1bGFyRm9ybXNNb2R1bGUsIEZlc3RvQW5ndWxhck1vZGFsc01vZHVsZSwgRmVzdG9Bbmd1bGFyU25hY2tiYXJNb2R1bGVdLFxuICBleHBvcnRzOiBbRm5nU2FmZUh0bWxQaXBlLCBGZXN0b0FuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBGZXN0b0FuZ3VsYXJGb3Jtc01vZHVsZSwgRmVzdG9Bbmd1bGFyTW9kYWxzTW9kdWxlLCBGZXN0b0FuZ3VsYXJTbmFja2Jhck1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgRmVzdG9Bbmd1bGFyTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, forwardRef } from '@angular/core';
|
|
4
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common";
|
|
7
|
-
let nextUniqueId = 0;
|
|
8
|
-
export class FngCheckboxComponent {
|
|
9
|
-
get id() {
|
|
10
|
-
return this.innerId;
|
|
11
|
-
}
|
|
12
|
-
set id(value) {
|
|
13
|
-
this.innerId = value ? `${value}-${++nextUniqueId}` : `fng-checkbox-${++nextUniqueId}`;
|
|
14
|
-
}
|
|
15
|
-
get inputId() {
|
|
16
|
-
return `${this.innerId}-input`;
|
|
17
|
-
}
|
|
18
|
-
get checked() {
|
|
19
|
-
return this.isChecked;
|
|
20
|
-
}
|
|
21
|
-
set checked(value) {
|
|
22
|
-
if (value !== this.checked) {
|
|
23
|
-
this.isChecked = value;
|
|
24
|
-
this.changeDetector.markForCheck();
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
get disabled() {
|
|
28
|
-
return this.isDisabled;
|
|
29
|
-
}
|
|
30
|
-
set disabled(value) {
|
|
31
|
-
const newValue = coerceBooleanProperty(value);
|
|
32
|
-
if (newValue !== this.disabled) {
|
|
33
|
-
this.isDisabled = newValue;
|
|
34
|
-
this.changeDetector.markForCheck();
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
get indeterminate() {
|
|
38
|
-
return this.isIndeterminate;
|
|
39
|
-
}
|
|
40
|
-
set indeterminate(value) {
|
|
41
|
-
const changed = value !== this.isIndeterminate;
|
|
42
|
-
this.isIndeterminate = coerceBooleanProperty(value);
|
|
43
|
-
if (changed) {
|
|
44
|
-
this.indeterminateChange.emit(this.isIndeterminate);
|
|
45
|
-
}
|
|
46
|
-
this.changeDetector.markForCheck();
|
|
47
|
-
}
|
|
48
|
-
get required() {
|
|
49
|
-
return this.isRequired;
|
|
50
|
-
}
|
|
51
|
-
set required(value) {
|
|
52
|
-
this.isRequired = coerceBooleanProperty(value);
|
|
53
|
-
}
|
|
54
|
-
constructor(changeDetector) {
|
|
55
|
-
this.changeDetector = changeDetector;
|
|
56
|
-
this.name = '';
|
|
57
|
-
this.large = false;
|
|
58
|
-
this.valid = true;
|
|
59
|
-
this.labelPosition = 'after';
|
|
60
|
-
this.innerId = `fng-checkbox-${++nextUniqueId}`;
|
|
61
|
-
this.isChecked = false;
|
|
62
|
-
this.isDisabled = false;
|
|
63
|
-
this.isIndeterminate = false;
|
|
64
|
-
this.value = 'false';
|
|
65
|
-
this.isRequired = false;
|
|
66
|
-
this.indeterminateChange = new EventEmitter();
|
|
67
|
-
this.change = new EventEmitter();
|
|
68
|
-
this.controlValueAccessorChangeFn = () => null;
|
|
69
|
-
this.onTouched = () => null;
|
|
70
|
-
}
|
|
71
|
-
writeValue(value) {
|
|
72
|
-
this.checked = !!value;
|
|
73
|
-
}
|
|
74
|
-
registerOnChange(fn) {
|
|
75
|
-
this.controlValueAccessorChangeFn = fn;
|
|
76
|
-
}
|
|
77
|
-
registerOnTouched(fn) {
|
|
78
|
-
this.onTouched = fn;
|
|
79
|
-
}
|
|
80
|
-
setDisabledState(isDisabled) {
|
|
81
|
-
this.disabled = isDisabled;
|
|
82
|
-
}
|
|
83
|
-
onInteractionEvent(event) {
|
|
84
|
-
event.stopPropagation();
|
|
85
|
-
}
|
|
86
|
-
onInputClick(event) {
|
|
87
|
-
event.stopPropagation();
|
|
88
|
-
if (!this.disabled) {
|
|
89
|
-
if (this.indeterminate) {
|
|
90
|
-
Promise.resolve().then(() => {
|
|
91
|
-
this.isIndeterminate = false;
|
|
92
|
-
this.indeterminateChange.emit(this.isIndeterminate);
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
if (!this.valid) {
|
|
96
|
-
this.valid = true;
|
|
97
|
-
}
|
|
98
|
-
if (this.required) {
|
|
99
|
-
this.required = false;
|
|
100
|
-
}
|
|
101
|
-
this.checked = !this.checked;
|
|
102
|
-
if (this.controlValueAccessorChangeFn != null) {
|
|
103
|
-
this.controlValueAccessorChangeFn(this.checked);
|
|
104
|
-
}
|
|
105
|
-
if (this.onTouched != null) {
|
|
106
|
-
this.onTouched();
|
|
107
|
-
}
|
|
108
|
-
this.change.emit(this.checked);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngCheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
112
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: FngCheckboxComponent, isStandalone: true, selector: "fng-checkbox", inputs: { name: "name", large: "large", valid: "valid", labelPosition: "labelPosition", id: "id", checked: "checked", disabled: "disabled", indeterminate: "indeterminate", value: "value", required: "required" }, outputs: { indeterminateChange: "indeterminateChange", change: "change" }, providers: [
|
|
113
|
-
{
|
|
114
|
-
provide: NG_VALUE_ACCESSOR,
|
|
115
|
-
useExisting: forwardRef(() => FngCheckboxComponent),
|
|
116
|
-
multi: true
|
|
117
|
-
}
|
|
118
|
-
], ngImport: i0, template: "<label\n class=\"fwe-checkbox-container\"\n [class.fng-checkbox-large]=\"large\"\n [class.fng-checkbox-invalid]=\"!valid || required\"\n [class.fwe-disabled]=\"disabled\"\n [class.fng-checkbox-indeterminate]=\"indeterminate\"\n [class.fwe-checked]=\"checked\"\n [attr.for]=\"inputId\"\n [ngClass]=\"{\n 'fwe-label-below': labelPosition == 'below',\n 'fwe-label-before': labelPosition == 'before'\n }\"\n>\n <input\n type=\"checkbox\"\n [id]=\"inputId\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [attr.value]=\"value\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"onInputClick($event)\"\n />\n <div class=\"fwe-checkbox-indicator-container\">\n <div class=\"fwe-checkbox-indicator-background\"></div>\n <ng-container *ngIf=\"!indeterminate && checked\">\n <svg *ngIf=\"large\" width=\"24px\" height=\"24px\">\n <path d=\"M17.5 7L10 14.5 7.501 12l-1.5 1.501L10 17.5l9-9z\" fill=\"#fff\" />\n </svg>\n <svg *ngIf=\"!large\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\">\n <path d=\"M6 12L3 9l1.25-1.25L6 9.5l5.75-5.75L13 5l-7 7z\" fill=\"#fff\" />\n </svg>\n </ng-container>\n <div *ngIf=\"indeterminate && !checked\" class=\"fwe-indeterminate-indicator\"></div>\n </div>\n <div class=\"fwe-checkbox-title\">\n <ng-content></ng-content>\n </div>\n</label>\n", styles: [".fwe-checkbox-container{font-family:var(--fwe-font-family-sans-serif);-webkit-user-select:none;user-select:none;cursor:pointer;display:flex;flex-direction:row;align-items:flex-start}.fwe-checkbox-container.fwe-label-below{align-items:center;flex-direction:column}.fwe-checkbox-container.fwe-label-below .fwe-checkbox-title{text-align:center;margin:8px 0 0}.fwe-checkbox-container.fwe-label-before{flex-direction:row-reverse;justify-content:flex-end}.fwe-checkbox-container.fwe-label-before .fwe-checkbox-title{margin:0 8px 0 0}.fwe-checkbox-container .fwe-checkbox-indicator-container{margin-top:4px;position:relative}.fwe-checkbox-container input{opacity:0;cursor:pointer;height:0;width:0}.fwe-checkbox-container .fwe-checkbox-title{margin-left:8px;line-height:24px;color:var(--fwe-text);-webkit-user-select:none;user-select:none}.fwe-checkbox-container .fwe-checkbox-indicator-background{box-sizing:border-box;background:var(--fwe-white);border:1px solid var(--fwe-text-light);border-radius:2px;height:16px;width:16px;transition:border-width .2s ease-out}.fwe-checkbox-container .fwe-indeterminate-indicator{position:absolute;height:2px;width:10px;top:7px;left:3px;background:#fff}.fwe-checkbox-container svg{display:block;position:absolute;top:0;left:0}.fwe-checkbox-container.fng-checkbox-large .fwe-checkbox-indicator-container{margin-top:0}.fwe-checkbox-container.fng-checkbox-large .fwe-checkbox-indicator-background{height:24px;width:24px;border-radius:4px}.fwe-checkbox-container.fng-checkbox-large .fwe-indeterminate-indicator{top:11px;width:14px;left:5px}.fwe-checkbox-container.fng-checkbox-large.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-large.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{border:12px solid var(--fwe-hero)}.fwe-checkbox-container:hover .fwe-checkbox-indicator-background{background-color:var(--fwe-control)}.fwe-checkbox-container:active .fwe-checkbox-indicator-background{background-color:var(--fwe-control-hover)}.fwe-checkbox-container.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{border:8px solid var(--fwe-hero)}.fwe-checkbox-container.fwe-checked:hover .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate:hover .fwe-checkbox-indicator-background{border-color:var(--fwe-hero-hover)}.fwe-checkbox-container.fwe-checked:active .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate:active .fwe-checkbox-indicator-background{border-color:var(--fwe-hero-active)}.fwe-checkbox-container.fng-checkbox-invalid .fwe-checkbox-indicator-background{border:1px solid var(--fwe-red);background:var(--fwe-white)}.fwe-checkbox-container.fwe-disabled{cursor:default}.fwe-checkbox-container.fwe-disabled .fwe-checkbox-indicator-background{background-color:var(--fwe-white);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fwe-disabled.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{background-color:var(--fwe-control);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled.fng-checkbox-invalid .fwe-checkbox-indicator-background{background-color:var(--fwe-white);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled .fwe-checkbox-title{color:var(--fwe-text-disabled)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
119
|
-
}
|
|
120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngCheckboxComponent, decorators: [{
|
|
121
|
-
type: Component,
|
|
122
|
-
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
|
|
123
|
-
{
|
|
124
|
-
provide: NG_VALUE_ACCESSOR,
|
|
125
|
-
useExisting: forwardRef(() => FngCheckboxComponent),
|
|
126
|
-
multi: true
|
|
127
|
-
}
|
|
128
|
-
], template: "<label\n class=\"fwe-checkbox-container\"\n [class.fng-checkbox-large]=\"large\"\n [class.fng-checkbox-invalid]=\"!valid || required\"\n [class.fwe-disabled]=\"disabled\"\n [class.fng-checkbox-indeterminate]=\"indeterminate\"\n [class.fwe-checked]=\"checked\"\n [attr.for]=\"inputId\"\n [ngClass]=\"{\n 'fwe-label-below': labelPosition == 'below',\n 'fwe-label-before': labelPosition == 'before'\n }\"\n>\n <input\n type=\"checkbox\"\n [id]=\"inputId\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [attr.value]=\"value\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"onInputClick($event)\"\n />\n <div class=\"fwe-checkbox-indicator-container\">\n <div class=\"fwe-checkbox-indicator-background\"></div>\n <ng-container *ngIf=\"!indeterminate && checked\">\n <svg *ngIf=\"large\" width=\"24px\" height=\"24px\">\n <path d=\"M17.5 7L10 14.5 7.501 12l-1.5 1.501L10 17.5l9-9z\" fill=\"#fff\" />\n </svg>\n <svg *ngIf=\"!large\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\">\n <path d=\"M6 12L3 9l1.25-1.25L6 9.5l5.75-5.75L13 5l-7 7z\" fill=\"#fff\" />\n </svg>\n </ng-container>\n <div *ngIf=\"indeterminate && !checked\" class=\"fwe-indeterminate-indicator\"></div>\n </div>\n <div class=\"fwe-checkbox-title\">\n <ng-content></ng-content>\n </div>\n</label>\n", styles: [".fwe-checkbox-container{font-family:var(--fwe-font-family-sans-serif);-webkit-user-select:none;user-select:none;cursor:pointer;display:flex;flex-direction:row;align-items:flex-start}.fwe-checkbox-container.fwe-label-below{align-items:center;flex-direction:column}.fwe-checkbox-container.fwe-label-below .fwe-checkbox-title{text-align:center;margin:8px 0 0}.fwe-checkbox-container.fwe-label-before{flex-direction:row-reverse;justify-content:flex-end}.fwe-checkbox-container.fwe-label-before .fwe-checkbox-title{margin:0 8px 0 0}.fwe-checkbox-container .fwe-checkbox-indicator-container{margin-top:4px;position:relative}.fwe-checkbox-container input{opacity:0;cursor:pointer;height:0;width:0}.fwe-checkbox-container .fwe-checkbox-title{margin-left:8px;line-height:24px;color:var(--fwe-text);-webkit-user-select:none;user-select:none}.fwe-checkbox-container .fwe-checkbox-indicator-background{box-sizing:border-box;background:var(--fwe-white);border:1px solid var(--fwe-text-light);border-radius:2px;height:16px;width:16px;transition:border-width .2s ease-out}.fwe-checkbox-container .fwe-indeterminate-indicator{position:absolute;height:2px;width:10px;top:7px;left:3px;background:#fff}.fwe-checkbox-container svg{display:block;position:absolute;top:0;left:0}.fwe-checkbox-container.fng-checkbox-large .fwe-checkbox-indicator-container{margin-top:0}.fwe-checkbox-container.fng-checkbox-large .fwe-checkbox-indicator-background{height:24px;width:24px;border-radius:4px}.fwe-checkbox-container.fng-checkbox-large .fwe-indeterminate-indicator{top:11px;width:14px;left:5px}.fwe-checkbox-container.fng-checkbox-large.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-large.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{border:12px solid var(--fwe-hero)}.fwe-checkbox-container:hover .fwe-checkbox-indicator-background{background-color:var(--fwe-control)}.fwe-checkbox-container:active .fwe-checkbox-indicator-background{background-color:var(--fwe-control-hover)}.fwe-checkbox-container.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{border:8px solid var(--fwe-hero)}.fwe-checkbox-container.fwe-checked:hover .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate:hover .fwe-checkbox-indicator-background{border-color:var(--fwe-hero-hover)}.fwe-checkbox-container.fwe-checked:active .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate:active .fwe-checkbox-indicator-background{border-color:var(--fwe-hero-active)}.fwe-checkbox-container.fng-checkbox-invalid .fwe-checkbox-indicator-background{border:1px solid var(--fwe-red);background:var(--fwe-white)}.fwe-checkbox-container.fwe-disabled{cursor:default}.fwe-checkbox-container.fwe-disabled .fwe-checkbox-indicator-background{background-color:var(--fwe-white);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fwe-disabled.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{background-color:var(--fwe-control);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled.fng-checkbox-invalid .fwe-checkbox-indicator-background{background-color:var(--fwe-white);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled .fwe-checkbox-title{color:var(--fwe-text-disabled)}\n"] }]
|
|
129
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { name: [{
|
|
130
|
-
type: Input
|
|
131
|
-
}], large: [{
|
|
132
|
-
type: Input
|
|
133
|
-
}], valid: [{
|
|
134
|
-
type: Input
|
|
135
|
-
}], labelPosition: [{
|
|
136
|
-
type: Input
|
|
137
|
-
}], id: [{
|
|
138
|
-
type: Input
|
|
139
|
-
}], checked: [{
|
|
140
|
-
type: Input
|
|
141
|
-
}], disabled: [{
|
|
142
|
-
type: Input
|
|
143
|
-
}], indeterminate: [{
|
|
144
|
-
type: Input
|
|
145
|
-
}], value: [{
|
|
146
|
-
type: Input
|
|
147
|
-
}], required: [{
|
|
148
|
-
type: Input
|
|
149
|
-
}], indeterminateChange: [{
|
|
150
|
-
type: Output
|
|
151
|
-
}], change: [{
|
|
152
|
-
type: Output
|
|
153
|
-
}] } });
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvbGliL2Zvcm1zL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9mb3Jtcy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFVBQVUsRUFFWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7OztBQUV6RSxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7QUFrQnJCLE1BQU0sT0FBTyxvQkFBb0I7SUFPL0IsSUFBSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUNJLEVBQUUsQ0FBQyxLQUFhO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsQ0FBQztJQUN6RixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJ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bkQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQzlCSCxnNkNBd0NBLGc3R0R0QlksWUFBWTs7MkZBY1gsb0JBQW9CO2tCQWhCaEMsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsWUFDYixjQUFjLG1CQUdQLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3NGQUdRLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBT0YsRUFBRTtzQkFETCxLQUFLO2dCQVVGLE9BQU87c0JBRFYsS0FBSztnQkFhRixRQUFRO3NCQURYLEtBQUs7Z0JBY0YsYUFBYTtzQkFEaEIsS0FBSztnQkFjRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0YsUUFBUTtzQkFEWCxLQUFLO2dCQVNhLG1CQUFtQjtzQkFBckMsTUFBTTtnQkFDWSxNQUFNO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxuICBDaGFuZ2VEZXRlY3RvclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdmbmctY2hlY2tib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGbmdDaGVja2JveENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBGbmdDaGVja2JveENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGxhcmdlID0gZmFsc2U7XG4gIEBJbnB1dCgpIHZhbGlkID0gdHJ1ZTtcbiAgQElucHV0KCkgbGFiZWxQb3NpdGlvbjogJ2JlZm9yZScgfCAnYWZ0ZXInIHwgJ2JlbG93JyA9ICdhZnRlcic7XG5cbiAgcHJpdmF0ZSBpbm5lcklkID0gYGZuZy1jaGVja2JveC0keysrbmV4dFVuaXF1ZUlkfWA7XG4gIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlubmVySWQ7XG4gIH1cbiAgQElucHV0KClcbiAgc2V0IGlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmlubmVySWQgPSB2YWx1ZSA/IGAke3ZhbHVlfS0keysrbmV4dFVuaXF1ZUlkfWAgOiBgZm5nLWNoZWNrYm94LSR7KytuZXh0VW5pcXVlSWR9YDtcbiAgfVxuXG4gIGdldCBpbnB1dElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuaW5uZXJJZH0taW5wdXRgO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGNoZWNrZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNDaGVja2VkO1xuICB9XG4gIHNldCBjaGVja2VkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmNoZWNrZWQpIHtcbiAgICAgIHRoaXMuaXNDaGVja2VkID0gdmFsdWU7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGlzQ2hlY2tlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5pc0Rpc2FibGVkO1xuICB9XG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYW55KSB7XG4gICAgY29uc3QgbmV3VmFsdWUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIGlmIChuZXdWYWx1ZSAhPT0gdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5pc0Rpc2FibGVkID0gbmV3VmFsdWU7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGlzRGlzYWJsZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBnZXQgaW5kZXRlcm1pbmF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0luZGV0ZXJtaW5hdGU7XG4gIH1cbiAgc2V0IGluZGV0ZXJtaW5hdGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBjaGFuZ2VkID0gdmFsdWUgIT09IHRoaXMuaXNJbmRldGVybWluYXRlO1xuICAgIHRoaXMuaXNJbmRldGVybWluYXRlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgdGhpcy5pbmRldGVybWluYXRlQ2hhbmdlLmVtaXQodGhpcy5pc0luZGV0ZXJtaW5hdGUpO1xuICAgIH1cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG4gIHByaXZhdGUgaXNJbmRldGVybWluYXRlID0gZmFsc2U7XG5cbiAgQElucHV0KCkgdmFsdWU6IHN0cmluZyA9ICdmYWxzZSc7XG5cbiAgQElucHV0KClcbiAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzUmVxdWlyZWQ7XG4gIH1cbiAgc2V0IHJlcXVpcmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc1JlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuICBwcml2YXRlIGlzUmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgcmVhZG9ubHkgaW5kZXRlcm1pbmF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbjogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiBudWxsO1xuXG4gIG9uVG91Y2hlZDogKCkgPT4gYW55ID0gKCkgPT4gbnVsbDtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmNoZWNrZWQgPSAhIXZhbHVlO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IHZvaWQpIHtcbiAgICB0aGlzLmNvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4gPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICBvbkludGVyYWN0aW9uRXZlbnQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBvbklucHV0Q2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGlmICh0aGlzLmluZGV0ZXJtaW5hdGUpIHtcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc0luZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmluZGV0ZXJtaW5hdGVDaGFuZ2UuZW1pdCh0aGlzLmlzSW5kZXRlcm1pbmF0ZSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLnZhbGlkKSB7XG4gICAgICAgIHRoaXMudmFsaWQgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucmVxdWlyZWQpIHtcbiAgICAgICAgdGhpcy5yZXF1aXJlZCA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgdGhpcy5jaGVja2VkID0gIXRoaXMuY2hlY2tlZDtcbiAgICAgIGlmICh0aGlzLmNvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4gIT0gbnVsbCkge1xuICAgICAgICB0aGlzLmNvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4odGhpcy5jaGVja2VkKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLm9uVG91Y2hlZCAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICB9XG4gICAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuY2hlY2tlZCk7XG4gICAgfVxuICB9XG59XG4iLCI8bGFiZWxcbiAgY2xhc3M9XCJmd2UtY2hlY2tib3gtY29udGFpbmVyXCJcbiAgW2NsYXNzLmZuZy1jaGVja2JveC1sYXJnZV09XCJsYXJnZVwiXG4gIFtjbGFzcy5mbmctY2hlY2tib3gtaW52YWxpZF09XCIhdmFsaWQgfHwgcmVxdWlyZWRcIlxuICBbY2xhc3MuZndlLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2NsYXNzLmZuZy1jaGVja2JveC1pbmRldGVybWluYXRlXT1cImluZGV0ZXJtaW5hdGVcIlxuICBbY2xhc3MuZndlLWNoZWNrZWRdPVwiY2hlY2tlZFwiXG4gIFthdHRyLmZvcl09XCJpbnB1dElkXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdmd2UtbGFiZWwtYmVsb3cnOiBsYWJlbFBvc2l0aW9uID09ICdiZWxvdycsXG4gICAgJ2Z3ZS1sYWJlbC1iZWZvcmUnOiBsYWJlbFBvc2l0aW9uID09ICdiZWZvcmUnXG4gIH1cIlxuPlxuICA8aW5wdXRcbiAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2F0dHIudmFsdWVdPVwidmFsdWVcIlxuICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXG4gICAgKGNoYW5nZSk9XCJvbkludGVyYWN0aW9uRXZlbnQoJGV2ZW50KVwiXG4gICAgKGNsaWNrKT1cIm9uSW5wdXRDbGljaygkZXZlbnQpXCJcbiAgLz5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1jaGVja2JveC1pbmRpY2F0b3ItY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImZ3ZS1jaGVja2JveC1pbmRpY2F0b3ItYmFja2dyb3VuZFwiPjwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaW5kZXRlcm1pbmF0ZSAmJiBjaGVja2VkXCI+XG4gICAgICA8c3ZnICpuZ0lmPVwibGFyZ2VcIiB3aWR0aD1cIjI0cHhcIiBoZWlnaHQ9XCIyNHB4XCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTcuNSA3TDEwIDE0LjUgNy41MDEgMTJsLTEuNSAxLjUwMUwxMCAxNy41bDktOXpcIiBmaWxsPVwiI2ZmZlwiIC8+XG4gICAgICA8L3N2Zz5cbiAgICAgIDxzdmcgKm5nSWY9XCIhbGFyZ2VcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNNiAxMkwzIDlsMS4yNS0xLjI1TDYgOS41bDUuNzUtNS43NUwxMyA1bC03IDd6XCIgZmlsbD1cIiNmZmZcIiAvPlxuICAgICAgPC9zdmc+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiAqbmdJZj1cImluZGV0ZXJtaW5hdGUgJiYgIWNoZWNrZWRcIiBjbGFzcz1cImZ3ZS1pbmRldGVybWluYXRlLWluZGljYXRvclwiPjwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1jaGVja2JveC10aXRsZVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2xhYmVsPlxuIl19
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { ConnectionPositionPair, OverlayModule } from '@angular/cdk/overlay';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { Component, Input, ViewEncapsulation } from '@angular/core';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/cdk/overlay";
|
|
6
|
-
import * as i2 from "@angular/common";
|
|
7
|
-
/**
|
|
8
|
-
* A control to display a color.
|
|
9
|
-
*/
|
|
10
|
-
export class FngColorIndicatorComponent {
|
|
11
|
-
constructor() {
|
|
12
|
-
/**
|
|
13
|
-
* The label above the color.
|
|
14
|
-
*/
|
|
15
|
-
this.label = '';
|
|
16
|
-
/**
|
|
17
|
-
* A text next to the color.
|
|
18
|
-
*/
|
|
19
|
-
this.text = '';
|
|
20
|
-
/**
|
|
21
|
-
* The current color as a string.
|
|
22
|
-
* Examples: '#ffffff', 'red', 'rgba(1,2,3,0.5)'
|
|
23
|
-
*/
|
|
24
|
-
this.color = '#ffffff';
|
|
25
|
-
/**
|
|
26
|
-
* enable an overlay to edit the color.
|
|
27
|
-
* The editor must be passed as the content of the indicator.
|
|
28
|
-
*/
|
|
29
|
-
this.showPopOver = false;
|
|
30
|
-
this.disabled = false;
|
|
31
|
-
this.isEditorOpen = false;
|
|
32
|
-
this.positions = [
|
|
33
|
-
new ConnectionPositionPair({
|
|
34
|
-
originX: 'center',
|
|
35
|
-
originY: 'top'
|
|
36
|
-
}, {
|
|
37
|
-
overlayX: 'center',
|
|
38
|
-
overlayY: 'bottom'
|
|
39
|
-
}, 0, -20, ['fng-color-indicator-top']),
|
|
40
|
-
new ConnectionPositionPair({
|
|
41
|
-
originX: 'center',
|
|
42
|
-
originY: 'bottom'
|
|
43
|
-
}, {
|
|
44
|
-
overlayX: 'center',
|
|
45
|
-
overlayY: 'top'
|
|
46
|
-
}, 0, 20, ['fng-color-indicator-bottom']),
|
|
47
|
-
new ConnectionPositionPair({
|
|
48
|
-
originX: 'start',
|
|
49
|
-
originY: 'center'
|
|
50
|
-
}, {
|
|
51
|
-
overlayX: 'end',
|
|
52
|
-
overlayY: 'center'
|
|
53
|
-
}, -20, 0, ['fng-color-indicator-left']),
|
|
54
|
-
new ConnectionPositionPair({
|
|
55
|
-
originX: 'end',
|
|
56
|
-
originY: 'center'
|
|
57
|
-
}, {
|
|
58
|
-
overlayX: 'start',
|
|
59
|
-
overlayY: 'center'
|
|
60
|
-
}, 20, 0, ['fng-color-indicator-right'])
|
|
61
|
-
];
|
|
62
|
-
}
|
|
63
|
-
getBorderColor() {
|
|
64
|
-
if (!this.color || this.color.toUpperCase() === '#FFFFFF' || this.color.toUpperCase() === '#F0F2F3') {
|
|
65
|
-
return '#b6bec6'; // = $control-border
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
return this.color;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngColorIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
72
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: FngColorIndicatorComponent, isStandalone: true, selector: "fng-color-indicator", inputs: { label: "label", text: "text", color: "color", showPopOver: "showPopOver", disabled: "disabled" }, ngImport: i0, template: "<div class=\"fwe-color-indicator\" (click)=\"isEditorOpen = showPopOver ? !isEditorOpen : false\" [class.fwe-color-indicator--disabled]=\"disabled\">\n <div class=\"fwe-color-label\" [style.opacity]=\"isEditorOpen ? 0 : 1\">\n {{ label }}\n </div>\n <div class=\"fwe-color-container\">\n <div\n class=\"fwe-color-box\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n [style.background]=\"color\"\n [style.border-color]=\"getBorderColor()\"\n >\n <svg\n *ngIf=\"!color\"\n class=\"fwe-no-color-pattern\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n id=\"canvas1\"\n width=\"18\"\n height=\"18\"\n >\n <defs>\n <pattern id=\"bwsquare2px\" width=\"4\" height=\"4\" patternUnits=\"userSpaceOnUse\">\n <rect x=\"0\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n <rect x=\"2\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e2e5e8\" />\n <rect x=\"0\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e2e5e8\" />\n <rect x=\"2\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n </pattern>\n </defs>\n <rect x=\"0\" y=\"0\" rx=\"0\" ry=\"0\" width=\"18\" height=\"18\" fill=\"url(#bwsquare2px)\" stroke-width=\"0\" />\n </svg>\n </div>\n <div class=\"fwe-color-indicator-text\" *ngIf=\"text\">\n {{ text }}\n </div>\n </div>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isEditorOpen\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayBackdropClass]=\"'backdrop'\"\n [cdkConnectedOverlayViewportMargin]=\"32\"\n (backdropClick)=\"isEditorOpen = false\"\n >\n <div class=\"fwe-popover-container\">\n <div class=\"fwe-triangle\"></div>\n <div class=\"fwe-popover\" #popoverContent>\n <div class=\"fwe-color-label fwe-mb-s\">\n {{ label }}\n </div>\n <ng-content></ng-content>\n </div>\n </div>\n </ng-template>\n</div>\n", styles: [".fwe-color-indicator .fwe-popover-container{position:relative}.fwe-color-indicator .fwe-popover-container .fwe-popover{background-color:var(--fwe-white);padding:8px 16px 16px;font-size:var(--fwe-font-size-md);line-height:1rem;box-shadow:0 1px 4px #3333;border-radius:4px}.fwe-color-indicator .fwe-backdrop{background:transparent}.fwe-color-indicator .fwe-color-label{height:18px;font-size:var(--fwe-font-size-small);font-weight:var(--fwe-font-weight-bold);margin-bottom:4px}.fwe-color-indicator .fwe-color-container{display:flex}.fwe-color-indicator .fwe-color-container .fwe-color-box{height:24px;width:24px;border-radius:4px;border:1px solid var(--fwe-control-border);background:var(--fwe-white)}.fwe-color-indicator .fwe-color-container .fwe-color-box .fwe-no-color-pattern{margin:2px}.fwe-color-indicator .fwe-color-container .fwe-color-indicator-text{margin-left:8px}.fwe-color-indicator--disabled{pointer-events:none}.fwe-color-indicator--disabled .fwe-color-label{color:var(--fwe-text-disabled)}.fwe-color-indicator--disabled .fwe-color-container .fwe-color-box{opacity:.5}.fwe-color-indicator--disabled .fwe-color-container .fwe-color-indicator-text{color:var(--fwe-text-disabled)}\n"], dependencies: [{ kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
73
|
-
}
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngColorIndicatorComponent, decorators: [{
|
|
75
|
-
type: Component,
|
|
76
|
-
args: [{ standalone: true, imports: [OverlayModule, CommonModule], selector: 'fng-color-indicator', encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-color-indicator\" (click)=\"isEditorOpen = showPopOver ? !isEditorOpen : false\" [class.fwe-color-indicator--disabled]=\"disabled\">\n <div class=\"fwe-color-label\" [style.opacity]=\"isEditorOpen ? 0 : 1\">\n {{ label }}\n </div>\n <div class=\"fwe-color-container\">\n <div\n class=\"fwe-color-box\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n [style.background]=\"color\"\n [style.border-color]=\"getBorderColor()\"\n >\n <svg\n *ngIf=\"!color\"\n class=\"fwe-no-color-pattern\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n id=\"canvas1\"\n width=\"18\"\n height=\"18\"\n >\n <defs>\n <pattern id=\"bwsquare2px\" width=\"4\" height=\"4\" patternUnits=\"userSpaceOnUse\">\n <rect x=\"0\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n <rect x=\"2\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e2e5e8\" />\n <rect x=\"0\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e2e5e8\" />\n <rect x=\"2\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n </pattern>\n </defs>\n <rect x=\"0\" y=\"0\" rx=\"0\" ry=\"0\" width=\"18\" height=\"18\" fill=\"url(#bwsquare2px)\" stroke-width=\"0\" />\n </svg>\n </div>\n <div class=\"fwe-color-indicator-text\" *ngIf=\"text\">\n {{ text }}\n </div>\n </div>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isEditorOpen\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayBackdropClass]=\"'backdrop'\"\n [cdkConnectedOverlayViewportMargin]=\"32\"\n (backdropClick)=\"isEditorOpen = false\"\n >\n <div class=\"fwe-popover-container\">\n <div class=\"fwe-triangle\"></div>\n <div class=\"fwe-popover\" #popoverContent>\n <div class=\"fwe-color-label fwe-mb-s\">\n {{ label }}\n </div>\n <ng-content></ng-content>\n </div>\n </div>\n </ng-template>\n</div>\n", styles: [".fwe-color-indicator .fwe-popover-container{position:relative}.fwe-color-indicator .fwe-popover-container .fwe-popover{background-color:var(--fwe-white);padding:8px 16px 16px;font-size:var(--fwe-font-size-md);line-height:1rem;box-shadow:0 1px 4px #3333;border-radius:4px}.fwe-color-indicator .fwe-backdrop{background:transparent}.fwe-color-indicator .fwe-color-label{height:18px;font-size:var(--fwe-font-size-small);font-weight:var(--fwe-font-weight-bold);margin-bottom:4px}.fwe-color-indicator .fwe-color-container{display:flex}.fwe-color-indicator .fwe-color-container .fwe-color-box{height:24px;width:24px;border-radius:4px;border:1px solid var(--fwe-control-border);background:var(--fwe-white)}.fwe-color-indicator .fwe-color-container .fwe-color-box .fwe-no-color-pattern{margin:2px}.fwe-color-indicator .fwe-color-container .fwe-color-indicator-text{margin-left:8px}.fwe-color-indicator--disabled{pointer-events:none}.fwe-color-indicator--disabled .fwe-color-label{color:var(--fwe-text-disabled)}.fwe-color-indicator--disabled .fwe-color-container .fwe-color-box{opacity:.5}.fwe-color-indicator--disabled .fwe-color-container .fwe-color-indicator-text{color:var(--fwe-text-disabled)}\n"] }]
|
|
77
|
-
}], propDecorators: { label: [{
|
|
78
|
-
type: Input
|
|
79
|
-
}], text: [{
|
|
80
|
-
type: Input
|
|
81
|
-
}], color: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], showPopOver: [{
|
|
84
|
-
type: Input
|
|
85
|
-
}], disabled: [{
|
|
86
|
-
type: Input
|
|
87
|
-
}] } });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItaW5kaWNhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9mb3Jtcy9jb2xvci1pbmRpY2F0b3IvY29sb3ItaW5kaWNhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9mb3Jtcy9jb2xvci1pbmRpY2F0b3IvY29sb3ItaW5kaWNhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFFcEU7O0dBRUc7QUFTSCxNQUFNLE9BQU8sMEJBQTBCO0lBUnZDO1FBU0U7O1dBRUc7UUFDTSxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRTVCOztXQUVHO1FBQ00sU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUUzQjs7O1dBR0c7UUFDTSxVQUFLLEdBQVcsU0FBUyxDQUFDO1FBRW5DOzs7V0FHRztRQUNNLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRTdCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFNUIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIsY0FBUyxHQUFHO1lBQ2pCLElBQUksc0JBQXNCLENBQ3hCO2dCQUNFLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixPQUFPLEVBQUUsS0FBSzthQUNmLEVBQ0Q7Z0JBQ0UsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLFFBQVEsRUFBRSxRQUFRO2FBQ25CLEVBQ0QsQ0FBQyxFQUNELENBQUMsRUFBRSxFQUNILENBQUMseUJBQXlCLENBQUMsQ0FDNUI7WUFDRCxJQUFJLHNCQUFzQixDQUN4QjtnQkFDRSxPQUFPLEVBQUUsUUFBUTtnQkFDakIsT0FBTyxFQUFFLFFBQVE7YUFDbEIsRUFDRDtnQkFDRSxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsUUFBUSxFQUFFLEtBQUs7YUFDaEIsRUFDRCxDQUFDLEVBQ0QsRUFBRSxFQUNGLENBQUMsNEJBQTRCLENBQUMsQ0FDL0I7WUFDRCxJQUFJLHNCQUFzQixDQUN4QjtnQkFDRSxPQUFPLEVBQUUsT0FBTztnQkFDaEIsT0FBTyxFQUFFLFFBQVE7YUFDbEIsRUFDRDtnQkFDRSxRQUFRLEVBQUUsS0FBSztnQkFDZixRQUFRLEVBQUUsUUFBUTthQUNuQixFQUNELENBQUMsRUFBRSxFQUNILENBQUMsRUFDRCxDQUFDLDBCQUEwQixDQUFDLENBQzdCO1lBQ0QsSUFBSSxzQkFBc0IsQ0FDeEI7Z0JBQ0UsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsT0FBTyxFQUFFLFFBQVE7YUFDbEIsRUFDRDtnQkFDRSxRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFLFFBQVE7YUFDbkIsRUFDRCxFQUFFLEVBQ0YsQ0FBQyxFQUNELENBQUMsMkJBQTJCLENBQUMsQ0FDOUI7U0FDRixDQUFDO0tBU0g7SUFQQyxjQUFjO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNwRyxPQUFPLFNBQVMsQ0FBQyxDQUFDLG9CQUFvQjtRQUN4QyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQzs4R0F4RlUsMEJBQTBCO2tHQUExQiwwQkFBMEIsMkxDZnZDLGl0RUEyREEsZ3VDRGxEWSxhQUFhLDByQ0FBRSxZQUFZOzsyRkFNMUIsMEJBQTBCO2tCQVJ0QyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsWUFDNUIscUJBQXFCLGlCQUdoQixpQkFBaUIsQ0FBQyxJQUFJOzhCQU01QixLQUFLO3NCQUFiLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQU1HLEtBQUs7c0JBQWIsS0FBSztnQkFNRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0aW9uUG9zaXRpb25QYWlyLCBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQSBjb250cm9sIHRvIGRpc3BsYXkgYSBjb2xvci5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtPdmVybGF5TW9kdWxlLCBDb21tb25Nb2R1bGVdLFxuICBzZWxlY3RvcjogJ2ZuZy1jb2xvci1pbmRpY2F0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vY29sb3ItaW5kaWNhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sb3ItaW5kaWNhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRm5nQ29sb3JJbmRpY2F0b3JDb21wb25lbnQge1xuICAvKipcbiAgICogVGhlIGxhYmVsIGFib3ZlIHRoZSBjb2xvci5cbiAgICovXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogQSB0ZXh0IG5leHQgdG8gdGhlIGNvbG9yLlxuICAgKi9cbiAgQElucHV0KCkgdGV4dDogc3RyaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IGNvbG9yIGFzIGEgc3RyaW5nLlxuICAgKiBFeGFtcGxlczogJyNmZmZmZmYnLCAncmVkJywgJ3JnYmEoMSwyLDMsMC41KSdcbiAgICovXG4gIEBJbnB1dCgpIGNvbG9yOiBzdHJpbmcgPSAnI2ZmZmZmZic7XG5cbiAgLyoqXG4gICAqIGVuYWJsZSBhbiBvdmVybGF5IHRvIGVkaXQgdGhlIGNvbG9yLlxuICAgKiBUaGUgZWRpdG9yIG11c3QgYmUgcGFzc2VkIGFzIHRoZSBjb250ZW50IG9mIHRoZSBpbmRpY2F0b3IuXG4gICAqL1xuICBASW5wdXQoKSBzaG93UG9wT3ZlcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGlzRWRpdG9yT3BlbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBwb3NpdGlvbnMgPSBbXG4gICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoXG4gICAgICB7XG4gICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxuICAgICAgICBvcmlnaW5ZOiAndG9wJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICAgIH0sXG4gICAgICAwLFxuICAgICAgLTIwLFxuICAgICAgWydmbmctY29sb3ItaW5kaWNhdG9yLXRvcCddXG4gICAgKSxcbiAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcihcbiAgICAgIHtcbiAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICAgIG9yaWdpblk6ICdib3R0b20nXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgICAgfSxcbiAgICAgIDAsXG4gICAgICAyMCxcbiAgICAgIFsnZm5nLWNvbG9yLWluZGljYXRvci1ib3R0b20nXVxuICAgICksXG4gICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoXG4gICAgICB7XG4gICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgIG9yaWdpblk6ICdjZW50ZXInXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgIG92ZXJsYXlZOiAnY2VudGVyJ1xuICAgICAgfSxcbiAgICAgIC0yMCxcbiAgICAgIDAsXG4gICAgICBbJ2ZuZy1jb2xvci1pbmRpY2F0b3ItbGVmdCddXG4gICAgKSxcbiAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcihcbiAgICAgIHtcbiAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgIG9yaWdpblk6ICdjZW50ZXInXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgb3ZlcmxheVk6ICdjZW50ZXInXG4gICAgICB9LFxuICAgICAgMjAsXG4gICAgICAwLFxuICAgICAgWydmbmctY29sb3ItaW5kaWNhdG9yLXJpZ2h0J11cbiAgICApXG4gIF07XG5cbiAgZ2V0Qm9yZGVyQ29sb3IoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuY29sb3IgfHwgdGhpcy5jb2xvci50b1VwcGVyQ2FzZSgpID09PSAnI0ZGRkZGRicgfHwgdGhpcy5jb2xvci50b1VwcGVyQ2FzZSgpID09PSAnI0YwRjJGMycpIHtcbiAgICAgIHJldHVybiAnI2I2YmVjNic7IC8vID0gJGNvbnRyb2wtYm9yZGVyXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZ3ZS1jb2xvci1pbmRpY2F0b3JcIiAoY2xpY2spPVwiaXNFZGl0b3JPcGVuID0gc2hvd1BvcE92ZXIgPyAhaXNFZGl0b3JPcGVuIDogZmFsc2VcIiBbY2xhc3MuZndlLWNvbG9yLWluZGljYXRvci0tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1jb2xvci1sYWJlbFwiIFtzdHlsZS5vcGFjaXR5XT1cImlzRWRpdG9yT3BlbiA/IDAgOiAxXCI+XG4gICAge3sgbGFiZWwgfX1cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmd2UtY29sb3ItY29udGFpbmVyXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJmd2UtY29sb3ItYm94XCJcbiAgICAgIGNka092ZXJsYXlPcmlnaW5cbiAgICAgICN0cmlnZ2VyPVwiY2RrT3ZlcmxheU9yaWdpblwiXG4gICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJjb2xvclwiXG4gICAgICBbc3R5bGUuYm9yZGVyLWNvbG9yXT1cImdldEJvcmRlckNvbG9yKClcIlxuICAgID5cbiAgICAgIDxzdmdcbiAgICAgICAgKm5nSWY9XCIhY29sb3JcIlxuICAgICAgICBjbGFzcz1cImZ3ZS1uby1jb2xvci1wYXR0ZXJuXCJcbiAgICAgICAgdmVyc2lvbj1cIjEuMVwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIlxuICAgICAgICBpZD1cImNhbnZhczFcIlxuICAgICAgICB3aWR0aD1cIjE4XCJcbiAgICAgICAgaGVpZ2h0PVwiMThcIlxuICAgICAgPlxuICAgICAgICA8ZGVmcz5cbiAgICAgICAgICA8cGF0dGVybiBpZD1cImJ3c3F1YXJlMnB4XCIgd2lkdGg9XCI0XCIgaGVpZ2h0PVwiNFwiIHBhdHRlcm5Vbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgICAgICA8cmVjdCB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCIyXCIgaGVpZ2h0PVwiMlwiIHN0cm9rZT1cIm5vbmVcIiBmaWxsPVwiI2ZmZmZmZlwiIC8+XG4gICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIwXCIgd2lkdGg9XCIyXCIgaGVpZ2h0PVwiMlwiIHN0cm9rZT1cIm5vbmVcIiBmaWxsPVwiI2UyZTVlOFwiIC8+XG4gICAgICAgICAgICA8cmVjdCB4PVwiMFwiIHk9XCIyXCIgd2lkdGg9XCIyXCIgaGVpZ2h0PVwiMlwiIHN0cm9rZT1cIm5vbmVcIiBmaWxsPVwiI2UyZTVlOFwiIC8+XG4gICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIyXCIgaGVpZ2h0PVwiMlwiIHN0cm9rZT1cIm5vbmVcIiBmaWxsPVwiI2ZmZmZmZlwiIC8+XG4gICAgICAgICAgPC9wYXR0ZXJuPlxuICAgICAgICA8L2RlZnM+XG4gICAgICAgIDxyZWN0IHg9XCIwXCIgeT1cIjBcIiByeD1cIjBcIiByeT1cIjBcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiBmaWxsPVwidXJsKCNid3NxdWFyZTJweClcIiBzdHJva2Utd2lkdGg9XCIwXCIgLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmd2UtY29sb3ItaW5kaWNhdG9yLXRleHRcIiAqbmdJZj1cInRleHRcIj5cbiAgICAgIHt7IHRleHQgfX1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPG5nLXRlbXBsYXRlXG4gICAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cInRyaWdnZXJcIlxuICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJpc0VkaXRvck9wZW5cIlxuICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25zXT1cInBvc2l0aW9uc1wiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlIYXNCYWNrZHJvcF09XCJ0cnVlXCJcbiAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheUJhY2tkcm9wQ2xhc3NdPVwiJ2JhY2tkcm9wJ1wiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlWaWV3cG9ydE1hcmdpbl09XCIzMlwiXG4gICAgKGJhY2tkcm9wQ2xpY2spPVwiaXNFZGl0b3JPcGVuID0gZmFsc2VcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImZ3ZS1wb3BvdmVyLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZ3ZS10cmlhbmdsZVwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZ3ZS1wb3BvdmVyXCIgI3BvcG92ZXJDb250ZW50PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZndlLWNvbG9yLWxhYmVsIGZ3ZS1tYi1zXCI+XG4gICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
export class ColorHelper {
|
|
2
|
-
// based on: https://gist.github.com/mjackson/5311256
|
|
3
|
-
static rgbToHsv(rgb) {
|
|
4
|
-
if (!rgb) {
|
|
5
|
-
return { h: 0, s: 0, v: 0 };
|
|
6
|
-
}
|
|
7
|
-
const r = this.limitToByte(rgb.r) / 255;
|
|
8
|
-
const g = this.limitToByte(rgb.g) / 255;
|
|
9
|
-
const b = this.limitToByte(rgb.b) / 255;
|
|
10
|
-
const max = Math.max(r, g, b);
|
|
11
|
-
const min = Math.min(r, g, b);
|
|
12
|
-
let h = max;
|
|
13
|
-
let s = max;
|
|
14
|
-
const v = max;
|
|
15
|
-
const d = max - min;
|
|
16
|
-
s = max === 0 ? 0 : d / max;
|
|
17
|
-
if (max === min) {
|
|
18
|
-
h = 0; // achromatic
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
switch (max) {
|
|
22
|
-
case r:
|
|
23
|
-
h = (g - b) / d + (g < b ? 6 : 0);
|
|
24
|
-
break;
|
|
25
|
-
case g:
|
|
26
|
-
h = (b - r) / d + 2;
|
|
27
|
-
break;
|
|
28
|
-
case b:
|
|
29
|
-
h = (r - g) / d + 4;
|
|
30
|
-
break;
|
|
31
|
-
}
|
|
32
|
-
h /= 6;
|
|
33
|
-
}
|
|
34
|
-
return { h, s, v };
|
|
35
|
-
}
|
|
36
|
-
// based on: https://gist.github.com/mjackson/5311256
|
|
37
|
-
static hsvToRgb(hsv) {
|
|
38
|
-
if (!hsv) {
|
|
39
|
-
return { r: 0, g: 0, b: 0 };
|
|
40
|
-
}
|
|
41
|
-
hsv.h = this.limitToOne(hsv.h);
|
|
42
|
-
hsv.s = this.limitToOne(hsv.s);
|
|
43
|
-
hsv.v = this.limitToOne(hsv.v);
|
|
44
|
-
let r = 0;
|
|
45
|
-
let g = 0;
|
|
46
|
-
let b = 0;
|
|
47
|
-
const i = Math.floor(hsv.h * 6);
|
|
48
|
-
const f = hsv.h * 6 - i;
|
|
49
|
-
const p = hsv.v * (1 - hsv.s);
|
|
50
|
-
const q = hsv.v * (1 - f * hsv.s);
|
|
51
|
-
const t = hsv.v * (1 - (1 - f) * hsv.s);
|
|
52
|
-
switch (i % 6) {
|
|
53
|
-
case 0:
|
|
54
|
-
r = hsv.v;
|
|
55
|
-
g = t;
|
|
56
|
-
b = p;
|
|
57
|
-
break;
|
|
58
|
-
case 1:
|
|
59
|
-
r = q;
|
|
60
|
-
g = hsv.v;
|
|
61
|
-
b = p;
|
|
62
|
-
break;
|
|
63
|
-
case 2:
|
|
64
|
-
r = p;
|
|
65
|
-
g = hsv.v;
|
|
66
|
-
b = t;
|
|
67
|
-
break;
|
|
68
|
-
case 3:
|
|
69
|
-
r = p;
|
|
70
|
-
g = q;
|
|
71
|
-
b = hsv.v;
|
|
72
|
-
break;
|
|
73
|
-
case 4:
|
|
74
|
-
r = t;
|
|
75
|
-
g = p;
|
|
76
|
-
b = hsv.v;
|
|
77
|
-
break;
|
|
78
|
-
case 5:
|
|
79
|
-
r = hsv.v;
|
|
80
|
-
g = p;
|
|
81
|
-
b = q;
|
|
82
|
-
break;
|
|
83
|
-
}
|
|
84
|
-
return {
|
|
85
|
-
r: this.limitToByte(r * 255),
|
|
86
|
-
g: this.limitToByte(g * 255),
|
|
87
|
-
b: this.limitToByte(b * 255)
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
static limitToByte(num) {
|
|
91
|
-
return Math.round(num <= 0 ? 0 : num >= 255 ? 255 : num);
|
|
92
|
-
}
|
|
93
|
-
static limitToOne(num) {
|
|
94
|
-
return num <= 0 ? 0 : num >= 1 ? 1 : num;
|
|
95
|
-
}
|
|
96
|
-
static numberToHex(rgb) {
|
|
97
|
-
let hex = Math.round(rgb).toString(16);
|
|
98
|
-
if (hex.length < 2) {
|
|
99
|
-
hex = '0' + hex;
|
|
100
|
-
}
|
|
101
|
-
return hex.toUpperCase();
|
|
102
|
-
}
|
|
103
|
-
static rgbToHex(rgb) {
|
|
104
|
-
if (!rgb) {
|
|
105
|
-
return '#FFFFFF';
|
|
106
|
-
}
|
|
107
|
-
rgb.r = this.limitToByte(rgb.r);
|
|
108
|
-
rgb.g = this.limitToByte(rgb.g);
|
|
109
|
-
rgb.b = this.limitToByte(rgb.b);
|
|
110
|
-
const red = this.numberToHex(rgb.r);
|
|
111
|
-
const green = this.numberToHex(rgb.g);
|
|
112
|
-
const blue = this.numberToHex(rgb.b);
|
|
113
|
-
return '#' + red + green + blue;
|
|
114
|
-
}
|
|
115
|
-
static hexToRgb(hexString) {
|
|
116
|
-
if (!hexString) {
|
|
117
|
-
return { r: 0, g: 0, b: 0 };
|
|
118
|
-
}
|
|
119
|
-
const numbersOnly = hexString.substring(1);
|
|
120
|
-
const aRgbHex = numbersOnly.match(/.{1,2}/g);
|
|
121
|
-
if (aRgbHex?.length === 3) {
|
|
122
|
-
return { r: parseInt(aRgbHex[0], 16), g: parseInt(aRgbHex[1], 16), b: parseInt(aRgbHex[2], 16) };
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
return { r: 0, g: 0, b: 0 };
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvbGliL2Zvcm1zL2NvbG9yLXBpY2tlci9jb2xvci1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFnQixXQUFXO0lBQy9CLHFEQUFxRDtJQUM5QyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQXVEO1FBQzVFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNULE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzlCLENBQUM7UUFFRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDeEMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ3hDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUV4QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTlCLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUNaLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUNaLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUVkLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDcEIsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLENB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QztJQUVNLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBd0I7UUFDN0MsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2YsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDOUIsQ0FBQztRQUNELE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0MsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QyxJQUFJLE9BQU8sRUFBRSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDMUIsT0FBTyxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDbkcsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUM5QixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbG9ySGVscGVyIHtcbiAgLy8gYmFzZWQgb246IGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL21qYWNrc29uLzUzMTEyNTZcbiAgcHVibGljIHN0YXRpYyByZ2JUb0hzdihyZ2I6IFJlY29yZDwncicgfCAnZycgfCAnYicsIG51bWJlcj4gfCB1bmRlZmluZWQgfCBudWxsKTogUmVjb3JkPCdoJyB8ICdzJyB8ICd2JywgbnVtYmVyPiB7XG4gICAgaWYgKCFyZ2IpIHtcbiAgICAgIHJldHVybiB7IGg6IDAsIHM6IDAsIHY6IDAgfTtcbiAgICB9XG5cbiAgICBjb25zdCByID0gdGhpcy5saW1pdFRvQnl0ZShyZ2IucikgLyAyNTU7XG4gICAgY29uc3QgZyA9IHRoaXMubGltaXRUb0J5dGUocmdiLmcpIC8gMjU1O1xuICAgIGNvbnN0IGIgPSB0aGlzLmxpbWl0VG9CeXRlKHJnYi5iKSAvIDI1NTtcblxuICAgIGNvbnN0IG1heCA9IE1hdGgubWF4KHIsIGcsIGIpO1xuICAgIGNvbnN0IG1pbiA9IE1hdGgubWluKHIsIGcsIGIpO1xuXG4gICAgbGV0IGggPSBtYXg7XG4gICAgbGV0IHMgPSBtYXg7XG4gICAgY29uc3QgdiA9IG1heDtcblxuICAgIGNvbnN0IGQgPSBtYXggLSBtaW47XG4gICAgcyA9IG1heCA9PT0gMCA/IDAgOiBkIC8gbWF4O1xuXG4gICAgaWYgKG1heCA9PT0gbWluKSB7XG4gICAgICBoID0gMDsgLy8gYWNocm9tYXRpY1xuICAgIH0gZWxzZSB7XG4gICAgICBzd2l0Y2ggKG1heCkge1xuICAgICAgICBjYXNlIHI6XG4gICAgICAgICAgaCA9IChnIC0gYikgLyBkICsgKGcgPCBiID8gNiA6IDApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIGc6XG4gICAgICAgICAgaCA9IChiIC0gcikgLyBkICsgMjtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBiOlxuICAgICAgICAgIGggPSAociAtIGcpIC8gZCArIDQ7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGggLz0gNjtcbiAgICB9XG5cbiAgICByZXR1cm4geyBoLCBzLCB2IH07XG4gIH1cblxuICAvLyBiYXNlZCBvbjogaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vbWphY2tzb24vNTMxMTI1NlxuICBwdWJsaWMgc3RhdGljIGhzdlRvUmdiKGhzdjogUmVjb3JkPCdoJyB8ICdzJyB8ICd2JywgbnVtYmVyPiB8IHVuZGVmaW5lZCB8IG51bGwpOiBSZWNvcmQ8J3InIHwgJ2cnIHwgJ2InLCBudW1iZXI+IHtcbiAgICBpZiAoIWhzdikge1xuICAgICAgcmV0dXJuIHsgcjogMCwgZzogMCwgYjogMCB9O1xuICAgIH1cblxuICAgIGhzdi5oID0gdGhpcy5saW1pdFRvT25lKGhzdi5oKTtcbiAgICBoc3YucyA9IHRoaXMubGltaXRUb09uZShoc3Yucyk7XG4gICAgaHN2LnYgPSB0aGlzLmxpbWl0VG9PbmUoaHN2LnYpO1xuXG4gICAgbGV0IHI6IG51bWJlciA9IDA7XG4gICAgbGV0IGc6IG51bWJlciA9IDA7XG4gICAgbGV0IGI6IG51bWJlciA9IDA7XG5cbiAgICBjb25zdCBpID0gTWF0aC5mbG9vcihoc3YuaCAqIDYpO1xuICAgIGNvbnN0IGYgPSBoc3YuaCAqIDYgLSBpO1xuICAgIGNvbnN0IHAgPSBoc3YudiAqICgxIC0gaHN2LnMpO1xuICAgIGNvbnN0IHEgPSBoc3YudiAqICgxIC0gZiAqIGhzdi5zKTtcbiAgICBjb25zdCB0ID0gaHN2LnYgKiAoMSAtICgxIC0gZikgKiBoc3Yucyk7XG5cbiAgICBzd2l0Y2ggKGkgJSA2KSB7XG4gICAgICBjYXNlIDA6XG4gICAgICAgIHIgPSBoc3YudjtcbiAgICAgICAgZyA9IHQ7XG4gICAgICAgIGIgPSBwO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMTpcbiAgICAgICAgciA9IHE7XG4gICAgICAgIGcgPSBoc3YudjtcbiAgICAgICAgYiA9IHA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAyOlxuICAgICAgICByID0gcDtcbiAgICAgICAgZyA9IGhzdi52O1xuICAgICAgICBiID0gdDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDM6XG4gICAgICAgIHIgPSBwO1xuICAgICAgICBnID0gcTtcbiAgICAgICAgYiA9IGhzdi52O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgNDpcbiAgICAgICAgciA9IHQ7XG4gICAgICAgIGcgPSBwO1xuICAgICAgICBiID0gaHN2LnY7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSA1OlxuICAgICAgICByID0gaHN2LnY7XG4gICAgICAgIGcgPSBwO1xuICAgICAgICBiID0gcTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHI6IHRoaXMubGltaXRUb0J5dGUociAqIDI1NSksXG4gICAgICBnOiB0aGlzLmxpbWl0VG9CeXRlKGcgKiAyNTUpLFxuICAgICAgYjogdGhpcy5saW1pdFRvQnl0ZShiICogMjU1KVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBsaW1pdFRvQnl0ZShudW06IG51bWJlcikge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKG51bSA8PSAwID8gMCA6IG51bSA+PSAyNTUgPyAyNTUgOiBudW0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbGltaXRUb09uZShudW06IG51bWJlcikge1xuICAgIHJldHVybiBudW0gPD0gMCA/IDAgOiBudW0gPj0gMSA/IDEgOiBudW07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBudW1iZXJUb0hleChyZ2I6IG51bWJlcik6IHN0cmluZyB7XG4gICAgbGV0IGhleCA9IE1hdGgucm91bmQocmdiKS50b1N0cmluZygxNik7XG4gICAgaWYgKGhleC5sZW5ndGggPCAyKSB7XG4gICAgICBoZXggPSAnMCcgKyBoZXg7XG4gICAgfVxuICAgIHJldHVybiBoZXgudG9VcHBlckNhc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcmdiVG9IZXgocmdiOiBSZWNvcmQ8J3InIHwgJ2cnIHwgJ2InLCBudW1iZXI+IHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgIGlmICghcmdiKSB7XG4gICAgICByZXR1cm4gJyNGRkZGRkYnO1xuICAgIH1cblxuICAgIHJnYi5yID0gdGhpcy5saW1pdFRvQnl0ZShyZ2Iucik7XG4gICAgcmdiLmcgPSB0aGlzLmxpbWl0VG9CeXRlKHJnYi5nKTtcbiAgICByZ2IuYiA9IHRoaXMubGltaXRUb0J5dGUocmdiLmIpO1xuXG4gICAgY29uc3QgcmVkID0gdGhpcy5udW1iZXJUb0hleChyZ2Iucik7XG4gICAgY29uc3QgZ3JlZW4gPSB0aGlzLm51bWJlclRvSGV4KHJnYi5nKTtcbiAgICBjb25zdCBibHVlID0gdGhpcy5udW1iZXJUb0hleChyZ2IuYik7XG4gICAgcmV0dXJuICcjJyArIHJlZCArIGdyZWVuICsgYmx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaGV4VG9SZ2IoaGV4U3RyaW5nOiBzdHJpbmcgfCBudWxsKTogUmVjb3JkPCdyJyB8ICdnJyB8ICdiJywgbnVtYmVyPiB7XG4gICAgaWYgKCFoZXhTdHJpbmcpIHtcbiAgICAgIHJldHVybiB7IHI6IDAsIGc6IDAsIGI6IDAgfTtcbiAgICB9XG4gICAgY29uc3QgbnVtYmVyc09ubHkgPSBoZXhTdHJpbmcuc3Vic3RyaW5nKDEpO1xuICAgIGNvbnN0IGFSZ2JIZXggPSBudW1iZXJzT25seS5tYXRjaCgvLnsxLDJ9L2cpO1xuICAgIGlmIChhUmdiSGV4Py5sZW5ndGggPT09IDMpIHtcbiAgICAgIHJldHVybiB7IHI6IHBhcnNlSW50KGFSZ2JIZXhbMF0sIDE2KSwgZzogcGFyc2VJbnQoYVJnYkhleFsxXSwgMTYpLCBiOiBwYXJzZUludChhUmdiSGV4WzJdLCAxNikgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHsgcjogMCwgZzogMCwgYjogMCB9O1xuICAgIH1cbiAgfVxufVxuIl19
|