UNPKG

@bitrix24/b24ui-nuxt

Version:

Bitrix24 UI-Kit for developing web applications REST API for NUXT & VUE

29 lines (28 loc) 1.61 kB
import type { InjectionKey, ComputedRef } from 'vue'; import type { FieldGroupProps } from '../components/FieldGroup.vue'; import type { GetObjectField } from '../types/utils'; export declare const fieldGroupInjectionKey: InjectionKey<ComputedRef<{ size: FieldGroupProps['size']; orientation: FieldGroupProps['orientation']; noSplit: FieldGroupProps['noSplit']; }>>; type Props<T> = { size?: GetObjectField<T, 'size'>; }; /** * Reads `size` / `orientation` from a wrapping `<B24FieldGroup>` (or `<B24ButtonGroup>`, etc.). * * **Always pass the raw `_props`, never the `useComponentProps` proxy** — the * fallback `props?.size ?? fieldGroup?.value.size` must keep the closer context * winning over `<B24Theme :props>`. To still apply theme defaults on bare inputs, * fall back to the proxy at the `tv()` call site: `size: groupSize.value ?? props.size`. */ export declare function useFieldGroup<T>(props: Props<T>): { orientation: ComputedRef<"horizontal" | "vertical" | undefined>; size: ComputedRef<"lg" | "sm" | "md" | "xl" | "xs" | "xss" | NonNullable<GetObjectField<T, "size">> | undefined>; noSplit: ComputedRef<boolean>; }; export declare const FieldGroupReset: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, { [key: string]: any; }>[] | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; export {};