playbook_ui 14.12.0.pre.alpha.play1828updateviteversion5680 → 14.12.0.pre.alpha.play1862buttondisabledlinkbug5716

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 (40) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +1 -0
  3. data/app/pb_kits/playbook/pb_advanced_table/Components/CustomCell.tsx +1 -1
  4. data/app/pb_kits/playbook/pb_advanced_table/Components/TableHeaderCell.tsx +2 -2
  5. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +8 -13
  6. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +2 -0
  7. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +1 -1
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading.html.erb +33 -0
  9. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading_rails.md +1 -0
  10. data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_loading.md → _advanced_table_loading_react.md} +2 -2
  11. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +1 -0
  12. data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +3 -1
  13. data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +9 -5
  14. data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +2 -0
  15. data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +1 -1
  16. data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +2 -0
  17. data/app/pb_kits/playbook/pb_avatar/_avatar.scss +5 -0
  18. data/app/pb_kits/playbook/pb_button/button.rb +1 -1
  19. data/app/pb_kits/playbook/pb_copy_button/_copy_button.scss +3 -0
  20. data/app/pb_kits/playbook/pb_copy_button/_copy_button.tsx +92 -0
  21. data/app/pb_kits/playbook/pb_copy_button/copy_button.test.jsx +64 -0
  22. data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_default.jsx +21 -0
  23. data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_from.jsx +45 -0
  24. data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_from.md +1 -0
  25. data/app/pb_kits/playbook/pb_copy_button/docs/example.yml +8 -0
  26. data/app/pb_kits/playbook/pb_copy_button/docs/index.js +2 -0
  27. data/app/pb_kits/playbook/pb_tooltip/_tooltip.tsx +3 -1
  28. data/dist/chunks/{_typeahead-BWwaAo_0.js → _typeahead-BIhRQo8Q.js} +3 -3
  29. data/dist/chunks/_weekday_stacked-VKMYuo6-.js +45 -0
  30. data/dist/chunks/vendor.js +1 -1
  31. data/dist/menu.yml +6 -0
  32. data/dist/playbook-doc.js +1 -1
  33. data/dist/playbook-rails-react-bindings.js +1 -1
  34. data/dist/playbook-rails.js +1 -1
  35. data/dist/playbook.css +1 -1
  36. data/lib/playbook/pb_forms_global_props_helper.rb +136 -0
  37. data/lib/playbook/pb_forms_helper.rb +13 -4
  38. data/lib/playbook/version.rb +1 -1
  39. metadata +16 -5
  40. data/dist/chunks/_weekday_stacked-zyBCd1s8.js +0 -45
@@ -0,0 +1,136 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Playbook
4
+ module PbFormsGlobalPropsHelper
5
+ private
6
+
7
+ def generate_prop_classes(props)
8
+ classes = []
9
+
10
+ props.each do |prop, value|
11
+ next if value.nil?
12
+
13
+ classes << case prop
14
+ when :padding
15
+ "p_#{value}"
16
+ when :padding_top
17
+ "pt_#{value}"
18
+ when :padding_bottom
19
+ "pb_#{value}"
20
+ when :padding_left
21
+ "pl_#{value}"
22
+ when :padding_right
23
+ "pr_#{value}"
24
+ when :padding_x
25
+ "px_#{value}"
26
+ when :padding_y
27
+ "py_#{value}"
28
+ when :margin
29
+ "m_#{value}"
30
+ when :margin_top
31
+ "mt_#{value}"
32
+ when :margin_bottom
33
+ "mb_#{value}"
34
+ when :margin_left
35
+ "ml_#{value}"
36
+ when :margin_right
37
+ "mr_#{value}"
38
+ when :margin_x
39
+ "mx_#{value}"
40
+ when :margin_y
41
+ "my_#{value}"
42
+ when :shadow
43
+ "shadow_#{value}"
44
+ when :width
45
+ value.to_s.end_with?("%") ? "width_#{value.to_i}_percent" : "width_#{value.downcase}"
46
+ when :min_width
47
+ value.to_s.end_with?("%") ? "min_width_#{value.to_i}_percent" : "min_width_#{value.downcase}"
48
+ when :max_width
49
+ value.to_s.end_with?("%") ? "max_width_#{value.to_i}_percent" : "max_width_#{value.downcase}"
50
+ when :height
51
+ "height_#{value.downcase}"
52
+ when :min_height
53
+ "min_height_#{value.downcase}"
54
+ when :max_height
55
+ "max_height_#{value.downcase}"
56
+ when :position
57
+ "position_#{value}"
58
+ when :vertical_alignment
59
+ "vertical_align_#{value}"
60
+ when :z_index
61
+ "z_index_#{value}"
62
+ when :line_height
63
+ "line_height_#{value}"
64
+ when :number_spacing
65
+ "ns_#{value}"
66
+ when :border_radius
67
+ "border_radius_#{value}"
68
+ when :text_size
69
+ "text_#{value}"
70
+ when :letter_spacing
71
+ "ls_#{value}"
72
+ when :display
73
+ "display_#{value}"
74
+ when :cursor
75
+ "cursor_#{value}"
76
+ when :hover
77
+ if value.is_a?(Hash)
78
+ value.map do |hover_prop, hover_value|
79
+ case hover_prop
80
+ when :shadow
81
+ "hover_shadow_#{hover_value}"
82
+ when :scale
83
+ "hover_scale_#{hover_value}"
84
+ when :underline
85
+ hover_value == true ? "hover_underline" : nil
86
+ when :color
87
+ "hover_color_#{hover_value}"
88
+ when :background
89
+ "hover_background_#{hover_value}"
90
+ end
91
+ end
92
+ else
93
+ "hover_#{value}"
94
+ end
95
+ when :text_align
96
+ "text_align_#{value}"
97
+ when :overflow
98
+ "overflow_#{value}"
99
+ when :overflow_x
100
+ "overflow_x_#{value}"
101
+ when :overflow_y
102
+ "overflow_y_#{value}"
103
+ when :truncate
104
+ "truncate_#{value}"
105
+ when :group_hover
106
+ value ? "group_hover" : nil
107
+ end
108
+ end
109
+
110
+ classes.flatten.compact
111
+ end
112
+
113
+ def extract_all_props(options)
114
+ global_props = %i[
115
+ padding padding_top padding_bottom padding_left padding_right padding_x padding_y
116
+ margin margin_top margin_bottom margin_left margin_right margin_x margin_y
117
+ shadow width min_width max_width height min_height max_height
118
+ position vertical_alignment z_index line_height number_spacing
119
+ border_radius text_size letter_spacing display cursor hover
120
+ text_align overflow overflow_x overflow_y truncate group_hover
121
+ ]
122
+
123
+ props = {}
124
+ form_opts = options.dup
125
+
126
+ global_props.each { |prop| props[prop] = form_opts.delete(prop) if form_opts.key?(prop) }
127
+
128
+ if form_opts[:props].is_a?(Hash)
129
+ nested_props = form_opts.delete(:props)
130
+ props.merge!(nested_props.slice(*global_props))
131
+ end
132
+
133
+ [props, form_opts]
134
+ end
135
+ end
136
+ end
@@ -1,7 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require_relative "pb_forms_global_props_helper"
4
+
3
5
  module Playbook
4
6
  module PbFormsHelper
7
+ include Playbook::PbFormsGlobalPropsHelper
5
8
  # Renders a pb form with ::Playbook::Forms::Builder, that can render
6
9
  # Playbook kits in the most railsie way.
7
10
  #
@@ -23,11 +26,17 @@ module Playbook
23
26
  # @param validate [Boolean] whether validation should be triggered or not
24
27
  # @see [#form_with] for other options
25
28
  def pb_form_with(data: {}, validate: false, loading: false, **kwargs, &block)
29
+ global_props, form_options = extract_all_props(kwargs)
30
+
31
+ classnames = ["pb-form"]
32
+ classnames << form_options[:class] if form_options[:class].present?
33
+ classnames << "pb_form_loading" if loading
34
+ classnames.concat(generate_prop_classes(global_props))
35
+
26
36
  data = data.merge("pb-form-validation" => validate)
27
- classname = ["pb-form", kwargs[:class]].join(" ")
28
- classname += " pb_form_loading" if loading
29
- options = kwargs.merge(
30
- class: classname,
37
+
38
+ options = form_options.merge(
39
+ class: classnames.compact.join(" "),
31
40
  data: data,
32
41
  builder: ::Playbook::Forms::Builder
33
42
  )
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Playbook
4
4
  PREVIOUS_VERSION = "14.12.0"
5
- VERSION = "14.12.0.pre.alpha.play1828updateviteversion5680"
5
+ VERSION = "14.12.0.pre.alpha.play1862buttondisabledlinkbug5716"
6
6
  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: 14.12.0.pre.alpha.play1828updateviteversion5680
4
+ version: 14.12.0.pre.alpha.play1862buttondisabledlinkbug5716
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: 2025-01-28 00:00:00.000000000 Z
12
+ date: 2025-01-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -300,8 +300,10 @@ files:
300
300
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_expanded_control.md
301
301
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading.jsx
302
302
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading.md
303
+ - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading.html.erb
303
304
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading.jsx
304
- - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading.md
305
+ - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading_rails.md
306
+ - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading_react.md
305
307
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_no_subrows.jsx
306
308
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination.jsx
307
309
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination.md
@@ -796,6 +798,14 @@ files:
796
798
  - app/pb_kits/playbook/pb_contact/docs/_description.md
797
799
  - app/pb_kits/playbook/pb_contact/docs/example.yml
798
800
  - app/pb_kits/playbook/pb_contact/docs/index.js
801
+ - app/pb_kits/playbook/pb_copy_button/_copy_button.scss
802
+ - app/pb_kits/playbook/pb_copy_button/_copy_button.tsx
803
+ - app/pb_kits/playbook/pb_copy_button/copy_button.test.jsx
804
+ - app/pb_kits/playbook/pb_copy_button/docs/_copy_button_default.jsx
805
+ - app/pb_kits/playbook/pb_copy_button/docs/_copy_button_from.jsx
806
+ - app/pb_kits/playbook/pb_copy_button/docs/_copy_button_from.md
807
+ - app/pb_kits/playbook/pb_copy_button/docs/example.yml
808
+ - app/pb_kits/playbook/pb_copy_button/docs/index.js
799
809
  - app/pb_kits/playbook/pb_currency/_currency.scss
800
810
  - app/pb_kits/playbook/pb_currency/_currency.tsx
801
811
  - app/pb_kits/playbook/pb_currency/currency.html.erb
@@ -3299,8 +3309,8 @@ files:
3299
3309
  - app/pb_kits/playbook/utilities/test/globalProps/truncate.test.js
3300
3310
  - app/pb_kits/playbook/utilities/text.ts
3301
3311
  - app/pb_kits/playbook/utilities/validEmojiChecker.ts
3302
- - dist/chunks/_typeahead-BWwaAo_0.js
3303
- - dist/chunks/_weekday_stacked-zyBCd1s8.js
3312
+ - dist/chunks/_typeahead-BIhRQo8Q.js
3313
+ - dist/chunks/_weekday_stacked-VKMYuo6-.js
3304
3314
  - dist/chunks/lazysizes-B7xYodB-.js
3305
3315
  - dist/chunks/lib-kMuhBuU7.js
3306
3316
  - dist/chunks/pb_form_validation-DBJ0wZuS.js
@@ -3355,6 +3365,7 @@ files:
3355
3365
  - lib/playbook/overflow.rb
3356
3366
  - lib/playbook/pagination_renderer.rb
3357
3367
  - lib/playbook/pb_doc_helper.rb
3368
+ - lib/playbook/pb_forms_global_props_helper.rb
3358
3369
  - lib/playbook/pb_forms_helper.rb
3359
3370
  - lib/playbook/pb_kit_helper.rb
3360
3371
  - lib/playbook/position.rb