UNPKG

primeng

Version:

PrimeNG is an open source UI library for Angular featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeB

1 lines 29.1 kB
{"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 { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-checkbox {\n position: relative;\n display: inline-flex;\n user-select: none;\n vertical-align: bottom;\n width: ${dt('checkbox.width')};\n height: ${dt('checkbox.height')};\n}\n\n.p-checkbox-input {\n cursor: pointer;\n appearance: none;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n opacity: 0;\n z-index: 1;\n outline: 0 none;\n border: 1px solid transparent;\n border-radius: ${dt('checkbox.border.radius')};\n}\n\n.p-checkbox-box {\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: ${dt('checkbox.border.radius')};\n border: 1px solid ${dt('checkbox.border.color')};\n background: ${dt('checkbox.background')};\n width: ${dt('checkbox.width')};\n height: ${dt('checkbox.height')};\n transition: background ${dt('checkbox.transition.duration')}, color ${dt('checkbox.transition.duration')}, border-color ${dt('checkbox.transition.duration')}, box-shadow ${dt('checkbox.transition.duration')}, outline-color ${dt(\n 'checkbox.transition.duration'\n )};\n outline-color: transparent;\n box-shadow: ${dt('checkbox.shadow')};\n}\n\n.p-checkbox-icon {\n transition-duration: ${dt('checkbox.transition.duration')};\n color: ${dt('checkbox.icon.color')};\n font-size: ${dt('checkbox.icon.size')};\n width: ${dt('checkbox.icon.size')};\n height: ${dt('checkbox.icon.size')};\n}\n\n.p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {\n border-color: ${dt('checkbox.hover.border.color')};\n}\n\n.p-checkbox-checked .p-checkbox-box {\n border-color: ${dt('checkbox.checked.border.color')};\n background: ${dt('checkbox.checked.background')};\n}\n\n.p-checkbox-checked .p-checkbox-icon {\n color: ${dt('checkbox.icon.checked.color')};\n}\n\n.p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {\n background: ${dt('checkbox.checked.hover.background')};\n border-color: ${dt('checkbox.checked.hover.border.color')};\n}\n\n.p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-icon {\n color: ${dt('checkbox.icon.checked.hover.color')};\n}\n\n.p-checkbox:not(.p-disabled):has(.p-checkbox-input:focus-visible) .p-checkbox-box {\n border-color: ${dt('checkbox.focus.border.color')};\n box-shadow: ${dt('checkbox.focus.ring.shadow')};\n outline: ${dt('checkbox.focus.ring.width')} ${dt('checkbox.focus.ring.style')} ${dt('checkbox.focus.ring.color')};\n outline-offset: ${dt('checkbox.focus.ring.offset')};\n}\n\n.p-checkbox-checked:not(.p-disabled):has(.p-checkbox-input:focus-visible) .p-checkbox-box {\n border-color: ${dt('checkbox.checked.focus.border.color')};\n}\n\np-checkBox.ng-invalid.ng-dirty .p-checkbox-box,\np-check-box.ng-invalid.ng-dirty .p-checkbox-box,\np-checkbox.ng-invalid.ng-dirty .p-checkbox-box {\n border-color: ${dt('checkbox.invalid.border.color')};\n}\n\n.p-checkbox.p-variant-filled .p-checkbox-box {\n background: ${dt('checkbox.filled.background')};\n}\n\n.p-checkbox-checked.p-variant-filled .p-checkbox-box {\n background: ${dt('checkbox.checked.background')};\n}\n\n.p-checkbox-checked.p-variant-filled:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {\n background: ${dt('checkbox.checked.hover.background')};\n}\n\n.p-checkbox.p-disabled {\n opacity: 1;\n}\n\n.p-checkbox.p-disabled .p-checkbox-box {\n background: ${dt('checkbox.disabled.background')};\n border-color: ${dt('checkbox.checked.disabled.border.color')};\n}\n\n.p-checkbox.p-disabled .p-checkbox-box .p-checkbox-icon {\n color: ${dt('checkbox.icon.disabled.color')};\n}\n\n.p-checkbox-sm,\n.p-checkbox-sm .p-checkbox-box {\n width: ${dt('checkbox.sm.width')};\n height: ${dt('checkbox.sm.height')};\n}\n\n.p-checkbox-sm .p-checkbox-icon {\n font-size: ${dt('checkbox.icon.sm.size')};\n width: ${dt('checkbox.icon.sm.size')};\n height: ${dt('checkbox.icon.sm.size')};\n}\n\n.p-checkbox-lg,\n.p-checkbox-lg .p-checkbox-box {\n width: ${dt('checkbox.lg.width')};\n height: ${dt('checkbox.lg.height')};\n}\n\n.p-checkbox-lg .p-checkbox-icon {\n font-size: ${dt('checkbox.icon.lg.size')};\n width: ${dt('checkbox.icon.lg.size')};\n height: ${dt('checkbox.icon.lg.size')};\n}\n`;\n\nconst classes = {\n root: ({ instance, props }) => [\n 'p-checkbox p-component',\n {\n 'p-checkbox-checked': instance.checked,\n 'p-disabled': props.disabled,\n 'p-invalid': props.invalid,\n 'p-variant-filled': props.variant ? props.variant === 'filled' : instance.config.inputStyle === 'filled' || instance.config.inputVariant === 'filled'\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 ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\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 { BaseComponent } from 'primeng/basecomponent';\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 <div [style]=\"style\" [class]=\"styleClass\" [ngClass]=\"containerClass\" [attr.data-p-highlight]=\"checked\" [attr.data-p-checked]=\"checked\" [attr.data-p-disabled]=\"disabled\">\n <input\n #input\n [attr.id]=\"inputId\"\n type=\"checkbox\"\n [value]=\"value\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n [attr.tabindex]=\"tabindex\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.required]=\"required ? true : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [style]=\"inputStyle\"\n [class]=\"inputClass\"\n [ngClass]=\"{ 'p-checkbox-input': true }\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"handleChange($event)\"\n />\n <div class=\"p-checkbox-box\">\n <ng-container *ngIf=\"!checkboxIconTemplate && !_checkboxIconTemplate\">\n <ng-container *ngIf=\"checked\">\n <span *ngIf=\"checkboxIcon\" class=\"p-checkbox-icon\" [ngClass]=\"checkboxIcon\" [attr.data-pc-section]=\"'icon'\"></span>\n <CheckIcon *ngIf=\"!checkboxIcon\" [styleClass]=\"'p-checkbox-icon'\" [attr.data-pc-section]=\"'icon'\" />\n </ng-container>\n <MinusIcon *ngIf=\"_indeterminate()\" [styleClass]=\"'p-checkbox-icon'\" [attr.data-pc-section]=\"'icon'\" />\n </ng-container>\n <ng-template *ngTemplateOutlet=\"checkboxIconTemplate || _checkboxIconTemplate; context: { checked: checked, class: 'p-checkbox-icon' }\"></ng-template>\n </div>\n </div>\n `,\n providers: [CHECKBOX_VALUE_ACCESSOR, CheckboxStyle],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class Checkbox extends BaseComponent implements AfterContentInit, ControlValueAccessor {\n /**\n * Value of the checkbox.\n * @group Props\n */\n @Input() value: any;\n /**\n * Name of the checkbox group.\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({ transform: booleanAttribute }) disabled: boolean | undefined;\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 component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | 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 * @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 * Defines the size of the component.\n * @group Props\n */\n @Input() size: 'large' | 'small';\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 checkbox must be checked before submitting the form.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) required: 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 * @group Props\n */\n @Input() variant: 'filled' | 'outlined';\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.model === this.trueValue : contains(this.value, this.model);\n }\n\n get containerClass() {\n return {\n 'p-checkbox p-component': true,\n 'p-checkbox-checked p-highlight': this.checked,\n 'p-disabled': this.disabled,\n 'p-variant-filled': this.variant === 'filled' || this.config.inputStyle() === 'filled' || this.config.inputVariant() === 'filled',\n 'p-checkbox-sm p-inputfield-sm': this.size === 'small',\n 'p-checkbox-lg p-inputfield-lg': this.size === 'large'\n };\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 model: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n focused: boolean = false;\n\n _componentStyle = inject(CheckboxStyle);\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.model;\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.model = 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.model = 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.model = 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 setDisabledState(val: boolean): void {\n setTimeout(() => {\n this.disabled = val;\n this.cd.markForCheck();\n });\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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"}