@formkit/addons

Introdução

Recursos adicionais comuns, opcionais e de primeira parte para o FormKit.

Você pode adicionar este pacote usando npm install @formkit/addons ou yarn add @formkit/addons.

Funções

createAutoAnimatePlugin()

Adiciona auto-animação a cada entrada automaticamente:

Assinatura

createAutoAnimatePlugin(options?: AutoAnimateOptions, animationTargets?: Record<string, string[]>): FormKitPlugin;

Parâmetros

  • options opcionalAutoAnimateOptions
  • animationTargets opcional — Um mapa de tipos de entrada e um array de suas seções que devem ser animadas.

Retorna

FormKitPlugin

Exemplos

import { createApp } from 'vue'
import App from 'App.vue'
import { createAutoAnimatePlugin } from '@formkit/addons'
import { plugin, defaultConfig } from '@formkit/vue'

createApp(app).use(plugin, defaultPlugin({
  plugins: [
    createAutoAnimatePlugin({
      // configuração opcional
      duration: 250,
      easing: 'ease-in-out',
      delay: 0,
    },
    {
      // objeto opcional de alvos de animação
      global: ['outer', 'inner'],
      form: ['form'],
      repeater: ['items'],
    })
  ]
}))

createAutoHeightTextareaPlugin()

Cria um novo plugin de textarea de altura automática.

Assinatura

createAutoHeightTextareaPlugin(): FormKitPlugin;

Retorna

Um FormKitPlugin

createFloatingLabelsPlugin()

Cria um novo plugin de rótulos flutuantes.

Assinatura

createFloatingLabelsPlugin(FloatingLabelsOptions?: FloatingLabelsOptions): FormKitPlugin;

Parâmetros

Retorna

Um FormKitPlugin

createLocalStoragePlugin()

Cria um novo plugin de salvar no armazenamento local.

Assinatura

createLocalStoragePlugin(localStorageOptions?: LocalStorageOptions): FormKitPlugin;

Parâmetros

  • localStorageOptions opcional

Retorna

Um FormKitPlugin

createMultiStepPlugin()

Cria um novo plugin de múltiplos passos.

Assinatura

createMultiStepPlugin(options?: MultiStepOptions): FormKitPlugin;

Parâmetros

Retorna

Um FormKitPlugin

TypeScript

BeforeStepChange

A tipagem para a função beforeStepChange.

interface BeforeStepChange {
    (data: BeforeStepChangeData): any;
}

BeforeStepChangeData

interface BeforeStepChangeData<T = unknown> {
    currentStep: FormKitFrameworkContext<T>;
    delta: number;
    nextStep: FormKitFrameworkContext<T>;
}

FloatingLabelsOptions

As opções a serem passadas para createFloatingLabelsPlugin

interface FloatingLabelsOptions {
    useAsDefault?: boolean;
}

FormKitMultiStepSlots

interface FormKitMultiStepSlots<Props extends FormKitInputs<Props>> {
    badge: FormKitSlotData<Props, MultiStepSlotData&{
        step: FormKitFrameworkContext;
        index: number;
    }>;
    default: FormKitSlotData<Props, MultiStepSlotData>;
    multiStepOuter: FormKitSlotData<Props, MultiStepSlotData>;
    steps: FormKitSlotData<Props, MultiStepSlotData>;
    tab: FormKitSlotData<Props, MultiStepSlotData>;
    tabLabel: FormKitSlotData<Props, MultiStepSlotData&{
        step: FormKitFrameworkContext;
        index: number;
    }>;
    tabs: FormKitSlotData<Props, MultiStepSlotData>;
    validStepIcon: FormKitSlotData<Props, MultiStepSlotData&{
        step: FormKitFrameworkContext;
        index: number;
    }>;
    wrapper: FormKitSlotData<Props, MultiStepSlotData>;
}

FormKitStepSlots

interface FormKitStepSlots<Props extends FormKitInputs<Props>> {
    default: FormKitSlotData<Props, StepSlotData>;
    stepActions: FormKitSlotData<Props, StepSlotData>;
    stepInner: FormKitSlotData<Props, StepSlotData>;
    stepNext: FormKitSlotData<Props, StepSlotData>;
    stepPrevious: FormKitSlotData<Props, StepSlotData>;
}

LocalStorageOptions

As opções a serem passadas para createLocalStoragePlugin

interface LocalStorageOptions {
    beforeLoad?: (payload: any) => any;
    beforeSave?: (payload: any) => any;
    control?: string;
    debounce?: number;
    key?: string | number;
    maxAge?: number;
    prefix?: string;
}

MultiStepHandlers

interface MultiStepHandlers {
    incrementStep: (delta: number, currentStep: FormKitFrameworkContext | undefined) => () => void;
    setActiveStep: (step: FormKitFrameworkContext) => (e?: Event) => void;
    showStepErrors: (step: FormKitFrameworkContext) => boolean | undefined;
    triggerStepValidations: (step: FormKitFrameworkContext) => void;
}

MultiStepNodeAdditions

Argumentos adicionais que são adicionados ao FormKitNode de uma entrada de vários passos.

interface MultiStepNodeAdditions {
    goTo: (target: number | string) => void;
    next: () => void;
    previous: () => void;
}

MultiStepOptions

As opções a serem passadas para createMultiStepPlugin

interface MultiStepOptions {
    allowIncomplete?: boolean;
    hideProgressLabels?: boolean;
    tabStyle?:'tab' | 'progress';
}

MultiStepSlotData

interface MultiStepSlotData {
    activeStep: string;
    allowIncomplete?: boolean;
    beforeStepChange?: BeforeStepChange;
    handlers: FormKitFrameworkContext['handlers']&MultiStepHandlers;
    hideProgressLabels: boolean;
    node: FormKitMultiStepNode;
    steps: Array<FormKitMultiStepSlotData>;
    tabStyle:'tab' | 'progress';
    validStepIcon: string | undefined;
}

StepHandlers

interface StepHandlers {
    incrementStep: (delta: number) => () => void;
    next: () => void;
    previous: () => void;
}

StepSlotData

Dados de slot exclusivos para a entrada de passo.

interface StepSlotData {
    beforeStepChange?: BeforeStepChange;
    blockingCount: number;
    errorCount: number;
    handlers: FormKitFrameworkContext['handlers']&StepHandlers;
    hasBeenVisited: true | undefined;
    isActiveStep: boolean;
    isFirstStep: boolean;
    isLastStep: boolean;
    isValid: boolean;
    makeActive: () => void;
    nextAttrs?: Record<string, any>;
    nextLabel?: string;
    ordered: boolean;
    previousAttrs?: Record<string, any>;
    previousLabel?: string;
    showStepErrors: boolean;
    stepIndex: number;
    stepName: string;
    steps: Array<FormKitMultiStepSlotData>;
    totalErrorCount: number;
    validStepIcon?: string;
}

FormKitMultiStepNode

O tipo de nó que é aumentado com as funções next, previous e goTo.

export type FormKitMultiStepNode = FormKitNode & MultiStepNodeAdditions;

FormKitMultiStepSlotData

A tipagem para os dados de slot para uma entrada multi-etapas do FormKit.

export type FormKitMultiStepSlotData = FormKitFrameworkContext<Record<string, any>> & StepSlotData;