Module: Playbook::Props
- Extended by:
- ActiveSupport::Concern
- Included in:
- Playbook::PbAvatar::Avatar, Playbook::PbBadge::Badge, Playbook::PbBarGraph::BarGraph, Playbook::PbBody::Body, Playbook::PbButton::Button, Playbook::PbCaption::Caption, Playbook::PbCard::Card, Playbook::PbCard::CardBody, Playbook::PbCheckbox::Checkbox, Playbook::PbCircleIconButton::CircleIconButton, Playbook::PbContact::Contact, Playbook::PbCurrency::Currency, Playbook::PbDashboardValue::DashboardValue, Playbook::PbDate::Date, Playbook::PbDateRangeInline::DateRangeInline, Playbook::PbDateStacked::DateStacked, Playbook::PbDateYearStacked::DateYearStacked, Playbook::PbDistributionBar::DistributionBar, Playbook::PbFixedConfirmationToast::FixedConfirmationToast, Playbook::PbForm::Form, Playbook::PbHashtag::Hashtag, Playbook::PbHomeAddressStreet::HomeAddressStreet, Playbook::PbIcon::Icon, Playbook::PbIconCircle::IconCircle, Playbook::PbIconValue::IconValue, Playbook::PbImage::Image, Playbook::PbLabelPill::LabelPill, Playbook::PbLabelValue::LabelValue, Playbook::PbLayout::Body, Playbook::PbLayout::Layout, Playbook::PbLayout::Sidebar, Playbook::PbLegend::Legend, Playbook::PbLineGraph::LineGraph, Playbook::PbList::Item, Playbook::PbList::List, Playbook::PbLoadingInline::LoadingInline, Playbook::PbMessage::Message, Playbook::PbMultipleUsers::MultipleUsers, Playbook::PbMultipleUsersStacked::MultipleUsersStacked, Playbook::PbNav::Item, Playbook::PbNav::Nav, Playbook::PbOnlineStatus::OnlineStatus, Playbook::PbPerson::Person, Playbook::PbPersonContact::PersonContact, Playbook::PbPill::Pill, Playbook::PbPopover::Popover, Playbook::PbProgressPills::ProgressPills, Playbook::PbProgressSimple::ProgressSimple, Playbook::PbRadio::Radio, Playbook::PbSectionSeparator::SectionSeparator, Playbook::PbSelect::Select, Playbook::PbSelectableCard::SelectableCard, Playbook::PbSource::Source, Playbook::PbStarRating::StarRating, Playbook::PbStatChange::StatChange, Playbook::PbStatValue::StatValue, Playbook::PbTable::Table, Playbook::PbTextInput::TextInput, Playbook::PbTextarea::Textarea, Playbook::PbTime::Time, Playbook::PbTimestamp::Timestamp, Playbook::PbTitle::Title, Playbook::PbTitleCount::TitleCount, Playbook::PbTitleDetail::TitleDetail, Playbook::PbToggle::Toggle, Playbook::PbTypeahead::Typeahead, Playbook::PbUser::User, Playbook::PbUserBadge::UserBadge
- Defined in:
- app/pb_kits/playbook/props.rb,
app/pb_kits/playbook/props/base.rb,
app/pb_kits/playbook/props/date.rb,
app/pb_kits/playbook/props/enum.rb,
app/pb_kits/playbook/props/hash.rb,
app/pb_kits/playbook/props/proc.rb,
app/pb_kits/playbook/props/array.rb,
app/pb_kits/playbook/props/number.rb,
app/pb_kits/playbook/props/string.rb,
app/pb_kits/playbook/props/boolean.rb,
app/pb_kits/playbook/props/numeric.rb,
app/pb_kits/playbook/props/hash_array.rb,
app/pb_kits/playbook/props/percentage.rb,
app/pb_kits/playbook/props/number_array.rb
Defined Under Namespace
Classes: Array, Base, Boolean, Date, Enum, Error, Hash, HashArray, Number, NumberArray, Numeric, Percentage, Proc, String
Instance Method Summary
collapse
Instance Method Details
#generate_classname(*name_parts, separator: "_") ⇒ Object
36
37
38
39
40
41
|
# File 'app/pb_kits/playbook/props.rb', line 36
def generate_classname(*name_parts, separator: "_")
[
name_parts.compact.join(separator),
prop(:classname),
].compact.join(" ")
end
|
#initialize(prop_values = {}, &block) ⇒ Object
25
26
27
28
29
30
|
# File 'app/pb_kits/playbook/props.rb', line 25
def initialize(prop_values = {}, &block)
self.values = { children: block }.merge(Hash(prop_values))
self.class.props.each do |key, definition|
definition.validate! values[key]
end
end
|
#prop(name) ⇒ Object
32
33
34
|
# File 'app/pb_kits/playbook/props.rb', line 32
def prop(name)
self.class.props[name].value values[name]
end
|