playbook_ui 8.4.0.alpha.dependencies.2 → 9.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +1 -18
- data/app/pb_kits/playbook/data/menu.yml +2 -3
- data/app/pb_kits/playbook/pb_avatar/_avatar.scss +0 -3
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +7 -0
- data/app/pb_kits/playbook/pb_form/docs/_description.md +2 -6
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +1 -1
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -4
- data/app/pb_kits/playbook/pb_form/docs/example.yml +2 -4
- data/app/pb_kits/playbook/pb_form/form.rb +14 -20
- data/app/pb_kits/playbook/pb_highlight/_highlight.jsx +1 -1
- data/app/pb_kits/playbook/pb_highlight/highlight.html.erb +3 -1
- data/app/pb_kits/playbook/pb_icon_stat_value/_icon_stat_value.jsx +3 -0
- data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.html.erb +1 -0
- data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.jsx +1 -1
- data/app/pb_kits/playbook/pb_progress_pills/docs/_description.md +3 -1
- data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_default.html.erb +1 -1
- data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_default.jsx +1 -0
- data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_status.html.erb +1 -1
- data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_status.jsx +1 -0
- data/app/pb_kits/playbook/pb_progress_pills/progress_pills.html.erb +1 -1
- data/app/pb_kits/playbook/pb_progress_pills/progress_pills.rb +5 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.scss +69 -54
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.jsx +2 -1
- data/app/pb_kits/playbook/pb_select/_select.scss +15 -5
- data/app/pb_kits/playbook/pb_select/docs/_select_custom_select.jsx +4 -1
- data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +1 -1
- data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_input.jsx +145 -135
- data/app/pb_kits/playbook/pb_stat_value/_stat_value.jsx +2 -0
- data/app/pb_kits/playbook/pb_stat_value/stat_value.html.erb +2 -0
- data/app/pb_kits/playbook/pb_text_input/_text_input.scss +17 -18
- data/app/pb_kits/playbook/pb_textarea/_textarea.scss +29 -19
- data/app/pb_kits/playbook/pb_textarea/_textarea_mixin.scss +9 -4
- data/app/pb_kits/playbook/pb_textarea/docs/_textarea_character_counter.jsx +5 -1
- data/app/pb_kits/playbook/pb_textarea/docs/_textarea_custom.jsx +4 -2
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +20 -14
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.jsx +1 -0
- data/app/pb_kits/playbook/tokens/_colors.scss +1 -1
- data/lib/playbook.rb +4 -1
- data/lib/playbook/forms.rb +3 -0
- data/lib/playbook/forms/builder.rb +31 -0
- data/{app/pb_kits/playbook/pb_form/form_builder → lib/playbook/forms/builder}/action_area.rb +2 -2
- data/lib/playbook/forms/builder/checkbox_field.rb +32 -0
- data/lib/playbook/forms/builder/collection_select_field.rb +19 -0
- data/lib/playbook/forms/builder/date_picker_field.rb +37 -0
- data/{app/pb_kits/playbook/pb_form/form_builder → lib/playbook/forms/builder}/form_field_builder.rb +2 -2
- data/lib/playbook/forms/builder/select_field.rb +19 -0
- data/lib/playbook/forms/builder/typeahead_field.rb +12 -0
- data/lib/playbook/pb_forms_helper.rb +41 -0
- data/lib/playbook/pb_kit_helper.rb +2 -0
- data/lib/playbook/props/base.rb +1 -1
- data/lib/playbook/version.rb +1 -2
- metadata +90 -61
- data/app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb +0 -60
- data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb +0 -61
- data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.md +0 -1
- data/app/pb_kits/playbook/pb_form/form_builder.rb +0 -31
- data/app/pb_kits/playbook/pb_form/form_builder/checkbox_field.rb +0 -34
- data/app/pb_kits/playbook/pb_form/form_builder/collection_select_field.rb +0 -21
- data/app/pb_kits/playbook/pb_form/form_builder/date_picker_field.rb +0 -39
- data/app/pb_kits/playbook/pb_form/form_builder/select_field.rb +0 -21
- data/app/pb_kits/playbook/pb_form/form_builder/typeahead_field.rb +0 -14
- data/app/pb_kits/playbook/pb_form/form_with.html.erb +0 -11
- data/app/pb_kits/playbook/pb_form/form_with.rb +0 -40
- data/app/pb_kits/playbook/pb_form/simple_form.html.erb +0 -11
- data/app/pb_kits/playbook/pb_form/simple_form.rb +0 -67
@@ -1 +0,0 @@
|
|
1
|
-
Validation displays an error with red border and red text below indicating that the user must fill out the field.
|
@@ -1,31 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Playbook
|
4
|
-
module PbForm
|
5
|
-
module FormBuilder
|
6
|
-
extend ActiveSupport::Concern
|
7
|
-
|
8
|
-
included do
|
9
|
-
prepend(FormFieldBuilder.new(:email_field, kit_name: "text_input"))
|
10
|
-
prepend(FormFieldBuilder.new(:number_field, kit_name: "text_input"))
|
11
|
-
prepend(FormFieldBuilder.new(:search_field, kit_name: "text_input"))
|
12
|
-
prepend(FormFieldBuilder.new(:telephone_field, kit_name: "text_input"))
|
13
|
-
prepend(FormFieldBuilder.new(:text_field, kit_name: "text_input"))
|
14
|
-
prepend(FormFieldBuilder.new(:password_field, kit_name: "text_input"))
|
15
|
-
prepend(FormFieldBuilder.new(:url_field, kit_name: "text_input"))
|
16
|
-
prepend(FormFieldBuilder.new(:text_area, kit_name: "textarea"))
|
17
|
-
prepend(TypeaheadField)
|
18
|
-
prepend(SelectField)
|
19
|
-
prepend(CollectionSelectField)
|
20
|
-
prepend(CheckboxField)
|
21
|
-
prepend(DatePickerField)
|
22
|
-
end
|
23
|
-
|
24
|
-
def actions
|
25
|
-
@template.send(:view_context).content_tag :ol, class: "pb-form-actions" do
|
26
|
-
yield ActionArea.new(@template, submit_default_value)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Playbook
|
4
|
-
module PbForm
|
5
|
-
module FormBuilder
|
6
|
-
module CheckboxField
|
7
|
-
def check_box(name, props: {}, **options)
|
8
|
-
label_text = @template.label(@object_name, name) if props[:label] == true
|
9
|
-
options[:required] = true if props[:required]
|
10
|
-
props[:margin_bottom] = "sm"
|
11
|
-
props[:form_spacing] = true
|
12
|
-
|
13
|
-
checked_value = options[:checked_value]
|
14
|
-
unchecked_value = options[:unchecked_value]
|
15
|
-
options.delete(:checked_value)
|
16
|
-
options.delete(:unchecked_value)
|
17
|
-
|
18
|
-
input = super(name, options, checked_value, unchecked_value)
|
19
|
-
|
20
|
-
if props[:label]
|
21
|
-
@template.pb_rails("caption", props: { text: label_text, margin_bottom: "xs" }) +
|
22
|
-
@template.pb_rails("checkbox", props: props) do
|
23
|
-
input
|
24
|
-
end
|
25
|
-
else
|
26
|
-
@template.pb_rails("checkbox", props: props) do
|
27
|
-
input
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Playbook
|
4
|
-
module PbForm
|
5
|
-
module FormBuilder
|
6
|
-
module CollectionSelectField
|
7
|
-
def collection_select(name, collection, value_method, text_method, options = {}, html_options = {}, props: {} )
|
8
|
-
props[:label] = @template.label(@object_name, name) if props[:label] == true
|
9
|
-
options[:skip_default_ids] = false unless options.has_key?(:skip_default_ids)
|
10
|
-
options[:prompt] = props[:blank_selection] || ""
|
11
|
-
html_options[:required] = "required" if props[:required]
|
12
|
-
input = super(name, collection, value_method, text_method, options, html_options)
|
13
|
-
|
14
|
-
@template.pb_rails("select", props: props) do
|
15
|
-
input
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Playbook
|
4
|
-
module PbForm
|
5
|
-
module FormBuilder
|
6
|
-
module DatePickerField
|
7
|
-
def date_picker(name, props: {})
|
8
|
-
prefix = @object_name
|
9
|
-
html_attribute_name = "#{prefix}[#{name}]"
|
10
|
-
html_id = "#{prefix}_#{name}"
|
11
|
-
|
12
|
-
props[:label] = @template.label(@object_name, name) if props[:label] == true
|
13
|
-
props[:label] = "Date Picker" if props[:label].nil?
|
14
|
-
|
15
|
-
props[:name] = html_attribute_name
|
16
|
-
props[:picker_id] = html_id
|
17
|
-
|
18
|
-
input = text_field(
|
19
|
-
name,
|
20
|
-
autocomplete: "off",
|
21
|
-
disabled: props[:disable_input],
|
22
|
-
data: props[:input_data],
|
23
|
-
aria: props[:input_aria],
|
24
|
-
props: {
|
25
|
-
error: props[:error],
|
26
|
-
label: props[:hide_label] ? nil : props[:label],
|
27
|
-
placeholder: props[:placeholder],
|
28
|
-
required: props[:required],
|
29
|
-
}
|
30
|
-
)
|
31
|
-
|
32
|
-
@template.pb_rails("date_picker", props: props) do
|
33
|
-
input
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Playbook
|
4
|
-
module PbForm
|
5
|
-
module FormBuilder
|
6
|
-
module SelectField
|
7
|
-
def select(name, choices = nil, options = {}, html_options = {}, props: {}, &block)
|
8
|
-
props[:label] = @template.label(@object_name, name) if props[:label] == true
|
9
|
-
options[:skip_default_ids] = false unless options.has_key?(:skip_default_ids)
|
10
|
-
options[:prompt] = props[:blank_selection] || ""
|
11
|
-
html_options[:required] = "required" if props[:required]
|
12
|
-
input = super(name, choices, options, html_options, &block)
|
13
|
-
|
14
|
-
@template.pb_rails("select", props: props) do
|
15
|
-
input
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Playbook
|
4
|
-
module PbForm
|
5
|
-
module FormBuilder
|
6
|
-
module TypeaheadField
|
7
|
-
def typeahead(name, _options = {}, _html_options = {}, props: {})
|
8
|
-
props[:name] = name
|
9
|
-
@template.pb_rails("typeahead", props: props)
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,11 +0,0 @@
|
|
1
|
-
<%= form_with(form_options, &method(:render_form)) %>
|
2
|
-
|
3
|
-
<% if validate %>
|
4
|
-
<% content_for :pb_js do %>
|
5
|
-
<%= javascript_tag do %>
|
6
|
-
window.addEventListener('DOMContentLoaded', function() {
|
7
|
-
PbFormValidation.start()
|
8
|
-
})
|
9
|
-
<% end %>
|
10
|
-
<% end %>
|
11
|
-
<% end %>
|
@@ -1,40 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Playbook
|
4
|
-
module PbForm
|
5
|
-
class FormWith < Playbook::KitBase
|
6
|
-
class FormBuilder < ::ActionView::Helpers::FormBuilder
|
7
|
-
include ::Playbook::PbForm::FormBuilder
|
8
|
-
end
|
9
|
-
|
10
|
-
prop :options, type: Playbook::Props::Hash, default: {}
|
11
|
-
prop :validate, type: Playbook::Props::Boolean, default: false
|
12
|
-
|
13
|
-
def data
|
14
|
-
prop(:data).merge("pb-form-validation" => validate)
|
15
|
-
end
|
16
|
-
|
17
|
-
def form_options
|
18
|
-
{
|
19
|
-
id: id,
|
20
|
-
aria: aria,
|
21
|
-
class: classname,
|
22
|
-
data: data,
|
23
|
-
builder: ::Playbook::PbForm::FormWith::FormBuilder,
|
24
|
-
}.merge(options)
|
25
|
-
end
|
26
|
-
|
27
|
-
def render_form(builder)
|
28
|
-
view_context.capture(builder, &children)
|
29
|
-
end
|
30
|
-
|
31
|
-
def classname
|
32
|
-
[generate_classname("pb-form"), options[:class]].join(" ")
|
33
|
-
end
|
34
|
-
|
35
|
-
def render_in(view_context, &_block)
|
36
|
-
super(view_context, &nil)
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
@@ -1,11 +0,0 @@
|
|
1
|
-
<%= simple_form_for model, options, &method(:render_form) %>
|
2
|
-
|
3
|
-
<% if validate %>
|
4
|
-
<% content_for :pb_js do %>
|
5
|
-
<%= javascript_tag do %>
|
6
|
-
window.addEventListener('DOMContentLoaded', function() {
|
7
|
-
PbFormValidation.start()
|
8
|
-
})
|
9
|
-
<% end %>
|
10
|
-
<% end %>
|
11
|
-
<% end %>
|
@@ -1,67 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
if defined?(SimpleForm)
|
4
|
-
module Playbook
|
5
|
-
module PbForm
|
6
|
-
class SimpleForm < Playbook::KitBase
|
7
|
-
class FormBuilder < ::SimpleForm::FormBuilder
|
8
|
-
include ::Playbook::PbForm::FormBuilder
|
9
|
-
|
10
|
-
def input(attribute_name, options = {}, &block)
|
11
|
-
super(
|
12
|
-
attribute_name,
|
13
|
-
options.deep_merge(label: false, input_html: {
|
14
|
-
props: {
|
15
|
-
label: true,
|
16
|
-
},
|
17
|
-
}),
|
18
|
-
&block
|
19
|
-
)
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
prop :options, type: Playbook::Props::Hash, default: {}
|
24
|
-
prop :validate, type: Playbook::Props::Boolean, default: false
|
25
|
-
|
26
|
-
def options
|
27
|
-
{
|
28
|
-
builder: Playbook::PbForm::SimpleForm::FormBuilder,
|
29
|
-
html: html_options,
|
30
|
-
data: data,
|
31
|
-
url: "",
|
32
|
-
}.merge(prop(:options))
|
33
|
-
end
|
34
|
-
|
35
|
-
def model
|
36
|
-
prop(:options).fetch(:model, nil)
|
37
|
-
end
|
38
|
-
|
39
|
-
def data
|
40
|
-
prop(:data).merge("pb-form-validation" => validate)
|
41
|
-
end
|
42
|
-
|
43
|
-
def classname
|
44
|
-
[generate_classname("pb-form"), html[:class]].join(" ")
|
45
|
-
end
|
46
|
-
|
47
|
-
def html
|
48
|
-
prop(:options).fetch(:html, {})
|
49
|
-
end
|
50
|
-
|
51
|
-
def render_form(builder)
|
52
|
-
view_context.capture(builder, &children)
|
53
|
-
end
|
54
|
-
|
55
|
-
def render_in(view_context, &_block)
|
56
|
-
super(view_context, &nil)
|
57
|
-
end
|
58
|
-
|
59
|
-
private
|
60
|
-
|
61
|
-
def html_options
|
62
|
-
html.merge(class: classname)
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|