playbook_ui 15.6.0 → 15.7.0.pre.rc.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 (39) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_card/docs/_card_header.md +1 -1
  3. data/app/pb_kits/playbook/pb_card/docs/_card_highlight.md +1 -1
  4. data/app/pb_kits/playbook/pb_collapsible/__snapshots__/collapsible.test.js.snap +2 -2
  5. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleIcon.tsx +10 -8
  6. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_icons.jsx +0 -1
  7. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_state.jsx +0 -3
  8. data/app/pb_kits/playbook/pb_date_picker/date_picker.test.js +24 -0
  9. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.ts +181 -3
  10. data/app/pb_kits/playbook/pb_distribution_bar/docs/_distribution_bar_custom_colors.md +1 -1
  11. data/app/pb_kits/playbook/pb_draggable/context/index.tsx +316 -15
  12. data/app/pb_kits/playbook/pb_draggable/context/types.ts +1 -1
  13. data/app/pb_kits/playbook/pb_radio/docs/_radio_error.md +1 -1
  14. data/app/pb_kits/playbook/pb_select/_select.tsx +8 -3
  15. data/app/pb_kits/playbook/pb_select/docs/_select_error.md +1 -1
  16. data/app/pb_kits/playbook/pb_select/docs/_select_input_options.html.erb +16 -0
  17. data/app/pb_kits/playbook/pb_select/docs/_select_input_options.jsx +30 -0
  18. data/app/pb_kits/playbook/pb_select/docs/_select_input_options.md +1 -0
  19. data/app/pb_kits/playbook/pb_select/docs/example.yml +2 -0
  20. data/app/pb_kits/playbook/pb_select/docs/index.js +1 -0
  21. data/app/pb_kits/playbook/pb_select/select.html.erb +2 -2
  22. data/app/pb_kits/playbook/pb_select/select.rb +3 -1
  23. data/app/pb_kits/playbook/pb_select/select.test.js +23 -0
  24. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_error.md +1 -1
  25. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_error.md +1 -1
  26. data/app/pb_kits/playbook/tokens/_colors.scss +2 -1
  27. data/dist/chunks/_typeahead-CYNrKU10.js +6 -0
  28. data/dist/chunks/lib-DDDLiZuu.js +29 -0
  29. data/dist/chunks/vendor.js +2 -2
  30. data/dist/playbook-rails-react-bindings.js +1 -1
  31. data/dist/playbook-rails.js +1 -1
  32. data/dist/playbook.css +1 -1
  33. data/lib/playbook/forms/builder/collection_select_field.rb +9 -1
  34. data/lib/playbook/forms/builder/select_field.rb +9 -1
  35. data/lib/playbook/forms/builder/time_zone_select_field.rb +9 -1
  36. data/lib/playbook/version.rb +2 -2
  37. metadata +7 -4
  38. data/dist/chunks/_typeahead-DecTL7bt.js +0 -6
  39. data/dist/chunks/lib-Dk4GKPut.js +0 -29
@@ -4,10 +4,18 @@ module Playbook
4
4
  module Forms
5
5
  class Builder
6
6
  def collection_select(name, collection, value_method, text_method, options = {}, html_options = {}, props: {})
7
- props[:label] = @template.label(@object_name, name) if props[:label] == true
7
+ props[:input_options] ||= {}
8
+ props[:input_options][:id] ||= "#{@object_name}_#{name}"
9
+
10
+ props[:label] = @template.label(@object_name, name, for: props[:input_options][:id]) if props[:label] == true
11
+
8
12
  options[:skip_default_ids] = false unless options.key?(:skip_default_ids)
9
13
  options[:prompt] = props[:blank_selection] || ""
10
14
  html_options[:required] = "required" if props[:required]
15
+ html_options[:id] = props[:input_options][:id]
16
+ html_options[:class] = props[:input_options][:class] if props[:input_options][:class]
17
+ html_options[:data] = (html_options[:data] || {}).merge(props[:input_options][:data] || {})
18
+
11
19
  input = super(name, collection, value_method, text_method, options, html_options)
12
20
 
13
21
  @template.pb_rails("select", props: props) do
@@ -4,10 +4,18 @@ module Playbook
4
4
  module Forms
5
5
  class Builder
6
6
  def select(name, choices = nil, options = {}, html_options = {}, props: {}, &block)
7
- props[:label] = @template.label(@object_name, name) if props[:label] == true
7
+ props[:input_options] ||= {}
8
+ props[:input_options][:id] ||= "#{@object_name}_#{name}"
9
+
10
+ props[:label] = @template.label(@object_name, name, for: props[:input_options][:id]) if props[:label] == true
11
+
8
12
  options[:skip_default_ids] = false unless options.key?(:skip_default_ids)
9
13
  options[:prompt] = props[:blank_selection] || ""
10
14
  html_options[:required] = "required" if props[:required]
15
+ html_options[:id] = props[:input_options][:id]
16
+ html_options[:class] = props[:input_options][:class] if props[:input_options][:class]
17
+ html_options[:data] = (html_options[:data] || {}).merge(props[:input_options][:data] || {})
18
+
11
19
  input = super(name, choices, options, html_options, &block)
12
20
 
13
21
  @template.pb_rails("select", props: props) do
@@ -4,10 +4,18 @@ module Playbook
4
4
  module Forms
5
5
  class Builder
6
6
  def time_zone_select_field(name, choices = {}, options = {}, html_options = {}, props: {})
7
- props[:label] = @template.label(@object_name, name) if props[:label] == true
7
+ props[:input_options] ||= {}
8
+ props[:input_options][:id] ||= "#{@object_name}_#{name}"
9
+
10
+ props[:label] = @template.label(@object_name, name, for: props[:input_options][:id]) if props[:label] == true
11
+
8
12
  options[:skip_default_ids] = false unless options.key?(:skip_default_ids)
9
13
  options[:prompt] = props[:blank_selection] || ""
10
14
  html_options[:required] = "required" if props[:required]
15
+ html_options[:id] = props[:input_options][:id]
16
+ html_options[:class] = props[:input_options][:class] if props[:input_options][:class]
17
+ html_options[:data] = (html_options[:data] || {}).merge(props[:input_options][:data] || {})
18
+
11
19
  input = @template.time_zone_select(@object_name, name, choices, options, html_options)
12
20
 
13
21
  @template.pb_rails("select", props: props) do
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Playbook
4
- PREVIOUS_VERSION = "15.5.0"
5
- VERSION = "15.6.0"
4
+ PREVIOUS_VERSION = "15.6.0"
5
+ VERSION = "15.7.0.pre.rc.0"
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: 15.6.0
4
+ version: 15.7.0.pre.rc.0
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-12-05 00:00:00.000000000 Z
12
+ date: 2025-12-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -2935,6 +2935,9 @@ files:
2935
2935
  - app/pb_kits/playbook/pb_select/docs/_select_inline_compact.jsx
2936
2936
  - app/pb_kits/playbook/pb_select/docs/_select_inline_show_arrow.html.erb
2937
2937
  - app/pb_kits/playbook/pb_select/docs/_select_inline_show_arrow.jsx
2938
+ - app/pb_kits/playbook/pb_select/docs/_select_input_options.html.erb
2939
+ - app/pb_kits/playbook/pb_select/docs/_select_input_options.jsx
2940
+ - app/pb_kits/playbook/pb_select/docs/_select_input_options.md
2938
2941
  - app/pb_kits/playbook/pb_select/docs/_select_multiple.html.erb
2939
2942
  - app/pb_kits/playbook/pb_select/docs/_select_multiple.jsx
2940
2943
  - app/pb_kits/playbook/pb_select/docs/_select_multiple.md
@@ -3861,9 +3864,9 @@ files:
3861
3864
  - app/pb_kits/playbook/utilities/test/globalProps/truncate.test.js
3862
3865
  - app/pb_kits/playbook/utilities/text.ts
3863
3866
  - app/pb_kits/playbook/utilities/validEmojiChecker.ts
3864
- - dist/chunks/_typeahead-DecTL7bt.js
3867
+ - dist/chunks/_typeahead-CYNrKU10.js
3865
3868
  - dist/chunks/lazysizes-B7xYodB-.js
3866
- - dist/chunks/lib-Dk4GKPut.js
3869
+ - dist/chunks/lib-DDDLiZuu.js
3867
3870
  - dist/chunks/vendor.js
3868
3871
  - dist/menu.yml
3869
3872
  - dist/playbook-rails-react-bindings.js