Module: HakumiComponents::FormBuilder::Contracts

Extended by:
T::Sig
Defined in:
app/form_builders/hakumi_components/form_builder/contracts.rb

Constant Summary collapse

BuilderRenderable =
T.type_alias { T.any(ActiveSupport::SafeBuffer, ViewComponent::Base) }
BuilderScalar =
T.type_alias { T.nilable(T.any(HakumiComponents::Types::ValidationPrimitive, Date, Time, DateTime, ActiveSupport::TimeWithZone)) }
OptionScalar =
T.type_alias do
  T.nilable(T.any(
    BuilderScalar,
    BuilderRenderable,
    Regexp,
    Proc
  ))
end
OptionHash =
T.type_alias { T::Hash[Symbol, OptionScalar] }
BuilderHtmlOptions =
T.type_alias { T::Hash[Symbol, HakumiComponents::Types::HtmlPrimitive] }
BuilderInitScalar =
T.type_alias { T.nilable(T.any(HakumiComponents::Types::ValidationPrimitive, Proc, ActionView::Helpers::FormBuilder)) }
BuilderInitValue =
T.type_alias do
  T.nilable(T.any(BuilderInitScalar, BuilderHtmlOptions))
end
BuilderInitOptions =
T.type_alias { T::Hash[Symbol, BuilderInitValue] }
MixedCollection =
T.type_alias do
  T::Array[T.any(
    HakumiComponents::SelectionControl::Entry,
    HakumiComponents::SelectionControl::TreeNode,
    HakumiComponents::Mentions::Option,
    HakumiComponents::Transfer::Item
  )]
end
OptionValue =
T.type_alias do
  T.any(
    OptionScalar,
    T::Array[OptionScalar],
    OptionHash,
    T::Array[OptionHash],
    MixedCollection,
    T::Array[HakumiComponents::SelectionControl::Option],
    T::Array[HakumiComponents::SelectionControl::Entry],
    T::Array[HakumiComponents::SelectionControl::TreeNode],
    T::Array[HakumiComponents::Mentions::Option],
    T::Array[HakumiComponents::Transfer::Item],
    T::Array[HakumiComponents::Radio::Group::Option],
    T::Array[HakumiComponents::SelectionControl::Coercion::FlatOptionInput],
    T::Array[HakumiComponents::SelectionControl::Coercion::EntryInput],
    T::Array[HakumiComponents::Transfer::Coercion::ItemInput],
    T::Array[HakumiComponents::Mentions::Coercion::OptionInput],
    T::Array[HakumiComponents::Types::ValidationRule]
  )
end
OptionsHash =
T.type_alias { T::Hash[Symbol, OptionValue] }