primeng 20.0.0-rc.2 → 20.0.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/autocomplete/index.d.ts +8 -7
  2. package/baseeditableholder/index.d.ts +14 -5
  3. package/basemodelholder/index.d.ts +12 -0
  4. package/cascadeselect/index.d.ts +7 -5
  5. package/checkbox/index.d.ts +9 -7
  6. package/colorpicker/index.d.ts +8 -7
  7. package/datepicker/index.d.ts +8 -7
  8. package/editor/index.d.ts +9 -8
  9. package/fesm2022/primeng-autocomplete.mjs +33 -35
  10. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  11. package/fesm2022/primeng-baseeditableholder.mjs +25 -7
  12. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
  13. package/fesm2022/primeng-basemodelholder.mjs +25 -0
  14. package/fesm2022/primeng-basemodelholder.mjs.map +1 -0
  15. package/fesm2022/primeng-card.mjs +2 -2
  16. package/fesm2022/primeng-card.mjs.map +1 -1
  17. package/fesm2022/primeng-cascadeselect.mjs +21 -23
  18. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  19. package/fesm2022/primeng-checkbox.mjs +13 -15
  20. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  21. package/fesm2022/primeng-colorpicker.mjs +35 -37
  22. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  23. package/fesm2022/primeng-contextmenu.mjs +1 -9
  24. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  25. package/fesm2022/primeng-datepicker.mjs +41 -43
  26. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  27. package/fesm2022/primeng-divider.mjs +2 -2
  28. package/fesm2022/primeng-divider.mjs.map +1 -1
  29. package/fesm2022/primeng-editor.mjs +8 -10
  30. package/fesm2022/primeng-editor.mjs.map +1 -1
  31. package/fesm2022/primeng-fileupload.mjs +4 -3
  32. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  33. package/fesm2022/primeng-inputmask.mjs +23 -25
  34. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  35. package/fesm2022/primeng-inputnumber.mjs +28 -30
  36. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  37. package/fesm2022/primeng-inputotp.mjs +26 -28
  38. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  39. package/fesm2022/primeng-inputtext.mjs +11 -5
  40. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  41. package/fesm2022/primeng-knob.mjs +22 -24
  42. package/fesm2022/primeng-knob.mjs.map +1 -1
  43. package/fesm2022/primeng-listbox.mjs +36 -38
  44. package/fesm2022/primeng-listbox.mjs.map +1 -1
  45. package/fesm2022/primeng-menubar.mjs +2 -2
  46. package/fesm2022/primeng-menubar.mjs.map +1 -1
  47. package/fesm2022/primeng-multiselect.mjs +38 -39
  48. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  49. package/fesm2022/primeng-password.mjs +19 -21
  50. package/fesm2022/primeng-password.mjs.map +1 -1
  51. package/fesm2022/primeng-radiobutton.mjs +16 -18
  52. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  53. package/fesm2022/primeng-rating.mjs +14 -16
  54. package/fesm2022/primeng-rating.mjs.map +1 -1
  55. package/fesm2022/primeng-select.mjs +32 -34
  56. package/fesm2022/primeng-select.mjs.map +1 -1
  57. package/fesm2022/primeng-selectbutton.mjs +15 -17
  58. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  59. package/fesm2022/primeng-slider.mjs +28 -30
  60. package/fesm2022/primeng-slider.mjs.map +1 -1
  61. package/fesm2022/primeng-stepper.mjs +32 -7
  62. package/fesm2022/primeng-stepper.mjs.map +1 -1
  63. package/fesm2022/primeng-table.mjs +13 -21
  64. package/fesm2022/primeng-table.mjs.map +1 -1
  65. package/fesm2022/primeng-textarea.mjs +10 -5
  66. package/fesm2022/primeng-textarea.mjs.map +1 -1
  67. package/fesm2022/primeng-togglebutton.mjs +13 -15
  68. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  69. package/fesm2022/primeng-toggleswitch.mjs +14 -16
  70. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  71. package/fesm2022/primeng-tree.mjs +1 -1
  72. package/fesm2022/primeng-tree.mjs.map +1 -1
  73. package/fesm2022/primeng-treeselect.mjs +16 -18
  74. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  75. package/fesm2022/primeng-treetable.mjs +8 -8
  76. package/fesm2022/primeng-treetable.mjs.map +1 -1
  77. package/inputmask/index.d.ts +8 -7
  78. package/inputnumber/index.d.ts +8 -7
  79. package/inputotp/index.d.ts +7 -5
  80. package/inputtext/index.d.ts +10 -4
  81. package/knob/index.d.ts +7 -5
  82. package/listbox/index.d.ts +8 -7
  83. package/multiselect/index.d.ts +8 -7
  84. package/package.json +213 -209
  85. package/password/index.d.ts +7 -5
  86. package/radiobutton/index.d.ts +9 -7
  87. package/rating/index.d.ts +8 -7
  88. package/select/index.d.ts +8 -7
  89. package/selectbutton/index.d.ts +9 -8
  90. package/slider/index.d.ts +9 -8
  91. package/stepper/index.d.ts +4 -0
  92. package/table/index.d.ts +1 -5
  93. package/textarea/index.d.ts +9 -4
  94. package/togglebutton/index.d.ts +8 -7
  95. package/toggleswitch/index.d.ts +7 -5
  96. package/treeselect/index.d.ts +7 -5
@@ -25,7 +25,7 @@ const classes = {
25
25
  'p-checkbox p-component',
26
26
  {
27
27
  'p-checkbox-checked p-highlight': instance.checked,
28
- 'p-disabled': instance.disabled(),
28
+ 'p-disabled': instance.$disabled(),
29
29
  'p-invalid': instance.invalid(),
30
30
  'p-variant-filled': instance.$variant() === 'filled',
31
31
  'p-checkbox-sm p-inputfield-sm': instance.size() === 'small',
@@ -208,8 +208,6 @@ class Checkbox extends BaseEditableHolder {
208
208
  checkboxIconTemplate;
209
209
  templates;
210
210
  _checkboxIconTemplate;
211
- onModelChange = () => { };
212
- onModelTouched = () => { };
213
211
  focused = false;
214
212
  _componentStyle = inject(CheckboxStyle);
215
213
  $variant = computed(() => this.variant() || this.config.inputStyle() || this.config.inputVariant());
@@ -278,18 +276,18 @@ class Checkbox extends BaseEditableHolder {
278
276
  focus() {
279
277
  this.inputViewChild.nativeElement.focus();
280
278
  }
281
- writeValue(model) {
282
- this.writeModelValue(model);
279
+ /**
280
+ * @override
281
+ *
282
+ * @see {@link BaseEditableHolder.writeControlValue}
283
+ * Writes the value to the control.
284
+ */
285
+ writeControlValue(value, setModelValue) {
286
+ setModelValue(value);
283
287
  this.cd.markForCheck();
284
288
  }
285
- registerOnChange(fn) {
286
- this.onModelChange = fn;
287
- }
288
- registerOnTouched(fn) {
289
- this.onModelTouched = fn;
290
- }
291
289
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: Checkbox, deps: null, target: i0.ɵɵFactoryTarget.Component });
292
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.6", type: Checkbox, isStandalone: true, selector: "p-checkbox, p-checkBox, p-check-box", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, binary: { classPropertyName: "binary", publicName: "binary", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: false, isRequired: false, transformFunction: null }, inputStyle: { classPropertyName: "inputStyle", publicName: "inputStyle", isSignal: false, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: false, isRequired: false, transformFunction: null }, inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: false, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: false, isRequired: false, transformFunction: null }, checkboxIcon: { classPropertyName: "checkboxIcon", publicName: "checkboxIcon", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, trueValue: { classPropertyName: "trueValue", publicName: "trueValue", isSignal: false, isRequired: false, transformFunction: null }, falseValue: { classPropertyName: "falseValue", publicName: "falseValue", isSignal: false, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onChange: "onChange", onFocus: "onFocus", onBlur: "onBlur" }, host: { properties: { "class": "cn(cx('root'), styleClass)", "attr.data-p-highlight": "checked", "attr.data-p-checked": "checked", "attr.data-p-disabled": "disabled()" } }, providers: [CHECKBOX_VALUE_ACCESSOR, CheckboxStyle], queries: [{ propertyName: "checkboxIconTemplate", first: true, predicate: ["checkboxicon"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
290
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.6", type: Checkbox, isStandalone: true, selector: "p-checkbox, p-checkBox, p-check-box", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, binary: { classPropertyName: "binary", publicName: "binary", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: false, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: false, isRequired: false, transformFunction: numberAttribute }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: false, isRequired: false, transformFunction: null }, inputStyle: { classPropertyName: "inputStyle", publicName: "inputStyle", isSignal: false, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: false, isRequired: false, transformFunction: null }, inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: false, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: false, isRequired: false, transformFunction: null }, checkboxIcon: { classPropertyName: "checkboxIcon", publicName: "checkboxIcon", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, trueValue: { classPropertyName: "trueValue", publicName: "trueValue", isSignal: false, isRequired: false, transformFunction: null }, falseValue: { classPropertyName: "falseValue", publicName: "falseValue", isSignal: false, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onChange: "onChange", onFocus: "onFocus", onBlur: "onBlur" }, host: { properties: { "class": "cn(cx('root'), styleClass)", "attr.data-p-highlight": "checked", "attr.data-p-checked": "checked", "attr.data-p-disabled": "$disabled()" } }, providers: [CHECKBOX_VALUE_ACCESSOR, CheckboxStyle], queries: [{ propertyName: "checkboxIconTemplate", first: true, predicate: ["checkboxicon"] }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
293
291
  <input
294
292
  #input
295
293
  [attr.id]="inputId"
@@ -300,7 +298,7 @@ class Checkbox extends BaseEditableHolder {
300
298
  [attr.tabindex]="tabindex"
301
299
  [attr.required]="required() ? '' : undefined"
302
300
  [attr.readonly]="readonly ? '' : undefined"
303
- [attr.disabled]="disabled() ? '' : undefined"
301
+ [attr.disabled]="$disabled() ? '' : undefined"
304
302
  [attr.aria-labelledby]="ariaLabelledBy"
305
303
  [attr.aria-label]="ariaLabel"
306
304
  [style]="inputStyle"
@@ -338,7 +336,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
338
336
  [attr.tabindex]="tabindex"
339
337
  [attr.required]="required() ? '' : undefined"
340
338
  [attr.readonly]="readonly ? '' : undefined"
341
- [attr.disabled]="disabled() ? '' : undefined"
339
+ [attr.disabled]="$disabled() ? '' : undefined"
342
340
  [attr.aria-labelledby]="ariaLabelledBy"
343
341
  [attr.aria-label]="ariaLabel"
344
342
  [style]="inputStyle"
@@ -365,7 +363,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
365
363
  '[class]': "cn(cx('root'), styleClass)",
366
364
  '[attr.data-p-highlight]': 'checked',
367
365
  '[attr.data-p-checked]': 'checked',
368
- '[attr.data-p-disabled]': 'disabled()'
366
+ '[attr.data-p-disabled]': '$disabled()'
369
367
  }
370
368
  }]
371
369
  }], propDecorators: { value: [{
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-checkbox.mjs","sources":["../../src/checkbox/style/checkboxstyle.ts","../../src/checkbox/checkbox.ts","../../src/checkbox/primeng-checkbox.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/checkbox';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = /*css*/ `\n ${style}\n\n /* For PrimeNG */\n p-checkBox.ng-invalid.ng-dirty .p-checkbox-box,\n p-check-box.ng-invalid.ng-dirty .p-checkbox-box,\n p-checkbox.ng-invalid.ng-dirty .p-checkbox-box {\n border-color: dt('checkbox.invalid.border.color');\n }\n`;\n\nconst classes = {\n root: ({ instance }) => [\n 'p-checkbox p-component',\n {\n 'p-checkbox-checked p-highlight': instance.checked,\n 'p-disabled': instance.disabled(),\n 'p-invalid': instance.invalid(),\n 'p-variant-filled': instance.$variant() === 'filled',\n 'p-checkbox-sm p-inputfield-sm': instance.size() === 'small',\n 'p-checkbox-lg p-inputfield-lg': instance.size() === 'large'\n }\n ],\n box: 'p-checkbox-box',\n input: 'p-checkbox-input',\n icon: 'p-checkbox-icon'\n};\n\n@Injectable()\nexport class CheckboxStyle extends BaseStyle {\n name = 'checkbox';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * Checkbox is an extension to standard checkbox element with theming.\n *\n * [Live Demo](https://www.primeng.org/checkbox/)\n *\n * @module checkboxstyle\n *\n */\nexport enum CheckboxClasses {\n /**\n * Class name of the root element\n */\n root = 'p-checkbox',\n /**\n * Class name of the box element\n */\n box = 'p-checkbox-box',\n /**\n * Class name of the input element\n */\n input = 'p-checkbox-input',\n /**\n * Class name of the icon element\n */\n icon = 'p-checkbox-icon'\n}\n\nexport interface CheckboxStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\n input,\n Input,\n NgModule,\n numberAttribute,\n Output,\n QueryList,\n signal,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';\nimport { contains, equals } from '@primeuix/utils';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { CheckIcon, MinusIcon } from 'primeng/icons';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { CheckboxChangeEvent } from './checkbox.interface';\nimport { CheckboxStyle } from './style/checkboxstyle';\n\nexport const CHECKBOX_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Checkbox),\n multi: true\n};\n/**\n * Checkbox is an extension to standard checkbox element with theming.\n * @group Components\n */\n@Component({\n selector: 'p-checkbox, p-checkBox, p-check-box',\n standalone: true,\n imports: [CommonModule, CheckIcon, MinusIcon, SharedModule],\n template: `\n <input\n #input\n [attr.id]=\"inputId\"\n type=\"checkbox\"\n [attr.value]=\"value\"\n [attr.name]=\"name()\"\n [checked]=\"checked\"\n [attr.tabindex]=\"tabindex\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.readonly]=\"readonly ? '' : undefined\"\n [attr.disabled]=\"disabled() ? '' : undefined\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [style]=\"inputStyle\"\n [class]=\"cn(cx('input'), inputClass)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"handleChange($event)\"\n />\n <div [class]=\"cx('box')\">\n <ng-container *ngIf=\"!checkboxIconTemplate && !_checkboxIconTemplate\">\n <ng-container *ngIf=\"checked\">\n <span *ngIf=\"checkboxIcon\" [class]=\"cx('icon')\" [ngClass]=\"checkboxIcon\" [attr.data-pc-section]=\"'icon'\"></span>\n <svg data-p-icon=\"check\" *ngIf=\"!checkboxIcon\" [class]=\"cx('icon')\" [attr.data-pc-section]=\"'icon'\" />\n </ng-container>\n <svg data-p-icon=\"minus\" *ngIf=\"_indeterminate()\" [class]=\"cx('icon')\" [attr.data-pc-section]=\"'icon'\" />\n </ng-container>\n <ng-template *ngTemplateOutlet=\"checkboxIconTemplate || _checkboxIconTemplate; context: { checked: checked, class: cx('icon') }\"></ng-template>\n </div>\n `,\n providers: [CHECKBOX_VALUE_ACCESSOR, CheckboxStyle],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"cn(cx('root'), styleClass)\",\n '[attr.data-p-highlight]': 'checked',\n '[attr.data-p-checked]': 'checked',\n '[attr.data-p-disabled]': 'disabled()'\n }\n})\nexport class Checkbox extends BaseEditableHolder implements AfterContentInit, ControlValueAccessor {\n /**\n * Value of the checkbox.\n * @group Props\n */\n @Input() value: any;\n /**\n * Allows to select a boolean value instead of multiple values.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) binary: boolean | 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 * Used to define a string that labels the input element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined;\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Inline style of the input element.\n * @group Props\n */\n @Input() inputStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @deprecated since v20.0.0, use `class` instead.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Style class of the input element.\n * @group Props\n */\n @Input() inputClass: string | undefined;\n /**\n * When present, it specifies input state as indeterminate.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) indeterminate: boolean = false;\n /**\n * Form control value.\n * @group Props\n */\n @Input() formControl: FormControl | undefined;\n /**\n * Icon class of the checkbox icon.\n * @group Props\n */\n @Input() checkboxIcon: string | undefined;\n /**\n * When present, it specifies that the component cannot be edited.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean | undefined;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: 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 * Specifies the input variant of the component.\n * @defaultValue undefined\n * @group Props\n */\n variant = input<'filled' | 'outlined' | undefined>();\n /**\n * Specifies the size of the component.\n * @defaultValue undefined\n * @group Props\n */\n size = input<'large' | 'small' | undefined>();\n /**\n * Callback to invoke on value change.\n * @param {CheckboxChangeEvent} event - Custom value change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<CheckboxChangeEvent> = new EventEmitter();\n /**\n * Callback to invoke when the receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when the loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter<Event>();\n\n @ViewChild('input') inputViewChild: Nullable<ElementRef>;\n\n get checked() {\n return this._indeterminate() ? false : this.binary ? this.modelValue() === this.trueValue : contains(this.value, this.modelValue());\n }\n\n _indeterminate = signal<any>(undefined);\n /**\n * The template of the checkbox icon.\n * @group Templates\n */\n @ContentChild('checkboxicon', { descendants: false }) checkboxIconTemplate: TemplateRef<any>;\n\n @ContentChildren(PrimeTemplate) templates: Nullable<QueryList<PrimeTemplate>>;\n\n _checkboxIconTemplate: TemplateRef<any> | undefined;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n focused: boolean = false;\n\n _componentStyle = inject(CheckboxStyle);\n\n $variant = computed(() => this.variant() || this.config.inputStyle() || this.config.inputVariant());\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'icon':\n this._checkboxIconTemplate = item.template;\n break;\n case 'checkboxicon':\n this._checkboxIconTemplate = item.template;\n break;\n }\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n super.ngOnChanges(changes);\n if (changes.indeterminate) {\n this._indeterminate.set(changes.indeterminate.currentValue);\n }\n }\n\n updateModel(event) {\n let newModelValue;\n\n /*\n * When `formControlName` or `formControl` is used - `writeValue` is not called after control changes.\n * Otherwise it is causing multiple references to the actual value: there is one array reference inside the component and another one in the control value.\n * `selfControl` is the source of truth of references, it is made to avoid reference loss.\n * */\n const selfControl = this.injector.get<NgControl | null>(NgControl, null, { optional: true, self: true });\n\n const currentModelValue = selfControl && !this.formControl ? selfControl.value : this.modelValue();\n\n if (!this.binary) {\n if (this.checked || this._indeterminate()) newModelValue = currentModelValue.filter((val) => !equals(val, this.value));\n else newModelValue = currentModelValue ? [...currentModelValue, this.value] : [this.value];\n\n this.onModelChange(newModelValue);\n this.writeModelValue(newModelValue);\n\n if (this.formControl) {\n this.formControl.setValue(newModelValue);\n }\n } else {\n newModelValue = this._indeterminate() ? this.trueValue : this.checked ? this.falseValue : this.trueValue;\n this.writeModelValue(newModelValue);\n this.onModelChange(newModelValue);\n }\n\n if (this._indeterminate()) {\n this._indeterminate.set(false);\n }\n\n this.onChange.emit({ checked: newModelValue, originalEvent: event });\n }\n\n handleChange(event) {\n if (!this.readonly) {\n this.updateModel(event);\n }\n }\n\n onInputFocus(event) {\n this.focused = true;\n this.onFocus.emit(event);\n }\n\n onInputBlur(event) {\n this.focused = false;\n this.onBlur.emit(event);\n this.onModelTouched();\n }\n\n focus() {\n this.inputViewChild.nativeElement.focus();\n }\n\n writeValue(model: any): void {\n this.writeModelValue(model);\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\n@NgModule({\n imports: [Checkbox, SharedModule],\n exports: [Checkbox, SharedModule]\n})\nexport class CheckboxModule {}\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-checkbox.mjs","sources":["../../src/checkbox/style/checkboxstyle.ts","../../src/checkbox/checkbox.ts","../../src/checkbox/primeng-checkbox.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/checkbox';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = /*css*/ `\n ${style}\n\n /* For PrimeNG */\n p-checkBox.ng-invalid.ng-dirty .p-checkbox-box,\n p-check-box.ng-invalid.ng-dirty .p-checkbox-box,\n p-checkbox.ng-invalid.ng-dirty .p-checkbox-box {\n border-color: dt('checkbox.invalid.border.color');\n }\n`;\n\nconst classes = {\n root: ({ instance }) => [\n 'p-checkbox p-component',\n {\n 'p-checkbox-checked p-highlight': instance.checked,\n 'p-disabled': instance.$disabled(),\n 'p-invalid': instance.invalid(),\n 'p-variant-filled': instance.$variant() === 'filled',\n 'p-checkbox-sm p-inputfield-sm': instance.size() === 'small',\n 'p-checkbox-lg p-inputfield-lg': instance.size() === 'large'\n }\n ],\n box: 'p-checkbox-box',\n input: 'p-checkbox-input',\n icon: 'p-checkbox-icon'\n};\n\n@Injectable()\nexport class CheckboxStyle extends BaseStyle {\n name = 'checkbox';\n\n theme = theme;\n\n classes = classes;\n}\n\n/**\n *\n * Checkbox is an extension to standard checkbox element with theming.\n *\n * [Live Demo](https://www.primeng.org/checkbox/)\n *\n * @module checkboxstyle\n *\n */\nexport enum CheckboxClasses {\n /**\n * Class name of the root element\n */\n root = 'p-checkbox',\n /**\n * Class name of the box element\n */\n box = 'p-checkbox-box',\n /**\n * Class name of the input element\n */\n input = 'p-checkbox-input',\n /**\n * Class name of the icon element\n */\n icon = 'p-checkbox-icon'\n}\n\nexport interface CheckboxStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\n input,\n Input,\n NgModule,\n numberAttribute,\n Output,\n QueryList,\n signal,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormControl, NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';\nimport { contains, equals } from '@primeuix/utils';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { CheckIcon, MinusIcon } from 'primeng/icons';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { CheckboxChangeEvent } from './checkbox.interface';\nimport { CheckboxStyle } from './style/checkboxstyle';\n\nexport const CHECKBOX_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Checkbox),\n multi: true\n};\n/**\n * Checkbox is an extension to standard checkbox element with theming.\n * @group Components\n */\n@Component({\n selector: 'p-checkbox, p-checkBox, p-check-box',\n standalone: true,\n imports: [CommonModule, CheckIcon, MinusIcon, SharedModule],\n template: `\n <input\n #input\n [attr.id]=\"inputId\"\n type=\"checkbox\"\n [attr.value]=\"value\"\n [attr.name]=\"name()\"\n [checked]=\"checked\"\n [attr.tabindex]=\"tabindex\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.readonly]=\"readonly ? '' : undefined\"\n [attr.disabled]=\"$disabled() ? '' : undefined\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [style]=\"inputStyle\"\n [class]=\"cn(cx('input'), inputClass)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"handleChange($event)\"\n />\n <div [class]=\"cx('box')\">\n <ng-container *ngIf=\"!checkboxIconTemplate && !_checkboxIconTemplate\">\n <ng-container *ngIf=\"checked\">\n <span *ngIf=\"checkboxIcon\" [class]=\"cx('icon')\" [ngClass]=\"checkboxIcon\" [attr.data-pc-section]=\"'icon'\"></span>\n <svg data-p-icon=\"check\" *ngIf=\"!checkboxIcon\" [class]=\"cx('icon')\" [attr.data-pc-section]=\"'icon'\" />\n </ng-container>\n <svg data-p-icon=\"minus\" *ngIf=\"_indeterminate()\" [class]=\"cx('icon')\" [attr.data-pc-section]=\"'icon'\" />\n </ng-container>\n <ng-template *ngTemplateOutlet=\"checkboxIconTemplate || _checkboxIconTemplate; context: { checked: checked, class: cx('icon') }\"></ng-template>\n </div>\n `,\n providers: [CHECKBOX_VALUE_ACCESSOR, CheckboxStyle],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"cn(cx('root'), styleClass)\",\n '[attr.data-p-highlight]': 'checked',\n '[attr.data-p-checked]': 'checked',\n '[attr.data-p-disabled]': '$disabled()'\n }\n})\nexport class Checkbox extends BaseEditableHolder implements AfterContentInit {\n /**\n * Value of the checkbox.\n * @group Props\n */\n @Input() value: any;\n /**\n * Allows to select a boolean value instead of multiple values.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) binary: boolean | 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 * Used to define a string that labels the input element.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined;\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Inline style of the input element.\n * @group Props\n */\n @Input() inputStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @deprecated since v20.0.0, use `class` instead.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Style class of the input element.\n * @group Props\n */\n @Input() inputClass: string | undefined;\n /**\n * When present, it specifies input state as indeterminate.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) indeterminate: boolean = false;\n /**\n * Form control value.\n * @group Props\n */\n @Input() formControl: FormControl | undefined;\n /**\n * Icon class of the checkbox icon.\n * @group Props\n */\n @Input() checkboxIcon: string | undefined;\n /**\n * When present, it specifies that the component cannot be edited.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean | undefined;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: 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 * Specifies the input variant of the component.\n * @defaultValue undefined\n * @group Props\n */\n variant = input<'filled' | 'outlined' | undefined>();\n /**\n * Specifies the size of the component.\n * @defaultValue undefined\n * @group Props\n */\n size = input<'large' | 'small' | undefined>();\n /**\n * Callback to invoke on value change.\n * @param {CheckboxChangeEvent} event - Custom value change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<CheckboxChangeEvent> = new EventEmitter();\n /**\n * Callback to invoke when the receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke when the loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter<Event>();\n\n @ViewChild('input') inputViewChild: Nullable<ElementRef>;\n\n get checked() {\n return this._indeterminate() ? false : this.binary ? this.modelValue() === this.trueValue : contains(this.value, this.modelValue());\n }\n\n _indeterminate = signal<any>(undefined);\n /**\n * The template of the checkbox icon.\n * @group Templates\n */\n @ContentChild('checkboxicon', { descendants: false }) checkboxIconTemplate: TemplateRef<any>;\n\n @ContentChildren(PrimeTemplate) templates: Nullable<QueryList<PrimeTemplate>>;\n\n _checkboxIconTemplate: TemplateRef<any> | undefined;\n\n focused: boolean = false;\n\n _componentStyle = inject(CheckboxStyle);\n\n $variant = computed(() => this.variant() || this.config.inputStyle() || this.config.inputVariant());\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'icon':\n this._checkboxIconTemplate = item.template;\n break;\n case 'checkboxicon':\n this._checkboxIconTemplate = item.template;\n break;\n }\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n super.ngOnChanges(changes);\n if (changes.indeterminate) {\n this._indeterminate.set(changes.indeterminate.currentValue);\n }\n }\n\n updateModel(event) {\n let newModelValue;\n\n /*\n * When `formControlName` or `formControl` is used - `writeValue` is not called after control changes.\n * Otherwise it is causing multiple references to the actual value: there is one array reference inside the component and another one in the control value.\n * `selfControl` is the source of truth of references, it is made to avoid reference loss.\n * */\n const selfControl = this.injector.get<NgControl | null>(NgControl, null, { optional: true, self: true });\n\n const currentModelValue = selfControl && !this.formControl ? selfControl.value : this.modelValue();\n\n if (!this.binary) {\n if (this.checked || this._indeterminate()) newModelValue = currentModelValue.filter((val) => !equals(val, this.value));\n else newModelValue = currentModelValue ? [...currentModelValue, this.value] : [this.value];\n\n this.onModelChange(newModelValue);\n this.writeModelValue(newModelValue);\n\n if (this.formControl) {\n this.formControl.setValue(newModelValue);\n }\n } else {\n newModelValue = this._indeterminate() ? this.trueValue : this.checked ? this.falseValue : this.trueValue;\n this.writeModelValue(newModelValue);\n this.onModelChange(newModelValue);\n }\n\n if (this._indeterminate()) {\n this._indeterminate.set(false);\n }\n\n this.onChange.emit({ checked: newModelValue, originalEvent: event });\n }\n\n handleChange(event) {\n if (!this.readonly) {\n this.updateModel(event);\n }\n }\n\n onInputFocus(event) {\n this.focused = true;\n this.onFocus.emit(event);\n }\n\n onInputBlur(event) {\n this.focused = false;\n this.onBlur.emit(event);\n this.onModelTouched();\n }\n\n focus() {\n this.inputViewChild.nativeElement.focus();\n }\n\n /**\n * @override\n *\n * @see {@link BaseEditableHolder.writeControlValue}\n * Writes the value to the control.\n */\n writeControlValue(value: any, setModelValue: (value: any) => void): void {\n setModelValue(value);\n this.cd.markForCheck();\n }\n}\n\n@NgModule({\n imports: [Checkbox, SharedModule],\n exports: [Checkbox, SharedModule]\n})\nexport class CheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -17,12 +17,12 @@ import { BaseStyle } from 'primeng/base';
17
17
 
18
18
  const classes = {
19
19
  root: ({ instance }) => ['p-colorpicker p-component', { 'p-colorpicker-overlay': !instance.inline, 'p-colorpicker-dragging': instance.colorDragging || instance.hueDragging }],
20
- preview: ({ instance }) => ['p-colorpicker-preview', { 'p-disabled': instance.disabled() }],
20
+ preview: ({ instance }) => ['p-colorpicker-preview', { 'p-disabled': instance.$disabled() }],
21
21
  panel: ({ instance }) => [
22
22
  'p-colorpicker-panel',
23
23
  {
24
24
  'p-colorpicker-panel-inline': instance.inline,
25
- 'p-disabled': instance.disabled()
25
+ 'p-disabled': instance.$disabled()
26
26
  }
27
27
  ],
28
28
  content: 'p-colorpicker-content',
@@ -177,8 +177,6 @@ class ColorPicker extends BaseEditableHolder {
177
177
  inputBgColor;
178
178
  shown;
179
179
  overlayVisible;
180
- onModelChange = () => { };
181
- onModelTouched = () => { };
182
180
  documentClickListener;
183
181
  documentResizeListener;
184
182
  documentMousemoveListener;
@@ -214,7 +212,7 @@ class ColorPicker extends BaseEditableHolder {
214
212
  return this.config?.getTranslation(TranslationKeys.ARIA)[TranslationKeys.SELECT_COLOR];
215
213
  }
216
214
  onHueMousedown(event) {
217
- if (this.disabled()) {
215
+ if (this.$disabled()) {
218
216
  return;
219
217
  }
220
218
  this.bindDocumentMousemoveListener();
@@ -223,14 +221,14 @@ class ColorPicker extends BaseEditableHolder {
223
221
  this.pickHue(event);
224
222
  }
225
223
  onHueDragStart(event) {
226
- if (this.disabled()) {
224
+ if (this.$disabled()) {
227
225
  return;
228
226
  }
229
227
  this.hueDragging = true;
230
228
  this.pickHue(event, event.changedTouches[0]);
231
229
  }
232
230
  onColorDragStart(event) {
233
- if (this.disabled()) {
231
+ if (this.$disabled()) {
234
232
  return;
235
233
  }
236
234
  this.colorDragging = true;
@@ -250,7 +248,7 @@ class ColorPicker extends BaseEditableHolder {
250
248
  this.onChange.emit({ originalEvent: event, value: this.getValueToUpdate() });
251
249
  }
252
250
  onColorMousedown(event) {
253
- if (this.disabled()) {
251
+ if (this.$disabled()) {
254
252
  return;
255
253
  }
256
254
  this.bindDocumentMousemoveListener();
@@ -310,27 +308,6 @@ class ColorPicker extends BaseEditableHolder {
310
308
  this.onModelChange(this.getValueToUpdate());
311
309
  this.cd.markForCheck();
312
310
  }
313
- writeValue(value) {
314
- if (value) {
315
- switch (this.format) {
316
- case 'hex':
317
- this.value = this.HEXtoHSB(value);
318
- break;
319
- case 'rgb':
320
- this.value = this.RGBtoHSB(value);
321
- break;
322
- case 'hsb':
323
- this.value = value;
324
- break;
325
- }
326
- }
327
- else {
328
- this.value = this.HEXtoHSB(this.defaultColor);
329
- }
330
- this.updateColorSelector();
331
- this.updateUI();
332
- this.cd.markForCheck();
333
- }
334
311
  updateColorSelector() {
335
312
  if (this.colorSelectorViewChild) {
336
313
  const hsb = {};
@@ -443,12 +420,6 @@ class ColorPicker extends BaseEditableHolder {
443
420
  });
444
421
  this.selfClick = true;
445
422
  }
446
- registerOnChange(fn) {
447
- this.onModelChange = fn;
448
- }
449
- registerOnTouched(fn) {
450
- this.onModelTouched = fn;
451
- }
452
423
  bindDocumentClickListener() {
453
424
  if (!this.documentClickListener) {
454
425
  const documentTarget = this.el ? this.el.nativeElement.ownerDocument : 'document';
@@ -685,6 +656,33 @@ class ColorPicker extends BaseEditableHolder {
685
656
  this.updateUI();
686
657
  }
687
658
  }
659
+ /**
660
+ * @override
661
+ *
662
+ * @see {@link BaseEditableHolder.writeControlValue}
663
+ * Writes the value to the control.
664
+ */
665
+ writeControlValue(value) {
666
+ if (value) {
667
+ switch (this.format) {
668
+ case 'hex':
669
+ this.value = this.HEXtoHSB(value);
670
+ break;
671
+ case 'rgb':
672
+ this.value = this.RGBtoHSB(value);
673
+ break;
674
+ case 'hsb':
675
+ this.value = value;
676
+ break;
677
+ }
678
+ }
679
+ else {
680
+ this.value = this.HEXtoHSB(this.defaultColor);
681
+ }
682
+ this.updateColorSelector();
683
+ this.updateUI();
684
+ this.cd.markForCheck();
685
+ }
688
686
  ngOnDestroy() {
689
687
  if (this.scrollHandler) {
690
688
  this.scrollHandler.destroy();
@@ -706,7 +704,7 @@ class ColorPicker extends BaseEditableHolder {
706
704
  [class]="cx('preview')"
707
705
  readonly
708
706
  [attr.tabindex]="tabindex"
709
- [attr.disabled]="disabled() ? '' : undefined"
707
+ [attr.disabled]="$disabled() ? '' : undefined"
710
708
  (click)="onInputClick()"
711
709
  (keydown)="onInputKeydown($event)"
712
710
  (focus)="onInputFocus()"
@@ -756,7 +754,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
756
754
  [class]="cx('preview')"
757
755
  readonly
758
756
  [attr.tabindex]="tabindex"
759
- [attr.disabled]="disabled() ? '' : undefined"
757
+ [attr.disabled]="$disabled() ? '' : undefined"
760
758
  (click)="onInputClick()"
761
759
  (keydown)="onInputKeydown($event)"
762
760
  (focus)="onInputFocus()"
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-colorpicker.mjs","sources":["../../src/colorpicker/style/colorpickerstyle.ts","../../src/colorpicker/colorpicker.ts","../../src/colorpicker/primeng-colorpicker.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/colorpicker';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => ['p-colorpicker p-component', { 'p-colorpicker-overlay': !instance.inline, 'p-colorpicker-dragging': instance.colorDragging || instance.hueDragging }],\n preview: ({ instance }) => ['p-colorpicker-preview', { 'p-disabled': instance.disabled() }],\n panel: ({ instance }) => [\n 'p-colorpicker-panel',\n {\n 'p-colorpicker-panel-inline': instance.inline,\n 'p-disabled': instance.disabled()\n }\n ],\n content: 'p-colorpicker-content',\n colorSelector: 'p-colorpicker-color-selector',\n colorBackground: 'p-colorpicker-color-background',\n colorHandle: 'p-colorpicker-color-handle',\n hue: 'p-colorpicker-hue',\n hueHandle: 'p-colorpicker-hue-handle'\n};\n\n@Injectable()\nexport class ColorPickerStyle extends BaseStyle {\n name = 'colorpicker';\n\n theme = style;\n\n classes = classes;\n}\n\n/**\n *\n * ColorPicker groups a collection of contents in tabs.\n *\n * [Live Demo](https://www.primeng.org/colorpicker/)\n *\n * @module colorpickerstyle\n *\n */\nexport enum ColorPickerClasses {\n /**\n * Class name of the root element\n */\n root = 'p-colorpicker',\n /**\n * Class name of the preview element\n */\n preview = 'p-colorpicker-preview',\n /**\n * Class name of the panel element\n */\n panel = 'p-colorpicker-panel',\n /**\n * Class name of the color selector element\n */\n colorSelector = 'p-colorpicker-color-selector',\n /**\n * Class name of the color background element\n */\n colorBackground = 'p-colorpicker-color-background',\n /**\n * Class name of the color handle element\n */\n colorHandle = 'p-colorpicker-color-handle',\n /**\n * Class name of the hue element\n */\n hue = 'p-colorpicker-hue',\n /**\n * Class name of the hue handle element\n */\n hueHandle = 'p-colorpicker-hue-handle'\n}\n\nexport interface ColorPickerStyle extends BaseStyle {}\n","import { animate, AnimationEvent, style, transition, trigger } from '@angular/animations';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { AfterViewInit, booleanAttribute, ChangeDetectionStrategy, Component, computed, ElementRef, EventEmitter, forwardRef, inject, input, Input, NgModule, OnDestroy, Output, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { absolutePosition, cn, isTouchDevice, relativePosition } from '@primeuix/utils';\nimport { OverlayService, SharedModule, TranslationKeys } from 'primeng/api';\nimport { AutoFocusModule } from 'primeng/autofocus';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { ConnectedOverlayScrollHandler, DomHandler } from 'primeng/dom';\nimport { Nullable, VoidListener } from 'primeng/ts-helpers';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { ColorPickerChangeEvent } from './colorpicker.interface';\nimport { ColorPickerStyle } from './style/colorpickerstyle';\n\nexport const COLORPICKER_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ColorPicker),\n multi: true\n};\n/**\n * ColorPicker groups a collection of contents in tabs.\n * @group Components\n */\n@Component({\n selector: 'p-colorPicker, p-colorpicker, p-color-picker',\n standalone: true,\n imports: [CommonModule, AutoFocusModule, SharedModule],\n template: `\n <input\n *ngIf=\"!inline\"\n #input\n type=\"text\"\n [class]=\"cx('preview')\"\n readonly\n [attr.tabindex]=\"tabindex\"\n [attr.disabled]=\"disabled() ? '' : undefined\"\n (click)=\"onInputClick()\"\n (keydown)=\"onInputKeydown($event)\"\n (focus)=\"onInputFocus()\"\n [attr.id]=\"inputId\"\n [style.backgroundColor]=\"inputBgColor\"\n [attr.data-pc-section]=\"'input'\"\n [attr.aria-label]=\"ariaLabel\"\n [pAutoFocus]=\"autofocus\"\n />\n <div\n *ngIf=\"inline || overlayVisible\"\n [class]=\"cx('panel')\"\n (click)=\"onOverlayClick($event)\"\n [@overlayAnimation]=\"{\n value: 'visible',\n params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions }\n }\"\n [@.disabled]=\"inline === true\"\n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\n (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\"\n [attr.data-pc-section]=\"'panel'\"\n >\n <div [class]=\"cx('content')\" [attr.data-pc-section]=\"'content'\">\n <div #colorSelector [class]=\"cx('colorSelector')\" (touchstart)=\"onColorDragStart($event)\" (touchmove)=\"onDrag($event)\" (touchend)=\"onDragEnd()\" (mousedown)=\"onColorMousedown($event)\" [attr.data-pc-section]=\"'selector'\">\n <div [class]=\"cx('colorBackground')\" [attr.data-pc-section]=\"'color'\">\n <div #colorHandle [class]=\"cx('colorHandle')\" [attr.data-pc-section]=\"'colorHandle'\"></div>\n </div>\n </div>\n <div #hue [class]=\"cx('hue')\" (mousedown)=\"onHueMousedown($event)\" (touchstart)=\"onHueDragStart($event)\" (touchmove)=\"onDrag($event)\" (touchend)=\"onDragEnd()\" [attr.data-pc-section]=\"'hue'\">\n <div #hueHandle [class]=\"cx('hueHandle')\" [attr.data-pc-section]=\"'hueHandle'\"></div>\n </div>\n </div>\n </div>\n `,\n animations: [trigger('overlayAnimation', [transition(':enter', [style({ opacity: 0, transform: 'scaleY(0.8)' }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style({ opacity: 0 }))])])],\n providers: [COLORPICKER_VALUE_ACCESSOR, ColorPickerStyle],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"cn(cx('root'), styleClass)\",\n '[attr.data-pc-name]': '\"colorpicker\"',\n '[attr.data-pc-section]': '\"root\"'\n }\n})\nexport class ColorPicker extends BaseEditableHolder implements ControlValueAccessor, OnDestroy, AfterViewInit {\n /**\n * Style class of the component.\n * @deprecated since v20.0.0, use `class` instead.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Whether to display as an overlay or not.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) inline: boolean | undefined;\n /**\n * Format to use in value binding.\n * @group Props\n */\n @Input() format: 'hex' | 'rgb' | 'hsb' = 'hex';\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input() tabindex: string | undefined;\n /**\n * Identifier of the focus input to match a label defined for the dropdown.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoZIndex: boolean = true;\n /**\n * Transition options of the show animation.\n * @group Props\n */\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '.1s linear';\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Default color to display initially when model value is not present.\n * @group Props\n */\n @Input() defaultColor: string | undefined = 'ff0000';\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @defaultValue 'self'\n * @group Props\n */\n appendTo = input<HTMLElement | ElementRef | TemplateRef<any> | 'self' | 'body' | null | undefined | any>(undefined);\n /**\n * Callback to invoke on value change.\n * @param {ColorPickerChangeEvent} event - Custom value change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<ColorPickerChangeEvent> = new EventEmitter<ColorPickerChangeEvent>();\n /**\n * Callback to invoke on panel is shown.\n * @group Emits\n */\n @Output() onShow: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke on panel is hidden.\n * @group Emits\n */\n @Output() onHide: EventEmitter<any> = new EventEmitter<any>();\n\n @ViewChild('input') inputViewChild: Nullable<ElementRef>;\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n value: any = { h: 0, s: 100, b: 100 };\n\n inputBgColor: string | undefined;\n\n shown: Nullable<boolean>;\n\n overlayVisible: Nullable<boolean>;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n documentClickListener: VoidListener;\n\n documentResizeListener: VoidListener;\n\n documentMousemoveListener: VoidListener;\n\n documentMouseupListener: VoidListener;\n\n documentHueMoveListener: VoidListener;\n\n scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n selfClick: Nullable<boolean>;\n\n colorDragging: Nullable<boolean>;\n\n hueDragging: Nullable<boolean>;\n\n overlay: Nullable<HTMLDivElement>;\n\n colorSelectorViewChild: Nullable<ElementRef>;\n\n colorHandleViewChild: Nullable<ElementRef>;\n\n hueViewChild: Nullable<ElementRef>;\n\n hueHandleViewChild: Nullable<ElementRef>;\n\n _componentStyle = inject(ColorPickerStyle);\n\n constructor(public overlayService: OverlayService) {\n super();\n }\n\n @ViewChild('colorSelector') set colorSelector(element: ElementRef) {\n this.colorSelectorViewChild = element;\n }\n\n @ViewChild('colorHandle') set colorHandle(element: ElementRef) {\n this.colorHandleViewChild = element;\n }\n\n @ViewChild('hue') set hue(element: ElementRef) {\n this.hueViewChild = element;\n }\n\n @ViewChild('hueHandle') set hueHandle(element: ElementRef) {\n this.hueHandleViewChild = element;\n }\n\n get ariaLabel() {\n return this.config?.getTranslation(TranslationKeys.ARIA)[TranslationKeys.SELECT_COLOR];\n }\n\n onHueMousedown(event: MouseEvent) {\n if (this.disabled()) {\n return;\n }\n\n this.bindDocumentMousemoveListener();\n this.bindDocumentMouseupListener();\n\n this.hueDragging = true;\n this.pickHue(event);\n }\n\n onHueDragStart(event: TouchEvent) {\n if (this.disabled()) {\n return;\n }\n\n this.hueDragging = true;\n this.pickHue(event, (event as TouchEvent).changedTouches[0]);\n }\n\n onColorDragStart(event: TouchEvent) {\n if (this.disabled()) {\n return;\n }\n\n this.colorDragging = true;\n this.pickColor(event, (event as TouchEvent).changedTouches[0]);\n }\n\n pickHue(event: MouseEvent | TouchEvent, position?: any) {\n let pageY = position ? position.pageY : (event as MouseEvent).pageY;\n let top: number = this.hueViewChild?.nativeElement.getBoundingClientRect().top + ((this.document as any).defaultView.pageYOffset || this.document.documentElement.scrollTop || this.document.body.scrollTop || 0);\n this.value = this.validateHSB({\n h: Math.floor((360 * (150 - Math.max(0, Math.min(150, pageY - top)))) / 150),\n s: this.value.s,\n b: this.value.b\n });\n\n this.updateColorSelector();\n this.updateUI();\n this.updateModel();\n this.onChange.emit({ originalEvent: event, value: this.getValueToUpdate() });\n }\n\n onColorMousedown(event: MouseEvent) {\n if (this.disabled()) {\n return;\n }\n\n this.bindDocumentMousemoveListener();\n this.bindDocumentMouseupListener();\n\n this.colorDragging = true;\n this.pickColor(event);\n }\n\n onDrag(event: TouchEvent) {\n if (this.colorDragging) {\n this.pickColor(event, event.changedTouches[0]);\n event.preventDefault();\n }\n\n if (this.hueDragging) {\n this.pickHue(event, event.changedTouches[0]);\n event.preventDefault();\n }\n }\n\n onDragEnd() {\n this.colorDragging = false;\n this.hueDragging = false;\n\n this.unbindDocumentMousemoveListener();\n this.unbindDocumentMouseupListener();\n }\n\n pickColor(event: MouseEvent | TouchEvent, position?: any) {\n let pageX = position ? position.pageX : (event as MouseEvent).pageX;\n let pageY = position ? position.pageY : (event as MouseEvent).pageY;\n let rect = this.colorSelectorViewChild?.nativeElement.getBoundingClientRect();\n let top = rect.top + ((this.document as any).defaultView.pageYOffset || this.document.documentElement.scrollTop || this.document.body.scrollTop || 0);\n let left = rect.left + this.document.body.scrollLeft;\n let saturation = Math.floor((100 * Math.max(0, Math.min(150, pageX - left))) / 150);\n let brightness = Math.floor((100 * (150 - Math.max(0, Math.min(150, pageY - top)))) / 150);\n this.value = this.validateHSB({\n h: this.value.h,\n s: saturation,\n b: brightness\n });\n\n this.updateUI();\n this.updateModel();\n this.onChange.emit({ originalEvent: event, value: this.getValueToUpdate() });\n }\n\n getValueToUpdate() {\n let val: any;\n switch (this.format) {\n case 'hex':\n val = '#' + this.HSBtoHEX(this.value);\n break;\n\n case 'rgb':\n val = this.HSBtoRGB(this.value);\n break;\n\n case 'hsb':\n val = this.value;\n break;\n }\n\n return val;\n }\n\n updateModel(): void {\n this.onModelChange(this.getValueToUpdate());\n this.cd.markForCheck();\n }\n\n writeValue(value: any): void {\n if (value) {\n switch (this.format) {\n case 'hex':\n this.value = this.HEXtoHSB(value);\n break;\n\n case 'rgb':\n this.value = this.RGBtoHSB(value);\n break;\n\n case 'hsb':\n this.value = value;\n break;\n }\n } else {\n this.value = this.HEXtoHSB(this.defaultColor);\n }\n\n this.updateColorSelector();\n this.updateUI();\n this.cd.markForCheck();\n }\n\n updateColorSelector() {\n if (this.colorSelectorViewChild) {\n const hsb: any = {};\n hsb.s = 100;\n hsb.b = 100;\n hsb.h = this.value.h;\n\n this.colorSelectorViewChild.nativeElement.style.backgroundColor = '#' + this.HSBtoHEX(hsb);\n }\n }\n\n updateUI() {\n if (this.colorHandleViewChild && this.hueHandleViewChild?.nativeElement) {\n this.colorHandleViewChild.nativeElement.style.left = Math.floor((150 * this.value.s) / 100) + 'px';\n this.colorHandleViewChild.nativeElement.style.top = Math.floor((150 * (100 - this.value.b)) / 100) + 'px';\n this.hueHandleViewChild.nativeElement.style.top = Math.floor(150 - (150 * this.value.h) / 360) + 'px';\n }\n\n this.inputBgColor = '#' + this.HSBtoHEX(this.value);\n }\n\n onInputFocus() {\n this.onModelTouched();\n }\n\n show() {\n this.overlayVisible = true;\n this.cd.markForCheck();\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n if (!this.inline) {\n this.overlay = event.element;\n this.attrSelector && this.overlay.setAttribute(this.attrSelector, '');\n this.appendOverlay();\n\n if (this.autoZIndex) {\n ZIndexUtils.set('overlay', this.overlay, this.config.zIndex.overlay);\n }\n\n this.alignOverlay();\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n\n this.updateColorSelector();\n this.updateUI();\n }\n break;\n\n case 'void':\n this.onOverlayHide();\n break;\n }\n }\n\n onOverlayAnimationEnd(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n if (!this.inline) {\n this.onShow.emit({});\n }\n break;\n\n case 'void':\n if (this.autoZIndex) {\n ZIndexUtils.clear(event.element);\n }\n\n this.onHide.emit({});\n break;\n }\n }\n\n appendOverlay() {\n DomHandler.appendOverlay(this.overlay, this.$appendTo() === 'body' ? this.document.body : this.$appendTo(), this.$appendTo());\n }\n\n restoreOverlayAppend() {\n if (this.overlay && this.$appendTo() !== 'self') {\n this.renderer.appendChild(this.inputViewChild?.nativeElement, this.overlay);\n }\n }\n\n alignOverlay() {\n if (this.$appendTo() === 'self') relativePosition(this.overlay, this.inputViewChild?.nativeElement);\n else absolutePosition(this.overlay, this.inputViewChild?.nativeElement);\n }\n\n hide() {\n this.overlayVisible = false;\n this.cd.markForCheck();\n }\n\n onInputClick() {\n this.selfClick = true;\n this.togglePanel();\n }\n\n togglePanel() {\n if (!this.overlayVisible) this.show();\n else this.hide();\n }\n\n onInputKeydown(event: KeyboardEvent) {\n switch (event.code) {\n case 'Space':\n this.togglePanel();\n event.preventDefault();\n break;\n\n case 'Escape':\n case 'Tab':\n this.hide();\n break;\n\n default:\n //NoOp\n break;\n }\n }\n\n onOverlayClick(event: MouseEvent) {\n this.overlayService.add({\n originalEvent: event,\n target: this.el.nativeElement\n });\n\n this.selfClick = true;\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 bindDocumentClickListener() {\n if (!this.documentClickListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentClickListener = this.renderer.listen(documentTarget, 'click', () => {\n if (!this.selfClick) {\n this.overlayVisible = false;\n this.unbindDocumentClickListener();\n }\n\n this.selfClick = false;\n this.cd.markForCheck();\n });\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n bindDocumentMousemoveListener() {\n if (!this.documentMousemoveListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentMousemoveListener = this.renderer.listen(documentTarget, 'mousemove', (event: MouseEvent) => {\n if (this.colorDragging) {\n this.pickColor(event);\n }\n\n if (this.hueDragging) {\n this.pickHue(event);\n }\n });\n }\n }\n\n unbindDocumentMousemoveListener() {\n if (this.documentMousemoveListener) {\n this.documentMousemoveListener();\n this.documentMousemoveListener = null;\n }\n }\n\n bindDocumentMouseupListener() {\n if (!this.documentMouseupListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentMouseupListener = this.renderer.listen(documentTarget, 'mouseup', () => {\n this.colorDragging = false;\n this.hueDragging = false;\n this.unbindDocumentMousemoveListener();\n this.unbindDocumentMouseupListener();\n });\n }\n }\n\n unbindDocumentMouseupListener() {\n if (this.documentMouseupListener) {\n this.documentMouseupListener();\n this.documentMouseupListener = null;\n }\n }\n\n bindDocumentResizeListener() {\n if (isPlatformBrowser(this.platformId)) {\n this.documentResizeListener = this.renderer.listen(this.document.defaultView, 'resize', this.onWindowResize.bind(this));\n }\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n\n onWindowResize() {\n if (this.overlayVisible && !isTouchDevice()) {\n this.hide();\n }\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.el?.nativeElement, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n validateHSB(hsb: { h: number; s: number; b: number }) {\n return {\n h: Math.min(360, Math.max(0, hsb.h)),\n s: Math.min(100, Math.max(0, hsb.s)),\n b: Math.min(100, Math.max(0, hsb.b))\n };\n }\n\n validateRGB(rgb: { r: number; g: number; b: number }) {\n return {\n r: Math.min(255, Math.max(0, rgb.r)),\n g: Math.min(255, Math.max(0, rgb.g)),\n b: Math.min(255, Math.max(0, rgb.b))\n };\n }\n\n validateHEX(hex: string) {\n var len = 6 - hex.length;\n if (len > 0) {\n var o = [];\n for (var i = 0; i < len; i++) {\n o.push('0');\n }\n o.push(hex);\n hex = o.join('');\n }\n return hex;\n }\n\n HEXtoRGB(hex: string) {\n let hexValue = parseInt(hex.indexOf('#') > -1 ? hex.substring(1) : hex, 16);\n return { r: hexValue >> 16, g: (hexValue & 0x00ff00) >> 8, b: hexValue & 0x0000ff };\n }\n\n HEXtoHSB(hex: string) {\n return this.RGBtoHSB(this.HEXtoRGB(hex));\n }\n\n RGBtoHSB(rgb: { r: number; g: number; b: number }) {\n var hsb = {\n h: 0,\n s: 0,\n b: 0\n };\n var min = Math.min(rgb.r, rgb.g, rgb.b);\n var max = Math.max(rgb.r, rgb.g, rgb.b);\n var delta = max - min;\n hsb.b = max;\n hsb.s = max != 0 ? (255 * delta) / max : 0;\n if (hsb.s != 0) {\n if (rgb.r == max) {\n hsb.h = (rgb.g - rgb.b) / delta;\n } else if (rgb.g == max) {\n hsb.h = 2 + (rgb.b - rgb.r) / delta;\n } else {\n hsb.h = 4 + (rgb.r - rgb.g) / delta;\n }\n } else {\n hsb.h = -1;\n }\n hsb.h *= 60;\n if (hsb.h < 0) {\n hsb.h += 360;\n }\n hsb.s *= 100 / 255;\n hsb.b *= 100 / 255;\n return hsb;\n }\n\n HSBtoRGB(hsb: { h: number; s: number; b: number }) {\n var rgb = {\n r: 0,\n g: 0,\n b: 0\n };\n let h: number = hsb.h;\n let s: number = (hsb.s * 255) / 100;\n let v: number = (hsb.b * 255) / 100;\n if (s == 0) {\n rgb = {\n r: v,\n g: v,\n b: v\n };\n } else {\n let t1: number = v;\n let t2: number = ((255 - s) * v) / 255;\n let t3: number = ((t1 - t2) * (h % 60)) / 60;\n if (h == 360) h = 0;\n if (h < 60) {\n rgb.r = t1;\n rgb.b = t2;\n rgb.g = t2 + t3;\n } else if (h < 120) {\n rgb.g = t1;\n rgb.b = t2;\n rgb.r = t1 - t3;\n } else if (h < 180) {\n rgb.g = t1;\n rgb.r = t2;\n rgb.b = t2 + t3;\n } else if (h < 240) {\n rgb.b = t1;\n rgb.r = t2;\n rgb.g = t1 - t3;\n } else if (h < 300) {\n rgb.b = t1;\n rgb.g = t2;\n rgb.r = t2 + t3;\n } else if (h < 360) {\n rgb.r = t1;\n rgb.g = t2;\n rgb.b = t1 - t3;\n } else {\n rgb.r = 0;\n rgb.g = 0;\n rgb.b = 0;\n }\n }\n return { r: Math.round(rgb.r), g: Math.round(rgb.g), b: Math.round(rgb.b) };\n }\n\n RGBtoHEX(rgb: { r: number; g: number; b: number }) {\n var hex = [rgb.r.toString(16), rgb.g.toString(16), rgb.b.toString(16)];\n\n for (var key in hex) {\n if (hex[key].length == 1) {\n hex[key] = '0' + hex[key];\n }\n }\n\n return hex.join('');\n }\n\n HSBtoHEX(hsb: { h: number; s: number; b: number }) {\n return this.RGBtoHEX(this.HSBtoRGB(hsb));\n }\n\n onOverlayHide() {\n this.unbindScrollListener();\n this.unbindDocumentResizeListener();\n this.unbindDocumentClickListener();\n this.overlay = null;\n }\n\n ngAfterViewInit() {\n if (this.inline) {\n this.updateColorSelector();\n this.updateUI();\n }\n }\n\n ngOnDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.overlay && this.autoZIndex) {\n ZIndexUtils.clear(this.overlay);\n }\n\n this.restoreOverlayAppend();\n this.onOverlayHide();\n }\n\n protected readonly cn = cn;\n}\n\n@NgModule({\n imports: [ColorPicker, SharedModule],\n exports: [ColorPicker, SharedModule]\n})\nexport class ColorPickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["style"],"mappings":"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"}
1
+ {"version":3,"file":"primeng-colorpicker.mjs","sources":["../../src/colorpicker/style/colorpickerstyle.ts","../../src/colorpicker/colorpicker.ts","../../src/colorpicker/primeng-colorpicker.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/colorpicker';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => ['p-colorpicker p-component', { 'p-colorpicker-overlay': !instance.inline, 'p-colorpicker-dragging': instance.colorDragging || instance.hueDragging }],\n preview: ({ instance }) => ['p-colorpicker-preview', { 'p-disabled': instance.$disabled() }],\n panel: ({ instance }) => [\n 'p-colorpicker-panel',\n {\n 'p-colorpicker-panel-inline': instance.inline,\n 'p-disabled': instance.$disabled()\n }\n ],\n content: 'p-colorpicker-content',\n colorSelector: 'p-colorpicker-color-selector',\n colorBackground: 'p-colorpicker-color-background',\n colorHandle: 'p-colorpicker-color-handle',\n hue: 'p-colorpicker-hue',\n hueHandle: 'p-colorpicker-hue-handle'\n};\n\n@Injectable()\nexport class ColorPickerStyle extends BaseStyle {\n name = 'colorpicker';\n\n theme = style;\n\n classes = classes;\n}\n\n/**\n *\n * ColorPicker groups a collection of contents in tabs.\n *\n * [Live Demo](https://www.primeng.org/colorpicker/)\n *\n * @module colorpickerstyle\n *\n */\nexport enum ColorPickerClasses {\n /**\n * Class name of the root element\n */\n root = 'p-colorpicker',\n /**\n * Class name of the preview element\n */\n preview = 'p-colorpicker-preview',\n /**\n * Class name of the panel element\n */\n panel = 'p-colorpicker-panel',\n /**\n * Class name of the color selector element\n */\n colorSelector = 'p-colorpicker-color-selector',\n /**\n * Class name of the color background element\n */\n colorBackground = 'p-colorpicker-color-background',\n /**\n * Class name of the color handle element\n */\n colorHandle = 'p-colorpicker-color-handle',\n /**\n * Class name of the hue element\n */\n hue = 'p-colorpicker-hue',\n /**\n * Class name of the hue handle element\n */\n hueHandle = 'p-colorpicker-hue-handle'\n}\n\nexport interface ColorPickerStyle extends BaseStyle {}\n","import { animate, AnimationEvent, style, transition, trigger } from '@angular/animations';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { AfterViewInit, booleanAttribute, ChangeDetectionStrategy, Component, computed, ElementRef, EventEmitter, forwardRef, inject, input, Input, NgModule, OnDestroy, Output, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { absolutePosition, cn, isTouchDevice, relativePosition } from '@primeuix/utils';\nimport { OverlayService, SharedModule, TranslationKeys } from 'primeng/api';\nimport { AutoFocusModule } from 'primeng/autofocus';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { ConnectedOverlayScrollHandler, DomHandler } from 'primeng/dom';\nimport { Nullable, VoidListener } from 'primeng/ts-helpers';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { ColorPickerChangeEvent } from './colorpicker.interface';\nimport { ColorPickerStyle } from './style/colorpickerstyle';\n\nexport const COLORPICKER_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ColorPicker),\n multi: true\n};\n/**\n * ColorPicker groups a collection of contents in tabs.\n * @group Components\n */\n@Component({\n selector: 'p-colorPicker, p-colorpicker, p-color-picker',\n standalone: true,\n imports: [CommonModule, AutoFocusModule, SharedModule],\n template: `\n <input\n *ngIf=\"!inline\"\n #input\n type=\"text\"\n [class]=\"cx('preview')\"\n readonly\n [attr.tabindex]=\"tabindex\"\n [attr.disabled]=\"$disabled() ? '' : undefined\"\n (click)=\"onInputClick()\"\n (keydown)=\"onInputKeydown($event)\"\n (focus)=\"onInputFocus()\"\n [attr.id]=\"inputId\"\n [style.backgroundColor]=\"inputBgColor\"\n [attr.data-pc-section]=\"'input'\"\n [attr.aria-label]=\"ariaLabel\"\n [pAutoFocus]=\"autofocus\"\n />\n <div\n *ngIf=\"inline || overlayVisible\"\n [class]=\"cx('panel')\"\n (click)=\"onOverlayClick($event)\"\n [@overlayAnimation]=\"{\n value: 'visible',\n params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions }\n }\"\n [@.disabled]=\"inline === true\"\n (@overlayAnimation.start)=\"onOverlayAnimationStart($event)\"\n (@overlayAnimation.done)=\"onOverlayAnimationEnd($event)\"\n [attr.data-pc-section]=\"'panel'\"\n >\n <div [class]=\"cx('content')\" [attr.data-pc-section]=\"'content'\">\n <div #colorSelector [class]=\"cx('colorSelector')\" (touchstart)=\"onColorDragStart($event)\" (touchmove)=\"onDrag($event)\" (touchend)=\"onDragEnd()\" (mousedown)=\"onColorMousedown($event)\" [attr.data-pc-section]=\"'selector'\">\n <div [class]=\"cx('colorBackground')\" [attr.data-pc-section]=\"'color'\">\n <div #colorHandle [class]=\"cx('colorHandle')\" [attr.data-pc-section]=\"'colorHandle'\"></div>\n </div>\n </div>\n <div #hue [class]=\"cx('hue')\" (mousedown)=\"onHueMousedown($event)\" (touchstart)=\"onHueDragStart($event)\" (touchmove)=\"onDrag($event)\" (touchend)=\"onDragEnd()\" [attr.data-pc-section]=\"'hue'\">\n <div #hueHandle [class]=\"cx('hueHandle')\" [attr.data-pc-section]=\"'hueHandle'\"></div>\n </div>\n </div>\n </div>\n `,\n animations: [trigger('overlayAnimation', [transition(':enter', [style({ opacity: 0, transform: 'scaleY(0.8)' }), animate('{{showTransitionParams}}')]), transition(':leave', [animate('{{hideTransitionParams}}', style({ opacity: 0 }))])])],\n providers: [COLORPICKER_VALUE_ACCESSOR, ColorPickerStyle],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"cn(cx('root'), styleClass)\",\n '[attr.data-pc-name]': '\"colorpicker\"',\n '[attr.data-pc-section]': '\"root\"'\n }\n})\nexport class ColorPicker extends BaseEditableHolder implements OnDestroy, AfterViewInit {\n /**\n * Style class of the component.\n * @deprecated since v20.0.0, use `class` instead.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Whether to display as an overlay or not.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) inline: boolean | undefined;\n /**\n * Format to use in value binding.\n * @group Props\n */\n @Input() format: 'hex' | 'rgb' | 'hsb' = 'hex';\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input() tabindex: string | undefined;\n /**\n * Identifier of the focus input to match a label defined for the dropdown.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoZIndex: boolean = true;\n /**\n * Transition options of the show animation.\n * @group Props\n */\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '.1s linear';\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Default color to display initially when model value is not present.\n * @group Props\n */\n @Input() defaultColor: string | undefined = 'ff0000';\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @defaultValue 'self'\n * @group Props\n */\n appendTo = input<HTMLElement | ElementRef | TemplateRef<any> | 'self' | 'body' | null | undefined | any>(undefined);\n /**\n * Callback to invoke on value change.\n * @param {ColorPickerChangeEvent} event - Custom value change event.\n * @group Emits\n */\n @Output() onChange: EventEmitter<ColorPickerChangeEvent> = new EventEmitter<ColorPickerChangeEvent>();\n /**\n * Callback to invoke on panel is shown.\n * @group Emits\n */\n @Output() onShow: EventEmitter<any> = new EventEmitter<any>();\n /**\n * Callback to invoke on panel is hidden.\n * @group Emits\n */\n @Output() onHide: EventEmitter<any> = new EventEmitter<any>();\n\n @ViewChild('input') inputViewChild: Nullable<ElementRef>;\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n value: any = { h: 0, s: 100, b: 100 };\n\n inputBgColor: string | undefined;\n\n shown: Nullable<boolean>;\n\n overlayVisible: Nullable<boolean>;\n\n documentClickListener: VoidListener;\n\n documentResizeListener: VoidListener;\n\n documentMousemoveListener: VoidListener;\n\n documentMouseupListener: VoidListener;\n\n documentHueMoveListener: VoidListener;\n\n scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n selfClick: Nullable<boolean>;\n\n colorDragging: Nullable<boolean>;\n\n hueDragging: Nullable<boolean>;\n\n overlay: Nullable<HTMLDivElement>;\n\n colorSelectorViewChild: Nullable<ElementRef>;\n\n colorHandleViewChild: Nullable<ElementRef>;\n\n hueViewChild: Nullable<ElementRef>;\n\n hueHandleViewChild: Nullable<ElementRef>;\n\n _componentStyle = inject(ColorPickerStyle);\n\n constructor(public overlayService: OverlayService) {\n super();\n }\n\n @ViewChild('colorSelector') set colorSelector(element: ElementRef) {\n this.colorSelectorViewChild = element;\n }\n\n @ViewChild('colorHandle') set colorHandle(element: ElementRef) {\n this.colorHandleViewChild = element;\n }\n\n @ViewChild('hue') set hue(element: ElementRef) {\n this.hueViewChild = element;\n }\n\n @ViewChild('hueHandle') set hueHandle(element: ElementRef) {\n this.hueHandleViewChild = element;\n }\n\n get ariaLabel() {\n return this.config?.getTranslation(TranslationKeys.ARIA)[TranslationKeys.SELECT_COLOR];\n }\n\n onHueMousedown(event: MouseEvent) {\n if (this.$disabled()) {\n return;\n }\n\n this.bindDocumentMousemoveListener();\n this.bindDocumentMouseupListener();\n\n this.hueDragging = true;\n this.pickHue(event);\n }\n\n onHueDragStart(event: TouchEvent) {\n if (this.$disabled()) {\n return;\n }\n\n this.hueDragging = true;\n this.pickHue(event, (event as TouchEvent).changedTouches[0]);\n }\n\n onColorDragStart(event: TouchEvent) {\n if (this.$disabled()) {\n return;\n }\n\n this.colorDragging = true;\n this.pickColor(event, (event as TouchEvent).changedTouches[0]);\n }\n\n pickHue(event: MouseEvent | TouchEvent, position?: any) {\n let pageY = position ? position.pageY : (event as MouseEvent).pageY;\n let top: number = this.hueViewChild?.nativeElement.getBoundingClientRect().top + ((this.document as any).defaultView.pageYOffset || this.document.documentElement.scrollTop || this.document.body.scrollTop || 0);\n this.value = this.validateHSB({\n h: Math.floor((360 * (150 - Math.max(0, Math.min(150, pageY - top)))) / 150),\n s: this.value.s,\n b: this.value.b\n });\n\n this.updateColorSelector();\n this.updateUI();\n this.updateModel();\n this.onChange.emit({ originalEvent: event, value: this.getValueToUpdate() });\n }\n\n onColorMousedown(event: MouseEvent) {\n if (this.$disabled()) {\n return;\n }\n\n this.bindDocumentMousemoveListener();\n this.bindDocumentMouseupListener();\n\n this.colorDragging = true;\n this.pickColor(event);\n }\n\n onDrag(event: TouchEvent) {\n if (this.colorDragging) {\n this.pickColor(event, event.changedTouches[0]);\n event.preventDefault();\n }\n\n if (this.hueDragging) {\n this.pickHue(event, event.changedTouches[0]);\n event.preventDefault();\n }\n }\n\n onDragEnd() {\n this.colorDragging = false;\n this.hueDragging = false;\n\n this.unbindDocumentMousemoveListener();\n this.unbindDocumentMouseupListener();\n }\n\n pickColor(event: MouseEvent | TouchEvent, position?: any) {\n let pageX = position ? position.pageX : (event as MouseEvent).pageX;\n let pageY = position ? position.pageY : (event as MouseEvent).pageY;\n let rect = this.colorSelectorViewChild?.nativeElement.getBoundingClientRect();\n let top = rect.top + ((this.document as any).defaultView.pageYOffset || this.document.documentElement.scrollTop || this.document.body.scrollTop || 0);\n let left = rect.left + this.document.body.scrollLeft;\n let saturation = Math.floor((100 * Math.max(0, Math.min(150, pageX - left))) / 150);\n let brightness = Math.floor((100 * (150 - Math.max(0, Math.min(150, pageY - top)))) / 150);\n this.value = this.validateHSB({\n h: this.value.h,\n s: saturation,\n b: brightness\n });\n\n this.updateUI();\n this.updateModel();\n this.onChange.emit({ originalEvent: event, value: this.getValueToUpdate() });\n }\n\n getValueToUpdate() {\n let val: any;\n switch (this.format) {\n case 'hex':\n val = '#' + this.HSBtoHEX(this.value);\n break;\n\n case 'rgb':\n val = this.HSBtoRGB(this.value);\n break;\n\n case 'hsb':\n val = this.value;\n break;\n }\n\n return val;\n }\n\n updateModel(): void {\n this.onModelChange(this.getValueToUpdate());\n this.cd.markForCheck();\n }\n\n updateColorSelector() {\n if (this.colorSelectorViewChild) {\n const hsb: any = {};\n hsb.s = 100;\n hsb.b = 100;\n hsb.h = this.value.h;\n\n this.colorSelectorViewChild.nativeElement.style.backgroundColor = '#' + this.HSBtoHEX(hsb);\n }\n }\n\n updateUI() {\n if (this.colorHandleViewChild && this.hueHandleViewChild?.nativeElement) {\n this.colorHandleViewChild.nativeElement.style.left = Math.floor((150 * this.value.s) / 100) + 'px';\n this.colorHandleViewChild.nativeElement.style.top = Math.floor((150 * (100 - this.value.b)) / 100) + 'px';\n this.hueHandleViewChild.nativeElement.style.top = Math.floor(150 - (150 * this.value.h) / 360) + 'px';\n }\n\n this.inputBgColor = '#' + this.HSBtoHEX(this.value);\n }\n\n onInputFocus() {\n this.onModelTouched();\n }\n\n show() {\n this.overlayVisible = true;\n this.cd.markForCheck();\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n if (!this.inline) {\n this.overlay = event.element;\n this.attrSelector && this.overlay.setAttribute(this.attrSelector, '');\n this.appendOverlay();\n\n if (this.autoZIndex) {\n ZIndexUtils.set('overlay', this.overlay, this.config.zIndex.overlay);\n }\n\n this.alignOverlay();\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n\n this.updateColorSelector();\n this.updateUI();\n }\n break;\n\n case 'void':\n this.onOverlayHide();\n break;\n }\n }\n\n onOverlayAnimationEnd(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n if (!this.inline) {\n this.onShow.emit({});\n }\n break;\n\n case 'void':\n if (this.autoZIndex) {\n ZIndexUtils.clear(event.element);\n }\n\n this.onHide.emit({});\n break;\n }\n }\n\n appendOverlay() {\n DomHandler.appendOverlay(this.overlay, this.$appendTo() === 'body' ? this.document.body : this.$appendTo(), this.$appendTo());\n }\n\n restoreOverlayAppend() {\n if (this.overlay && this.$appendTo() !== 'self') {\n this.renderer.appendChild(this.inputViewChild?.nativeElement, this.overlay);\n }\n }\n\n alignOverlay() {\n if (this.$appendTo() === 'self') relativePosition(this.overlay, this.inputViewChild?.nativeElement);\n else absolutePosition(this.overlay, this.inputViewChild?.nativeElement);\n }\n\n hide() {\n this.overlayVisible = false;\n this.cd.markForCheck();\n }\n\n onInputClick() {\n this.selfClick = true;\n this.togglePanel();\n }\n\n togglePanel() {\n if (!this.overlayVisible) this.show();\n else this.hide();\n }\n\n onInputKeydown(event: KeyboardEvent) {\n switch (event.code) {\n case 'Space':\n this.togglePanel();\n event.preventDefault();\n break;\n\n case 'Escape':\n case 'Tab':\n this.hide();\n break;\n\n default:\n //NoOp\n break;\n }\n }\n\n onOverlayClick(event: MouseEvent) {\n this.overlayService.add({\n originalEvent: event,\n target: this.el.nativeElement\n });\n\n this.selfClick = true;\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentClickListener = this.renderer.listen(documentTarget, 'click', () => {\n if (!this.selfClick) {\n this.overlayVisible = false;\n this.unbindDocumentClickListener();\n }\n\n this.selfClick = false;\n this.cd.markForCheck();\n });\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n bindDocumentMousemoveListener() {\n if (!this.documentMousemoveListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentMousemoveListener = this.renderer.listen(documentTarget, 'mousemove', (event: MouseEvent) => {\n if (this.colorDragging) {\n this.pickColor(event);\n }\n\n if (this.hueDragging) {\n this.pickHue(event);\n }\n });\n }\n }\n\n unbindDocumentMousemoveListener() {\n if (this.documentMousemoveListener) {\n this.documentMousemoveListener();\n this.documentMousemoveListener = null;\n }\n }\n\n bindDocumentMouseupListener() {\n if (!this.documentMouseupListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentMouseupListener = this.renderer.listen(documentTarget, 'mouseup', () => {\n this.colorDragging = false;\n this.hueDragging = false;\n this.unbindDocumentMousemoveListener();\n this.unbindDocumentMouseupListener();\n });\n }\n }\n\n unbindDocumentMouseupListener() {\n if (this.documentMouseupListener) {\n this.documentMouseupListener();\n this.documentMouseupListener = null;\n }\n }\n\n bindDocumentResizeListener() {\n if (isPlatformBrowser(this.platformId)) {\n this.documentResizeListener = this.renderer.listen(this.document.defaultView, 'resize', this.onWindowResize.bind(this));\n }\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n this.documentResizeListener();\n this.documentResizeListener = null;\n }\n }\n\n onWindowResize() {\n if (this.overlayVisible && !isTouchDevice()) {\n this.hide();\n }\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.el?.nativeElement, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n validateHSB(hsb: { h: number; s: number; b: number }) {\n return {\n h: Math.min(360, Math.max(0, hsb.h)),\n s: Math.min(100, Math.max(0, hsb.s)),\n b: Math.min(100, Math.max(0, hsb.b))\n };\n }\n\n validateRGB(rgb: { r: number; g: number; b: number }) {\n return {\n r: Math.min(255, Math.max(0, rgb.r)),\n g: Math.min(255, Math.max(0, rgb.g)),\n b: Math.min(255, Math.max(0, rgb.b))\n };\n }\n\n validateHEX(hex: string) {\n var len = 6 - hex.length;\n if (len > 0) {\n var o = [];\n for (var i = 0; i < len; i++) {\n o.push('0');\n }\n o.push(hex);\n hex = o.join('');\n }\n return hex;\n }\n\n HEXtoRGB(hex: string) {\n let hexValue = parseInt(hex.indexOf('#') > -1 ? hex.substring(1) : hex, 16);\n return { r: hexValue >> 16, g: (hexValue & 0x00ff00) >> 8, b: hexValue & 0x0000ff };\n }\n\n HEXtoHSB(hex: string) {\n return this.RGBtoHSB(this.HEXtoRGB(hex));\n }\n\n RGBtoHSB(rgb: { r: number; g: number; b: number }) {\n var hsb = {\n h: 0,\n s: 0,\n b: 0\n };\n var min = Math.min(rgb.r, rgb.g, rgb.b);\n var max = Math.max(rgb.r, rgb.g, rgb.b);\n var delta = max - min;\n hsb.b = max;\n hsb.s = max != 0 ? (255 * delta) / max : 0;\n if (hsb.s != 0) {\n if (rgb.r == max) {\n hsb.h = (rgb.g - rgb.b) / delta;\n } else if (rgb.g == max) {\n hsb.h = 2 + (rgb.b - rgb.r) / delta;\n } else {\n hsb.h = 4 + (rgb.r - rgb.g) / delta;\n }\n } else {\n hsb.h = -1;\n }\n hsb.h *= 60;\n if (hsb.h < 0) {\n hsb.h += 360;\n }\n hsb.s *= 100 / 255;\n hsb.b *= 100 / 255;\n return hsb;\n }\n\n HSBtoRGB(hsb: { h: number; s: number; b: number }) {\n var rgb = {\n r: 0,\n g: 0,\n b: 0\n };\n let h: number = hsb.h;\n let s: number = (hsb.s * 255) / 100;\n let v: number = (hsb.b * 255) / 100;\n if (s == 0) {\n rgb = {\n r: v,\n g: v,\n b: v\n };\n } else {\n let t1: number = v;\n let t2: number = ((255 - s) * v) / 255;\n let t3: number = ((t1 - t2) * (h % 60)) / 60;\n if (h == 360) h = 0;\n if (h < 60) {\n rgb.r = t1;\n rgb.b = t2;\n rgb.g = t2 + t3;\n } else if (h < 120) {\n rgb.g = t1;\n rgb.b = t2;\n rgb.r = t1 - t3;\n } else if (h < 180) {\n rgb.g = t1;\n rgb.r = t2;\n rgb.b = t2 + t3;\n } else if (h < 240) {\n rgb.b = t1;\n rgb.r = t2;\n rgb.g = t1 - t3;\n } else if (h < 300) {\n rgb.b = t1;\n rgb.g = t2;\n rgb.r = t2 + t3;\n } else if (h < 360) {\n rgb.r = t1;\n rgb.g = t2;\n rgb.b = t1 - t3;\n } else {\n rgb.r = 0;\n rgb.g = 0;\n rgb.b = 0;\n }\n }\n return { r: Math.round(rgb.r), g: Math.round(rgb.g), b: Math.round(rgb.b) };\n }\n\n RGBtoHEX(rgb: { r: number; g: number; b: number }) {\n var hex = [rgb.r.toString(16), rgb.g.toString(16), rgb.b.toString(16)];\n\n for (var key in hex) {\n if (hex[key].length == 1) {\n hex[key] = '0' + hex[key];\n }\n }\n\n return hex.join('');\n }\n\n HSBtoHEX(hsb: { h: number; s: number; b: number }) {\n return this.RGBtoHEX(this.HSBtoRGB(hsb));\n }\n\n onOverlayHide() {\n this.unbindScrollListener();\n this.unbindDocumentResizeListener();\n this.unbindDocumentClickListener();\n this.overlay = null;\n }\n\n ngAfterViewInit() {\n if (this.inline) {\n this.updateColorSelector();\n this.updateUI();\n }\n }\n\n /**\n * @override\n *\n * @see {@link BaseEditableHolder.writeControlValue}\n * Writes the value to the control.\n */\n writeControlValue(value: any): void {\n if (value) {\n switch (this.format) {\n case 'hex':\n this.value = this.HEXtoHSB(value);\n break;\n\n case 'rgb':\n this.value = this.RGBtoHSB(value);\n break;\n\n case 'hsb':\n this.value = value;\n break;\n }\n } else {\n this.value = this.HEXtoHSB(this.defaultColor);\n }\n\n this.updateColorSelector();\n this.updateUI();\n this.cd.markForCheck();\n }\n\n ngOnDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.overlay && this.autoZIndex) {\n ZIndexUtils.clear(this.overlay);\n }\n\n this.restoreOverlayAppend();\n this.onOverlayHide();\n }\n\n protected readonly cn = cn;\n}\n\n@NgModule({\n imports: [ColorPicker, SharedModule],\n exports: [ColorPicker, SharedModule]\n})\nexport class ColorPickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["style"],"mappings":"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"}