primeng
Version:
PrimeNG is a premium UI library for Angular featuring a rich set of 90+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBlock,
210 lines (206 loc) • 8.03 kB
TypeScript
import { RatingPassThrough, RatingRateEvent, RatingIconTemplateContext } from 'primeng/types/rating';
export * from 'primeng/types/rating';
import * as _angular_core from '@angular/core';
import { Provider, TemplateRef } from '@angular/core';
import { BaseEditableHolder } from 'primeng/baseeditableholder';
import * as i1 from 'primeng/bind';
import { Bind } from 'primeng/bind';
import { Nullable } from 'primeng/ts-helpers';
import { CSSProperties } from 'primeng/types/shared';
import { BaseStyle } from 'primeng/base';
import * as i2 from 'primeng/api';
/**
*
* Rating component is a star based selection input.
*
* [Live Demo](https://www.primeng.org/rating/)
*
* @module ratingstyle
*
*/
declare enum RatingClasses {
/**
* Class name of the root element
*/
root = "p-rating",
/**
* Class name of the option element
*/
option = "p-rating-option",
/**
* Class name of the on icon element
*/
onIcon = "p-rating-on-icon",
/**
* Class name of the off icon element
*/
offIcon = "p-rating-off-icon"
}
declare class RatingStyle extends BaseStyle {
name: string;
style: string;
classes: {
root: ({ instance }: {
instance: any;
}) => (string | {
'p-readonly': any;
'p-disabled': any;
})[];
option: string;
onIcon: ({ instance }: {
instance: any;
}) => (string | {
'p-invalid': any;
})[];
offIcon: ({ instance }: {
instance: any;
}) => (string | {
'p-invalid': any;
})[];
};
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RatingStyle, never>;
static ɵprov: _angular_core.ɵɵInjectableDeclaration<RatingStyle>;
}
interface RatingStyle extends BaseStyle {
}
declare const RATING_VALUE_ACCESSOR: Provider;
/**
* Rating is an extension to standard radio button element with theming.
* @group Components
*/
declare class Rating extends BaseEditableHolder<RatingPassThrough> {
componentName: string;
$pcRating: Rating | undefined;
bindDirectiveInstance: Bind;
onAfterViewChecked(): void;
/**
* When present, changing the value is not possible.
* @group Props
*/
readonly: _angular_core.InputSignalWithTransform<boolean, unknown>;
/**
* Number of stars.
* @group Props
*/
stars: _angular_core.InputSignalWithTransform<number, unknown>;
/**
* Style class of the on icon.
* @group Props
*/
iconOnClass: _angular_core.InputSignal<string | undefined>;
/**
* Inline style of the on icon.
* @group Props
*/
iconOnStyle: _angular_core.InputSignal<CSSProperties>;
/**
* Style class of the off icon.
* @group Props
*/
iconOffClass: _angular_core.InputSignal<string | undefined>;
/**
* Inline style of the off icon.
* @group Props
*/
iconOffStyle: _angular_core.InputSignal<CSSProperties>;
/**
* When present, it specifies that the component should automatically get focus on load.
* @group Props
*/
autofocus: _angular_core.InputSignalWithTransform<boolean, unknown>;
/**
* When present, selecting half stars is allowed.
* @group Props
*/
allowHalf: _angular_core.InputSignalWithTransform<boolean, unknown>;
/**
* Orientation of the component.
* @group Props
*/
orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
/**
* Emitted on value change.
* @param {RatingRateEvent} value - Custom rate event.
* @group Emits
*/
onRate: _angular_core.OutputEmitterRef<RatingRateEvent>;
/**
* Emitted when the rating receives focus.
* @param {Event} value - Browser event.
* @group Emits
*/
onFocus: _angular_core.OutputEmitterRef<FocusEvent>;
/**
* Emitted when the rating loses focus.
* @param {Event} value - Browser event.
* @group Emits
*/
onBlur: _angular_core.OutputEmitterRef<FocusEvent>;
/**
* Custom on icon template.
* @param {RatingIconTemplateContext} context - icon context.
* @see {@link RatingIconTemplateContext}
* @group Templates
*/
onIconTemplate: _angular_core.Signal<TemplateRef<RatingIconTemplateContext> | undefined>;
/**
* Custom off icon template.
* @param {RatingIconTemplateContext} context - icon context.
* @see {@link RatingIconTemplateContext}
* @group Templates
*/
offIconTemplate: _angular_core.Signal<TemplateRef<RatingIconTemplateContext> | undefined>;
value: _angular_core.WritableSignal<Nullable<number>>;
starsArray: Nullable<number[]>;
focusedOptionIndex: _angular_core.WritableSignal<number>;
nameattr: _angular_core.WritableSignal<string | undefined>;
hovering: _angular_core.WritableSignal<boolean>;
hoveringValue: _angular_core.WritableSignal<number>;
_componentStyle: RatingStyle;
attrRequired: _angular_core.Signal<"" | undefined>;
attrReadonly: _angular_core.Signal<"" | undefined>;
attrDisabled: _angular_core.Signal<"" | undefined>;
attrName: _angular_core.Signal<string>;
dataP: _angular_core.Signal<string>;
isCustomIcon: _angular_core.Signal<boolean>;
activeValue: _angular_core.Signal<number>;
onInit(): void;
resolvePointerValue(event: PointerEvent | MouseEvent, star: number): number;
onOptionClick(event: MouseEvent, star: number): void;
onOptionSelect(event: Event, value: number): void;
onPointerMove(event: PointerEvent, star: number): void;
onPointerEnter(): void;
onPointerLeave(): void;
onChange(event: Event, value: number): void;
onInputBlur(event: FocusEvent): void;
onInputFocus(event: FocusEvent, value: number): void;
updateModel(event: Event, value: number | null): void;
starAriaLabel(value: number): string | undefined;
isHighlighted(star: number): boolean;
isHalf(star: number): boolean;
isChecked(star: number): boolean;
getOnIconContext(star: number): {
$implicit: number;
class: string | undefined;
};
getOffIconContext(star: number): {
$implicit: number;
class: string | undefined;
};
getIconTemplate(i: number): Nullable<TemplateRef<RatingIconTemplateContext>>;
/**
* @override
*
* @see {@link BaseEditableHolder.writeControlValue}
* Writes the value to the control.
*/
writeControlValue(value: any, setModelValue: (value: any) => void): void;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Rating, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Rating, "p-rating", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "stars": { "alias": "stars"; "required": false; "isSignal": true; }; "iconOnClass": { "alias": "iconOnClass"; "required": false; "isSignal": true; }; "iconOnStyle": { "alias": "iconOnStyle"; "required": false; "isSignal": true; }; "iconOffClass": { "alias": "iconOffClass"; "required": false; "isSignal": true; }; "iconOffStyle": { "alias": "iconOffStyle"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "allowHalf": { "alias": "allowHalf"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; }, { "onRate": "onRate"; "onFocus": "onFocus"; "onBlur": "onBlur"; }, ["onIconTemplate", "offIconTemplate"], never, true, [{ directive: typeof i1.Bind; inputs: {}; outputs: {}; }]>;
}
declare class RatingModule {
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RatingModule, never>;
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<RatingModule, never, [typeof Rating, typeof i2.SharedModule], [typeof Rating, typeof i2.SharedModule]>;
static ɵinj: _angular_core.ɵɵInjectorDeclaration<RatingModule>;
}
export { RATING_VALUE_ACCESSOR, Rating, RatingClasses, RatingModule, RatingStyle };