phlex-rails 2.2.0 → 2.3.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 (57) hide show
  1. checksums.yaml +4 -4
  2. data/lib/generators/phlex/base_generator.rb +16 -0
  3. data/lib/generators/phlex/component/component_generator.rb +6 -8
  4. data/lib/generators/phlex/component/templates/component.rb.erb +1 -1
  5. data/lib/generators/phlex/install/templates/base_component.rb.erb +0 -2
  6. data/lib/generators/phlex/view/templates/view.rb.erb +1 -1
  7. data/lib/generators/phlex/view/view_generator.rb +6 -8
  8. data/lib/phlex/rails/buffered.rb +16 -0
  9. data/lib/phlex/rails/builder.rb +31 -0
  10. data/lib/phlex/rails/helper_macros.rb +2 -2
  11. data/lib/phlex/rails/helpers/{check_box.rb → checkbox.rb} +3 -3
  12. data/lib/phlex/rails/helpers/checkbox_tag.rb +8 -0
  13. data/lib/phlex/rails/helpers/collection_checkboxes.rb +8 -0
  14. data/lib/phlex/rails/helpers/collection_radio_buttons.rb +1 -1
  15. data/lib/phlex/rails/helpers/content_security_policy_nonce.rb +8 -0
  16. data/lib/phlex/rails/helpers/fields.rb +1 -1
  17. data/lib/phlex/rails/helpers/fields_for.rb +1 -1
  18. data/lib/phlex/rails/helpers/form_for.rb +1 -1
  19. data/lib/phlex/rails/helpers/form_with.rb +1 -1
  20. data/lib/phlex/rails/helpers/javascript_import_module_tag.rb +1 -1
  21. data/lib/phlex/rails/helpers/javascript_importmap_tags.rb +1 -1
  22. data/lib/phlex/rails/helpers/javascript_include_tag.rb +1 -1
  23. data/lib/phlex/rails/helpers/javascript_path.rb +1 -1
  24. data/lib/phlex/rails/helpers/javascript_tag.rb +1 -1
  25. data/lib/phlex/rails/helpers/javascript_url.rb +1 -1
  26. data/lib/phlex/rails/helpers/label.rb +1 -1
  27. data/lib/phlex/rails/helpers/options_for_select.rb +13 -1
  28. data/lib/phlex/rails/helpers/options_from_collection_for_select.rb +13 -1
  29. data/lib/phlex/rails/helpers/path_to_javascript.rb +1 -1
  30. data/lib/phlex/rails/helpers/path_to_stylesheet.rb +1 -1
  31. data/lib/phlex/rails/helpers/{rich_text_area.rb → rich_textarea.rb} +2 -2
  32. data/lib/phlex/rails/helpers/select_tag.rb +11 -1
  33. data/lib/phlex/rails/helpers/stylesheet_link_tag.rb +1 -1
  34. data/lib/phlex/rails/helpers/stylesheet_path.rb +1 -1
  35. data/lib/phlex/rails/helpers/stylesheet_url.rb +1 -1
  36. data/lib/phlex/rails/helpers/{text_area.rb → textarea.rb} +2 -2
  37. data/lib/phlex/rails/helpers/{text_area_tag.rb → textarea_tag.rb} +2 -2
  38. data/lib/phlex/rails/helpers/url_to_javascript.rb +1 -1
  39. data/lib/phlex/rails/helpers/url_to_stylesheet.rb +1 -1
  40. data/lib/phlex/rails/helpers.rb +33 -200
  41. data/lib/phlex/rails/layout.rb +3 -3
  42. data/lib/phlex/rails/never.rb +11 -0
  43. data/lib/phlex/rails/sgml.rb +1 -9
  44. data/lib/phlex/rails/streaming.rb +4 -6
  45. data/lib/phlex/rails/version.rb +1 -1
  46. data/lib/phlex/rails.rb +68 -20
  47. data/lib/ruby_lsp/phlex_rails/addon.rb +44 -0
  48. metadata +29 -17
  49. data/lib/phlex/rails/checkbox_builder.rb +0 -10
  50. data/lib/phlex/rails/decorator.rb +0 -26
  51. data/lib/phlex/rails/form_builder.rb +0 -123
  52. data/lib/phlex/rails/helpers/check_box_tag.rb +0 -8
  53. data/lib/phlex/rails/helpers/collection_check_boxes.rb +0 -8
  54. data/lib/phlex/rails/html.rb +0 -12
  55. data/lib/phlex/rails/label_builder.rb +0 -6
  56. data/lib/phlex/rails/radio_button_builder.rb +0 -10
  57. data/lib/phlex/rails/svg.rb +0 -12
@@ -1,123 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Phlex::Rails::FormBuilder < Phlex::Rails::Decorator
4
- define_method :__caller_locations__, ::Object.instance_method(:caller_locations)
5
-
6
- def id(...) = @object.id(...)
7
- def to_model(...) = @object.to_model(...)
8
- def field_id(...) = @object.field_id(...)
9
- def field_name(...) = @object.field_name(...)
10
- def to_partial_path(...) = @object.to_partial_path(...)
11
-
12
- def multipart=(value)
13
- @object.multipart = value
14
- end
15
-
16
- output def button(...) = nil
17
- output def check_box(...) = nil
18
- output def checkbox(...) = nil
19
- output def collection_select(...) = nil
20
- output def color_field(...) = nil
21
- output def date_field(...) = nil
22
- output def date_select(...) = nil
23
- output def datetime_field(...) = nil
24
- output def datetime_local_field(...) = nil
25
- output def datetime_select(...) = nil
26
- output def email_field(...) = nil
27
- output def file_field(...) = nil
28
- output def grouped_collection_select(...) = nil
29
- output def hidden_field(...) = nil
30
- output def month_field(...) = nil
31
- output def number_field(...) = nil
32
- output def password_field(...) = nil
33
- output def phone_field(...) = nil
34
- output def radio_button(...) = nil
35
- output def range_field(...) = nil
36
- output def rich_text_area(...) = nil
37
- output def rich_textarea(...) = nil
38
- output def search_field(...) = nil
39
- output def select(...) = nil
40
- output def submit(...) = nil
41
- output def telephone_field(...) = nil
42
- output def text_area(...) = nil
43
- output def text_field(...) = nil
44
- output def textarea(...) = nil
45
- output def time_field(...) = nil
46
- output def time_select(...) = nil
47
- output def time_zone_select(...) = nil
48
- output def url_field(...) = nil
49
- output def week_field(...) = nil
50
- output def weekday_select(...) = nil
51
-
52
- def collection_check_boxes(*, **, &block)
53
- output = if block
54
- @object.collection_check_boxes(*, **) do |builder|
55
- yield ::Phlex::Rails::CheckboxBuilder.new(builder, component: @component)
56
- end
57
- else
58
- @object.collection_check_boxes(*, **)
59
- end
60
-
61
- @component.raw(output)
62
- end
63
-
64
- def collection_checkboxes(*, **, &block)
65
- output = if block
66
- @object.collection_checkboxes(*, **) do |builder|
67
- yield ::Phlex::Rails::CheckboxBuilder.new(builder, component: @component)
68
- end
69
- else
70
- @object.collection_checkboxes(*, **)
71
- end
72
-
73
- @component.raw(output)
74
- end
75
-
76
- def collection_radio_buttons(*, **, &block)
77
- output = if block
78
- @object.collection_radio_buttons(*, **) do |builder|
79
- yield ::Phlex::Rails::RadioButtonBuilder.new(builder, component: @component)
80
- end
81
- else
82
- @object.collection_radio_buttons(*, **)
83
- end
84
-
85
- @component.raw(output)
86
- end
87
-
88
- def fields(*, **, &block)
89
- output = if block
90
- @object.fields(*, **) do |builder|
91
- yield ::Phlex::Rails::FormBuilder.new(builder, component: @component)
92
- end
93
- else
94
- @object.fields(*, **)
95
- end
96
-
97
- @component.raw(output)
98
- end
99
-
100
- def fields_for(*, **, &block)
101
- output = if block
102
- @object.fields_for(*, **) do |builder|
103
- yield ::Phlex::Rails::FormBuilder.new(builder, component: @component)
104
- end
105
- else
106
- @object.fields_for(*, **)
107
- end
108
-
109
- @component.raw(output)
110
- end
111
-
112
- def label(*, **, &block)
113
- output = if block
114
- @object.label(*, **) do |builder|
115
- yield ::Phlex::Rails::LabelBuilder.new(builder, component: @component)
116
- end
117
- else
118
- @object.label(*, **)
119
- end
120
-
121
- @component.raw(output)
122
- end
123
- end
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Phlex::Rails::Helpers::CheckBoxTag
4
- extend Phlex::Rails::HelperMacros
5
-
6
- # [Rails Docs](https://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-check_box_tag)
7
- register_output_helper def check_box_tag(...) = nil
8
- end
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Phlex::Rails::Helpers::CollectionCheckBoxes
4
- extend Phlex::Rails::HelperMacros
5
-
6
- # [Rails Docs](https://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-collection_check_boxes)
7
- register_builder_yielding_helper def collection_check_boxes(...) = nil, Phlex::Rails::CheckboxBuilder
8
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Phlex::Rails::HTML
4
- def self.included(base)
5
- base.include Phlex::Rails::SGML
6
- super
7
- end
8
-
9
- def format
10
- :html
11
- end
12
- end
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Phlex::Rails::LabelBuilder < Phlex::Rails::Decorator
4
- def object(...) = @object.object(...)
5
- def translation(...) = @object.translation(...)
6
- end
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Phlex::Rails::RadioButtonBuilder < Phlex::Rails::Decorator
4
- def text(...) = @object.text(...)
5
- def value(...) = @object.value(...)
6
- def object(...) = @object.object(...)
7
-
8
- output def label(...) = nil
9
- output def radio_button(...) = nil
10
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Phlex::Rails::SVG
4
- def self.included(base)
5
- base.include Phlex::Rails::SGML
6
- super
7
- end
8
-
9
- def format
10
- :svg
11
- end
12
- end