playbook_ui 16.2.0.pre.rc.0 → 16.2.0.pre.rc.2

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 (89) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/Components/RegularTableView.tsx +12 -2
  3. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +33 -0
  4. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background_custom.jsx +71 -0
  5. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background_custom.md +4 -0
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +1 -0
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +2 -1
  8. data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +1 -1
  9. data/app/pb_kits/playbook/pb_checkbox/_checkbox.tsx +17 -0
  10. data/app/pb_kits/playbook/pb_checkbox/checkbox.html.erb +10 -1
  11. data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +2 -0
  12. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_required_indicator.html.erb +6 -0
  13. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_required_indicator.jsx +17 -0
  14. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_required_indicator.md +3 -0
  15. data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +2 -0
  16. data/app/pb_kits/playbook/pb_checkbox/docs/index.js +1 -0
  17. data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +14 -5
  18. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.md +1 -0
  19. data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +46 -11
  20. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.html.erb +6 -3
  21. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.jsx +1 -0
  22. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.md +3 -1
  23. data/app/pb_kits/playbook/pb_dropdown/dropdown.html.erb +10 -4
  24. data/app/pb_kits/playbook/pb_dropdown/dropdown.rb +9 -0
  25. data/app/pb_kits/playbook/pb_dropdown/dropdown_trigger.html.erb +7 -2
  26. data/app/pb_kits/playbook/pb_dropdown/dropdown_trigger.rb +4 -0
  27. data/app/pb_kits/playbook/pb_dropdown/index.js +125 -73
  28. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownTrigger.tsx +16 -0
  29. data/app/pb_kits/playbook/pb_dropdown/utilities/clickOutsideHelper.tsx +6 -0
  30. data/app/pb_kits/playbook/pb_form/docs/_form_with_required_indicator.html.erb +6 -3
  31. data/app/pb_kits/playbook/pb_form/pb_form_validation.js +9 -2
  32. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.scss +7 -0
  33. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +638 -549
  34. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.html.erb +3 -3
  35. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.jsx +4 -7
  36. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.md +3 -0
  37. data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.test.jsx +4 -4
  38. data/app/pb_kits/playbook/pb_passphrase/_passphrase.tsx +20 -2
  39. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.tsx +51 -16
  40. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_label.jsx +44 -0
  41. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_label.md +1 -0
  42. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_required_indicator.jsx +1 -0
  43. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_label.jsx +28 -0
  44. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_label.md +1 -0
  45. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.jsx +1 -0
  46. data/app/pb_kits/playbook/pb_rich_text_editor/docs/example.yml +2 -0
  47. data/app/pb_kits/playbook/pb_rich_text_editor/docs/index.js +2 -0
  48. data/app/pb_kits/playbook/pb_table/index.ts +29 -27
  49. data/app/pb_kits/playbook/pb_text_input/text_input.html.erb +10 -10
  50. data/app/pb_kits/playbook/pb_textarea/_textarea.tsx +10 -0
  51. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_default.html.erb +3 -3
  52. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_default.jsx +3 -0
  53. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_default.md +1 -0
  54. data/app/pb_kits/playbook/pb_textarea/textarea.html.erb +25 -9
  55. data/app/pb_kits/playbook/pb_textarea/textarea.rb +7 -1
  56. data/app/pb_kits/playbook/pb_time_picker/_time_picker.tsx +97 -11
  57. data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_on_handler.jsx +5 -2
  58. data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_required_indicator.html.erb +6 -0
  59. data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_required_indicator.jsx +16 -0
  60. data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_required_indicator.md +3 -0
  61. data/app/pb_kits/playbook/pb_time_picker/docs/example.yml +2 -0
  62. data/app/pb_kits/playbook/pb_time_picker/docs/index.js +1 -0
  63. data/app/pb_kits/playbook/pb_time_picker/time_picker.rb +3 -0
  64. data/app/pb_kits/playbook/pb_time_picker/time_picker.test.jsx +47 -1
  65. data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +410 -323
  66. data/app/pb_kits/playbook/pb_typeahead/components/Control.tsx +2 -0
  67. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.html.erb +16 -0
  68. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.jsx +23 -0
  69. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.md +3 -0
  70. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +2 -0
  71. data/app/pb_kits/playbook/pb_typeahead/docs/index.js +22 -21
  72. data/app/pb_kits/playbook/pb_typeahead/typeahead.html.erb +3 -2
  73. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +3 -1
  74. data/dist/chunks/{_pb_line_graph-BgKF_zz1.js → _pb_line_graph-DuJNCf7N.js} +1 -1
  75. data/dist/chunks/_typeahead-BKSzddAX.js +1 -0
  76. data/dist/chunks/{globalProps-BhVYCqRf.js → globalProps-Bc-FVsRt.js} +1 -1
  77. data/dist/chunks/lib-BwX82vim.js +29 -0
  78. data/dist/chunks/vendor.js +3 -3
  79. data/dist/menu.yml +2 -2
  80. data/dist/playbook-rails-react-bindings.js +1 -1
  81. data/dist/playbook-rails.js +1 -1
  82. data/dist/playbook.css +1 -1
  83. data/lib/playbook/forms/builder/form_field_builder.rb +1 -1
  84. data/lib/playbook/forms/builder/typeahead_field.rb +15 -1
  85. data/lib/playbook/forms/builder.rb +2 -2
  86. data/lib/playbook/version.rb +1 -1
  87. metadata +24 -6
  88. data/dist/chunks/_typeahead-Bfy-4mll.js +0 -1
  89. data/dist/chunks/lib-DD34ZrWL.js +0 -29
@@ -61,7 +61,7 @@ module Playbook
61
61
  name.to_s.humanize
62
62
  end
63
63
  else
64
- # Legacy behavior (generate full label HTML) left untouched
64
+ # Legacy behavior .(generate full label HTML) left untouched
65
65
  @template.label(@object_name, name)
66
66
  end
67
67
  elsif props[:label].is_a?(String)
@@ -10,7 +10,21 @@ module Playbook
10
10
  props[:input_options] ||= {}
11
11
  props[:input_options][:id] ||= input_id
12
12
 
13
- props[:label] = @template.label(@object_name, name, for: props[:input_options][:id]) if props[:label] == true
13
+ # Determine if this will use React rendering
14
+ # React is used when: pills || !is_multi || wrapped || input_display == "none"
15
+ will_use_react = props[:pills] || props[:is_multi] == false || props[:wrapped] || props[:input_display] == "none"
16
+
17
+ if props[:label] == true
18
+ # Extract just the text for label
19
+ props[:label] = if @object && @object.class.respond_to?(:human_attribute_name)
20
+ @object.class.human_attribute_name(name)
21
+ else
22
+ name.to_s.humanize
23
+ end
24
+ elsif props[:label].is_a?(String) && !will_use_react && !props[:required_indicator]
25
+ # Only Rails (non-React) text_input without required_indicator: text_input creates its own label, so keep as plain text
26
+ end
27
+ # Keep label as plain text for both React and Rails (they handle their own label rendering)
14
28
 
15
29
  if props[:validation]
16
30
  validation_message = props[:validation][:message]
@@ -7,16 +7,16 @@ module Playbook
7
7
  require_relative "builder/checkbox_field"
8
8
  require_relative "builder/collection_select_field"
9
9
  require_relative "builder/date_picker_field"
10
+ require_relative "builder/dropdown_field"
10
11
  require_relative "builder/form_field_builder"
11
12
  require_relative "builder/select_field"
12
- require_relative "builder/typeahead_field"
13
13
  require_relative "builder/intl_telephone_field"
14
14
  require_relative "builder/multi_level_select_field"
15
15
  require_relative "builder/phone_number_field"
16
- require_relative "builder/dropdown_field"
17
16
  require_relative "builder/star_rating_field"
18
17
  require_relative "builder/time_zone_select_field"
19
18
  require_relative "builder/time_picker_field"
19
+ require_relative "builder/typeahead_field"
20
20
 
21
21
  prepend(FormFieldBuilder.new(:email_field, kit_name: "text_input"))
22
22
  prepend(FormFieldBuilder.new(:number_field, kit_name: "text_input"))
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Playbook
4
4
  PREVIOUS_VERSION = "16.1.0"
5
- VERSION = "16.2.0.pre.rc.0"
5
+ VERSION = "16.2.0.pre.rc.2"
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: 16.2.0.pre.rc.0
4
+ version: 16.2.0.pre.rc.2
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: 2026-01-27 00:00:00.000000000 Z
12
+ date: 2026-02-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -304,6 +304,8 @@ files:
304
304
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling.md
305
305
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background.jsx
306
306
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background.md
307
+ - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background_custom.jsx
308
+ - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background_custom.md
307
309
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background_multi.jsx
308
310
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background_multi.md
309
311
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_column_headers.jsx
@@ -739,6 +741,9 @@ files:
739
741
  - app/pb_kits/playbook/pb_checkbox/docs/_checkbox_props_swift.md
740
742
  - app/pb_kits/playbook/pb_checkbox/docs/_checkbox_react_hook.jsx
741
743
  - app/pb_kits/playbook/pb_checkbox/docs/_checkbox_react_hook.md
744
+ - app/pb_kits/playbook/pb_checkbox/docs/_checkbox_required_indicator.html.erb
745
+ - app/pb_kits/playbook/pb_checkbox/docs/_checkbox_required_indicator.jsx
746
+ - app/pb_kits/playbook/pb_checkbox/docs/_checkbox_required_indicator.md
742
747
  - app/pb_kits/playbook/pb_checkbox/docs/_description.md
743
748
  - app/pb_kits/playbook/pb_checkbox/docs/example.yml
744
749
  - app/pb_kits/playbook/pb_checkbox/docs/index.js
@@ -955,6 +960,7 @@ files:
955
960
  - app/pb_kits/playbook/pb_date_picker/docs/_date_picker_anti_patterns.html.erb
956
961
  - app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.html.erb
957
962
  - app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.jsx
963
+ - app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.md
958
964
  - app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.html.erb
959
965
  - app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.jsx
960
966
  - app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.md
@@ -2113,6 +2119,7 @@ files:
2113
2119
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_input_display.md
2114
2120
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.html.erb
2115
2121
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.jsx
2122
+ - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.md
2116
2123
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_react_hook.jsx
2117
2124
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_react_hook.md
2118
2125
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_reset.html.erb
@@ -2757,6 +2764,8 @@ files:
2757
2764
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_height.md
2758
2765
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_inline.jsx
2759
2766
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_inline.md
2767
+ - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_label.jsx
2768
+ - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_label.md
2760
2769
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_min_height.jsx
2761
2770
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_min_height.md
2762
2771
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_preview.jsx
@@ -2775,6 +2784,8 @@ files:
2775
2784
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_focus.jsx
2776
2785
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_inline.html.erb
2777
2786
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_inline.jsx
2787
+ - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_label.jsx
2788
+ - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_label.md
2778
2789
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_more_extensions.jsx
2779
2790
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_more_extensions.md
2780
2791
  - app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.html.erb
@@ -3307,6 +3318,7 @@ files:
3307
3318
  - app/pb_kits/playbook/pb_textarea/docs/_textarea_custom.jsx
3308
3319
  - app/pb_kits/playbook/pb_textarea/docs/_textarea_default.html.erb
3309
3320
  - app/pb_kits/playbook/pb_textarea/docs/_textarea_default.jsx
3321
+ - app/pb_kits/playbook/pb_textarea/docs/_textarea_default.md
3310
3322
  - app/pb_kits/playbook/pb_textarea/docs/_textarea_default_swift.md
3311
3323
  - app/pb_kits/playbook/pb_textarea/docs/_textarea_emoji_mask.html.erb
3312
3324
  - app/pb_kits/playbook/pb_textarea/docs/_textarea_emoji_mask.jsx
@@ -3377,6 +3389,9 @@ files:
3377
3389
  - app/pb_kits/playbook/pb_time_picker/docs/_time_picker_min_max_time.md
3378
3390
  - app/pb_kits/playbook/pb_time_picker/docs/_time_picker_on_handler.jsx
3379
3391
  - app/pb_kits/playbook/pb_time_picker/docs/_time_picker_on_handler.md
3392
+ - app/pb_kits/playbook/pb_time_picker/docs/_time_picker_required_indicator.html.erb
3393
+ - app/pb_kits/playbook/pb_time_picker/docs/_time_picker_required_indicator.jsx
3394
+ - app/pb_kits/playbook/pb_time_picker/docs/_time_picker_required_indicator.md
3380
3395
  - app/pb_kits/playbook/pb_time_picker/docs/_time_picker_timezone.html.erb
3381
3396
  - app/pb_kits/playbook/pb_time_picker/docs/_time_picker_timezone.jsx
3382
3397
  - app/pb_kits/playbook/pb_time_picker/docs/_time_picker_timezone.md
@@ -3658,6 +3673,9 @@ files:
3658
3673
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_preserve_input_react.md
3659
3674
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_react_hook.jsx
3660
3675
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_react_hook.md
3676
+ - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.html.erb
3677
+ - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.jsx
3678
+ - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.md
3661
3679
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.html.erb
3662
3680
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.jsx
3663
3681
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.md
@@ -3876,12 +3894,12 @@ files:
3876
3894
  - app/pb_kits/playbook/utilities/test/globalProps/zIndex.test.js
3877
3895
  - app/pb_kits/playbook/utilities/text.ts
3878
3896
  - app/pb_kits/playbook/utilities/validEmojiChecker.ts
3879
- - dist/chunks/_pb_line_graph-BgKF_zz1.js
3880
- - dist/chunks/_typeahead-Bfy-4mll.js
3897
+ - dist/chunks/_pb_line_graph-DuJNCf7N.js
3898
+ - dist/chunks/_typeahead-BKSzddAX.js
3881
3899
  - dist/chunks/componentRegistry-DzmmLR2x.js
3882
- - dist/chunks/globalProps-BhVYCqRf.js
3900
+ - dist/chunks/globalProps-Bc-FVsRt.js
3883
3901
  - dist/chunks/lazysizes-B7xYodB-.js
3884
- - dist/chunks/lib-DD34ZrWL.js
3902
+ - dist/chunks/lib-BwX82vim.js
3885
3903
  - dist/chunks/vendor.js
3886
3904
  - dist/menu.yml
3887
3905
  - dist/playbook-rails-react-bindings.js