DocsAPI referenceHeadlessrating

rating headless API

The core connector and vanilla mount are always visible. Use the framework choice to inspect native composition, props, outputs, context and hooks for the selected adapter.

@grassroot/ui-headless-core/rating

Core connector and vanilla API

13 exports
View source packages/ui-headless/core/src/rating/index.ts

connectRating

function
DeclarationView source
connectRatingts
declare function connectRating(service: RatingService, scope: PartScope, options?: RatingConnectOptions): RatingApi;
Name
Kind
Type
Requirement
service
parameter
RatingService
required
scope
parameter
PartScope
required
options
parameter
RatingConnectOptions
optional
return
return value
RatingApi
n/a
Name
service
Kind
parameter
Type
RatingService
Requirement
required
Name
scope
Kind
parameter
Type
PartScope
Requirement
required
Name
options
Kind
parameter
Type
RatingConnectOptions
Requirement
optional
Name
return
Kind
return value
Type
RatingApi
Requirement
n/a

mountRating

function
DeclarationView source
mountRatingts
declare function mountRating(container: HTMLElement, options?: MountRatingOptions): RatingMount;
Name
Kind
Type
Requirement
container
parameter
HTMLElement
required
options
parameter
MountRatingOptions
optional
return
return value
RatingMount
n/a
Name
container
Kind
parameter
Type
HTMLElement
Requirement
required
Name
options
Kind
parameter
Type
MountRatingOptions
Requirement
optional
Name
return
Kind
return value
Type
RatingMount
Requirement
n/a

MountRatingOptions

interface
DeclarationView source
MountRatingOptionsts
interface MountRatingOptions extends RatingInput, Pick<RatingConnectOptions, "ariaLabel" | "messages"> {
readonly onValueChange?: (detail: RatingChangeDetail) => void;
}
Name
Kind
Type
Requirement
onValueChange
property
(detail: RatingChangeDetail) => void
optional
Name
onValueChange
Kind
property
Type
(detail: RatingChangeDetail) => void
Requirement
optional
DeclarationView source
ratingAnatomyts
export declare const ratingAnatomy: {
readonly scope: "rating";
readonly parts: readonly ["root", "star"];
};
Name
Kind
Type
Requirement
parts
property
readonly ["root", "star"]
required
scope
property
"rating"
required
Name
parts
Kind
property
Type
readonly ["root", "star"]
Requirement
required
Name
scope
Kind
property
Type
"rating"
Requirement
required

RatingApi

interface
DeclarationView source
RatingApits
interface RatingApi {
rootProps(): PartProps;
starProps(index: number): PartProps;
readonly value: number;
readonly max: number;
readonly readOnly: boolean;
}
Name
Kind
Type
Requirement
max
property
number
required
readOnly
property
boolean
required
rootProps
method
() => PartProps
required
starProps
method
(index: number) => PartProps
required
value
property
number
required
Name
max
Kind
property
Type
number
Requirement
required
Name
readOnly
Kind
property
Type
boolean
Requirement
required
Name
rootProps
Kind
method
Type
() => PartProps
Requirement
required
Name
starProps
Kind
method
Type
(index: number) => PartProps
Requirement
required
Name
value
Kind
property
Type
number
Requirement
required

RatingChangeDetail

interface
DeclarationView source
RatingChangeDetailts
interface RatingChangeDetail {
readonly value: number;
readonly reason: RatingReason;
}
Name
Kind
Type
Requirement
reason
property
RatingReason
required
value
property
number
required
Name
reason
Kind
property
Type
RatingReason
Requirement
required
Name
value
Kind
property
Type
number
Requirement
required
DeclarationView source
RatingConnectOptionsts
interface RatingConnectOptions {
readonly ariaLabel?: string;
readonly messages?: Partial<RatingMessages>;
readonly onValueChange?: (detail: RatingChangeDetail) => void;
}
Name
Kind
Type
Requirement
ariaLabel
property
string
optional
messages
property
Partial<RatingMessages>
optional
onValueChange
property
(detail: RatingChangeDetail) => void
optional
Name
ariaLabel
Kind
property
Type
string
Requirement
optional
Name
messages
Kind
property
Type
Partial<RatingMessages>
Requirement
optional
Name
onValueChange
Kind
property
Type
(detail: RatingChangeDetail) => void
Requirement
optional
DeclarationView source
ratingMessagests
export declare const ratingMessages: RatingMessages;
DeclarationView source
RatingMessagests
type RatingMessages = Pick<MessageTable, "rootLabel" | "readOnlyLabel" | "starLabel">;

RatingMount

interface
DeclarationView source
RatingMountts
interface RatingMount {
readonly service: RatingService;
readonly connector: RatingApi;
readonly root: HTMLElement;
destroy(): void;
}
Name
Kind
Type
Requirement
connector
property
RatingApi
required
destroy
method
() => void
required
root
property
HTMLElement
required
service
property
RatingService
required
Name
connector
Kind
property
Type
RatingApi
Requirement
required
Name
destroy
Kind
method
Type
() => void
Requirement
required
Name
root
Kind
property
Type
HTMLElement
Requirement
required
Name
service
Kind
property
Type
RatingService
Requirement
required

RatingPart

type
DeclarationView source
RatingPartts
type RatingPart = (typeof ratingAnatomy.parts)[number];
DeclarationView source
RatingServicets
type RatingService = Service<RatingInput, "ready", RatingContext, RatingEvent, RatingCommand>;

runRatingCommand

function
DeclarationView source
runRatingCommandts
declare function runRatingCommand(command: RatingCommand, options?: RatingConnectOptions): void;
Name
Kind
Type
Requirement
command
parameter
RatingCommand
required
options
parameter
RatingConnectOptions
optional
return
return value
void
n/a
Name
command
Kind
parameter
Type
RatingCommand
Requirement
required
Name
options
Kind
parameter
Type
RatingConnectOptions
Requirement
optional
Name
return
Kind
return value
Type
void
Requirement
n/a

Framework adapters

Each panel keeps its adapter's public vocabulary. React compound exports, Vue composables, standalone Angular declarations, Svelte components, and Solid hooks stay native to their framework.

React example follows below.

React imports

@grassroot/ui-headless-react/ratingts
import { Root, RootProvider, Star } from "@grassroot/ui-headless-react/rating";

Vue imports

@grassroot/ui-headless-vue/ratingts
<script setup lang="ts">
import { Root, RootProvider, Star } from "@grassroot/ui-headless-vue/rating";
</script>

Angular imports

@grassroot/ui-headless-angular/ratingts
import { GrRatingRoot, GrRatingRootProvider, GrRatingStar } from "@grassroot/ui-headless-angular/rating";

Svelte imports

@grassroot/ui-headless-svelte/ratingts
<script lang="ts">
import { Parts, Root, RootProvider } from "@grassroot/ui-headless-svelte/rating";
</script>

Solid imports

@grassroot/ui-headless-solid/ratingts
import { Root, RootProvider, Star } from "@grassroot/ui-headless-solid/rating";

@grassroot/ui-headless-react/rating

React adapter

9 exports
View source packages/ui-headless/react/src/rating/index.ts

RatingRootProps

interface
DeclarationView source
RatingRootPropsts
interface RatingRootProps extends Omit<HTMLAttributes<HTMLSpanElement>, "onChange" | "defaultValue" | "value">, RatingInput {
readonly ariaLabel?: string;
readonly id?: string;
readonly onValueChange?: (detail: RatingChangeDetail) => void;
readonly children?: ReactNode;
}
Name
Kind
Type
Requirement
ariaLabel
property
string
optional
children
property
ReactNode
optional
id
property
string
optional
onValueChange
property
(detail: RatingChangeDetail) => void
optional
Name
ariaLabel
Kind
property
Type
string
Requirement
optional
Name
children
Kind
property
Type
ReactNode
Requirement
optional
Name
id
Kind
property
Type
string
Requirement
optional
Name
onValueChange
Kind
property
Type
(detail: RatingChangeDetail) => void
Requirement
optional
DeclarationView source
RatingRootProviderPropsts
interface RatingRootProviderProps extends Omit<HTMLAttributes<HTMLSpanElement>, "onChange"> {
readonly value: UseRatingResult;
readonly children?: ReactNode;
}
Name
Kind
Type
Requirement
children
property
ReactNode
optional
value
property
UseRatingResult
required
Name
children
Kind
property
Type
ReactNode
Requirement
optional
Name
value
Kind
property
Type
UseRatingResult
Requirement
required

RatingStarProps

interface
DeclarationView source
RatingStarPropsts
interface RatingStarProps extends HTMLAttributes<HTMLElement> {
readonly index: number;
readonly children?: ReactNode;
}
Name
Kind
Type
Requirement
children
property
ReactNode
optional
index
property
number
required
Name
children
Kind
property
Type
ReactNode
Requirement
optional
Name
index
Kind
property
Type
number
Requirement
required

Root

value
DeclarationView source
Rootts
export declare const Root: import("react").ForwardRefExoticComponent<RatingRootProps & import("react").RefAttributes<HTMLSpanElement>>;
Name
Kind
Type
Requirement
props
parameter
P
required
return
return value
ReactNode
n/a
Name
props
Kind
parameter
Type
P
Requirement
required
Name
return
Kind
return value
Type
ReactNode
Requirement
n/a

RootProvider

value
DeclarationView source
RootProviderts
export declare const RootProvider: import("react").ForwardRefExoticComponent<RatingRootProviderProps & import("react").RefAttributes<HTMLSpanElement>>;
Name
Kind
Type
Requirement
props
parameter
P
required
return
return value
ReactNode
n/a
Name
props
Kind
parameter
Type
P
Requirement
required
Name
return
Kind
return value
Type
ReactNode
Requirement
n/a

Star

value
DeclarationView source
Starts
export declare const Star: import("react").ForwardRefExoticComponent<RatingStarProps & import("react").RefAttributes<HTMLElement>>;
Name
Kind
Type
Requirement
props
parameter
P
required
return
return value
ReactNode
n/a
Name
props
Kind
parameter
Type
P
Requirement
required
Name
return
Kind
return value
Type
ReactNode
Requirement
n/a

useRating

function
DeclarationView source
useRatingts
declare function useRating(input: RatingInput, options?: UseRatingOptions): UseRatingResult;
Name
Kind
Type
Requirement
input
parameter
RatingInput
required
options
parameter
UseRatingOptions
optional
return
return value
UseRatingResult
n/a
Name
input
Kind
parameter
Type
RatingInput
Requirement
required
Name
options
Kind
parameter
Type
UseRatingOptions
Requirement
optional
Name
return
Kind
return value
Type
UseRatingResult
Requirement
n/a

UseRatingOptions

interface
DeclarationView source
UseRatingOptionsts
interface UseRatingOptions {
readonly id?: string;
readonly ariaLabel?: string;
readonly onValueChange?: (detail: RatingChangeDetail) => void;
}
Name
Kind
Type
Requirement
ariaLabel
property
string
optional
id
property
string
optional
onValueChange
property
(detail: RatingChangeDetail) => void
optional
Name
ariaLabel
Kind
property
Type
string
Requirement
optional
Name
id
Kind
property
Type
string
Requirement
optional
Name
onValueChange
Kind
property
Type
(detail: RatingChangeDetail) => void
Requirement
optional

UseRatingResult

interface
DeclarationView source
UseRatingResultts
interface UseRatingResult {
readonly service: RatingService;
readonly connector: RatingApi;
readonly scope: ReturnType<typeof import("@grassroot/ui-headless-core").createPartScope>;
readonly snapshot: RatingSnapshot;
}
Name
Kind
Type
Requirement
connector
property
RatingApi
required
scope
property
ReturnType<typeof import("@grassroot/ui-headless-core").createPartScope>
required
service
property
RatingService
required
snapshot
property
RatingSnapshot
required
Name
connector
Kind
property
Type
RatingApi
Requirement
required
Name
scope
Kind
property
Type
ReturnType<typeof import("@grassroot/ui-headless-core").createPartScope>
Requirement
required
Name
service
Kind
property
Type
RatingService
Requirement
required
Name
snapshot
Kind
property
Type
RatingSnapshot
Requirement
required

@grassroot/ui-headless-vue/rating

Vue adapter

5 exports
View source packages/ui-headless/vue/src/rating/index.ts

Root

value
DeclarationView source
Rootts
export declare const Root: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
max: NumberConstructor;
value: {
type: PropType<number | undefined>;
default: undefined;
};
defaultValue: {
type: PropType<number | undefined>;
default: undefined;
};
readOnly: {
type: BooleanConstructor;
default: boolean;
};
ariaLabel: StringConstructor;
id: StringConstructor;
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
valueChange: (_detail: RatingChangeDetail) => true;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
max: NumberConstructor;
value: {
type: PropType<number | undefined>;
default: undefined;
};
defaultValue: {
type: PropType<number | undefined>;
default: undefined;
};
readOnly: {
type: BooleanConstructor;
default: boolean;
};
ariaLabel: StringConstructor;
id: StringConstructor;
}>> & Readonly<{
onValueChange?: ((_detail: RatingChangeDetail) => any) | undefined;
}>, {
value: number | undefined;
defaultValue: number | undefined;
readOnly: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;

RootProvider

value
DeclarationView source
RootProviderts
export declare const RootProvider: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
value: {
type: PropType<UseRatingResult>;
required: true;
};
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
value: {
type: PropType<UseRatingResult>;
required: true;
};
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;

Star

value
DeclarationView source
Starts
export declare const Star: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
index: {
type: NumberConstructor;
required: true;
};
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
index: {
type: NumberConstructor;
required: true;
};
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;

useRating

function
DeclarationView source
useRatingts
declare function useRating(input: () => RatingInput, options?: () => RatingOptions): UseRatingResult;
Name
Kind
Type
Requirement
input
parameter
() => RatingInput
required
options
parameter
() => RatingOptions
optional
return
return value
UseRatingResult
n/a
Name
input
Kind
parameter
Type
() => RatingInput
Requirement
required
Name
options
Kind
parameter
Type
() => RatingOptions
Requirement
optional
Name
return
Kind
return value
Type
UseRatingResult
Requirement
n/a

UseRatingResult

interface
DeclarationView source
UseRatingResultts
interface UseRatingResult {
readonly service: RatingService;
readonly connector: RatingApi;
readonly scope: PartScope;
readonly snapshot: ShallowRef<RatingSnapshot>;
}
Name
Kind
Type
Requirement
connector
property
RatingApi
required
scope
property
PartScope
required
service
property
RatingService
required
snapshot
property
ShallowRef<RatingSnapshot>
required
Name
connector
Kind
property
Type
RatingApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
RatingService
Requirement
required
Name
snapshot
Kind
property
Type
ShallowRef<RatingSnapshot>
Requirement
required

@grassroot/ui-headless-angular/rating

Angular adapter

5 exports
View source packages/ui-headless/angular/src/rating/index.ts
DeclarationView source
createRatingStorets
export declare function createRatingStore(initial: RatingInput, options?: RatingOptions): RatingStore;
Name
Kind
Type
Requirement
initial
parameter
RatingInput
required
options
parameter
RatingOptions
optional
return
return value
RatingStore
n/a
Name
initial
Kind
parameter
Type
RatingInput
Requirement
required
Name
options
Kind
parameter
Type
RatingOptions
Requirement
optional
Name
return
Kind
return value
Type
RatingStore
Requirement
n/a

GrRatingRoot

class
DeclarationView source
GrRatingRootts
export declare class GrRatingRoot implements OnDestroy {
readonly max: import("@angular/core").InputSignal<number | undefined>;
readonly value: import("@angular/core").InputSignal<number | undefined>;
readonly defaultValue: import("@angular/core").InputSignal<number | undefined>;
readonly readOnly: import("@angular/core").InputSignal<boolean>;
readonly ariaLabel: import("@angular/core").InputSignal<string | undefined>;
readonly className: import("@angular/core").InputSignal<string | undefined>;
readonly valueChange: import("@angular/core").OutputEmitterRef<RatingChangeDetail>;
readonly store: RatingStore;
private readonly host;
private readonly listeners;
private last;
constructor();
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<GrRatingRoot, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<GrRatingRoot, "gr-rating-root", never, { "max": { "alias": "max"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "className": { "alias": "class"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, ["*"], true, never>;
}
Name
Kind
Type
Requirement
ariaLabel
property
import("@angular/core").InputSignal<string | undefined>
required
className
property
import("@angular/core").InputSignal<string | undefined>
required
defaultValue
property
import("@angular/core").InputSignal<number | undefined>
required
host
property
any
required
last
property
any
required
listeners
property
any
required
max
property
import("@angular/core").InputSignal<number | undefined>
required
ngOnDestroy
method
() => void
required
ɵcmp
property
i0.ɵɵComponentDeclaration<GrRatingRoot, "gr-rating-root", never, { "max": { "alias": "max"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "className": { "alias": "class"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, ["*"], true, never>
required
ɵfac
property
i0.ɵɵFactoryDeclaration<GrRatingRoot, never>
required
readOnly
property
import("@angular/core").InputSignal<boolean>
required
store
property
RatingStore
required
value
property
import("@angular/core").InputSignal<number | undefined>
required
valueChange
property
import("@angular/core").OutputEmitterRef<RatingChangeDetail>
required
Name
ariaLabel
Kind
property
Type
import("@angular/core").InputSignal<string | undefined>
Requirement
required
Name
className
Kind
property
Type
import("@angular/core").InputSignal<string | undefined>
Requirement
required
Name
defaultValue
Kind
property
Type
import("@angular/core").InputSignal<number | undefined>
Requirement
required
Name
host
Kind
property
Type
any
Requirement
required
Name
last
Kind
property
Type
any
Requirement
required
Name
listeners
Kind
property
Type
any
Requirement
required
Name
max
Kind
property
Type
import("@angular/core").InputSignal<number | undefined>
Requirement
required
Name
ngOnDestroy
Kind
method
Type
() => void
Requirement
required
Name
ɵcmp
Kind
property
Type
i0.ɵɵComponentDeclaration<GrRatingRoot, "gr-rating-root", never, { "max": { "alias": "max"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "className": { "alias": "class"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, ["*"], true, never>
Requirement
required
Name
ɵfac
Kind
property
Type
i0.ɵɵFactoryDeclaration<GrRatingRoot, never>
Requirement
required
Name
readOnly
Kind
property
Type
import("@angular/core").InputSignal<boolean>
Requirement
required
Name
store
Kind
property
Type
RatingStore
Requirement
required
Name
value
Kind
property
Type
import("@angular/core").InputSignal<number | undefined>
Requirement
required
Name
valueChange
Kind
property
Type
import("@angular/core").OutputEmitterRef<RatingChangeDetail>
Requirement
required
DeclarationView source
GrRatingRootProviderts
export declare class GrRatingRootProvider implements OnDestroy {
private readonly store;
private readonly host;
private readonly listeners;
constructor();
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<GrRatingRootProvider, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<GrRatingRootProvider, "gr-rating-root-provider", never, {}, {}, never, ["*"], true, never>;
}
Name
Kind
Type
Requirement
host
property
any
required
listeners
property
any
required
ngOnDestroy
method
() => void
required
ɵcmp
property
i0.ɵɵComponentDeclaration<GrRatingRootProvider, "gr-rating-root-provider", never, {}, {}, never, ["*"], true, never>
required
ɵfac
property
i0.ɵɵFactoryDeclaration<GrRatingRootProvider, never>
required
store
property
any
required
Name
host
Kind
property
Type
any
Requirement
required
Name
listeners
Kind
property
Type
any
Requirement
required
Name
ngOnDestroy
Kind
method
Type
() => void
Requirement
required
Name
ɵcmp
Kind
property
Type
i0.ɵɵComponentDeclaration<GrRatingRootProvider, "gr-rating-root-provider", never, {}, {}, never, ["*"], true, never>
Requirement
required
Name
ɵfac
Kind
property
Type
i0.ɵɵFactoryDeclaration<GrRatingRootProvider, never>
Requirement
required
Name
store
Kind
property
Type
any
Requirement
required

GrRatingStar

class
DeclarationView source
GrRatingStarts
export declare class GrRatingStar implements OnDestroy {
readonly index: import("@angular/core").InputSignal<number>;
private readonly store;
private readonly element;
private readonly listeners;
private readonly consumer;
constructor();
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<GrRatingStar, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<GrRatingStar, "[grRatingStar]", never, { "index": { "alias": "index"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
}
Name
Kind
Type
Requirement
consumer
property
any
required
element
property
any
required
index
property
import("@angular/core").InputSignal<number>
required
listeners
property
any
required
ngOnDestroy
method
() => void
required
ɵdir
property
i0.ɵɵDirectiveDeclaration<GrRatingStar, "[grRatingStar]", never, { "index": { "alias": "index"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>
required
ɵfac
property
i0.ɵɵFactoryDeclaration<GrRatingStar, never>
required
store
property
any
required
Name
consumer
Kind
property
Type
any
Requirement
required
Name
element
Kind
property
Type
any
Requirement
required
Name
index
Kind
property
Type
import("@angular/core").InputSignal<number>
Requirement
required
Name
listeners
Kind
property
Type
any
Requirement
required
Name
ngOnDestroy
Kind
method
Type
() => void
Requirement
required
Name
ɵdir
Kind
property
Type
i0.ɵɵDirectiveDeclaration<GrRatingStar, "[grRatingStar]", never, { "index": { "alias": "index"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>
Requirement
required
Name
ɵfac
Kind
property
Type
i0.ɵɵFactoryDeclaration<GrRatingStar, never>
Requirement
required
Name
store
Kind
property
Type
any
Requirement
required

RatingStore

interface
DeclarationView source
RatingStorets
export interface RatingStore {
readonly service: RatingService;
readonly connector: RatingApi;
readonly scope: PartScope;
readonly version: WritableSignal<number>;
start(): void;
stop(): void;
sync(input: RatingInput): void;
syncOptions(options: Record<string, unknown>): void;
}
Name
Kind
Type
Requirement
connector
property
RatingApi
required
scope
property
PartScope
required
service
property
RatingService
required
start
method
() => void
required
stop
method
() => void
required
sync
method
(input: RatingInput) => void
required
syncOptions
method
(options: Record<string, unknown>) => void
required
version
property
WritableSignal<number>
required
Name
connector
Kind
property
Type
RatingApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
RatingService
Requirement
required
Name
start
Kind
method
Type
() => void
Requirement
required
Name
stop
Kind
method
Type
() => void
Requirement
required
Name
sync
Kind
method
Type
(input: RatingInput) => void
Requirement
required
Name
syncOptions
Kind
method
Type
(options: Record<string, unknown>) => void
Requirement
required
Name
version
Kind
property
Type
WritableSignal<number>
Requirement
required

@grassroot/ui-headless-svelte/rating

Svelte adapter

6 exports
View source packages/ui-headless/svelte/src/rating/index.ts

createRating

function
DeclarationView source
createRatingts
export declare function createRating(input: () => RatingInput, options?: UseRatingOptions): UseRatingResult;
Name
Kind
Type
Requirement
input
parameter
() => RatingInput
required
options
parameter
UseRatingOptions
optional
return
return value
UseRatingResult
n/a
Name
input
Kind
parameter
Type
() => RatingInput
Requirement
required
Name
options
Kind
parameter
Type
UseRatingOptions
Requirement
optional
Name
return
Kind
return value
Type
UseRatingResult
Requirement
n/a

Parts

value
DeclarationView source
Partsts
export declare const Parts: LegacyComponentType;
Name
Kind
Type
Requirement
args
parameter
Parameters<Component<Record<string, any>>>
optional
return
return value
ReturnType<Component<Record<string, any>, Record<string, any>>>
n/a
Name
args
Kind
parameter
Type
Parameters<Component<Record<string, any>>>
Requirement
optional
Name
return
Kind
return value
Type
ReturnType<Component<Record<string, any>, Record<string, any>>>
Requirement
n/a

Root

value
DeclarationView source
Rootts
export declare const Root: LegacyComponentType;
Name
Kind
Type
Requirement
args
parameter
Parameters<Component<Record<string, any>>>
optional
return
return value
ReturnType<Component<Record<string, any>, Record<string, any>>>
n/a
Name
args
Kind
parameter
Type
Parameters<Component<Record<string, any>>>
Requirement
optional
Name
return
Kind
return value
Type
ReturnType<Component<Record<string, any>, Record<string, any>>>
Requirement
n/a

RootProvider

value
DeclarationView source
RootProviderts
export declare const RootProvider: LegacyComponentType;
Name
Kind
Type
Requirement
args
parameter
Parameters<Component<Record<string, any>>>
optional
return
return value
ReturnType<Component<Record<string, any>, Record<string, any>>>
n/a
Name
args
Kind
parameter
Type
Parameters<Component<Record<string, any>>>
Requirement
optional
Name
return
Kind
return value
Type
ReturnType<Component<Record<string, any>, Record<string, any>>>
Requirement
n/a

UseRatingOptions

interface
DeclarationView source
UseRatingOptionsts
export interface UseRatingOptions {
readonly id?: string;
readonly ariaLabel?: string;
readonly onValueChange?: (detail: import("@grassroot/ui-headless-core/rating").RatingChangeDetail) => void;
}
Name
Kind
Type
Requirement
ariaLabel
property
string
optional
id
property
string
optional
onValueChange
property
(detail: import("@grassroot/ui-headless-core/rating").RatingChangeDetail) => void
optional
Name
ariaLabel
Kind
property
Type
string
Requirement
optional
Name
id
Kind
property
Type
string
Requirement
optional
Name
onValueChange
Kind
property
Type
(detail: import("@grassroot/ui-headless-core/rating").RatingChangeDetail) => void
Requirement
optional

UseRatingResult

interface
DeclarationView source
UseRatingResultts
export interface UseRatingResult {
readonly service: RatingService;
readonly connector: RatingApi;
readonly scope: ReturnType<typeof import("@grassroot/ui-headless-core").createPartScope>;
readonly version: () => number;
}
Name
Kind
Type
Requirement
connector
property
RatingApi
required
scope
property
ReturnType<typeof import("@grassroot/ui-headless-core").createPartScope>
required
service
property
RatingService
required
version
property
() => number
required
Name
connector
Kind
property
Type
RatingApi
Requirement
required
Name
scope
Kind
property
Type
ReturnType<typeof import("@grassroot/ui-headless-core").createPartScope>
Requirement
required
Name
service
Kind
property
Type
RatingService
Requirement
required
Name
version
Kind
property
Type
() => number
Requirement
required

@grassroot/ui-headless-solid/rating

Solid adapter

6 exports
View source packages/ui-headless/solid/src/rating/index.ts

Root

function
DeclarationView source
Rootts
export declare function Root(props: RatingRootProps): JSX.Element;
Name
Kind
Type
Requirement
props
parameter
RatingRootProps
required
return
return value
JSX.Element
n/a
Name
props
Kind
parameter
Type
RatingRootProps
Requirement
required
Name
return
Kind
return value
Type
JSX.Element
Requirement
n/a

RootProvider

function
DeclarationView source
RootProviderts
export declare function RootProvider(props: RatingRootProviderProps): JSX.Element;
Name
Kind
Type
Requirement
props
parameter
RatingRootProviderProps
required
return
return value
JSX.Element
n/a
Name
props
Kind
parameter
Type
RatingRootProviderProps
Requirement
required
Name
return
Kind
return value
Type
JSX.Element
Requirement
n/a

Star

function
DeclarationView source
Starts
export declare function Star(props: RatingStarProps): JSX.Element;
Name
Kind
Type
Requirement
props
parameter
RatingStarProps
required
return
return value
JSX.Element
n/a
Name
props
Kind
parameter
Type
RatingStarProps
Requirement
required
Name
return
Kind
return value
Type
JSX.Element
Requirement
n/a

useRating

function
DeclarationView source
useRatingts
export declare function useRating(input: Accessor<RatingInput>, options?: UseRatingOptions): UseRatingResult;
Name
Kind
Type
Requirement
input
parameter
Accessor<RatingInput>
required
options
parameter
UseRatingOptions
optional
return
return value
UseRatingResult
n/a
Name
input
Kind
parameter
Type
Accessor<RatingInput>
Requirement
required
Name
options
Kind
parameter
Type
UseRatingOptions
Requirement
optional
Name
return
Kind
return value
Type
UseRatingResult
Requirement
n/a

UseRatingOptions

interface
DeclarationView source
UseRatingOptionsts
export interface UseRatingOptions {
readonly id?: string;
readonly ariaLabel?: string;
readonly onValueChange?: (detail: RatingChangeDetail) => void;
}
Name
Kind
Type
Requirement
ariaLabel
property
string
optional
id
property
string
optional
onValueChange
property
(detail: RatingChangeDetail) => void
optional
Name
ariaLabel
Kind
property
Type
string
Requirement
optional
Name
id
Kind
property
Type
string
Requirement
optional
Name
onValueChange
Kind
property
Type
(detail: RatingChangeDetail) => void
Requirement
optional

UseRatingResult

interface
DeclarationView source
UseRatingResultts
export interface UseRatingResult {
readonly service: RatingService;
readonly connector: RatingApi;
readonly scope: PartScope;
readonly snapshot: Accessor<RatingSnapshot>;
}
Name
Kind
Type
Requirement
connector
property
RatingApi
required
scope
property
PartScope
required
service
property
RatingService
required
snapshot
property
Accessor<RatingSnapshot>
required
Name
connector
Kind
property
Type
RatingApi
Requirement
required
Name
scope
Kind
property
Type
PartScope
Requirement
required
Name
service
Kind
property
Type
RatingService
Requirement
required
Name
snapshot
Kind
property
Type
Accessor<RatingSnapshot>
Requirement
required