primeng 16.6.0 → 16.7.1
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/animate/animate.d.ts +3 -2
- package/animateonscroll/animateonscroll.d.ts +73 -0
- package/animateonscroll/index.d.ts +5 -0
- package/animateonscroll/public_api.d.ts +1 -0
- package/api/primengconfig.d.ts +1 -0
- package/autocomplete/autocomplete.d.ts +177 -54
- package/autocomplete/autocomplete.interface.d.ts +30 -0
- package/cascadeselect/cascadeselect.d.ts +188 -68
- package/cascadeselect/cascadeselect.interface.d.ts +19 -0
- package/checkbox/checkbox.d.ts +1 -4
- package/chips/chips.d.ts +21 -5
- package/colorpicker/colorpicker.d.ts +5 -5
- package/contextmenu/contextmenu.d.ts +1 -0
- package/dialog/dialog.d.ts +1 -2
- package/dom/domhandler.d.ts +4 -1
- package/dropdown/dropdown.d.ts +115 -37
- package/esm2022/accordion/accordion.mjs +11 -7
- package/esm2022/animate/animate.mjs +4 -1
- package/esm2022/animateonscroll/animateonscroll.mjs +185 -0
- package/esm2022/animateonscroll/primeng-animateonscroll.mjs +5 -0
- package/esm2022/animateonscroll/public_api.mjs +2 -0
- package/esm2022/api/primengconfig.mjs +2 -1
- package/esm2022/autocomplete/autocomplete.interface.mjs +1 -1
- package/esm2022/autocomplete/autocomplete.mjs +893 -617
- package/esm2022/carousel/carousel.mjs +5 -1
- package/esm2022/cascadeselect/cascadeselect.interface.mjs +1 -1
- package/esm2022/cascadeselect/cascadeselect.mjs +921 -482
- package/esm2022/checkbox/checkbox.mjs +90 -73
- package/esm2022/chips/chips.mjs +197 -53
- package/esm2022/colorpicker/colorpicker.mjs +56 -37
- package/esm2022/contextmenu/contextmenu.mjs +10 -1
- package/esm2022/dialog/dialog.mjs +6 -11
- package/esm2022/dom/domhandler.mjs +26 -8
- package/esm2022/dropdown/dropdown.mjs +711 -587
- package/esm2022/inputmask/inputmask.mjs +22 -9
- package/esm2022/inputnumber/inputnumber.mjs +142 -83
- package/esm2022/inputswitch/inputswitch.mjs +55 -49
- package/esm2022/knob/knob.mjs +92 -5
- package/esm2022/listbox/listbox.interface.mjs +1 -1
- package/esm2022/listbox/listbox.mjs +998 -455
- package/esm2022/multiselect/multiselect.mjs +1024 -604
- package/esm2022/overlaypanel/overlaypanel.mjs +2 -2
- package/esm2022/paginator/paginator.mjs +2 -2
- package/esm2022/password/password.mjs +29 -28
- package/esm2022/radiobutton/radiobutton.mjs +46 -33
- package/esm2022/rating/rating.mjs +172 -80
- package/esm2022/selectbutton/selectbutton.mjs +105 -33
- package/esm2022/slider/slider.mjs +151 -66
- package/esm2022/table/table.mjs +3 -3
- package/esm2022/togglebutton/togglebutton.mjs +47 -10
- package/esm2022/treetable/treetable.mjs +21 -25
- package/esm2022/tristatecheckbox/tristatecheckbox.mjs +53 -35
- package/fesm2022/primeng-accordion.mjs +10 -6
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-animate.mjs +3 -0
- package/fesm2022/primeng-animate.mjs.map +1 -1
- package/fesm2022/primeng-animateonscroll.mjs +190 -0
- package/fesm2022/primeng-animateonscroll.mjs.map +1 -0
- package/fesm2022/primeng-api.mjs +1 -0
- package/fesm2022/primeng-api.mjs.map +1 -1
- package/fesm2022/primeng-autocomplete.mjs +893 -617
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-carousel.mjs +4 -0
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs +920 -481
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
- package/fesm2022/primeng-checkbox.mjs +89 -72
- package/fesm2022/primeng-checkbox.mjs.map +1 -1
- package/fesm2022/primeng-chips.mjs +195 -51
- package/fesm2022/primeng-chips.mjs.map +1 -1
- package/fesm2022/primeng-colorpicker.mjs +55 -36
- package/fesm2022/primeng-colorpicker.mjs.map +1 -1
- package/fesm2022/primeng-contextmenu.mjs +9 -0
- package/fesm2022/primeng-contextmenu.mjs.map +1 -1
- package/fesm2022/primeng-dialog.mjs +5 -10
- package/fesm2022/primeng-dialog.mjs.map +1 -1
- package/fesm2022/primeng-dom.mjs +25 -7
- package/fesm2022/primeng-dom.mjs.map +1 -1
- package/fesm2022/primeng-dropdown.mjs +710 -586
- package/fesm2022/primeng-dropdown.mjs.map +1 -1
- package/fesm2022/primeng-inputmask.mjs +20 -7
- package/fesm2022/primeng-inputmask.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +140 -81
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputswitch.mjs +55 -49
- package/fesm2022/primeng-inputswitch.mjs.map +1 -1
- package/fesm2022/primeng-knob.mjs +92 -5
- package/fesm2022/primeng-knob.mjs.map +1 -1
- package/fesm2022/primeng-listbox.mjs +997 -454
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +1023 -603
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-overlaypanel.mjs +1 -1
- package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
- package/fesm2022/primeng-paginator.mjs +1 -1
- package/fesm2022/primeng-paginator.mjs.map +1 -1
- package/fesm2022/primeng-password.mjs +27 -26
- package/fesm2022/primeng-password.mjs.map +1 -1
- package/fesm2022/primeng-radiobutton.mjs +46 -33
- package/fesm2022/primeng-radiobutton.mjs.map +1 -1
- package/fesm2022/primeng-rating.mjs +171 -79
- package/fesm2022/primeng-rating.mjs.map +1 -1
- package/fesm2022/primeng-selectbutton.mjs +104 -32
- package/fesm2022/primeng-selectbutton.mjs.map +1 -1
- package/fesm2022/primeng-slider.mjs +150 -65
- package/fesm2022/primeng-slider.mjs.map +1 -1
- package/fesm2022/primeng-table.mjs +2 -2
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-togglebutton.mjs +46 -9
- package/fesm2022/primeng-togglebutton.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +23 -27
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/fesm2022/primeng-tristatecheckbox.mjs +53 -35
- package/fesm2022/primeng-tristatecheckbox.mjs.map +1 -1
- package/inputmask/inputmask.d.ts +6 -1
- package/inputnumber/inputnumber.d.ts +6 -1
- package/inputswitch/inputswitch.d.ts +6 -9
- package/knob/knob.d.ts +20 -3
- package/listbox/listbox.d.ts +208 -39
- package/listbox/listbox.interface.d.ts +16 -1
- package/multiselect/multiselect.d.ts +171 -60
- package/package.json +138 -132
- package/password/password.d.ts +3 -4
- package/radiobutton/radiobutton.d.ts +1 -2
- package/rating/rating.d.ts +29 -7
- package/resources/components/dropdown/dropdown.css +16 -2
- package/resources/themes/arya-blue/theme.css +106 -84
- package/resources/themes/arya-green/theme.css +106 -84
- package/resources/themes/arya-orange/theme.css +106 -84
- package/resources/themes/arya-purple/theme.css +106 -84
- package/resources/themes/bootstrap4-dark-blue/theme.css +110 -88
- package/resources/themes/bootstrap4-dark-purple/theme.css +110 -88
- package/resources/themes/bootstrap4-light-blue/theme.css +110 -88
- package/resources/themes/bootstrap4-light-purple/theme.css +110 -88
- package/resources/themes/fluent-light/theme.css +103 -81
- package/resources/themes/lara-dark-blue/theme.css +106 -84
- package/resources/themes/lara-dark-indigo/theme.css +106 -84
- package/resources/themes/lara-dark-purple/theme.css +106 -84
- package/resources/themes/lara-dark-teal/theme.css +106 -84
- package/resources/themes/lara-light-blue/theme.css +109 -87
- package/resources/themes/lara-light-indigo/theme.css +109 -87
- package/resources/themes/lara-light-purple/theme.css +109 -87
- package/resources/themes/lara-light-teal/theme.css +109 -87
- package/resources/themes/luna-amber/theme.css +110 -88
- package/resources/themes/luna-blue/theme.css +110 -88
- package/resources/themes/luna-green/theme.css +110 -88
- package/resources/themes/luna-pink/theme.css +110 -88
- package/resources/themes/md-dark-deeppurple/theme.css +117 -95
- package/resources/themes/md-dark-indigo/theme.css +117 -95
- package/resources/themes/md-light-deeppurple/theme.css +117 -95
- package/resources/themes/md-light-indigo/theme.css +117 -95
- package/resources/themes/mdc-dark-deeppurple/theme.css +117 -95
- package/resources/themes/mdc-dark-indigo/theme.css +117 -95
- package/resources/themes/mdc-light-deeppurple/theme.css +117 -95
- package/resources/themes/mdc-light-indigo/theme.css +117 -95
- package/resources/themes/mira/theme.css +107 -85
- package/resources/themes/nano/theme.css +109 -87
- package/resources/themes/nova/theme.css +110 -88
- package/resources/themes/nova-accent/theme.css +109 -87
- package/resources/themes/nova-alt/theme.css +110 -88
- package/resources/themes/rhea/theme.css +109 -87
- package/resources/themes/saga-blue/theme.css +106 -84
- package/resources/themes/saga-green/theme.css +106 -84
- package/resources/themes/saga-orange/theme.css +106 -84
- package/resources/themes/saga-purple/theme.css +106 -84
- package/resources/themes/soho-dark/theme.css +109 -87
- package/resources/themes/soho-light/theme.css +109 -87
- package/resources/themes/tailwind-light/theme.css +110 -88
- package/resources/themes/vela-blue/theme.css +106 -84
- package/resources/themes/vela-green/theme.css +106 -84
- package/resources/themes/vela-orange/theme.css +106 -84
- package/resources/themes/vela-purple/theme.css +106 -84
- package/resources/themes/viva-dark/theme.css +109 -87
- package/resources/themes/viva-light/theme.css +109 -87
- package/selectbutton/selectbutton.d.ts +15 -3
- package/slider/slider.d.ts +12 -6
- package/togglebutton/togglebutton.d.ts +7 -1
- package/treetable/treetable.d.ts +3 -4
- package/tristatecheckbox/tristatecheckbox.d.ts +8 -4
@@ -1,7 +1,7 @@
|
|
1
|
-
import * as i0 from '@angular/core';
|
2
|
-
import { forwardRef, EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, NgModule } from '@angular/core';
|
3
1
|
import * as i1 from '@angular/common';
|
4
2
|
import { CommonModule } from '@angular/common';
|
3
|
+
import * as i0 from '@angular/core';
|
4
|
+
import { forwardRef, EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, ViewChild, NgModule } from '@angular/core';
|
5
5
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
6
6
|
|
7
7
|
const INPUTSWITCH_VALUE_ACCESSOR = {
|
@@ -76,6 +76,7 @@ class InputSwitch {
|
|
76
76
|
* @group Emits
|
77
77
|
*/
|
78
78
|
onChange = new EventEmitter();
|
79
|
+
input;
|
79
80
|
modelValue = false;
|
80
81
|
focused = false;
|
81
82
|
onModelChange = () => { };
|
@@ -83,34 +84,22 @@ class InputSwitch {
|
|
83
84
|
constructor(cd) {
|
84
85
|
this.cd = cd;
|
85
86
|
}
|
86
|
-
onClick(event
|
87
|
+
onClick(event) {
|
87
88
|
if (!this.disabled && !this.readonly) {
|
89
|
+
this.modelValue = this.checked() ? this.falseValue : this.trueValue;
|
90
|
+
this.onModelChange(this.modelValue);
|
91
|
+
this.onChange.emit({
|
92
|
+
originalEvent: event,
|
93
|
+
checked: this.modelValue
|
94
|
+
});
|
88
95
|
event.preventDefault();
|
89
|
-
this.
|
90
|
-
cb.focus();
|
91
|
-
}
|
92
|
-
}
|
93
|
-
onInputChange(event) {
|
94
|
-
if (!this.readonly) {
|
95
|
-
const inputChecked = event.target.checked;
|
96
|
-
this.updateModel(event, inputChecked);
|
96
|
+
this.input.nativeElement.focus();
|
97
97
|
}
|
98
98
|
}
|
99
|
-
|
100
|
-
this.updateModel(event, !this.checked());
|
101
|
-
}
|
102
|
-
updateModel(event, value) {
|
103
|
-
this.modelValue = value ? this.trueValue : this.falseValue;
|
104
|
-
this.onModelChange(this.modelValue);
|
105
|
-
this.onChange.emit({
|
106
|
-
originalEvent: event,
|
107
|
-
checked: this.modelValue
|
108
|
-
});
|
109
|
-
}
|
110
|
-
onFocus(event) {
|
99
|
+
onFocus() {
|
111
100
|
this.focused = true;
|
112
101
|
}
|
113
|
-
onBlur(
|
102
|
+
onBlur() {
|
114
103
|
this.focused = false;
|
115
104
|
this.onModelTouched();
|
116
105
|
}
|
@@ -132,53 +121,67 @@ class InputSwitch {
|
|
132
121
|
return this.modelValue === this.trueValue;
|
133
122
|
}
|
134
123
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputSwitch, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
135
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: InputSwitch, selector: "p-inputSwitch", inputs: { style: "style", styleClass: "styleClass", tabindex: "tabindex", inputId: "inputId", name: "name", disabled: "disabled", readonly: "readonly", trueValue: "trueValue", falseValue: "falseValue", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy" }, outputs: { onChange: "onChange" }, host: { classAttribute: "p-element" }, providers: [INPUTSWITCH_VALUE_ACCESSOR], ngImport: i0, template: `
|
136
|
-
<div
|
137
|
-
|
124
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: InputSwitch, selector: "p-inputSwitch", inputs: { style: "style", styleClass: "styleClass", tabindex: "tabindex", inputId: "inputId", name: "name", disabled: "disabled", readonly: "readonly", trueValue: "trueValue", falseValue: "falseValue", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy" }, outputs: { onChange: "onChange" }, host: { classAttribute: "p-element" }, providers: [INPUTSWITCH_VALUE_ACCESSOR], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: `
|
125
|
+
<div
|
126
|
+
[ngClass]="{ 'p-inputswitch p-component': true, 'p-inputswitch-checked': checked(), 'p-disabled': disabled, 'p-focus': focused }"
|
127
|
+
[ngStyle]="style"
|
128
|
+
[class]="styleClass"
|
129
|
+
(click)="onClick($event)"
|
130
|
+
[attr.data-pc-name]="'inputswitch'"
|
131
|
+
[attr.data-pc-section]="'root'"
|
132
|
+
>
|
133
|
+
<div class="p-hidden-accessible" [attr.data-pc-section]="'hiddenInputWrapper'" [attr.data-p-hidden-accessible]="true">
|
138
134
|
<input
|
139
|
-
#
|
140
|
-
type="checkbox"
|
141
|
-
[attr.aria-label]="ariaLabel"
|
135
|
+
#input
|
142
136
|
[attr.id]="inputId"
|
143
|
-
|
144
|
-
|
137
|
+
type="checkbox"
|
138
|
+
role="switch"
|
145
139
|
[checked]="checked()"
|
146
|
-
(change)="onInputChange($event)"
|
147
|
-
(focus)="onFocus($event)"
|
148
|
-
(blur)="onBlur($event)"
|
149
140
|
[disabled]="disabled"
|
150
|
-
role="switch"
|
151
141
|
[attr.aria-checked]="checked()"
|
152
142
|
[attr.aria-labelledby]="ariaLabelledBy"
|
143
|
+
[attr.aria-label]="ariaLabel"
|
144
|
+
[attr.name]="name"
|
145
|
+
[attr.tabindex]="tabindex"
|
146
|
+
(focus)="onFocus()"
|
147
|
+
(blur)="onBlur()"
|
148
|
+
[attr.data-pc-section]="'hiddenInput'"
|
153
149
|
/>
|
154
150
|
</div>
|
155
|
-
<span class="p-inputswitch-slider"></span>
|
151
|
+
<span class="p-inputswitch-slider" [attr.data-pc-section]="'slider'"></span>
|
156
152
|
</div>
|
157
153
|
`, isInline: true, styles: ["@layer primeng{.p-inputswitch{position:relative;display:inline-block;-webkit-user-select:none;user-select:none}.p-inputswitch-slider{position:absolute;cursor:pointer;inset:0}.p-inputswitch-slider:before{position:absolute;content:\"\";top:50%}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
158
154
|
}
|
159
155
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputSwitch, decorators: [{
|
160
156
|
type: Component,
|
161
157
|
args: [{ selector: 'p-inputSwitch', template: `
|
162
|
-
<div
|
163
|
-
|
158
|
+
<div
|
159
|
+
[ngClass]="{ 'p-inputswitch p-component': true, 'p-inputswitch-checked': checked(), 'p-disabled': disabled, 'p-focus': focused }"
|
160
|
+
[ngStyle]="style"
|
161
|
+
[class]="styleClass"
|
162
|
+
(click)="onClick($event)"
|
163
|
+
[attr.data-pc-name]="'inputswitch'"
|
164
|
+
[attr.data-pc-section]="'root'"
|
165
|
+
>
|
166
|
+
<div class="p-hidden-accessible" [attr.data-pc-section]="'hiddenInputWrapper'" [attr.data-p-hidden-accessible]="true">
|
164
167
|
<input
|
165
|
-
#
|
166
|
-
type="checkbox"
|
167
|
-
[attr.aria-label]="ariaLabel"
|
168
|
+
#input
|
168
169
|
[attr.id]="inputId"
|
169
|
-
|
170
|
-
|
170
|
+
type="checkbox"
|
171
|
+
role="switch"
|
171
172
|
[checked]="checked()"
|
172
|
-
(change)="onInputChange($event)"
|
173
|
-
(focus)="onFocus($event)"
|
174
|
-
(blur)="onBlur($event)"
|
175
173
|
[disabled]="disabled"
|
176
|
-
role="switch"
|
177
174
|
[attr.aria-checked]="checked()"
|
178
175
|
[attr.aria-labelledby]="ariaLabelledBy"
|
176
|
+
[attr.aria-label]="ariaLabel"
|
177
|
+
[attr.name]="name"
|
178
|
+
[attr.tabindex]="tabindex"
|
179
|
+
(focus)="onFocus()"
|
180
|
+
(blur)="onBlur()"
|
181
|
+
[attr.data-pc-section]="'hiddenInput'"
|
179
182
|
/>
|
180
183
|
</div>
|
181
|
-
<span class="p-inputswitch-slider"></span>
|
184
|
+
<span class="p-inputswitch-slider" [attr.data-pc-section]="'slider'"></span>
|
182
185
|
</div>
|
183
186
|
`, providers: [INPUTSWITCH_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
184
187
|
class: 'p-element'
|
@@ -207,6 +210,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
207
210
|
type: Input
|
208
211
|
}], onChange: [{
|
209
212
|
type: Output
|
213
|
+
}], input: [{
|
214
|
+
type: ViewChild,
|
215
|
+
args: ['input']
|
210
216
|
}] } });
|
211
217
|
class InputSwitchModule {
|
212
218
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputSwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-inputswitch.mjs","sources":["../../src/app/components/inputswitch/inputswitch.ts","../../src/app/components/inputswitch/primeng-inputswitch.ts"],"sourcesContent":["import { NgModule, Component, Input, forwardRef, EventEmitter, Output, ChangeDetectorRef, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { InputSwitchOnChangeEvent } from './inputswitch.interface';\n\nexport const INPUTSWITCH_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputSwitch),\n multi: true\n};\n/**\n * InputSwitch is used to select a boolean value.\n * @group Components\n */\n@Component({\n selector: 'p-inputSwitch',\n template: `\n <div [ngClass]=\"{ 'p-inputswitch p-component': true, 'p-inputswitch-checked': checked(), 'p-disabled': disabled, 'p-focus': focused }\" [ngStyle]=\"style\" [class]=\"styleClass\" (click)=\"onClick($event, cb)\">\n <div class=\"p-hidden-accessible\">\n <input\n #cb\n type=\"checkbox\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.id]=\"inputId\"\n [attr.name]=\"name\"\n [attr.tabindex]=\"tabindex\"\n [checked]=\"checked()\"\n (change)=\"onInputChange($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n [disabled]=\"disabled\"\n role=\"switch\"\n [attr.aria-checked]=\"checked()\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n />\n </div>\n <span class=\"p-inputswitch-slider\"></span>\n </div>\n `,\n providers: [INPUTSWITCH_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./inputswitch.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class InputSwitch implements ControlValueAccessor {\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input() tabindex: number | undefined;\n /**\n * Identifier of the input element.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Name of the input element.\n * @group Props\n */\n @Input() name: string | undefined;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input() disabled: boolean | undefined;\n /**\n * When present, it specifies that the component cannot be edited.\n * @group Props\n */\n @Input() readonly: boolean | undefined;\n /**\n * Value in checked state.\n * @group Props\n */\n @Input() trueValue: any = true;\n /**\n * Value in unchecked state.\n * @group Props\n */\n @Input() falseValue: any = false;\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Callback to invoke when the on value change.\n * @param {InputSwitchOnChangeEvent} event - Custom change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<InputSwitchOnChangeEvent> = new EventEmitter<InputSwitchOnChangeEvent>();\n\n modelValue: any = false;\n\n focused: boolean = false;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n constructor(private cd: ChangeDetectorRef) {}\n\n onClick(event: Event, cb: HTMLInputElement) {\n if (!this.disabled && !this.readonly) {\n event.preventDefault();\n this.toggle(event);\n cb.focus();\n }\n }\n\n onInputChange(event: Event) {\n if (!this.readonly) {\n const inputChecked = (<HTMLInputElement>event.target).checked;\n this.updateModel(event, inputChecked);\n }\n }\n\n toggle(event: Event) {\n this.updateModel(event, !this.checked());\n }\n\n updateModel(event: Event, value: boolean) {\n this.modelValue = value ? this.trueValue : this.falseValue;\n this.onModelChange(this.modelValue);\n this.onChange.emit({\n originalEvent: event,\n checked: this.modelValue\n });\n }\n\n onFocus(event: Event) {\n this.focused = true;\n }\n\n onBlur(event: Event) {\n this.focused = false;\n this.onModelTouched();\n }\n\n writeValue(value: any): void {\n this.modelValue = value;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n checked() {\n return this.modelValue === this.trueValue;\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [InputSwitch],\n declarations: [InputSwitch]\n})\nexport class InputSwitchModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"primeng-inputswitch.mjs","sources":["../../src/app/components/inputswitch/inputswitch.ts","../../src/app/components/inputswitch/primeng-inputswitch.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, NgModule, Output, ViewChild, ViewEncapsulation, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { InputSwitchOnChangeEvent } from './inputswitch.interface';\n\nexport const INPUTSWITCH_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputSwitch),\n multi: true\n};\n/**\n * InputSwitch is used to select a boolean value.\n * @group Components\n */\n@Component({\n selector: 'p-inputSwitch',\n template: `\n <div\n [ngClass]=\"{ 'p-inputswitch p-component': true, 'p-inputswitch-checked': checked(), 'p-disabled': disabled, 'p-focus': focused }\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n (click)=\"onClick($event)\"\n [attr.data-pc-name]=\"'inputswitch'\"\n [attr.data-pc-section]=\"'root'\"\n >\n <div class=\"p-hidden-accessible\" [attr.data-pc-section]=\"'hiddenInputWrapper'\" [attr.data-p-hidden-accessible]=\"true\">\n <input\n #input\n [attr.id]=\"inputId\"\n type=\"checkbox\"\n role=\"switch\"\n [checked]=\"checked()\"\n [disabled]=\"disabled\"\n [attr.aria-checked]=\"checked()\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.name]=\"name\"\n [attr.tabindex]=\"tabindex\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [attr.data-pc-section]=\"'hiddenInput'\"\n />\n </div>\n <span class=\"p-inputswitch-slider\" [attr.data-pc-section]=\"'slider'\"></span>\n </div>\n `,\n providers: [INPUTSWITCH_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./inputswitch.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class InputSwitch {\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input() tabindex: number | undefined;\n /**\n * Identifier of the input element.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Name of the input element.\n * @group Props\n */\n @Input() name: string | undefined;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n @Input() disabled: boolean | undefined;\n /**\n * When present, it specifies that the component cannot be edited.\n * @group Props\n */\n @Input() readonly: boolean | undefined;\n /**\n * Value in checked state.\n * @group Props\n */\n @Input() trueValue: any = true;\n /**\n * Value in unchecked state.\n * @group Props\n */\n @Input() falseValue: any = false;\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Callback to invoke when the on value change.\n * @param {InputSwitchOnChangeEvent} event - Custom change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<InputSwitchOnChangeEvent> = new EventEmitter<InputSwitchOnChangeEvent>();\n\n @ViewChild('input') input!: ElementRef;\n\n modelValue: any = false;\n\n focused: boolean = false;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n constructor(private cd: ChangeDetectorRef) {}\n\n onClick(event: Event) {\n if (!this.disabled && !this.readonly) {\n this.modelValue = this.checked() ? this.falseValue : this.trueValue;\n\n this.onModelChange(this.modelValue);\n this.onChange.emit({\n originalEvent: event,\n checked: this.modelValue\n });\n\n event.preventDefault();\n this.input.nativeElement.focus();\n }\n }\n\n onFocus() {\n this.focused = true;\n }\n\n onBlur() {\n this.focused = false;\n this.onModelTouched();\n }\n\n writeValue(value: any): void {\n this.modelValue = value;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n checked() {\n return this.modelValue === this.trueValue;\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [InputSwitch],\n declarations: [InputSwitch]\n})\nexport class InputSwitchModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,7 @@
|
|
1
|
-
import * as i0 from '@angular/core';
|
2
|
-
import { forwardRef, EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, Input, Output, NgModule } from '@angular/core';
|
3
1
|
import * as i1 from '@angular/common';
|
4
2
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
3
|
+
import * as i0 from '@angular/core';
|
4
|
+
import { forwardRef, EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, Input, Output, NgModule } from '@angular/core';
|
5
5
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
6
6
|
|
7
7
|
const KNOB_VALUE_ACCESSOR = {
|
@@ -28,6 +28,21 @@ class Knob {
|
|
28
28
|
* @group Props
|
29
29
|
*/
|
30
30
|
style;
|
31
|
+
/**
|
32
|
+
* Defines a string that labels the input for accessibility.
|
33
|
+
* @group Props
|
34
|
+
*/
|
35
|
+
ariaLabel;
|
36
|
+
/**
|
37
|
+
* Specifies one or more IDs in the DOM that labels the input field.
|
38
|
+
* @group Props
|
39
|
+
*/
|
40
|
+
ariaLabelledBy;
|
41
|
+
/**
|
42
|
+
* Index of the element in tabbing order.
|
43
|
+
* @group Props
|
44
|
+
*/
|
45
|
+
tabindex = 0;
|
31
46
|
/**
|
32
47
|
* Background of the value.
|
33
48
|
* @group Props
|
@@ -204,6 +219,54 @@ class Knob {
|
|
204
219
|
}
|
205
220
|
}
|
206
221
|
}
|
222
|
+
updateModelValue(newValue) {
|
223
|
+
if (newValue > this.max)
|
224
|
+
this.value = this.max;
|
225
|
+
else if (newValue < this.min)
|
226
|
+
this.value = this.min;
|
227
|
+
else
|
228
|
+
this.value = newValue;
|
229
|
+
this.onModelChange(this.value);
|
230
|
+
this.onChange.emit(this.value);
|
231
|
+
}
|
232
|
+
onKeyDown(event) {
|
233
|
+
if (!this.disabled && !this.readonly) {
|
234
|
+
switch (event.code) {
|
235
|
+
case 'ArrowRight':
|
236
|
+
case 'ArrowUp': {
|
237
|
+
event.preventDefault();
|
238
|
+
this.updateModelValue(this._value + 1);
|
239
|
+
break;
|
240
|
+
}
|
241
|
+
case 'ArrowLeft':
|
242
|
+
case 'ArrowDown': {
|
243
|
+
event.preventDefault();
|
244
|
+
this.updateModelValue(this._value - 1);
|
245
|
+
break;
|
246
|
+
}
|
247
|
+
case 'Home': {
|
248
|
+
event.preventDefault();
|
249
|
+
this.updateModelValue(this.min);
|
250
|
+
break;
|
251
|
+
}
|
252
|
+
case 'End': {
|
253
|
+
event.preventDefault();
|
254
|
+
this.updateModelValue(this.max);
|
255
|
+
break;
|
256
|
+
}
|
257
|
+
case 'PageUp': {
|
258
|
+
event.preventDefault();
|
259
|
+
this.updateModelValue(this._value + 10);
|
260
|
+
break;
|
261
|
+
}
|
262
|
+
case 'PageDown': {
|
263
|
+
event.preventDefault();
|
264
|
+
this.updateModelValue(this._value - 10);
|
265
|
+
break;
|
266
|
+
}
|
267
|
+
}
|
268
|
+
}
|
269
|
+
}
|
207
270
|
writeValue(value) {
|
208
271
|
this.value = value;
|
209
272
|
this.cd.markForCheck();
|
@@ -276,17 +339,26 @@ class Knob {
|
|
276
339
|
return this.value != null ? this.value : this.min;
|
277
340
|
}
|
278
341
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: Knob, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
279
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: Knob, selector: "p-knob", inputs: { styleClass: "styleClass", style: "style", valueColor: "valueColor", rangeColor: "rangeColor", textColor: "textColor", valueTemplate: "valueTemplate", name: "name", size: "size", step: "step", min: "min", max: "max", strokeWidth: "strokeWidth", disabled: "disabled", showValue: "showValue", readonly: "readonly" }, outputs: { onChange: "onChange" }, host: { classAttribute: "p-element" }, providers: [KNOB_VALUE_ACCESSOR], ngImport: i0, template: `
|
280
|
-
<div [ngClass]="containerClass()" [class]="styleClass" [ngStyle]="style">
|
342
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: Knob, selector: "p-knob", inputs: { styleClass: "styleClass", style: "style", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy", tabindex: "tabindex", valueColor: "valueColor", rangeColor: "rangeColor", textColor: "textColor", valueTemplate: "valueTemplate", name: "name", size: "size", step: "step", min: "min", max: "max", strokeWidth: "strokeWidth", disabled: "disabled", showValue: "showValue", readonly: "readonly" }, outputs: { onChange: "onChange" }, host: { classAttribute: "p-element" }, providers: [KNOB_VALUE_ACCESSOR], ngImport: i0, template: `
|
343
|
+
<div [ngClass]="containerClass()" [class]="styleClass" [ngStyle]="style" [attr.data-pc-name]="'knob'" [attr.data-pc-section]="'root'">
|
281
344
|
<svg
|
282
345
|
viewBox="0 0 100 100"
|
346
|
+
role="slider"
|
283
347
|
[style.width]="size + 'px'"
|
284
348
|
[style.height]="size + 'px'"
|
285
349
|
(click)="onClick($event)"
|
350
|
+
(keydown)="onKeyDown($event)"
|
286
351
|
(mousedown)="onMouseDown($event)"
|
287
352
|
(mouseup)="onMouseUp($event)"
|
288
353
|
(touchstart)="onTouchStart($event)"
|
289
354
|
(touchend)="onTouchEnd($event)"
|
355
|
+
[attr.aria-valuemin]="min"
|
356
|
+
[attr.aria-valuemax]="max"
|
357
|
+
[attr.aria-valuenow]="_value"
|
358
|
+
[attr.aria-labelledby]="ariaLabelledBy"
|
359
|
+
[attr.aria-label]="ariaLabel"
|
360
|
+
[attr.tabindex]="readonly || disabled ? -1 : tabindex"
|
361
|
+
[attr.data-pc-section]="'svg'"
|
290
362
|
>
|
291
363
|
<path [attr.d]="rangePath()" [attr.stroke-width]="strokeWidth" [attr.stroke]="rangeColor" class="p-knob-range"></path>
|
292
364
|
<path [attr.d]="valuePath()" [attr.stroke-width]="strokeWidth" [attr.stroke]="valueColor" class="p-knob-value"></path>
|
@@ -298,16 +370,25 @@ class Knob {
|
|
298
370
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: Knob, decorators: [{
|
299
371
|
type: Component,
|
300
372
|
args: [{ selector: 'p-knob', template: `
|
301
|
-
<div [ngClass]="containerClass()" [class]="styleClass" [ngStyle]="style">
|
373
|
+
<div [ngClass]="containerClass()" [class]="styleClass" [ngStyle]="style" [attr.data-pc-name]="'knob'" [attr.data-pc-section]="'root'">
|
302
374
|
<svg
|
303
375
|
viewBox="0 0 100 100"
|
376
|
+
role="slider"
|
304
377
|
[style.width]="size + 'px'"
|
305
378
|
[style.height]="size + 'px'"
|
306
379
|
(click)="onClick($event)"
|
380
|
+
(keydown)="onKeyDown($event)"
|
307
381
|
(mousedown)="onMouseDown($event)"
|
308
382
|
(mouseup)="onMouseUp($event)"
|
309
383
|
(touchstart)="onTouchStart($event)"
|
310
384
|
(touchend)="onTouchEnd($event)"
|
385
|
+
[attr.aria-valuemin]="min"
|
386
|
+
[attr.aria-valuemax]="max"
|
387
|
+
[attr.aria-valuenow]="_value"
|
388
|
+
[attr.aria-labelledby]="ariaLabelledBy"
|
389
|
+
[attr.aria-label]="ariaLabel"
|
390
|
+
[attr.tabindex]="readonly || disabled ? -1 : tabindex"
|
391
|
+
[attr.data-pc-section]="'svg'"
|
311
392
|
>
|
312
393
|
<path [attr.d]="rangePath()" [attr.stroke-width]="strokeWidth" [attr.stroke]="rangeColor" class="p-knob-range"></path>
|
313
394
|
<path [attr.d]="valuePath()" [attr.stroke-width]="strokeWidth" [attr.stroke]="valueColor" class="p-knob-value"></path>
|
@@ -324,6 +405,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
324
405
|
type: Input
|
325
406
|
}], style: [{
|
326
407
|
type: Input
|
408
|
+
}], ariaLabel: [{
|
409
|
+
type: Input
|
410
|
+
}], ariaLabelledBy: [{
|
411
|
+
type: Input
|
412
|
+
}], tabindex: [{
|
413
|
+
type: Input
|
327
414
|
}], valueColor: [{
|
328
415
|
type: Input
|
329
416
|
}], rangeColor: [{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-knob.mjs","sources":["../../src/app/components/knob/knob.ts","../../src/app/components/knob/primeng-knob.ts"],"sourcesContent":["import { NgModule, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, forwardRef, ChangeDetectorRef, ElementRef, Output, EventEmitter, Renderer2, Inject } from '@angular/core';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { VoidListener } from 'primeng/ts-helpers';\n\nexport const KNOB_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Knob),\n multi: true\n};\n/**\n * Knob is a form component to define number inputs with a dial.\n * @group Components\n */\n@Component({\n selector: 'p-knob',\n template: `\n <div [ngClass]=\"containerClass()\" [class]=\"styleClass\" [ngStyle]=\"style\">\n <svg\n viewBox=\"0 0 100 100\"\n [style.width]=\"size + 'px'\"\n [style.height]=\"size + 'px'\"\n (click)=\"onClick($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (mouseup)=\"onMouseUp($event)\"\n (touchstart)=\"onTouchStart($event)\"\n (touchend)=\"onTouchEnd($event)\"\n >\n <path [attr.d]=\"rangePath()\" [attr.stroke-width]=\"strokeWidth\" [attr.stroke]=\"rangeColor\" class=\"p-knob-range\"></path>\n <path [attr.d]=\"valuePath()\" [attr.stroke-width]=\"strokeWidth\" [attr.stroke]=\"valueColor\" class=\"p-knob-value\"></path>\n <text *ngIf=\"showValue\" [attr.x]=\"50\" [attr.y]=\"57\" text-anchor=\"middle\" [attr.fill]=\"textColor\" class=\"p-knob-text\" [attr.name]=\"name\">{{ valueToDisplay() }}</text>\n </svg>\n </div>\n `,\n providers: [KNOB_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./knob.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class Knob {\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Background of the value.\n * @group Props\n */\n @Input() valueColor: string = 'var(--primary-color, Black)';\n /**\n * Background color of the range.\n * @group Props\n */\n @Input() rangeColor: string = 'var(--surface-border, LightGray)';\n /**\n * Color of the value text.\n * @group Props\n */\n @Input() textColor: string = 'var(--text-color-secondary, Black)';\n /**\n * Template string of the value.\n * @group Props\n */\n @Input() valueTemplate: string = '{value}';\n /**\n * Name of the input element.\n * @group Props\n */\n @Input() name: string | undefined;\n /**\n * Size of the component in pixels.\n * @group Props\n */\n @Input() size: number = 100;\n /**\n * Step factor to increment/decrement the value.\n * @group Props\n */\n @Input() step: number = 1;\n /**\n * Mininum boundary value.\n * @group Props\n */\n @Input() min: number = 0;\n /**\n * Maximum boundary value.\n * @group Props\n */\n @Input() max: number = 100;\n /**\n * Width of the knob stroke.\n * @group Props\n */\n @Input() strokeWidth: number = 14;\n /**\n * When present, it specifies that the component should be disabled.\n * @group Props\n */\n @Input() disabled: boolean | undefined;\n /**\n * Whether the show the value inside the knob.\n * @group Props\n */\n @Input() showValue: boolean = true;\n /**\n * When present, it specifies that the component value cannot be edited.\n * @group Props\n */\n @Input() readonly: boolean = false;\n /**\n * Callback to invoke on value change.\n * @param {number} value - New value.\n * @group Emits\n */\n @Output() onChange: EventEmitter<number> = new EventEmitter<number>();\n\n radius: number = 40;\n\n midX: number = 50;\n\n midY: number = 50;\n\n minRadians: number = (4 * Math.PI) / 3;\n\n maxRadians: number = -Math.PI / 3;\n\n value: number = 0;\n\n windowMouseMoveListener: VoidListener;\n\n windowMouseUpListener: VoidListener;\n\n windowTouchMoveListener: VoidListener;\n\n windowTouchEndListener: VoidListener;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n constructor(@Inject(DOCUMENT) private document: Document, private renderer: Renderer2, private cd: ChangeDetectorRef, private el: ElementRef) {}\n\n mapRange(x: number, inMin: number, inMax: number, outMin: number, outMax: number) {\n return ((x - inMin) * (outMax - outMin)) / (inMax - inMin) + outMin;\n }\n\n onClick(event: MouseEvent) {\n if (!this.disabled && !this.readonly) {\n this.updateValue(event.offsetX, event.offsetY);\n }\n }\n\n updateValue(offsetX: number, offsetY: number) {\n let dx = offsetX - this.size / 2;\n let dy = this.size / 2 - offsetY;\n let angle = Math.atan2(dy, dx);\n let start = -Math.PI / 2 - Math.PI / 6;\n this.updateModel(angle, start);\n }\n\n updateModel(angle: number, start: number) {\n let mappedValue;\n if (angle > this.maxRadians) mappedValue = this.mapRange(angle, this.minRadians, this.maxRadians, this.min, this.max);\n else if (angle < start) mappedValue = this.mapRange(angle + 2 * Math.PI, this.minRadians, this.maxRadians, this.min, this.max);\n else return;\n\n let newValue = Math.round((mappedValue - this.min) / this.step) * this.step + this.min;\n this.value = newValue;\n this.onModelChange(this.value);\n this.onChange.emit(this.value);\n }\n\n onMouseDown(event: MouseEvent) {\n if (!this.disabled && !this.readonly) {\n const window = this.document.defaultView || 'window';\n this.windowMouseMoveListener = this.renderer.listen(window, 'mousemove', this.onMouseMove.bind(this));\n this.windowMouseUpListener = this.renderer.listen(window, 'mouseup', this.onMouseUp.bind(this));\n event.preventDefault();\n }\n }\n\n onMouseUp(event: MouseEvent) {\n if (!this.disabled && !this.readonly) {\n if (this.windowMouseMoveListener) {\n this.windowMouseMoveListener();\n this.windowMouseUpListener = null;\n }\n\n if (this.windowMouseUpListener) {\n this.windowMouseUpListener();\n this.windowMouseMoveListener = null;\n }\n event.preventDefault();\n }\n }\n\n onTouchStart(event: TouchEvent) {\n if (!this.disabled && !this.readonly) {\n const window = this.document.defaultView || 'window';\n this.windowTouchMoveListener = this.renderer.listen(window, 'touchmove', this.onTouchMove.bind(this));\n this.windowTouchEndListener = this.renderer.listen(window, 'touchend', this.onTouchEnd.bind(this));\n event.preventDefault();\n }\n }\n\n onTouchEnd(event: TouchEvent) {\n if (!this.disabled && !this.readonly) {\n if (this.windowTouchMoveListener) {\n this.windowTouchMoveListener();\n }\n if (this.windowTouchEndListener) {\n this.windowTouchEndListener();\n }\n this.windowTouchMoveListener = null;\n this.windowTouchEndListener = null;\n event.preventDefault();\n }\n }\n\n onMouseMove(event: MouseEvent) {\n if (!this.disabled && !this.readonly) {\n this.updateValue(event.offsetX, event.offsetY);\n event.preventDefault();\n }\n }\n\n onTouchMove(event: Event) {\n if (!this.disabled && !this.readonly && event instanceof TouchEvent && event.touches.length === 1) {\n const rect = this.el.nativeElement.children[0].getBoundingClientRect();\n const touch = event.targetTouches.item(0);\n if (touch) {\n const offsetX = touch.clientX - rect.left;\n const offsetY = touch.clientY - rect.top;\n this.updateValue(offsetX, offsetY);\n }\n }\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n containerClass() {\n return {\n 'p-knob p-component': true,\n 'p-disabled': this.disabled\n };\n }\n\n rangePath() {\n return `M ${this.minX()} ${this.minY()} A ${this.radius} ${this.radius} 0 1 1 ${this.maxX()} ${this.maxY()}`;\n }\n\n valuePath() {\n return `M ${this.zeroX()} ${this.zeroY()} A ${this.radius} ${this.radius} 0 ${this.largeArc()} ${this.sweep()} ${this.valueX()} ${this.valueY()}`;\n }\n\n zeroRadians() {\n if (this.min > 0 && this.max > 0) return this.mapRange(this.min, this.min, this.max, this.minRadians, this.maxRadians);\n else return this.mapRange(0, this.min, this.max, this.minRadians, this.maxRadians);\n }\n\n valueRadians() {\n return this.mapRange(this._value, this.min, this.max, this.minRadians, this.maxRadians);\n }\n\n minX() {\n return this.midX + Math.cos(this.minRadians) * this.radius;\n }\n\n minY() {\n return this.midY - Math.sin(this.minRadians) * this.radius;\n }\n\n maxX() {\n return this.midX + Math.cos(this.maxRadians) * this.radius;\n }\n\n maxY() {\n return this.midY - Math.sin(this.maxRadians) * this.radius;\n }\n\n zeroX() {\n return this.midX + Math.cos(this.zeroRadians()) * this.radius;\n }\n\n zeroY() {\n return this.midY - Math.sin(this.zeroRadians()) * this.radius;\n }\n\n valueX() {\n return this.midX + Math.cos(this.valueRadians()) * this.radius;\n }\n\n valueY() {\n return this.midY - Math.sin(this.valueRadians()) * this.radius;\n }\n\n largeArc() {\n return Math.abs(this.zeroRadians() - this.valueRadians()) < Math.PI ? 0 : 1;\n }\n\n sweep() {\n return this.valueRadians() > this.zeroRadians() ? 0 : 1;\n }\n\n valueToDisplay() {\n return this.valueTemplate.replace('{value}', this._value.toString());\n }\n\n get _value(): number {\n return this.value != null ? this.value : this.min;\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [Knob],\n declarations: [Knob]\n})\nexport class KnobModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"primeng-knob.mjs","sources":["../../src/app/components/knob/knob.ts","../../src/app/components/knob/primeng-knob.ts"],"sourcesContent":["import { CommonModule, DOCUMENT } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Inject, Input, NgModule, Output, Renderer2, ViewEncapsulation, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { VoidListener } from 'primeng/ts-helpers';\n\nexport const KNOB_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Knob),\n multi: true\n};\n/**\n * Knob is a form component to define number inputs with a dial.\n * @group Components\n */\n@Component({\n selector: 'p-knob',\n template: `\n <div [ngClass]=\"containerClass()\" [class]=\"styleClass\" [ngStyle]=\"style\" [attr.data-pc-name]=\"'knob'\" [attr.data-pc-section]=\"'root'\">\n <svg\n viewBox=\"0 0 100 100\"\n role=\"slider\"\n [style.width]=\"size + 'px'\"\n [style.height]=\"size + 'px'\"\n (click)=\"onClick($event)\"\n (keydown)=\"onKeyDown($event)\"\n (mousedown)=\"onMouseDown($event)\"\n (mouseup)=\"onMouseUp($event)\"\n (touchstart)=\"onTouchStart($event)\"\n (touchend)=\"onTouchEnd($event)\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"_value\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.tabindex]=\"readonly || disabled ? -1 : tabindex\"\n [attr.data-pc-section]=\"'svg'\"\n >\n <path [attr.d]=\"rangePath()\" [attr.stroke-width]=\"strokeWidth\" [attr.stroke]=\"rangeColor\" class=\"p-knob-range\"></path>\n <path [attr.d]=\"valuePath()\" [attr.stroke-width]=\"strokeWidth\" [attr.stroke]=\"valueColor\" class=\"p-knob-value\"></path>\n <text *ngIf=\"showValue\" [attr.x]=\"50\" [attr.y]=\"57\" text-anchor=\"middle\" [attr.fill]=\"textColor\" class=\"p-knob-text\" [attr.name]=\"name\">{{ valueToDisplay() }}</text>\n </svg>\n </div>\n `,\n providers: [KNOB_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./knob.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class Knob {\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Specifies one or more IDs in the DOM that labels the input field.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input() tabindex: number = 0;\n /**\n * Background of the value.\n * @group Props\n */\n @Input() valueColor: string = 'var(--primary-color, Black)';\n /**\n * Background color of the range.\n * @group Props\n */\n @Input() rangeColor: string = 'var(--surface-border, LightGray)';\n /**\n * Color of the value text.\n * @group Props\n */\n @Input() textColor: string = 'var(--text-color-secondary, Black)';\n /**\n * Template string of the value.\n * @group Props\n */\n @Input() valueTemplate: string = '{value}';\n /**\n * Name of the input element.\n * @group Props\n */\n @Input() name: string | undefined;\n /**\n * Size of the component in pixels.\n * @group Props\n */\n @Input() size: number = 100;\n /**\n * Step factor to increment/decrement the value.\n * @group Props\n */\n @Input() step: number = 1;\n /**\n * Mininum boundary value.\n * @group Props\n */\n @Input() min: number = 0;\n /**\n * Maximum boundary value.\n * @group Props\n */\n @Input() max: number = 100;\n /**\n * Width of the knob stroke.\n * @group Props\n */\n @Input() strokeWidth: number = 14;\n /**\n * When present, it specifies that the component should be disabled.\n * @group Props\n */\n @Input() disabled: boolean | undefined;\n /**\n * Whether the show the value inside the knob.\n * @group Props\n */\n @Input() showValue: boolean = true;\n /**\n * When present, it specifies that the component value cannot be edited.\n * @group Props\n */\n @Input() readonly: boolean = false;\n /**\n * Callback to invoke on value change.\n * @param {number} value - New value.\n * @group Emits\n */\n @Output() onChange: EventEmitter<number> = new EventEmitter<number>();\n\n radius: number = 40;\n\n midX: number = 50;\n\n midY: number = 50;\n\n minRadians: number = (4 * Math.PI) / 3;\n\n maxRadians: number = -Math.PI / 3;\n\n value: number = 0;\n\n windowMouseMoveListener: VoidListener;\n\n windowMouseUpListener: VoidListener;\n\n windowTouchMoveListener: VoidListener;\n\n windowTouchEndListener: VoidListener;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n constructor(@Inject(DOCUMENT) private document: Document, private renderer: Renderer2, private cd: ChangeDetectorRef, private el: ElementRef) {}\n\n mapRange(x: number, inMin: number, inMax: number, outMin: number, outMax: number) {\n return ((x - inMin) * (outMax - outMin)) / (inMax - inMin) + outMin;\n }\n\n onClick(event: MouseEvent) {\n if (!this.disabled && !this.readonly) {\n this.updateValue(event.offsetX, event.offsetY);\n }\n }\n\n updateValue(offsetX: number, offsetY: number) {\n let dx = offsetX - this.size / 2;\n let dy = this.size / 2 - offsetY;\n let angle = Math.atan2(dy, dx);\n let start = -Math.PI / 2 - Math.PI / 6;\n this.updateModel(angle, start);\n }\n\n updateModel(angle: number, start: number) {\n let mappedValue;\n if (angle > this.maxRadians) mappedValue = this.mapRange(angle, this.minRadians, this.maxRadians, this.min, this.max);\n else if (angle < start) mappedValue = this.mapRange(angle + 2 * Math.PI, this.minRadians, this.maxRadians, this.min, this.max);\n else return;\n\n let newValue = Math.round((mappedValue - this.min) / this.step) * this.step + this.min;\n this.value = newValue;\n this.onModelChange(this.value);\n this.onChange.emit(this.value);\n }\n\n onMouseDown(event: MouseEvent) {\n if (!this.disabled && !this.readonly) {\n const window = this.document.defaultView || 'window';\n this.windowMouseMoveListener = this.renderer.listen(window, 'mousemove', this.onMouseMove.bind(this));\n this.windowMouseUpListener = this.renderer.listen(window, 'mouseup', this.onMouseUp.bind(this));\n event.preventDefault();\n }\n }\n\n onMouseUp(event: MouseEvent) {\n if (!this.disabled && !this.readonly) {\n if (this.windowMouseMoveListener) {\n this.windowMouseMoveListener();\n this.windowMouseUpListener = null;\n }\n\n if (this.windowMouseUpListener) {\n this.windowMouseUpListener();\n this.windowMouseMoveListener = null;\n }\n event.preventDefault();\n }\n }\n\n onTouchStart(event: TouchEvent) {\n if (!this.disabled && !this.readonly) {\n const window = this.document.defaultView || 'window';\n this.windowTouchMoveListener = this.renderer.listen(window, 'touchmove', this.onTouchMove.bind(this));\n this.windowTouchEndListener = this.renderer.listen(window, 'touchend', this.onTouchEnd.bind(this));\n event.preventDefault();\n }\n }\n\n onTouchEnd(event: TouchEvent) {\n if (!this.disabled && !this.readonly) {\n if (this.windowTouchMoveListener) {\n this.windowTouchMoveListener();\n }\n if (this.windowTouchEndListener) {\n this.windowTouchEndListener();\n }\n this.windowTouchMoveListener = null;\n this.windowTouchEndListener = null;\n event.preventDefault();\n }\n }\n\n onMouseMove(event: MouseEvent) {\n if (!this.disabled && !this.readonly) {\n this.updateValue(event.offsetX, event.offsetY);\n event.preventDefault();\n }\n }\n\n onTouchMove(event: Event) {\n if (!this.disabled && !this.readonly && event instanceof TouchEvent && event.touches.length === 1) {\n const rect = this.el.nativeElement.children[0].getBoundingClientRect();\n const touch = event.targetTouches.item(0);\n if (touch) {\n const offsetX = touch.clientX - rect.left;\n const offsetY = touch.clientY - rect.top;\n this.updateValue(offsetX, offsetY);\n }\n }\n }\n\n updateModelValue(newValue) {\n if (newValue > this.max) this.value = this.max;\n else if (newValue < this.min) this.value = this.min;\n else this.value = newValue;\n\n this.onModelChange(this.value);\n this.onChange.emit(this.value);\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (!this.disabled && !this.readonly) {\n switch (event.code) {\n case 'ArrowRight':\n\n case 'ArrowUp': {\n event.preventDefault();\n this.updateModelValue(this._value + 1);\n break;\n }\n\n case 'ArrowLeft':\n\n case 'ArrowDown': {\n event.preventDefault();\n this.updateModelValue(this._value - 1);\n break;\n }\n\n case 'Home': {\n event.preventDefault();\n this.updateModelValue(this.min);\n\n break;\n }\n\n case 'End': {\n event.preventDefault();\n this.updateModelValue(this.max);\n break;\n }\n\n case 'PageUp': {\n event.preventDefault();\n this.updateModelValue(this._value + 10);\n break;\n }\n\n case 'PageDown': {\n event.preventDefault();\n this.updateModelValue(this._value - 10);\n break;\n }\n }\n }\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n containerClass() {\n return {\n 'p-knob p-component': true,\n 'p-disabled': this.disabled\n };\n }\n\n rangePath() {\n return `M ${this.minX()} ${this.minY()} A ${this.radius} ${this.radius} 0 1 1 ${this.maxX()} ${this.maxY()}`;\n }\n\n valuePath() {\n return `M ${this.zeroX()} ${this.zeroY()} A ${this.radius} ${this.radius} 0 ${this.largeArc()} ${this.sweep()} ${this.valueX()} ${this.valueY()}`;\n }\n\n zeroRadians() {\n if (this.min > 0 && this.max > 0) return this.mapRange(this.min, this.min, this.max, this.minRadians, this.maxRadians);\n else return this.mapRange(0, this.min, this.max, this.minRadians, this.maxRadians);\n }\n\n valueRadians() {\n return this.mapRange(this._value, this.min, this.max, this.minRadians, this.maxRadians);\n }\n\n minX() {\n return this.midX + Math.cos(this.minRadians) * this.radius;\n }\n\n minY() {\n return this.midY - Math.sin(this.minRadians) * this.radius;\n }\n\n maxX() {\n return this.midX + Math.cos(this.maxRadians) * this.radius;\n }\n\n maxY() {\n return this.midY - Math.sin(this.maxRadians) * this.radius;\n }\n\n zeroX() {\n return this.midX + Math.cos(this.zeroRadians()) * this.radius;\n }\n\n zeroY() {\n return this.midY - Math.sin(this.zeroRadians()) * this.radius;\n }\n\n valueX() {\n return this.midX + Math.cos(this.valueRadians()) * this.radius;\n }\n\n valueY() {\n return this.midY - Math.sin(this.valueRadians()) * this.radius;\n }\n\n largeArc() {\n return Math.abs(this.zeroRadians() - this.valueRadians()) < Math.PI ? 0 : 1;\n }\n\n sweep() {\n return this.valueRadians() > this.zeroRadians() ? 0 : 1;\n }\n\n valueToDisplay() {\n return this.valueTemplate.replace('{value}', this._value.toString());\n }\n\n get _value(): number {\n return this.value != null ? this.value : this.min;\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [Knob],\n declarations: [Knob]\n})\nexport class KnobModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|