playbook_ui 7.16.0.pre.alpha2 → 8.0.0.pre.alpha1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/playbook/application_controller.rb +0 -1
  3. data/app/helpers/playbook/pb_doc_helper.rb +30 -26
  4. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_flatpickr_styles.scss +0 -3
  5. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_header_styles.scss +1 -0
  6. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_overrides.scss +2 -2
  7. data/app/pb_kits/playbook/pb_filter/filter.html.erb +86 -0
  8. data/app/pb_kits/playbook/pb_filter/filter.rb +9 -5
  9. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +2 -2
  10. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -1
  11. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb +1 -2
  12. data/app/pb_kits/playbook/pb_form/form.html.erb +7 -0
  13. data/app/pb_kits/playbook/pb_form/form.rb +12 -14
  14. data/app/pb_kits/playbook/pb_form/form_builder.rb +1 -1
  15. data/app/pb_kits/playbook/pb_form/form_builder/action_area.html.erb +3 -0
  16. data/app/pb_kits/playbook/pb_form/form_builder/action_area.rb +5 -21
  17. data/app/pb_kits/playbook/pb_form/form_with.html.erb +18 -0
  18. data/app/pb_kits/playbook/pb_form/form_with.rb +34 -0
  19. data/app/pb_kits/playbook/pb_form/{_form_simple_form.html.erb → simple_form.html.erb} +3 -3
  20. data/app/pb_kits/playbook/pb_form/simple_form.rb +63 -0
  21. data/app/pb_kits/playbook/pb_layout/{_item.html.erb → item.html.erb} +1 -1
  22. data/app/pb_kits/playbook/pb_layout/item.rb +1 -5
  23. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +1 -0
  24. data/lib/playbook.rb +1 -0
  25. data/lib/playbook/classnames.rb +34 -0
  26. data/lib/playbook/engine.rb +4 -10
  27. data/lib/playbook/kit_base.rb +13 -1
  28. data/lib/playbook/kit_resolver.rb +23 -0
  29. data/lib/playbook/pb_kit_helper.rb +3 -24
  30. data/lib/playbook/props.rb +3 -118
  31. data/lib/playbook/spacing.rb +76 -0
  32. data/lib/playbook/version.rb +1 -1
  33. data/lib/playbook/z_index.rb +31 -0
  34. metadata +16 -18
  35. data/app/pb_kits/playbook/config/_kit_example.html.erb +0 -23
  36. data/app/pb_kits/playbook/config/_kit_samples_list.html.erb +0 -3
  37. data/app/pb_kits/playbook/config/_kit_ui.html.erb +0 -43
  38. data/app/pb_kits/playbook/config/_pb_kit_api.html.erb +0 -16
  39. data/app/pb_kits/playbook/pb_filter/_filter.html.erb +0 -6
  40. data/app/pb_kits/playbook/pb_filter/templates/_core.html.erb +0 -67
  41. data/app/pb_kits/playbook/pb_filter/templates/_default.html.erb +0 -23
  42. data/app/pb_kits/playbook/pb_form/_form_form_with.html.erb +0 -13
  43. data/app/pb_kits/playbook/pb_form/form/form_with_form.rb +0 -39
  44. data/app/pb_kits/playbook/pb_form/form/simple_form_form.rb +0 -46
  45. data/app/pb_kits/playbook/pb_form/form_builder/form_with_form_builder.rb +0 -11
  46. data/app/pb_kits/playbook/pb_form/form_builder/simple_form_builder.rb +0 -25
  47. data/app/pb_kits/playbook/pb_kit/base.rb +0 -99
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Playbook
4
- VERSION = "7.16.0.pre.alpha2"
4
+ VERSION = "8.0.0.pre.alpha1"
5
5
  end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Playbook
4
+ module ZIndex
5
+ def self.included(base)
6
+ base.prop :z_index
7
+ end
8
+
9
+ private
10
+
11
+ def z_index_props
12
+ selected_index_props = z_index_options.keys.select { |sk| try(sk) }
13
+ return nil unless selected_index_props.present?
14
+
15
+ selected_index_props.map do |k|
16
+ index_value = send(k)
17
+ "z_index_#{index_value}" if z_index_values.include? index_value
18
+ end.compact.join(" ")
19
+ end
20
+
21
+ def z_index_options
22
+ {
23
+ z_index: "z-index",
24
+ }
25
+ end
26
+
27
+ def z_index_values
28
+ %w[1 2 3 4 5 6 7 8 9 10]
29
+ end
30
+ end
31
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playbook_ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.16.0.pre.alpha2
4
+ version: 8.0.0.pre.alpha1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Power UX
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-02-16 00:00:00.000000000 Z
12
+ date: 2021-02-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -426,10 +426,6 @@ files:
426
426
  - app/helpers/playbook/pb_sample_helper.rb
427
427
  - app/helpers/playbook/redcarpet_helper.rb
428
428
  - app/pb_kits/playbook/_playbook.scss
429
- - app/pb_kits/playbook/config/_kit_example.html.erb
430
- - app/pb_kits/playbook/config/_kit_samples_list.html.erb
431
- - app/pb_kits/playbook/config/_kit_ui.html.erb
432
- - app/pb_kits/playbook/config/_pb_kit_api.html.erb
433
429
  - app/pb_kits/playbook/data/menu.yml
434
430
  - app/pb_kits/playbook/index.js
435
431
  - app/pb_kits/playbook/pb_avatar/_avatar.jsx
@@ -866,7 +862,6 @@ files:
866
862
  - app/pb_kits/playbook/pb_filter/Filter/ResultsCount.jsx
867
863
  - app/pb_kits/playbook/pb_filter/Filter/SortMenu.jsx
868
864
  - app/pb_kits/playbook/pb_filter/Filter/index.jsx
869
- - app/pb_kits/playbook/pb_filter/_filter.html.erb
870
865
  - app/pb_kits/playbook/pb_filter/_filter.jsx
871
866
  - app/pb_kits/playbook/pb_filter/_filter.scss
872
867
  - app/pb_kits/playbook/pb_filter/docs/_description.md
@@ -890,9 +885,8 @@ files:
890
885
  - app/pb_kits/playbook/pb_filter/docs/_sort_only.jsx
891
886
  - app/pb_kits/playbook/pb_filter/docs/example.yml
892
887
  - app/pb_kits/playbook/pb_filter/docs/index.js
888
+ - app/pb_kits/playbook/pb_filter/filter.html.erb
893
889
  - app/pb_kits/playbook/pb_filter/filter.rb
894
- - app/pb_kits/playbook/pb_filter/templates/_core.html.erb
895
- - app/pb_kits/playbook/pb_filter/templates/_default.html.erb
896
890
  - app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.jsx
897
891
  - app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss
898
892
  - app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_description.md
@@ -947,8 +941,6 @@ files:
947
941
  - app/pb_kits/playbook/pb_flex/flex_item.html.erb
948
942
  - app/pb_kits/playbook/pb_flex/flex_item.rb
949
943
  - app/pb_kits/playbook/pb_form/_form.scss
950
- - app/pb_kits/playbook/pb_form/_form_form_with.html.erb
951
- - app/pb_kits/playbook/pb_form/_form_simple_form.html.erb
952
944
  - app/pb_kits/playbook/pb_form/docs/_description.md
953
945
  - app/pb_kits/playbook/pb_form/docs/_footer.md
954
946
  - app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb
@@ -958,20 +950,22 @@ files:
958
950
  - app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb
959
951
  - app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.md
960
952
  - app/pb_kits/playbook/pb_form/docs/example.yml
953
+ - app/pb_kits/playbook/pb_form/form.html.erb
961
954
  - app/pb_kits/playbook/pb_form/form.rb
962
- - app/pb_kits/playbook/pb_form/form/form_with_form.rb
963
- - app/pb_kits/playbook/pb_form/form/simple_form_form.rb
964
955
  - app/pb_kits/playbook/pb_form/form_builder.rb
956
+ - app/pb_kits/playbook/pb_form/form_builder/action_area.html.erb
965
957
  - app/pb_kits/playbook/pb_form/form_builder/action_area.rb
966
958
  - app/pb_kits/playbook/pb_form/form_builder/checkbox_field.rb
967
959
  - app/pb_kits/playbook/pb_form/form_builder/collection_select_field.rb
968
960
  - app/pb_kits/playbook/pb_form/form_builder/date_picker_field.rb
969
961
  - app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb
970
- - app/pb_kits/playbook/pb_form/form_builder/form_with_form_builder.rb
971
962
  - app/pb_kits/playbook/pb_form/form_builder/select_field.rb
972
- - app/pb_kits/playbook/pb_form/form_builder/simple_form_builder.rb
973
963
  - app/pb_kits/playbook/pb_form/form_builder/typeahead_field.rb
964
+ - app/pb_kits/playbook/pb_form/form_with.html.erb
965
+ - app/pb_kits/playbook/pb_form/form_with.rb
974
966
  - app/pb_kits/playbook/pb_form/pb_form_validation.js
967
+ - app/pb_kits/playbook/pb_form/simple_form.html.erb
968
+ - app/pb_kits/playbook/pb_form/simple_form.rb
975
969
  - app/pb_kits/playbook/pb_form_group/_form_group.jsx
976
970
  - app/pb_kits/playbook/pb_form_group/_form_group.scss
977
971
  - app/pb_kits/playbook/pb_form_group/docs/_form_group_button.html.erb
@@ -1142,7 +1136,6 @@ files:
1142
1136
  - app/pb_kits/playbook/pb_image/image.html.erb
1143
1137
  - app/pb_kits/playbook/pb_image/image.rb
1144
1138
  - app/pb_kits/playbook/pb_image/image.test.js
1145
- - app/pb_kits/playbook/pb_kit/base.rb
1146
1139
  - app/pb_kits/playbook/pb_kit/dateTime.js
1147
1140
  - app/pb_kits/playbook/pb_kit/pb_date_time.rb
1148
1141
  - app/pb_kits/playbook/pb_label_pill/_label_pill.jsx
@@ -1172,7 +1165,6 @@ files:
1172
1165
  - app/pb_kits/playbook/pb_label_value/docs/index.js
1173
1166
  - app/pb_kits/playbook/pb_label_value/label_value.html.erb
1174
1167
  - app/pb_kits/playbook/pb_label_value/label_value.rb
1175
- - app/pb_kits/playbook/pb_layout/_item.html.erb
1176
1168
  - app/pb_kits/playbook/pb_layout/_layout.jsx
1177
1169
  - app/pb_kits/playbook/pb_layout/_layout.scss
1178
1170
  - app/pb_kits/playbook/pb_layout/_layout_mixin.scss
@@ -1205,6 +1197,7 @@ files:
1205
1197
  - app/pb_kits/playbook/pb_layout/footer.rb
1206
1198
  - app/pb_kits/playbook/pb_layout/header.html.erb
1207
1199
  - app/pb_kits/playbook/pb_layout/header.rb
1200
+ - app/pb_kits/playbook/pb_layout/item.html.erb
1208
1201
  - app/pb_kits/playbook/pb_layout/item.rb
1209
1202
  - app/pb_kits/playbook/pb_layout/layout.html.erb
1210
1203
  - app/pb_kits/playbook/pb_layout/layout.rb
@@ -2017,8 +2010,10 @@ files:
2017
2010
  - fonts/fontawesome-min.js
2018
2011
  - fonts/regular-min.js
2019
2012
  - lib/playbook.rb
2013
+ - lib/playbook/classnames.rb
2020
2014
  - lib/playbook/engine.rb
2021
2015
  - lib/playbook/kit_base.rb
2016
+ - lib/playbook/kit_resolver.rb
2022
2017
  - lib/playbook/markdown/template_handler.rb
2023
2018
  - lib/playbook/pb_kit_helper.rb
2024
2019
  - lib/playbook/props.rb
@@ -2035,7 +2030,9 @@ files:
2035
2030
  - lib/playbook/props/percentage.rb
2036
2031
  - lib/playbook/props/proc.rb
2037
2032
  - lib/playbook/props/string.rb
2033
+ - lib/playbook/spacing.rb
2038
2034
  - lib/playbook/version.rb
2035
+ - lib/playbook/z_index.rb
2039
2036
  - lib/playbook_ui.rb
2040
2037
  homepage: http://playbook.powerapp.cloud
2041
2038
  licenses:
@@ -2056,7 +2053,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2056
2053
  - !ruby/object:Gem::Version
2057
2054
  version: 1.3.1
2058
2055
  requirements: []
2059
- rubygems_version: 3.1.4
2056
+ rubyforge_project:
2057
+ rubygems_version: 2.7.3
2060
2058
  signing_key:
2061
2059
  specification_version: 4
2062
2060
  summary: Playbook Design System
@@ -1,23 +0,0 @@
1
- <%if !@kit_examples[:examples].nil? %>
2
- <% if @limit_examples %>
3
- <% @kit_examples[:examples].each_with_index do |kit_example, index| %>
4
- <% kit_example.each do |key, item| %>
5
- <% if index == 0 %>
6
- <%= pb_rails("card", props: { classname: "pb--doc", padding:"none" }) do %>
7
- <%= render partial: "config/kit_ui", locals: { key: key, type: @type, item: item, show_code: @show_code } %>
8
- <% end %>
9
- <% elsif index > 0 %>
10
- <% break %>
11
- <% end %>
12
- <% end %>
13
- <% end %>
14
- <% else %>
15
- <% @kit_examples[:examples].each do |kit_example| %>
16
- <% kit_example.each do |key, item| %>
17
- <%= pb_rails("card", props: { classname: "pb--doc", padding:"none" }) do %>
18
- <%= render partial: "config/kit_ui", locals: { key: key, type: @type, item: item, show_code: @show_code } %>
19
- <% end %>
20
- <% end %>
21
- <% end %>
22
- <% end %>
23
- <% end %>
@@ -1,3 +0,0 @@
1
- <div>
2
- Flexbox list of thumbnail previews.
3
- </div>
@@ -1,43 +0,0 @@
1
-
2
- <% type ||= "rails" %>
3
-
4
- <% if type == "react" %>
5
- <% contents = File.read("#{Playbook::Engine.root}/app/pb_kits/playbook/pb_#{@kit_examples[:kit]}/docs/_#{key}.jsx") %>
6
- <% else %>
7
- <% contents = File.read("#{Playbook::Engine.root}/app/pb_kits/playbook/pb_#{@kit_examples[:kit]}/docs/_#{key}.html.erb") %>
8
- <% end %>
9
-
10
- <div class="pb--kit-example">
11
- <%= pb_rails("caption", props: { text: item }) %>
12
- <br>
13
- <% if type == "rails" %>
14
- <%= render partial: "pb_#{@kit_examples[:kit]}/docs/#{key}" %>
15
- <% elsif type == "react" %>
16
- <%= pb_react(key.camelize) %>
17
- <% end %>
18
- <br>
19
- </div>
20
-
21
- <% if @show_code %>
22
- <div class="markdown pb--kit-example-markdown <%= cookies[:dark_mode] == "true" ? "dark" : "" %>">
23
- <%= markdown(get_per_sample_descriptions(@kit_examples[:kit], key)) %>
24
- </div>
25
- <div id="code-wrapper">
26
- <div class="pb--codeControls">
27
- <ul>
28
- <li>
29
- <a href="#" id="toggle-open" data-toggle="code_example">Code Example</a>
30
- </li>
31
- </ul>
32
- </div>
33
- <div class="pb--codeCopy" data-action="toggle" data-togglable="code_example" style="display: none" >
34
- <%= pb_rails("section_separator")%>
35
- <a href="#" id="toggle-close" data-toggle="false" class="pb--close-toggle">Close</a>
36
- <% if type == "rails" %>
37
- <pre class="highlight"><%= raw rouge(contents, "erb") %></pre>
38
- <% elsif type == "react" %>
39
- <pre class="highlight"><%= raw rouge(contents, "react")%></pre>
40
- <% end %>
41
- </div>
42
- </div>
43
- <% end %>
@@ -1,16 +0,0 @@
1
- <% if defined?(@kit_api) && @kit_api.present? %>
2
-
3
- <div data-action="toggle" data-togglable="prop_example" class="pb--propsTable">
4
- <%= pb_rails("title", props:{text: "Available Props", size:3, margin_bottom:"sm"}) %>
5
- <%= pb_rails("card",props:{padding:"none"})do%>
6
- <%= pb_rails("list",props: {xpadding:true})do%>
7
- <% @kit_api.each_with_index do |(key,value),index| %>
8
- <%= pb_rails("list/item") do %>
9
- <%= key %>
10
- <% end %>
11
- <% end %>
12
- <% end %>
13
- <% end %>
14
- </div>
15
-
16
- <% end %>
@@ -1,6 +0,0 @@
1
- <%= content_tag(:div,
2
- id: object.id,
3
- data: object.data,
4
- class: object.classname) do %>
5
- <%= render partial: "pb_filter/templates/default", locals: {object: object, min_width: object.min_width}%>
6
- <% end %>
@@ -1,67 +0,0 @@
1
-
2
- <%= pb_rails("flex", props: {orientation: "row", padding_right: "lg", vertical: "center"}) do %>
3
-
4
- <% if (object.template != "sort_only") %>
5
- <%= pb_rails("circle_icon_button", props: { variant: "secondary", icon: "filter", id:"filter#{object.id}"}) %>
6
- <div class="maskContainer">
7
- <div class="filters">
8
- <div class="left_gradient"></div>
9
- <% object.filters.each do |filter| %>
10
- <% if filter[:name]== "" %>
11
- <div>
12
- <%= pb_rails("body", props: {
13
- color: "light",
14
- padding_left: "xs",
15
- size: 4,
16
- tag:"h4",
17
- text: "No Filter Selected"
18
- }) %>
19
- </div>
20
- <% else %>
21
- <div class="filter">
22
- <%= pb_rails("caption", props: { text: filter[:name]}) %>
23
- <%= pb_rails("title", props: { size: 4, tag:"h4", text: filter[:value]}) %>
24
- </div>
25
- <% end %>
26
- <% end %>
27
- <div class="right_gradient"></div>
28
- </div>
29
- </div>
30
- <% if (object.template != "default") %>
31
- <%= pb_rails("caption", props: {text: object.result_text, size:"xs", classname:"filter-results"})%>
32
- <% end %>
33
- <% end %>
34
-
35
- <% if (object.template == "single" ) || (object.template == "sort_only") %>
36
- <% unless object.sort_menu == [{}] %>
37
- <%= pb_rails("button", props: {variant: "link",id: "sort-button#{object.id}",padding_right: "none"}) do %>
38
- <% object.sort_menu.each do |item| %>
39
- <% if item[:active] == true %>
40
- <%= item[:item] %>
41
- <%= pb_rails("icon", props: { icon: object.sort_icon(item[:direction]), fixed_width: true }) %>
42
- <% end %>
43
- <% end %>
44
- <% end %>
45
- <% end %>
46
- <% end %>
47
-
48
-
49
- <% end %>
50
-
51
- <% if (object.template == "default")%>
52
- <%= pb_rails("section_separator") %>
53
- <%= pb_rails("flex", props: {orientation: "row", vertical: "center", spacing: "between", classname: "filter-bottom"}) do %>
54
- <%= pb_rails("title_count", props: {title: "Results:",count: object.results, align:"center"}) %>
55
- <%= pb_rails("flex", props: {orientation: "row", vertical: "center"}) do %>
56
- <%= pb_rails("caption", props: { text: "sort by:"}) %>
57
- <%= pb_rails("button", props: {variant: "link", padding_right: "none", id: "sort-button#{object.id}"}) do %>
58
- <% object.sort_menu.each do |item| %>
59
- <% if item[:active] == true %>
60
- <%= item[:item] %>
61
- <%= pb_rails("icon", props: { icon: object.sort_icon(item[:direction]), fixed_width: true }) %>
62
- <% end %>
63
- <% end %>
64
- <% end %>
65
- <% end %>
66
- <% end %>
67
- <% end %>
@@ -1,23 +0,0 @@
1
- <% if object.background %>
2
- <%= pb_rails("card",props: {padding:"none"}) do%>
3
- <%= render partial: 'pb_filter/templates/core', locals: {object: object} %>
4
- <% end %>
5
- <% else %>
6
- <%= render partial: 'pb_filter/templates/core', locals: { object: object} %>
7
- <% end %>
8
-
9
- <% if object.template != "sort_only"%>
10
- <%= pb_rails("popover", props: {min_width: object.min_width, close_on_click: "outside", trigger_element_id: "filter#{object.id}", tooltip_id: "filter-form#{object.id}", position: 'bottom'}) do %>
11
- <%= capture(&object.children) %>
12
- <% end %>
13
- <%end%>
14
-
15
- <% if object.template != "filter_only"%>
16
- <%= pb_rails("popover", props: {classname: "pb_filter_sort_menu", close_on_click: "outside", trigger_element_id: "sort-button#{object.id}", tooltip_id: "sort-filter-btn-tooltip#{object.id}", position: 'bottom', padding: 'none'}) do %>
17
- <%= pb_rails("list") do %>
18
- <% object.sort_menu.each do |item| %>
19
- <%= pb_rails("list/item") do%> <%= pb_rails("button", props: {variant: "link" ,classname: "p-0", text: item[:item], link: item[:link]}) %><% end %>
20
- <% end %>
21
- <% end %>
22
- <% end %>
23
- <% end %>
@@ -1,13 +0,0 @@
1
- <%= form_with object.merged_form_system_options do |form| %>
2
- <% instance_exec form, &object.children %>
3
-
4
- <% if object.validate %>
5
- <% content_for :pb_js do %>
6
- <%= javascript_tag do %>
7
- window.addEventListener('DOMContentLoaded', function() {
8
- PbFormValidation.start()
9
- })
10
- <% end %>
11
- <% end %>
12
- <% end %>
13
- <% end %>
@@ -1,39 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Playbook
4
- module PbForm
5
- class Form
6
- class FormWithForm
7
- def initialize(form)
8
- self.form = form
9
- end
10
-
11
- def to_partial_path
12
- "pb_form/form_form_with"
13
- end
14
-
15
- def merged_form_system_options
16
- Hash(form_system_options).merge(
17
- class: merged_class,
18
- data: { "pb-form-validation": validate }.merge(Hash(form_system_options).fetch(:data, {})),
19
- builder: form_builder
20
- )
21
- end
22
-
23
- private
24
-
25
- attr_accessor :form
26
-
27
- delegate_missing_to :form
28
-
29
- def merged_class
30
- "pb-form #{Hash(form_system_options)[:class]}".strip
31
- end
32
-
33
- def form_builder
34
- FormBuilder::FormWithFormBuilder
35
- end
36
- end
37
- end
38
- end
39
- end
@@ -1,46 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Playbook
4
- module PbForm
5
- class Form
6
- class SimpleFormForm
7
- def initialize(form)
8
- self.form = form
9
- end
10
-
11
- def to_partial_path
12
- "pb_form/form_simple_form"
13
- end
14
-
15
- def merged_form_system_options
16
- [
17
- Array(form_system_options)[0],
18
- Hash(Array(form_system_options)[1]).merge(
19
- data: { "pb-form-validation": validate }.merge((form_system_options&.last || {}).fetch(:data, {})),
20
- html: merged_html,
21
- builder: form_builder
22
- ),
23
- ]
24
- end
25
-
26
- private
27
-
28
- attr_accessor :form
29
-
30
- delegate_missing_to :form
31
-
32
- def merged_html
33
- html_options = Hash(Array(form_system_options)[1])[:html] || {}
34
- html_class = html_options[:class]
35
- html_options[:class] = "pb-form #{html_class}".strip
36
-
37
- html_options
38
- end
39
-
40
- def form_builder
41
- FormBuilder::SimpleFormBuilder
42
- end
43
- end
44
- end
45
- end
46
- end