playbook_ui 14.12.0.pre.alpha.PLAY1602lightboxoverlapnitrobug5646 → 14.12.0.pre.alpha.PLAY1865reactdatepickerreinitializingbug5732

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/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 +3 -3
  6. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +3 -1
  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/_advanced_table_responsive.html.erb +38 -0
  12. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +2 -0
  13. data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +17 -3
  14. data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +15 -11
  15. data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +14 -3
  16. data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +2 -2
  17. data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +9 -1
  18. data/app/pb_kits/playbook/pb_advanced_table/table_subrow_header.html.erb +1 -1
  19. data/app/pb_kits/playbook/pb_advanced_table/table_subrow_header.rb +9 -0
  20. data/app/pb_kits/playbook/pb_avatar/_avatar.scss +5 -0
  21. data/app/pb_kits/playbook/pb_card/card.html.erb +21 -2
  22. data/app/pb_kits/playbook/pb_card/card.rb +7 -0
  23. data/app/pb_kits/playbook/pb_copy_button/_copy_button.scss +3 -0
  24. data/app/pb_kits/playbook/pb_copy_button/_copy_button.tsx +92 -0
  25. data/app/pb_kits/playbook/pb_copy_button/copy_button.test.jsx +64 -0
  26. data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_default.jsx +21 -0
  27. data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_from.jsx +45 -0
  28. data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_from.md +1 -0
  29. data/app/pb_kits/playbook/pb_copy_button/docs/example.yml +8 -0
  30. data/app/pb_kits/playbook/pb_copy_button/docs/index.js +2 -0
  31. data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +1 -1
  32. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_cards_rails.html.erb +1 -3
  33. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_cards_rails.md +7 -0
  34. data/app/pb_kits/playbook/pb_lightbox/lightbox.scss +5 -5
  35. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content.jsx +12 -8
  36. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content_rails.html.erb +52 -0
  37. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content_rails.md +0 -0
  38. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows_rails.html.erb +52 -0
  39. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows_rails.md +3 -0
  40. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table_rails.html.erb +80 -0
  41. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table_rails.md +1 -0
  42. data/app/pb_kits/playbook/pb_table/docs/example.yml +3 -0
  43. data/app/pb_kits/playbook/pb_table/table_row.rb +1 -1
  44. data/app/pb_kits/playbook/pb_tooltip/_tooltip.tsx +3 -1
  45. data/dist/chunks/{_typeahead-BWwaAo_0.js → _typeahead-BIhRQo8Q.js} +3 -3
  46. data/dist/chunks/_weekday_stacked-bORvL0Zi.js +45 -0
  47. data/dist/chunks/vendor.js +1 -1
  48. data/dist/menu.yml +6 -0
  49. data/dist/playbook-doc.js +1 -1
  50. data/dist/playbook-rails-react-bindings.js +1 -1
  51. data/dist/playbook-rails.js +1 -1
  52. data/dist/playbook.css +1 -1
  53. data/lib/playbook/pb_forms_global_props_helper.rb +136 -0
  54. data/lib/playbook/pb_forms_helper.rb +13 -4
  55. data/lib/playbook/version.rb +1 -1
  56. metadata +23 -5
  57. 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.PLAY1602lightboxoverlapnitrobug5646"
5
+ VERSION = "14.12.0.pre.alpha.PLAY1865reactdatepickerreinitializingbug5732"
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.PLAY1602lightboxoverlapnitrobug5646
4
+ version: 14.12.0.pre.alpha.PLAY1865reactdatepickerreinitializingbug5732
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-27 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,13 +300,16 @@ 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
308
310
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination_with_props.jsx
309
311
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination_with_props.md
312
+ - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_responsive.html.erb
310
313
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_responsive.jsx
311
314
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_responsive.md
312
315
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows.jsx
@@ -795,6 +798,14 @@ files:
795
798
  - app/pb_kits/playbook/pb_contact/docs/_description.md
796
799
  - app/pb_kits/playbook/pb_contact/docs/example.yml
797
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
798
809
  - app/pb_kits/playbook/pb_currency/_currency.scss
799
810
  - app/pb_kits/playbook/pb_currency/_currency.tsx
800
811
  - app/pb_kits/playbook/pb_currency/currency.html.erb
@@ -2720,10 +2731,16 @@ files:
2720
2731
  - app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click.md
2721
2732
  - app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content.jsx
2722
2733
  - app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content.md
2734
+ - app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content_rails.html.erb
2735
+ - app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content_rails.md
2723
2736
  - app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows.jsx
2724
2737
  - app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows.md
2738
+ - app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows_rails.html.erb
2739
+ - app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows_rails.md
2725
2740
  - app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table.jsx
2726
2741
  - app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table.md
2742
+ - app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table_rails.html.erb
2743
+ - app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table_rails.md
2727
2744
  - app/pb_kits/playbook/pb_table/docs/_table_with_subcomponents.jsx
2728
2745
  - app/pb_kits/playbook/pb_table/docs/_table_with_subcomponents.md
2729
2746
  - app/pb_kits/playbook/pb_table/docs/_table_with_subcomponents_as_divs.html.erb
@@ -3292,8 +3309,8 @@ files:
3292
3309
  - app/pb_kits/playbook/utilities/test/globalProps/truncate.test.js
3293
3310
  - app/pb_kits/playbook/utilities/text.ts
3294
3311
  - app/pb_kits/playbook/utilities/validEmojiChecker.ts
3295
- - dist/chunks/_typeahead-BWwaAo_0.js
3296
- - dist/chunks/_weekday_stacked-zyBCd1s8.js
3312
+ - dist/chunks/_typeahead-BIhRQo8Q.js
3313
+ - dist/chunks/_weekday_stacked-bORvL0Zi.js
3297
3314
  - dist/chunks/lazysizes-B7xYodB-.js
3298
3315
  - dist/chunks/lib-kMuhBuU7.js
3299
3316
  - dist/chunks/pb_form_validation-DBJ0wZuS.js
@@ -3348,6 +3365,7 @@ files:
3348
3365
  - lib/playbook/overflow.rb
3349
3366
  - lib/playbook/pagination_renderer.rb
3350
3367
  - lib/playbook/pb_doc_helper.rb
3368
+ - lib/playbook/pb_forms_global_props_helper.rb
3351
3369
  - lib/playbook/pb_forms_helper.rb
3352
3370
  - lib/playbook/pb_kit_helper.rb
3353
3371
  - lib/playbook/position.rb