playbook_ui 8.4.0.alpha.dependencies.2 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -18
  3. data/app/pb_kits/playbook/data/menu.yml +2 -3
  4. data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +7 -0
  5. data/app/pb_kits/playbook/pb_form/docs/_description.md +2 -6
  6. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +1 -1
  7. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -4
  8. data/app/pb_kits/playbook/pb_form/docs/example.yml +2 -4
  9. data/app/pb_kits/playbook/pb_form/form.rb +14 -20
  10. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.scss +63 -54
  11. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.jsx +2 -1
  12. data/app/pb_kits/playbook/pb_select/_select.scss +15 -5
  13. data/app/pb_kits/playbook/pb_select/docs/_select_custom_select.jsx +4 -1
  14. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +1 -1
  15. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_input.jsx +145 -135
  16. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +17 -18
  17. data/app/pb_kits/playbook/pb_textarea/_textarea.scss +29 -19
  18. data/app/pb_kits/playbook/pb_textarea/_textarea_mixin.scss +9 -4
  19. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_character_counter.jsx +5 -1
  20. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_custom.jsx +4 -2
  21. data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +17 -15
  22. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.jsx +1 -0
  23. data/app/pb_kits/playbook/tokens/_colors.scss +1 -1
  24. data/lib/playbook.rb +4 -1
  25. data/lib/playbook/forms.rb +3 -0
  26. data/lib/playbook/forms/builder.rb +31 -0
  27. data/{app/pb_kits/playbook/pb_form/form_builder → lib/playbook/forms/builder}/action_area.rb +2 -2
  28. data/lib/playbook/forms/builder/checkbox_field.rb +32 -0
  29. data/lib/playbook/forms/builder/collection_select_field.rb +19 -0
  30. data/lib/playbook/forms/builder/date_picker_field.rb +37 -0
  31. data/{app/pb_kits/playbook/pb_form/form_builder → lib/playbook/forms/builder}/form_field_builder.rb +2 -2
  32. data/lib/playbook/forms/builder/select_field.rb +19 -0
  33. data/lib/playbook/forms/builder/typeahead_field.rb +12 -0
  34. data/lib/playbook/pb_forms_helper.rb +41 -0
  35. data/lib/playbook/pb_kit_helper.rb +2 -0
  36. data/lib/playbook/props/base.rb +1 -1
  37. data/lib/playbook/version.rb +1 -2
  38. metadata +90 -61
  39. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb +0 -60
  40. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb +0 -61
  41. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.md +0 -1
  42. data/app/pb_kits/playbook/pb_form/form_builder.rb +0 -31
  43. data/app/pb_kits/playbook/pb_form/form_builder/checkbox_field.rb +0 -34
  44. data/app/pb_kits/playbook/pb_form/form_builder/collection_select_field.rb +0 -21
  45. data/app/pb_kits/playbook/pb_form/form_builder/date_picker_field.rb +0 -39
  46. data/app/pb_kits/playbook/pb_form/form_builder/select_field.rb +0 -21
  47. data/app/pb_kits/playbook/pb_form/form_builder/typeahead_field.rb +0 -14
  48. data/app/pb_kits/playbook/pb_form/form_with.html.erb +0 -11
  49. data/app/pb_kits/playbook/pb_form/form_with.rb +0 -40
  50. data/app/pb_kits/playbook/pb_form/simple_form.html.erb +0 -11
  51. data/app/pb_kits/playbook/pb_form/simple_form.rb +0 -67
@@ -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