playbook_ui 16.2.0.pre.rc.3 → 16.2.0.pre.rc.4

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 (69) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort.md +1 -1
  3. data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +1 -1
  4. data/app/pb_kits/playbook/pb_checkbox/_checkbox.tsx +17 -0
  5. data/app/pb_kits/playbook/pb_checkbox/checkbox.html.erb +10 -1
  6. data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +2 -0
  7. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_required_indicator.html.erb +6 -0
  8. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_required_indicator.jsx +17 -0
  9. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_required_indicator.md +3 -0
  10. data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +2 -0
  11. data/app/pb_kits/playbook/pb_checkbox/docs/index.js +1 -0
  12. data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +46 -11
  13. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display_rails.html.erb +1 -1
  14. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.html.erb +6 -3
  15. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.jsx +1 -0
  16. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.md +3 -1
  17. data/app/pb_kits/playbook/pb_dropdown/dropdown.html.erb +11 -5
  18. data/app/pb_kits/playbook/pb_dropdown/dropdown.rb +9 -0
  19. data/app/pb_kits/playbook/pb_dropdown/dropdown_trigger.html.erb +15 -10
  20. data/app/pb_kits/playbook/pb_dropdown/dropdown_trigger.rb +4 -0
  21. data/app/pb_kits/playbook/pb_dropdown/index.js +132 -79
  22. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownTrigger.tsx +16 -0
  23. data/app/pb_kits/playbook/pb_dropdown/utilities/clickOutsideHelper.tsx +6 -0
  24. data/app/pb_kits/playbook/pb_form/docs/_form_with_required_indicator.html.erb +5 -3
  25. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.scss +7 -0
  26. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +638 -549
  27. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.html.erb +3 -3
  28. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.jsx +4 -7
  29. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.md +3 -0
  30. data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.test.jsx +4 -4
  31. data/app/pb_kits/playbook/pb_nav/_item.tsx +5 -3
  32. data/app/pb_kits/playbook/pb_nav/_nav.scss +82 -3
  33. data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_disabled_item.html.erb +24 -0
  34. data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_disabled_item.jsx +87 -0
  35. data/app/pb_kits/playbook/pb_nav/docs/example.yml +2 -6
  36. data/app/pb_kits/playbook/pb_nav/docs/index.js +2 -1
  37. data/app/pb_kits/playbook/pb_nav/item.html.erb +1 -1
  38. data/app/pb_kits/playbook/pb_nav/item.rb +1 -1
  39. data/app/pb_kits/playbook/pb_nav/navTypes.ts +1 -0
  40. data/app/pb_kits/playbook/pb_text_input/text_input.html.erb +10 -10
  41. data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +29 -1
  42. data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +411 -323
  43. data/app/pb_kits/playbook/pb_typeahead/components/Control.tsx +2 -0
  44. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.html.erb +16 -0
  45. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.jsx +23 -0
  46. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.md +3 -0
  47. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +2 -0
  48. data/app/pb_kits/playbook/pb_typeahead/docs/index.js +22 -21
  49. data/app/pb_kits/playbook/pb_typeahead/typeahead.html.erb +3 -2
  50. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +3 -1
  51. data/app/pb_kits/playbook/tokens/_colors.scss +3 -0
  52. data/app/pb_kits/playbook/tokens/_colors_accessible.scss +250 -0
  53. data/app/pb_kits/playbook/tokens/exports/_colors.module.scss +10 -0
  54. data/dist/chunks/{_pb_line_graph-CG2X7d4a.js → _pb_line_graph-CC2Ywwix.js} +1 -1
  55. data/dist/chunks/_typeahead-CmMqokN8.js +1 -0
  56. data/dist/chunks/{globalProps-B_OY_vR9.js → globalProps-DYr2qrIf.js} +1 -1
  57. data/dist/chunks/lib-DgqmX9CF.js +29 -0
  58. data/dist/chunks/vendor.js +2 -2
  59. data/dist/playbook-rails-react-bindings.js +1 -1
  60. data/dist/playbook-rails.js +1 -1
  61. data/dist/playbook.css +2 -2
  62. data/dist/reset.css +1 -1
  63. data/lib/playbook/forms/builder/form_field_builder.rb +1 -1
  64. data/lib/playbook/forms/builder/typeahead_field.rb +15 -1
  65. data/lib/playbook/forms/builder.rb +2 -2
  66. data/lib/playbook/version.rb +1 -1
  67. metadata +16 -6
  68. data/dist/chunks/_typeahead-DjDiMPdY.js +0 -1
  69. data/dist/chunks/lib-9vEH4omL.js +0 -29
data/dist/reset.css CHANGED
@@ -1 +1 @@
1
- *{box-sizing:border-box;margin:0;padding:0}*:before,*:after{box-sizing:border-box}html{-webkit-tap-highlight-color:rgba(0,0,0,0);height:100vh;overflow-x:hidden}body{font-family:Power Centra,Helvetica Neue,Helvetica,Arial,sans_serif;font-size:15.5px;line-height:1.5;background-color:#f3f7fb;height:100%;letter-spacing:.003em;font-weight:400;font-style:normal;text-rendering:optimizeLegibility;-moz-font-feature-settings:"liga" on;color:#242b42;margin:0!important;padding:0!important;box-sizing:border-box;min-height:100vh;padding:50px}a{text-decoration:none;color:#0056cf}
1
+ @charset "UTF-8";*{box-sizing:border-box;margin:0;padding:0}*:before,*:after{box-sizing:border-box}html{-webkit-tap-highlight-color:rgba(0,0,0,0);height:100vh;overflow-x:hidden}body{font-family:Power Centra,Helvetica Neue,Helvetica,Arial,sans_serif;font-size:15.5px;line-height:1.5;background-color:#f3f7fb;height:100%;letter-spacing:.003em;font-weight:400;font-style:normal;text-rendering:optimizeLegibility;-moz-font-feature-settings:"liga" on;color:#242b42;margin:0!important;padding:0!important;box-sizing:border-box;min-height:100vh;padding:50px}a{text-decoration:none;color:#0056cf}
@@ -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.3"
5
+ VERSION = "16.2.0.pre.rc.4"
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.3
4
+ version: 16.2.0.pre.rc.4
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-02-03 00:00:00.000000000 Z
12
+ date: 2026-02-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -741,6 +741,9 @@ files:
741
741
  - app/pb_kits/playbook/pb_checkbox/docs/_checkbox_props_swift.md
742
742
  - app/pb_kits/playbook/pb_checkbox/docs/_checkbox_react_hook.jsx
743
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
744
747
  - app/pb_kits/playbook/pb_checkbox/docs/_description.md
745
748
  - app/pb_kits/playbook/pb_checkbox/docs/example.yml
746
749
  - app/pb_kits/playbook/pb_checkbox/docs/index.js
@@ -2116,6 +2119,7 @@ files:
2116
2119
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_input_display.md
2117
2120
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.html.erb
2118
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
2119
2123
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_react_hook.jsx
2120
2124
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_react_hook.md
2121
2125
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_reset.html.erb
@@ -2217,6 +2221,8 @@ files:
2217
2221
  - app/pb_kits/playbook/pb_nav/docs/_collapsible_nav.md
2218
2222
  - app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_custom.jsx
2219
2223
  - app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_custom.md
2224
+ - app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_disabled_item.html.erb
2225
+ - app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_disabled_item.jsx
2220
2226
  - app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_item_spacing.jsx
2221
2227
  - app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_item_spacing.md
2222
2228
  - app/pb_kits/playbook/pb_nav/docs/_collapsible_nav_no_icon.html.erb
@@ -3669,6 +3675,9 @@ files:
3669
3675
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_preserve_input_react.md
3670
3676
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_react_hook.jsx
3671
3677
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_react_hook.md
3678
+ - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.html.erb
3679
+ - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.jsx
3680
+ - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.md
3672
3681
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.html.erb
3673
3682
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.jsx
3674
3683
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.md
@@ -3771,6 +3780,7 @@ files:
3771
3780
  - app/pb_kits/playbook/tokens/_animation-curves.scss
3772
3781
  - app/pb_kits/playbook/tokens/_border_radius.scss
3773
3782
  - app/pb_kits/playbook/tokens/_colors.scss
3783
+ - app/pb_kits/playbook/tokens/_colors_accessible.scss
3774
3784
  - app/pb_kits/playbook/tokens/_container.scss
3775
3785
  - app/pb_kits/playbook/tokens/_display.scss
3776
3786
  - app/pb_kits/playbook/tokens/_height.scss
@@ -3887,12 +3897,12 @@ files:
3887
3897
  - app/pb_kits/playbook/utilities/test/globalProps/zIndex.test.js
3888
3898
  - app/pb_kits/playbook/utilities/text.ts
3889
3899
  - app/pb_kits/playbook/utilities/validEmojiChecker.ts
3890
- - dist/chunks/_pb_line_graph-CG2X7d4a.js
3891
- - dist/chunks/_typeahead-DjDiMPdY.js
3900
+ - dist/chunks/_pb_line_graph-CC2Ywwix.js
3901
+ - dist/chunks/_typeahead-CmMqokN8.js
3892
3902
  - dist/chunks/componentRegistry-DzmmLR2x.js
3893
- - dist/chunks/globalProps-B_OY_vR9.js
3903
+ - dist/chunks/globalProps-DYr2qrIf.js
3894
3904
  - dist/chunks/lazysizes-B7xYodB-.js
3895
- - dist/chunks/lib-9vEH4omL.js
3905
+ - dist/chunks/lib-DgqmX9CF.js
3896
3906
  - dist/chunks/vendor.js
3897
3907
  - dist/menu.yml
3898
3908
  - dist/playbook-rails-react-bindings.js