DocsAPI referenceHeadlessquestionnaire

questionnaire 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/questionnaire

Core connector and vanilla API

18 exports
View source packages/ui-headless/core/src/questionnaire/index.ts
DeclarationView source
cloneQuestionnaireAnswersts
declare function cloneQuestionnaireAnswers(answers: readonly QuestionnaireAnswer[]): readonly QuestionnaireAnswer[];
Name
Kind
Type
Requirement
answers
parameter
readonly QuestionnaireAnswer[]
required
return
return value
readonly QuestionnaireAnswer[]
n/a
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
required
Name
return
Kind
return value
Type
readonly QuestionnaireAnswer[]
Requirement
n/a
DeclarationView source
connectQuestionnairets
declare function connectQuestionnaire(service: QuestionnaireService, scope: PartScope, options?: QuestionnaireConnectOptions): QuestionnaireApi;
Name
Kind
Type
Requirement
service
parameter
QuestionnaireService
required
scope
parameter
PartScope
required
options
parameter
QuestionnaireConnectOptions
optional
return
return value
QuestionnaireApi
n/a
Name
service
Kind
parameter
Type
QuestionnaireService
Requirement
required
Name
scope
Kind
parameter
Type
PartScope
Requirement
required
Name
options
Kind
parameter
Type
QuestionnaireConnectOptions
Requirement
optional
Name
return
Kind
return value
Type
QuestionnaireApi
Requirement
n/a
DeclarationView source
mountQuestionnairets
declare function mountQuestionnaire(container: HTMLElement, options: MountQuestionnaireOptions): QuestionnaireMount;
Name
Kind
Type
Requirement
container
parameter
HTMLElement
required
options
parameter
MountQuestionnaireOptions
required
return
return value
QuestionnaireMount
n/a
Name
container
Kind
parameter
Type
HTMLElement
Requirement
required
Name
options
Kind
parameter
Type
MountQuestionnaireOptions
Requirement
required
Name
return
Kind
return value
Type
QuestionnaireMount
Requirement
n/a
DeclarationView source
MountQuestionnaireOptionsts
interface MountQuestionnaireOptions extends QuestionnaireInput, QuestionnaireConnectOptions {}
DeclarationView source
questionnaireAnatomyts
export declare const questionnaireAnatomy: {
readonly scope: "questionnaire";
readonly parts: readonly ["root", "item", "choice", "previous", "next", "skip", "submit"];
};
Name
Kind
Type
Requirement
parts
property
readonly ["root", "item", "choice", "previous", "next", "skip", "submit"]
required
scope
property
"questionnaire"
required
Name
parts
Kind
property
Type
readonly ["root", "item", "choice", "previous", "next", "skip", "submit"]
Requirement
required
Name
scope
Kind
property
Type
"questionnaire"
Requirement
required

QuestionnaireApi

interface
DeclarationView source
QuestionnaireApits
interface QuestionnaireApi {
rootProps(): PartProps;
itemProps(item: QuestionnaireItem): PartProps;
choiceProps(item: QuestionnaireItem, value: string): PartProps;
previousProps(): PartProps;
nextProps(): PartProps;
skipProps(): PartProps;
submitProps(): PartProps;
readonly item: string | undefined;
readonly answers: QuestionnaireContext["answers"];
destroy(): void;
}
Name
Kind
Type
Requirement
answers
property
QuestionnaireContext["answers"]
required
choiceProps
method
(item: QuestionnaireItem, value: string) => PartProps
required
destroy
method
() => void
required
item
property
string | undefined
required
itemProps
method
(item: QuestionnaireItem) => PartProps
required
nextProps
method
() => PartProps
required
previousProps
method
() => PartProps
required
rootProps
method
() => PartProps
required
skipProps
method
() => PartProps
required
submitProps
method
() => PartProps
required
Name
answers
Kind
property
Type
QuestionnaireContext["answers"]
Requirement
required
Name
choiceProps
Kind
method
Type
(item: QuestionnaireItem, value: string) => PartProps
Requirement
required
Name
destroy
Kind
method
Type
() => void
Requirement
required
Name
item
Kind
property
Type
string | undefined
Requirement
required
Name
itemProps
Kind
method
Type
(item: QuestionnaireItem) => PartProps
Requirement
required
Name
nextProps
Kind
method
Type
() => PartProps
Requirement
required
Name
previousProps
Kind
method
Type
() => PartProps
Requirement
required
Name
rootProps
Kind
method
Type
() => PartProps
Requirement
required
Name
skipProps
Kind
method
Type
() => PartProps
Requirement
required
Name
submitProps
Kind
method
Type
() => PartProps
Requirement
required
DeclarationView source
questionnaireChoicePartitionts
declare function questionnaireChoicePartition(item: QuestionnaireItem, answers: readonly QuestionnaireAnswer[]): {
readonly selected: readonly string[];
readonly freeform: readonly string[];
};
Name
Kind
Type
Requirement
item
parameter
QuestionnaireItem
required
answers
parameter
readonly QuestionnaireAnswer[]
required
return
return value
{ readonly selected: readonly string[]; readonly freeform: readonly string[]; }
n/a
Name
item
Kind
parameter
Type
QuestionnaireItem
Requirement
required
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
required
Name
return
Kind
return value
Type
{ readonly selected: readonly string[]; readonly freeform: readonly string[]; }
Requirement
n/a
DeclarationView source
QuestionnaireConnectOptionsts
interface QuestionnaireConnectOptions {
readonly onItemChange?: (item: string) => void;
readonly onAnswersChange?: (answers: QuestionnaireContext["answers"]) => void;
readonly onSubmit?: (answers: QuestionnaireContext["answers"]) => void;
}
Name
Kind
Type
Requirement
onAnswersChange
property
(answers: QuestionnaireContext["answers"]) => void
optional
onItemChange
property
(item: string) => void
optional
onSubmit
property
(answers: QuestionnaireContext["answers"]) => void
optional
Name
onAnswersChange
Kind
property
Type
(answers: QuestionnaireContext["answers"]) => void
Requirement
optional
Name
onItemChange
Kind
property
Type
(item: string) => void
Requirement
optional
Name
onSubmit
Kind
property
Type
(answers: QuestionnaireContext["answers"]) => void
Requirement
optional
DeclarationView source
questionnaireInputValuets
declare function questionnaireInputValue(item: QuestionnaireItem, answers: readonly QuestionnaireAnswer[]): string;
Name
Kind
Type
Requirement
item
parameter
QuestionnaireItem
required
answers
parameter
readonly QuestionnaireAnswer[]
required
return
return value
string
n/a
Name
item
Kind
parameter
Type
QuestionnaireItem
Requirement
required
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
required
Name
return
Kind
return value
Type
string
Requirement
n/a
DeclarationView source
QuestionnaireKeyboardInputts
interface QuestionnaireKeyboardInput {
readonly key: string;
readonly altKey?: boolean;
readonly ctrlKey?: boolean;
readonly metaKey?: boolean;
readonly target?: QuestionnaireKeyboardTarget;
}
Name
Kind
Type
Requirement
altKey
property
boolean
optional
ctrlKey
property
boolean
optional
key
property
string
required
metaKey
property
boolean
optional
target
property
QuestionnaireKeyboardTarget
optional
Name
altKey
Kind
property
Type
boolean
Requirement
optional
Name
ctrlKey
Kind
property
Type
boolean
Requirement
optional
Name
key
Kind
property
Type
string
Requirement
required
Name
metaKey
Kind
property
Type
boolean
Requirement
optional
Name
target
Kind
property
Type
QuestionnaireKeyboardTarget
Requirement
optional
DeclarationView source
questionnaireKeyboardTargetts
declare function questionnaireKeyboardTarget(target: unknown): QuestionnaireKeyboardTarget;
Name
Kind
Type
Requirement
target
parameter
unknown
required
return
return value
QuestionnaireKeyboardTarget
n/a
Name
target
Kind
parameter
Type
unknown
Requirement
required
Name
return
Kind
return value
Type
QuestionnaireKeyboardTarget
Requirement
n/a
DeclarationView source
QuestionnaireKeyboardTargetts
type QuestionnaireKeyboardTarget = "text" | "button" | "other";
DeclarationView source
questionnaireKeyEffectts
declare function questionnaireKeyEffect(input: QuestionnaireKeyboardInput, item: QuestionnaireItem, shortcuts: QuestionnaireShortcutMode | undefined, answers?: readonly QuestionnaireAnswer[]): QuestionnaireKeyEffect;
Name
Kind
Type
Requirement
input
parameter
QuestionnaireKeyboardInput
required
item
parameter
QuestionnaireItem
required
shortcuts
parameter
QuestionnaireShortcutMode | undefined
required
answers
parameter
readonly QuestionnaireAnswer[]
optional
return
return value
QuestionnaireKeyEffect
n/a
Name
input
Kind
parameter
Type
QuestionnaireKeyboardInput
Requirement
required
Name
item
Kind
parameter
Type
QuestionnaireItem
Requirement
required
Name
shortcuts
Kind
parameter
Type
QuestionnaireShortcutMode | undefined
Requirement
required
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
optional
Name
return
Kind
return value
Type
QuestionnaireKeyEffect
Requirement
n/a
DeclarationView source
QuestionnaireKeyEffectts
type QuestionnaireKeyEffect = {
readonly type: "choice";
readonly value: string;
readonly focusChoiceIndex: number;
readonly preventDefault: true;
} | {
readonly type: "continue";
readonly preventDefault: true;
} | {
readonly type: "previous";
readonly preventDefault: true;
} | {
readonly type: "next";
readonly preventDefault: true;
} | null;

QuestionnaireMount

interface
DeclarationView source
QuestionnaireMountts
interface QuestionnaireMount {
readonly service: QuestionnaireService;
readonly connector: QuestionnaireApi;
readonly root: HTMLElement;
destroy(): void;
}
Name
Kind
Type
Requirement
connector
property
QuestionnaireApi
required
destroy
method
() => void
required
root
property
HTMLElement
required
service
property
QuestionnaireService
required
Name
connector
Kind
property
Type
QuestionnaireApi
Requirement
required
Name
destroy
Kind
method
Type
() => void
Requirement
required
Name
root
Kind
property
Type
HTMLElement
Requirement
required
Name
service
Kind
property
Type
QuestionnaireService
Requirement
required
DeclarationView source
QuestionnairePartts
type QuestionnairePart = (typeof questionnaireAnatomy.parts)[number];
DeclarationView source
QuestionnaireServicets
type QuestionnaireService = Service<QuestionnaireInput, "ready", QuestionnaireContext, QuestionnaireEvent, QuestionnaireCommand>;
DeclarationView source
runQuestionnaireCommandts
declare function runQuestionnaireCommand(command: QuestionnaireCommand, options?: QuestionnaireConnectOptions): void;
Name
Kind
Type
Requirement
command
parameter
QuestionnaireCommand
required
options
parameter
QuestionnaireConnectOptions
optional
return
return value
void
n/a
Name
command
Kind
parameter
Type
QuestionnaireCommand
Requirement
required
Name
options
Kind
parameter
Type
QuestionnaireConnectOptions
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/questionnairets
import { Root } from "@grassroot/ui-headless-react/questionnaire";

Vue imports

@grassroot/ui-headless-vue/questionnairets
<script setup lang="ts">
import { Root } from "@grassroot/ui-headless-vue/questionnaire";
</script>

Angular imports

@grassroot/ui-headless-angular/questionnairets
import { GrQuestionnaireRoot } from "@grassroot/ui-headless-angular/questionnaire";

Svelte imports

@grassroot/ui-headless-svelte/questionnairets
<script lang="ts">
import { Root } from "@grassroot/ui-headless-svelte/questionnaire";
</script>

Solid imports

@grassroot/ui-headless-solid/questionnairets
import { Root } from "@grassroot/ui-headless-solid/questionnaire";

@grassroot/ui-headless-react/questionnaire

React adapter

10 exports
View source packages/ui-headless/react/src/questionnaire/index.ts
DeclarationView source
cloneQuestionnaireAnswersts
declare function cloneQuestionnaireAnswers(answers: readonly QuestionnaireAnswer[]): readonly QuestionnaireAnswer[];
Name
Kind
Type
Requirement
answers
parameter
readonly QuestionnaireAnswer[]
required
return
return value
readonly QuestionnaireAnswer[]
n/a
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
required
Name
return
Kind
return value
Type
readonly QuestionnaireAnswer[]
Requirement
n/a
DeclarationView source
questionnaireChoicePartitionts
declare function questionnaireChoicePartition(item: QuestionnaireItem, answers: readonly QuestionnaireAnswer[]): {
readonly selected: readonly string[];
readonly freeform: readonly string[];
};
Name
Kind
Type
Requirement
item
parameter
QuestionnaireItem
required
answers
parameter
readonly QuestionnaireAnswer[]
required
return
return value
{ readonly selected: readonly string[]; readonly freeform: readonly string[]; }
n/a
Name
item
Kind
parameter
Type
QuestionnaireItem
Requirement
required
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
required
Name
return
Kind
return value
Type
{ readonly selected: readonly string[]; readonly freeform: readonly string[]; }
Requirement
n/a
DeclarationView source
questionnaireInputValuets
declare function questionnaireInputValue(item: QuestionnaireItem, answers: readonly QuestionnaireAnswer[]): string;
Name
Kind
Type
Requirement
item
parameter
QuestionnaireItem
required
answers
parameter
readonly QuestionnaireAnswer[]
required
return
return value
string
n/a
Name
item
Kind
parameter
Type
QuestionnaireItem
Requirement
required
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
required
Name
return
Kind
return value
Type
string
Requirement
n/a
DeclarationView source
questionnaireKeyboardTargetts
declare function questionnaireKeyboardTarget(target: unknown): QuestionnaireKeyboardTarget;
Name
Kind
Type
Requirement
target
parameter
unknown
required
return
return value
QuestionnaireKeyboardTarget
n/a
Name
target
Kind
parameter
Type
unknown
Requirement
required
Name
return
Kind
return value
Type
QuestionnaireKeyboardTarget
Requirement
n/a
DeclarationView source
QuestionnaireKeyboardTargetts
type QuestionnaireKeyboardTarget = "text" | "button" | "other";
DeclarationView source
questionnaireKeyEffectts
declare function questionnaireKeyEffect(input: QuestionnaireKeyboardInput, item: QuestionnaireItem, shortcuts: QuestionnaireShortcutMode | undefined, answers?: readonly QuestionnaireAnswer[]): QuestionnaireKeyEffect;
Name
Kind
Type
Requirement
input
parameter
QuestionnaireKeyboardInput
required
item
parameter
QuestionnaireItem
required
shortcuts
parameter
QuestionnaireShortcutMode | undefined
required
answers
parameter
readonly QuestionnaireAnswer[]
optional
return
return value
QuestionnaireKeyEffect
n/a
Name
input
Kind
parameter
Type
QuestionnaireKeyboardInput
Requirement
required
Name
item
Kind
parameter
Type
QuestionnaireItem
Requirement
required
Name
shortcuts
Kind
parameter
Type
QuestionnaireShortcutMode | undefined
Requirement
required
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
optional
Name
return
Kind
return value
Type
QuestionnaireKeyEffect
Requirement
n/a
DeclarationView source
QuestionnaireKeyEffectts
type QuestionnaireKeyEffect = {
readonly type: "choice";
readonly value: string;
readonly focusChoiceIndex: number;
readonly preventDefault: true;
} | {
readonly type: "continue";
readonly preventDefault: true;
} | {
readonly type: "previous";
readonly preventDefault: true;
} | {
readonly type: "next";
readonly preventDefault: true;
} | null;
DeclarationView source
QuestionnaireRootPropsts
interface QuestionnaireRootProps extends Omit<FormHTMLAttributes<HTMLFormElement>, "onSubmit">, QuestionnaireInput {
readonly onItemChange?: (item: string) => void;
readonly onAnswersChange?: (answers: QuestionnaireInput["answers"]) => void;
readonly onSubmitRequest?: (answers: QuestionnaireInput["answers"]) => void;
readonly children?: ReactNode;
}
Name
Kind
Type
Requirement
children
property
ReactNode
optional
onAnswersChange
property
(answers: QuestionnaireInput["answers"]) => void
optional
onItemChange
property
(item: string) => void
optional
onSubmitRequest
property
(answers: QuestionnaireInput["answers"]) => void
optional
Name
children
Kind
property
Type
ReactNode
Requirement
optional
Name
onAnswersChange
Kind
property
Type
(answers: QuestionnaireInput["answers"]) => void
Requirement
optional
Name
onItemChange
Kind
property
Type
(item: string) => void
Requirement
optional
Name
onSubmitRequest
Kind
property
Type
(answers: QuestionnaireInput["answers"]) => void
Requirement
optional

Root

value
DeclarationView source
Rootts
export declare const Root: import("react").ForwardRefExoticComponent<QuestionnaireRootProps & import("react").RefAttributes<HTMLFormElement>>;
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

useQuestionnaire

function
DeclarationView source
useQuestionnairets
declare function useQuestionnaire(input: QuestionnaireInput, options?: QuestionnaireOptions): {
service: QuestionnaireService;
connector: QuestionnaireApi;
snapshot: QuestionnaireSnapshot;
};
Name
Kind
Type
Requirement
input
parameter
QuestionnaireInput
required
options
parameter
QuestionnaireOptions
optional
return
return value
{ service: QuestionnaireService; connector: QuestionnaireApi; snapshot: QuestionnaireSnapshot; }
n/a
Name
input
Kind
parameter
Type
QuestionnaireInput
Requirement
required
Name
options
Kind
parameter
Type
QuestionnaireOptions
Requirement
optional
Name
return
Kind
return value
Type
{ service: QuestionnaireService; connector: QuestionnaireApi; snapshot: QuestionnaireSnapshot; }
Requirement
n/a

@grassroot/ui-headless-vue/questionnaire

Vue adapter

8 exports
View source packages/ui-headless/vue/src/questionnaire/index.ts
DeclarationView source
cloneQuestionnaireAnswersts
declare function cloneQuestionnaireAnswers(answers: readonly QuestionnaireAnswer[]): readonly QuestionnaireAnswer[];
Name
Kind
Type
Requirement
answers
parameter
readonly QuestionnaireAnswer[]
required
return
return value
readonly QuestionnaireAnswer[]
n/a
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
required
Name
return
Kind
return value
Type
readonly QuestionnaireAnswer[]
Requirement
n/a
DeclarationView source
questionnaireChoicePartitionts
declare function questionnaireChoicePartition(item: QuestionnaireItem, answers: readonly QuestionnaireAnswer[]): {
readonly selected: readonly string[];
readonly freeform: readonly string[];
};
Name
Kind
Type
Requirement
item
parameter
QuestionnaireItem
required
answers
parameter
readonly QuestionnaireAnswer[]
required
return
return value
{ readonly selected: readonly string[]; readonly freeform: readonly string[]; }
n/a
Name
item
Kind
parameter
Type
QuestionnaireItem
Requirement
required
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
required
Name
return
Kind
return value
Type
{ readonly selected: readonly string[]; readonly freeform: readonly string[]; }
Requirement
n/a
DeclarationView source
questionnaireInputValuets
declare function questionnaireInputValue(item: QuestionnaireItem, answers: readonly QuestionnaireAnswer[]): string;
Name
Kind
Type
Requirement
item
parameter
QuestionnaireItem
required
answers
parameter
readonly QuestionnaireAnswer[]
required
return
return value
string
n/a
Name
item
Kind
parameter
Type
QuestionnaireItem
Requirement
required
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
required
Name
return
Kind
return value
Type
string
Requirement
n/a
DeclarationView source
questionnaireKeyboardTargetts
declare function questionnaireKeyboardTarget(target: unknown): QuestionnaireKeyboardTarget;
Name
Kind
Type
Requirement
target
parameter
unknown
required
return
return value
QuestionnaireKeyboardTarget
n/a
Name
target
Kind
parameter
Type
unknown
Requirement
required
Name
return
Kind
return value
Type
QuestionnaireKeyboardTarget
Requirement
n/a
DeclarationView source
QuestionnaireKeyboardTargetts
type QuestionnaireKeyboardTarget = "text" | "button" | "other";
DeclarationView source
questionnaireKeyEffectts
declare function questionnaireKeyEffect(input: QuestionnaireKeyboardInput, item: QuestionnaireItem, shortcuts: QuestionnaireShortcutMode | undefined, answers?: readonly QuestionnaireAnswer[]): QuestionnaireKeyEffect;
Name
Kind
Type
Requirement
input
parameter
QuestionnaireKeyboardInput
required
item
parameter
QuestionnaireItem
required
shortcuts
parameter
QuestionnaireShortcutMode | undefined
required
answers
parameter
readonly QuestionnaireAnswer[]
optional
return
return value
QuestionnaireKeyEffect
n/a
Name
input
Kind
parameter
Type
QuestionnaireKeyboardInput
Requirement
required
Name
item
Kind
parameter
Type
QuestionnaireItem
Requirement
required
Name
shortcuts
Kind
parameter
Type
QuestionnaireShortcutMode | undefined
Requirement
required
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
optional
Name
return
Kind
return value
Type
QuestionnaireKeyEffect
Requirement
n/a
DeclarationView source
QuestionnaireKeyEffectts
type QuestionnaireKeyEffect = {
readonly type: "choice";
readonly value: string;
readonly focusChoiceIndex: number;
readonly preventDefault: true;
} | {
readonly type: "continue";
readonly preventDefault: true;
} | {
readonly type: "previous";
readonly preventDefault: true;
} | {
readonly type: "next";
readonly preventDefault: true;
} | null;

Root

value
DeclarationView source
Rootts
export declare const Root: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
items: {
type: PropType<QuestionnaireInput["items"]>;
required: true;
};
item: StringConstructor;
defaultItem: StringConstructor;
answers: PropType<QuestionnaireInput["answers"]>;
defaultAnswers: PropType<QuestionnaireInput["defaultAnswers"]>;
shortcuts: PropType<QuestionnaireInput["shortcuts"]>;
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
itemChange: (_value: string) => true;
answersChange: (_value: unknown) => true;
submitRequest: (_value: unknown) => true;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
items: {
type: PropType<QuestionnaireInput["items"]>;
required: true;
};
item: StringConstructor;
defaultItem: StringConstructor;
answers: PropType<QuestionnaireInput["answers"]>;
defaultAnswers: PropType<QuestionnaireInput["defaultAnswers"]>;
shortcuts: PropType<QuestionnaireInput["shortcuts"]>;
}>> & Readonly<{
onAnswersChange?: ((_value: unknown) => any) | undefined;
onItemChange?: ((_value: string) => any) | undefined;
onSubmitRequest?: ((_value: unknown) => any) | undefined;
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;

@grassroot/ui-headless-angular/questionnaire

Angular adapter

8 exports
View source packages/ui-headless/angular/src/questionnaire/index.ts
DeclarationView source
cloneQuestionnaireAnswersts
declare function cloneQuestionnaireAnswers(answers: readonly QuestionnaireAnswer[]): readonly QuestionnaireAnswer[];
Name
Kind
Type
Requirement
answers
parameter
readonly QuestionnaireAnswer[]
required
return
return value
readonly QuestionnaireAnswer[]
n/a
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
required
Name
return
Kind
return value
Type
readonly QuestionnaireAnswer[]
Requirement
n/a
DeclarationView source
GrQuestionnaireRootts
export declare class GrQuestionnaireRoot implements OnDestroy {
readonly items: import("@angular/core").InputSignal<readonly QuestionnaireItem[]>;
readonly item: import("@angular/core").InputSignal<string | undefined>;
readonly defaultItem: import("@angular/core").InputSignal<string | undefined>;
readonly answers: import("@angular/core").InputSignal<readonly QuestionnaireAnswer[] | undefined>;
readonly defaultAnswers: import("@angular/core").InputSignal<readonly QuestionnaireAnswer[] | undefined>;
readonly itemChange: import("@angular/core").OutputEmitterRef<string>;
readonly answersChange: import("@angular/core").OutputEmitterRef<readonly QuestionnaireAnswer[]>;
readonly submitRequest: import("@angular/core").OutputEmitterRef<readonly QuestionnaireAnswer[]>;
private readonly host;
private readonly parts;
private last;
private readonly store;
constructor();
private apply;
private render;
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<GrQuestionnaireRoot, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<GrQuestionnaireRoot, "gr-questionnaire-root", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "item": { "alias": "item"; "required": false; "isSignal": true; }; "defaultItem": { "alias": "defaultItem"; "required": false; "isSignal": true; }; "answers": { "alias": "answers"; "required": false; "isSignal": true; }; "defaultAnswers": { "alias": "defaultAnswers"; "required": false; "isSignal": true; }; }, { "itemChange": "itemChange"; "answersChange": "answersChange"; "submitRequest": "submitRequest"; }, never, never, true, never>;
}
Name
Kind
Type
Requirement
answers
property
import("@angular/core").InputSignal<readonly QuestionnaireAnswer[] | undefined>
required
answersChange
property
import("@angular/core").OutputEmitterRef<readonly QuestionnaireAnswer[]>
required
apply
property
any
required
defaultAnswers
property
import("@angular/core").InputSignal<readonly QuestionnaireAnswer[] | undefined>
required
defaultItem
property
import("@angular/core").InputSignal<string | undefined>
required
host
property
any
required
item
property
import("@angular/core").InputSignal<string | undefined>
required
itemChange
property
import("@angular/core").OutputEmitterRef<string>
required
items
property
import("@angular/core").InputSignal<readonly QuestionnaireItem[]>
required
last
property
any
required
ngOnDestroy
method
() => void
required
ɵcmp
property
i0.ɵɵComponentDeclaration<GrQuestionnaireRoot, "gr-questionnaire-root", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "item": { "alias": "item"; "required": false; "isSignal": true; }; "defaultItem": { "alias": "defaultItem"; "required": false; "isSignal": true; }; "answers": { "alias": "answers"; "required": false; "isSignal": true; }; "defaultAnswers": { "alias": "defaultAnswers"; "required": false; "isSignal": true; }; }, { "itemChange": "itemChange"; "answersChange": "answersChange"; "submitRequest": "submitRequest"; }, never, never, true, never>
required
ɵfac
property
i0.ɵɵFactoryDeclaration<GrQuestionnaireRoot, never>
required
parts
property
any
required
Name
answers
Kind
property
Type
import("@angular/core").InputSignal<readonly QuestionnaireAnswer[] | undefined>
Requirement
required
Name
answersChange
Kind
property
Type
import("@angular/core").OutputEmitterRef<readonly QuestionnaireAnswer[]>
Requirement
required
Name
apply
Kind
property
Type
any
Requirement
required
Name
defaultAnswers
Kind
property
Type
import("@angular/core").InputSignal<readonly QuestionnaireAnswer[] | undefined>
Requirement
required
Name
defaultItem
Kind
property
Type
import("@angular/core").InputSignal<string | undefined>
Requirement
required
Name
host
Kind
property
Type
any
Requirement
required
Name
item
Kind
property
Type
import("@angular/core").InputSignal<string | undefined>
Requirement
required
Name
itemChange
Kind
property
Type
import("@angular/core").OutputEmitterRef<string>
Requirement
required
Name
items
Kind
property
Type
import("@angular/core").InputSignal<readonly QuestionnaireItem[]>
Requirement
required
Name
last
Kind
property
Type
any
Requirement
required
Name
ngOnDestroy
Kind
method
Type
() => void
Requirement
required
Name
ɵcmp
Kind
property
Type
i0.ɵɵComponentDeclaration<GrQuestionnaireRoot, "gr-questionnaire-root", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "item": { "alias": "item"; "required": false; "isSignal": true; }; "defaultItem": { "alias": "defaultItem"; "required": false; "isSignal": true; }; "answers": { "alias": "answers"; "required": false; "isSignal": true; }; "defaultAnswers": { "alias": "defaultAnswers"; "required": false; "isSignal": true; }; }, { "itemChange": "itemChange"; "answersChange": "answersChange"; "submitRequest": "submitRequest"; }, never, never, true, never>
Requirement
required
Name
ɵfac
Kind
property
Type
i0.ɵɵFactoryDeclaration<GrQuestionnaireRoot, never>
Requirement
required
Name
parts
Kind
property
Type
any
Requirement
required
Name
render
Kind
property
Type
any
Requirement
required
Name
store
Kind
property
Type
any
Requirement
required
Name
submitRequest
Kind
property
Type
import("@angular/core").OutputEmitterRef<readonly QuestionnaireAnswer[]>
Requirement
required
DeclarationView source
questionnaireChoicePartitionts
declare function questionnaireChoicePartition(item: QuestionnaireItem, answers: readonly QuestionnaireAnswer[]): {
readonly selected: readonly string[];
readonly freeform: readonly string[];
};
Name
Kind
Type
Requirement
item
parameter
QuestionnaireItem
required
answers
parameter
readonly QuestionnaireAnswer[]
required
return
return value
{ readonly selected: readonly string[]; readonly freeform: readonly string[]; }
n/a
Name
item
Kind
parameter
Type
QuestionnaireItem
Requirement
required
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
required
Name
return
Kind
return value
Type
{ readonly selected: readonly string[]; readonly freeform: readonly string[]; }
Requirement
n/a
DeclarationView source
questionnaireInputValuets
declare function questionnaireInputValue(item: QuestionnaireItem, answers: readonly QuestionnaireAnswer[]): string;
Name
Kind
Type
Requirement
item
parameter
QuestionnaireItem
required
answers
parameter
readonly QuestionnaireAnswer[]
required
return
return value
string
n/a
Name
item
Kind
parameter
Type
QuestionnaireItem
Requirement
required
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
required
Name
return
Kind
return value
Type
string
Requirement
n/a
DeclarationView source
questionnaireKeyboardTargetts
declare function questionnaireKeyboardTarget(target: unknown): QuestionnaireKeyboardTarget;
Name
Kind
Type
Requirement
target
parameter
unknown
required
return
return value
QuestionnaireKeyboardTarget
n/a
Name
target
Kind
parameter
Type
unknown
Requirement
required
Name
return
Kind
return value
Type
QuestionnaireKeyboardTarget
Requirement
n/a
DeclarationView source
QuestionnaireKeyboardTargetts
type QuestionnaireKeyboardTarget = "text" | "button" | "other";
DeclarationView source
questionnaireKeyEffectts
declare function questionnaireKeyEffect(input: QuestionnaireKeyboardInput, item: QuestionnaireItem, shortcuts: QuestionnaireShortcutMode | undefined, answers?: readonly QuestionnaireAnswer[]): QuestionnaireKeyEffect;
Name
Kind
Type
Requirement
input
parameter
QuestionnaireKeyboardInput
required
item
parameter
QuestionnaireItem
required
shortcuts
parameter
QuestionnaireShortcutMode | undefined
required
answers
parameter
readonly QuestionnaireAnswer[]
optional
return
return value
QuestionnaireKeyEffect
n/a
Name
input
Kind
parameter
Type
QuestionnaireKeyboardInput
Requirement
required
Name
item
Kind
parameter
Type
QuestionnaireItem
Requirement
required
Name
shortcuts
Kind
parameter
Type
QuestionnaireShortcutMode | undefined
Requirement
required
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
optional
Name
return
Kind
return value
Type
QuestionnaireKeyEffect
Requirement
n/a
DeclarationView source
QuestionnaireKeyEffectts
type QuestionnaireKeyEffect = {
readonly type: "choice";
readonly value: string;
readonly focusChoiceIndex: number;
readonly preventDefault: true;
} | {
readonly type: "continue";
readonly preventDefault: true;
} | {
readonly type: "previous";
readonly preventDefault: true;
} | {
readonly type: "next";
readonly preventDefault: true;
} | null;

@grassroot/ui-headless-svelte/questionnaire

Svelte adapter

8 exports
View source packages/ui-headless/svelte/src/questionnaire/index.ts
DeclarationView source
cloneQuestionnaireAnswersts
declare function cloneQuestionnaireAnswers(answers: readonly QuestionnaireAnswer[]): readonly QuestionnaireAnswer[];
Name
Kind
Type
Requirement
answers
parameter
readonly QuestionnaireAnswer[]
required
return
return value
readonly QuestionnaireAnswer[]
n/a
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
required
Name
return
Kind
return value
Type
readonly QuestionnaireAnswer[]
Requirement
n/a
DeclarationView source
questionnaireChoicePartitionts
declare function questionnaireChoicePartition(item: QuestionnaireItem, answers: readonly QuestionnaireAnswer[]): {
readonly selected: readonly string[];
readonly freeform: readonly string[];
};
Name
Kind
Type
Requirement
item
parameter
QuestionnaireItem
required
answers
parameter
readonly QuestionnaireAnswer[]
required
return
return value
{ readonly selected: readonly string[]; readonly freeform: readonly string[]; }
n/a
Name
item
Kind
parameter
Type
QuestionnaireItem
Requirement
required
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
required
Name
return
Kind
return value
Type
{ readonly selected: readonly string[]; readonly freeform: readonly string[]; }
Requirement
n/a
DeclarationView source
questionnaireInputValuets
declare function questionnaireInputValue(item: QuestionnaireItem, answers: readonly QuestionnaireAnswer[]): string;
Name
Kind
Type
Requirement
item
parameter
QuestionnaireItem
required
answers
parameter
readonly QuestionnaireAnswer[]
required
return
return value
string
n/a
Name
item
Kind
parameter
Type
QuestionnaireItem
Requirement
required
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
required
Name
return
Kind
return value
Type
string
Requirement
n/a
DeclarationView source
questionnaireKeyboardTargetts
declare function questionnaireKeyboardTarget(target: unknown): QuestionnaireKeyboardTarget;
Name
Kind
Type
Requirement
target
parameter
unknown
required
return
return value
QuestionnaireKeyboardTarget
n/a
Name
target
Kind
parameter
Type
unknown
Requirement
required
Name
return
Kind
return value
Type
QuestionnaireKeyboardTarget
Requirement
n/a
DeclarationView source
QuestionnaireKeyboardTargetts
type QuestionnaireKeyboardTarget = "text" | "button" | "other";
DeclarationView source
questionnaireKeyEffectts
declare function questionnaireKeyEffect(input: QuestionnaireKeyboardInput, item: QuestionnaireItem, shortcuts: QuestionnaireShortcutMode | undefined, answers?: readonly QuestionnaireAnswer[]): QuestionnaireKeyEffect;
Name
Kind
Type
Requirement
input
parameter
QuestionnaireKeyboardInput
required
item
parameter
QuestionnaireItem
required
shortcuts
parameter
QuestionnaireShortcutMode | undefined
required
answers
parameter
readonly QuestionnaireAnswer[]
optional
return
return value
QuestionnaireKeyEffect
n/a
Name
input
Kind
parameter
Type
QuestionnaireKeyboardInput
Requirement
required
Name
item
Kind
parameter
Type
QuestionnaireItem
Requirement
required
Name
shortcuts
Kind
parameter
Type
QuestionnaireShortcutMode | undefined
Requirement
required
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
optional
Name
return
Kind
return value
Type
QuestionnaireKeyEffect
Requirement
n/a
DeclarationView source
QuestionnaireKeyEffectts
type QuestionnaireKeyEffect = {
readonly type: "choice";
readonly value: string;
readonly focusChoiceIndex: number;
readonly preventDefault: true;
} | {
readonly type: "continue";
readonly preventDefault: true;
} | {
readonly type: "previous";
readonly preventDefault: true;
} | {
readonly type: "next";
readonly preventDefault: true;
} | null;

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

@grassroot/ui-headless-solid/questionnaire

Solid adapter

8 exports
View source packages/ui-headless/solid/src/questionnaire/index.tsx
DeclarationView source
cloneQuestionnaireAnswersts
declare function cloneQuestionnaireAnswers(answers: readonly QuestionnaireAnswer[]): readonly QuestionnaireAnswer[];
Name
Kind
Type
Requirement
answers
parameter
readonly QuestionnaireAnswer[]
required
return
return value
readonly QuestionnaireAnswer[]
n/a
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
required
Name
return
Kind
return value
Type
readonly QuestionnaireAnswer[]
Requirement
n/a
DeclarationView source
questionnaireChoicePartitionts
declare function questionnaireChoicePartition(item: QuestionnaireItem, answers: readonly QuestionnaireAnswer[]): {
readonly selected: readonly string[];
readonly freeform: readonly string[];
};
Name
Kind
Type
Requirement
item
parameter
QuestionnaireItem
required
answers
parameter
readonly QuestionnaireAnswer[]
required
return
return value
{ readonly selected: readonly string[]; readonly freeform: readonly string[]; }
n/a
Name
item
Kind
parameter
Type
QuestionnaireItem
Requirement
required
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
required
Name
return
Kind
return value
Type
{ readonly selected: readonly string[]; readonly freeform: readonly string[]; }
Requirement
n/a
DeclarationView source
questionnaireInputValuets
declare function questionnaireInputValue(item: QuestionnaireItem, answers: readonly QuestionnaireAnswer[]): string;
Name
Kind
Type
Requirement
item
parameter
QuestionnaireItem
required
answers
parameter
readonly QuestionnaireAnswer[]
required
return
return value
string
n/a
Name
item
Kind
parameter
Type
QuestionnaireItem
Requirement
required
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
required
Name
return
Kind
return value
Type
string
Requirement
n/a
DeclarationView source
questionnaireKeyboardTargetts
declare function questionnaireKeyboardTarget(target: unknown): QuestionnaireKeyboardTarget;
Name
Kind
Type
Requirement
target
parameter
unknown
required
return
return value
QuestionnaireKeyboardTarget
n/a
Name
target
Kind
parameter
Type
unknown
Requirement
required
Name
return
Kind
return value
Type
QuestionnaireKeyboardTarget
Requirement
n/a
DeclarationView source
QuestionnaireKeyboardTargetts
type QuestionnaireKeyboardTarget = "text" | "button" | "other";
DeclarationView source
questionnaireKeyEffectts
declare function questionnaireKeyEffect(input: QuestionnaireKeyboardInput, item: QuestionnaireItem, shortcuts: QuestionnaireShortcutMode | undefined, answers?: readonly QuestionnaireAnswer[]): QuestionnaireKeyEffect;
Name
Kind
Type
Requirement
input
parameter
QuestionnaireKeyboardInput
required
item
parameter
QuestionnaireItem
required
shortcuts
parameter
QuestionnaireShortcutMode | undefined
required
answers
parameter
readonly QuestionnaireAnswer[]
optional
return
return value
QuestionnaireKeyEffect
n/a
Name
input
Kind
parameter
Type
QuestionnaireKeyboardInput
Requirement
required
Name
item
Kind
parameter
Type
QuestionnaireItem
Requirement
required
Name
shortcuts
Kind
parameter
Type
QuestionnaireShortcutMode | undefined
Requirement
required
Name
answers
Kind
parameter
Type
readonly QuestionnaireAnswer[]
Requirement
optional
Name
return
Kind
return value
Type
QuestionnaireKeyEffect
Requirement
n/a
DeclarationView source
QuestionnaireKeyEffectts
type QuestionnaireKeyEffect = {
readonly type: "choice";
readonly value: string;
readonly focusChoiceIndex: number;
readonly preventDefault: true;
} | {
readonly type: "continue";
readonly preventDefault: true;
} | {
readonly type: "previous";
readonly preventDefault: true;
} | {
readonly type: "next";
readonly preventDefault: true;
} | null;

Root

function
DeclarationView source
Rootts
export declare function Root(props: QuestionnaireInput & {
onItemChange?: (value: string) => void;
onAnswersChange?: (value: QuestionnaireInput["answers"]) => void;
onSubmitRequest?: (value: QuestionnaireInput["answers"]) => void;
children?: JSX.Element;
}): JSX.Element;
Name
Kind
Type
Requirement
props
parameter
QuestionnaireInput & { onItemChange?: (value: string) => void; onAnswersChange?: (value: QuestionnaireInput["answers"]) => void; onSubmitRequest?: (value: QuestionnaireInput["answers"]) => void; children?: JSX.Element; }
required
return
return value
JSX.Element
n/a
Name
props
Kind
parameter
Type
QuestionnaireInput & { onItemChange?: (value: string) => void; onAnswersChange?: (value: QuestionnaireInput["answers"]) => void; onSubmitRequest?: (value: QuestionnaireInput["answers"]) => void; children?: JSX.Element; }
Requirement
required
Name
return
Kind
return value
Type
JSX.Element
Requirement
n/a