Module: StimulusPlumbers::Themes::Schema

Defined in:
lib/stimulus_plumbers/themes/schema.rb,
lib/stimulus_plumbers/themes/schema/icon.rb,
lib/stimulus_plumbers/themes/schema/ranges.rb,
lib/stimulus_plumbers/themes/schema/card/ranges.rb,
lib/stimulus_plumbers/themes/schema/form/ranges.rb,
lib/stimulus_plumbers/themes/schema/link/ranges.rb,
lib/stimulus_plumbers/themes/schema/avatar/ranges.rb,
lib/stimulus_plumbers/themes/schema/button/ranges.rb,
lib/stimulus_plumbers/themes/schema/form/radio/ranges.rb,
lib/stimulus_plumbers/themes/schema/form/checkbox/ranges.rb

Defined Under Namespace

Modules: Avatar, Button, Card, Form, Icon, Link, Ranges

Constant Summary collapse

LIST =
{
  list:                     {}.freeze,
  list_section:             {}.freeze,
  list_section_title:       {}.freeze,
  list_section_description: {}.freeze,
  list_item:                {}.freeze,
  list_item_icon:           {}.freeze,
  list_item_content:        {}.freeze,
  list_item_title:          {}.freeze,
  list_item_description:    {}.freeze
}.freeze
AVATAR =
{
  avatar:       {
    size:    { default: :md, validate: Avatar::Ranges::SIZE },
    variant: { default: nil, validate: :avatar_variant_range }
  }.freeze,
  avatar_image: {}.freeze
}.freeze
BUTTON =
{
  button:       {
    type:    { default: :default, validate: Button::Ranges::TYPE },
    variant: { default: :primary, validate: Button::Ranges::VARIANT },
    size:    { default: :md,      validate: Button::Ranges::SIZE }
  }.freeze,
  button_group: {
    layout: { default: :inline, validate: Button::Ranges::LAYOUT }
  }.freeze,
  button_icon:  {}.freeze
}.freeze
CALENDAR =
{
  calendar:                 {}.freeze,
  calendar_days_of_week:    {}.freeze,
  calendar_days_of_month:   {}.freeze,
  calendar_months_of_year:  {}.freeze,
  calendar_years_of_decade: {}.freeze,
  calendar_row:             {}.freeze,
  calendar_day:             {
    today:    { default: false, validate: Ranges::BOOL },
    selected: { default: false, validate: Ranges::BOOL },
    outside:  { default: false, validate: Ranges::BOOL }
  }.freeze,
  calendar_month:           {
    outside: { default: false, validate: Ranges::BOOL }
  }.freeze,
  calendar_year:            {
    outside: { default: false, validate: Ranges::BOOL }
  }.freeze,
  calendar_quarter_grid:    {}.freeze
}.freeze
CARD =
{
  card:        { variant: { default: :tertiary, validate: Card::Ranges::VARIANT } }.freeze,
  card_header: {}.freeze,
  card_icon:   {}.freeze,
  card_title:  {}.freeze,
  card_body:   {}.freeze,
  card_action: {}.freeze
}.freeze
COMBOBOX =
{
  combobox:                           {}.freeze,
  combobox_popover:                   {}.freeze,
  combobox_trigger:                   {}.freeze,
  combobox_trigger_icon:              {}.freeze,
  combobox_trigger_group:             {}.freeze,
  combobox_option:                    {
    selected: { default: false, validate: Ranges::BOOL },
    disabled: { default: false, validate: Ranges::BOOL }
  }.freeze,
  combobox_option_group:              {}.freeze,
  combobox_listbox:                   {}.freeze,
  combobox_typeahead_loading:         {}.freeze,
  combobox_typeahead_loading_icon:    {}.freeze,
  combobox_typeahead_empty:           {}.freeze,
  combobox_time:                      {}.freeze,
  combobox_date_navigation:           {}.freeze,
  combobox_date_navigation_navigator: {}.freeze
}.freeze
FORM =
{
  form_group:                     {
    layout: { default: :stacked, validate: Form::Ranges::LAYOUT },
    error:  { default: false,    validate: Ranges::BOOL }
  }.freeze,
  form_field_label:               {
    required: { default: false, validate: Ranges::BOOL },
    hidden:   { default: false, validate: Ranges::BOOL }
  }.freeze,
  form_field_required_mark:       {}.freeze,
  form_field_hint:                {}.freeze,
  form_field_error:               {}.freeze,
  form_field_choice_items:        {
    layout: { default: :stacked, validate: Form::Ranges::LAYOUT }
  }.freeze,
  form_field_checkbox_label:      {
    type:    { default: :default,  validate: Form::Checkbox::Ranges::TYPE },
    variant: { default: :tertiary, validate: Form::Checkbox::Ranges::VARIANT }
  }.freeze,
  form_field_radio_label:         {
    type:    { default: :default,  validate: Form::Radio::Ranges::TYPE },
    variant: { default: :tertiary, validate: Form::Radio::Ranges::VARIANT }
  }.freeze,
  form_field_input:               { error: { default: false, validate: Ranges::BOOL } }.freeze,
  form_field_floating:            {
    error: { default: false, validate: Ranges::BOOL },
    type:  { default: nil,   validate: StimulusPlumbers::Form::Field::FLOATING_TYPES }
  }.freeze,
  form_field_floating_group:      {
    type: { default: nil, validate: StimulusPlumbers::Form::Field::FLOATING_TYPES }
  }.freeze,
  form_field_floating_label:      {
    type:  { default: nil,   validate: StimulusPlumbers::Form::Field::FLOATING_TYPES },
    error: { default: false, validate: Ranges::BOOL }
  }.freeze,
  form_field_input_textarea:      { error: { default: false, validate: Ranges::BOOL } }.freeze,
  form_field_input_file:          { error: { default: false, validate: Ranges::BOOL } }.freeze,
  form_field_input_select:        { error: { default: false, validate: Ranges::BOOL } }.freeze,
  form_field_input_checkbox:      {
    error:   { default: false,     validate: Ranges::BOOL },
    type:    { default: :default,  validate: Form::Checkbox::Ranges::TYPE },
    variant: { default: :tertiary, validate: Form::Checkbox::Ranges::VARIANT }
  }.freeze,
  form_field_input_radio:         {
    error:   { default: false,     validate: Ranges::BOOL },
    type:    { default: :default,  validate: Form::Radio::Ranges::TYPE },
    variant: { default: :tertiary, validate: Form::Radio::Ranges::VARIANT }
  }.freeze,
  form_field_input_combobox:      { error: { default: false, validate: Ranges::BOOL } }.freeze,
  form_field_input_reveal:        { error: { default: false, validate: Ranges::BOOL } }.freeze,
  form_field_input_clearable:     {}.freeze,
  form_field_input_button_reveal: {}.freeze,
  form_field_input_button_clear:  {}.freeze,
  form_submit:                    {
    type:    { default: :default, validate: Button::Ranges::TYPE },
    variant: { default: :primary, validate: Button::Ranges::VARIANT }
  }.freeze
}.freeze
ICON =
{
  icon: {}.freeze
}.freeze
INPUT_GROUP =
{
  input_group: { error: { default: false, validate: Ranges::BOOL } }.freeze
}.freeze
{
  link:      {
    type:    { default: :default, validate: Link::Ranges::TYPE },
    variant: { default: :default, validate: Link::Ranges::VARIANT }
  }.freeze,
  link_icon: {}.freeze
}.freeze
LAYOUT =
{
  divider:           {}.freeze,
  divider_separator: {}.freeze,
  divider_label:     {}.freeze,
  popover_wrapper:   {}.freeze,
  popover_trigger:   {}.freeze,
  popover:           {}.freeze
}.freeze