Module: HakumiComponents::Types

Defined in:
lib/hakumi_components/types.rb,
lib/hakumi_components/types/html.rb,
lib/hakumi_components/types/stimulus.rb,
lib/hakumi_components/types/rendering.rb,
lib/hakumi_components/types/form_field.rb,
lib/hakumi_components/types/validation.rb

Constant Summary collapse

StringOrSymbol =
T.type_alias { T.any(String, Symbol) }
HtmlScalar =
T.type_alias { T.any(StringOrSymbol, T::Boolean, Numeric) }
HtmlKey =
T.type_alias { StringOrSymbol }
HtmlPrimitive =
T.type_alias { T.nilable(HtmlScalar) }
DataAttributes =
T.type_alias { T::Hash[HtmlKey, HtmlPrimitive] }
HtmlClassList =
T.type_alias { T::Array[T.nilable(String)] }
ClassModifierValue =
T.type_alias { T.nilable(T.any(StringOrSymbol, T::Boolean)) }
StyleMap =
T.type_alias { T::Hash[HtmlKey, T.nilable(String)] }
StringOrSymbolArray =
T.type_alias { T::Array[StringOrSymbol] }
HtmlAttributeValue =
T.type_alias do
  T.nilable(T.any(
    HtmlPrimitive,
    DataAttributes,
    HtmlClassList
  ))
end
HtmlAttributes =
T.type_alias { T::Hash[Symbol, HtmlAttributeValue] }
StyleValue =
T.type_alias { T.any(StyleMap, T::Array[String]) }
ClassModifiers =
T.type_alias { T::Hash[HtmlKey, ClassModifierValue] }
CssClasses =
T.type_alias { T.any(T.nilable(String), HtmlClassList) }
StimulusScalar =
T.type_alias { T.any(StringOrSymbol, T::Boolean, Numeric) }
StimulusArrayValue =
T.type_alias { T::Array[T.any(StringOrSymbol, Numeric)] }
StimulusObject =
T.type_alias { T::Hash[Symbol, T.nilable(T.any(StringOrSymbol, Numeric))] }
StimulusObjectArray =
T.type_alias { T::Array[StimulusObject] }
StimulusValue =
T.type_alias { T.nilable(T.any(StimulusScalar, StimulusArrayValue, StimulusObjectArray, StimulusObject)) }
StimulusValues =
T.type_alias do
  T::Hash[Symbol, StimulusValue]
end
StimulusData =
T.type_alias do
  T::Hash[String, T.nilable(StimulusScalar)]
end
ComponentRenderable =
T.type_alias { T.any(ViewComponent::Base, ViewComponent::Slot) }
Renderable =
T.type_alias { T.nilable(T.any(String, ActiveSupport::SafeBuffer, ViewComponent::Base, ViewComponent::Slot)) }
RenderedContent =
T.type_alias { T.nilable(T.any(String, ActiveSupport::SafeBuffer)) }
FormFieldName =
T.type_alias { StringOrSymbol }
FormFieldErrors =
T.type_alias { T::Array[String] }
FormFieldScalar =
T.type_alias do
  T.nilable(T.any(
    String,
    Symbol,
    T::Boolean,
    Numeric,
    Date,
    Time,
    DateTime,
    ActiveSupport::TimeWithZone,
    ActiveSupport::SafeBuffer
  ))
end
FormFieldValue =
T.type_alias { T.any(FormFieldScalar, T::Array[FormFieldScalar]) }
FormFieldConfig =
T.type_alias { T::Hash[Symbol, T.any(String, T::Array[String], FormFieldValue)] }
ValidationPrimitive =
T.type_alias { T.any(String, Symbol, T::Boolean, Numeric) }
ValidationComparable =
T.type_alias { T.any(String, Symbol, Numeric) }
ValidationList =
T.type_alias { T::Array[ValidationComparable] }
MessageOptionValue =
T.type_alias { T.nilable(ValidationComparable) }
MessageOptions =
T.type_alias { T::Hash[Symbol, MessageOptionValue] }
ValidationRulePayload =
T.type_alias { T::Hash[Symbol, MessageOptionValue] }
ComparisonOperand =
T.type_alias { T::Hash[Symbol, MessageOptionValue] }
ValidatorOptionValue =
T.type_alias do
  T.nilable(T.any(ValidationPrimitive, Regexp, T::Range[Numeric], ValidationList, Proc))
end
ValidatorOptions =
T.type_alias { T::Hash[Symbol, ValidatorOptionValue] }
ValidationRule =
T.type_alias do
  T::Hash[Symbol, T.nilable(T.any(ValidationPrimitive, ValidationRulePayload, ValidationList))]
end