playbook_ui 15.6.0.pre.alpha.play265012910 → 15.6.0.pre.alpha.play266013023

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 (64) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.tsx +0 -6
  3. data/app/pb_kits/playbook/pb_card/docs/_card_header.md +1 -1
  4. data/app/pb_kits/playbook/pb_card/docs/_card_highlight.md +1 -1
  5. data/app/pb_kits/playbook/pb_collapsible/__snapshots__/collapsible.test.js.snap +2 -2
  6. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleIcon.tsx +10 -8
  7. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_icons.jsx +0 -1
  8. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_state.jsx +0 -3
  9. data/app/pb_kits/playbook/pb_date_picker/date_picker.test.js +24 -0
  10. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.ts +181 -3
  11. data/app/pb_kits/playbook/pb_dialog/_dialog.tsx +2 -1
  12. data/app/pb_kits/playbook/pb_dialog/dialog.html.erb +1 -1
  13. data/app/pb_kits/playbook/pb_dialog/dialog.rb +1 -0
  14. data/app/pb_kits/playbook/pb_dialog/dialog.test.jsx +14 -0
  15. data/app/pb_kits/playbook/pb_dialog/dialog_header.html.erb +5 -4
  16. data/app/pb_kits/playbook/pb_dialog/dialog_header.rb +2 -0
  17. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_closeable.html.erb +24 -0
  18. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_closeable.jsx +60 -0
  19. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_closeable.md +3 -0
  20. data/app/pb_kits/playbook/pb_dialog/docs/example.yml +2 -0
  21. data/app/pb_kits/playbook/pb_dialog/docs/index.js +2 -1
  22. data/app/pb_kits/playbook/pb_distribution_bar/docs/_distribution_bar_custom_colors.md +1 -1
  23. data/app/pb_kits/playbook/pb_draggable/context/index.tsx +316 -15
  24. data/app/pb_kits/playbook/pb_draggable/context/types.ts +1 -1
  25. data/app/pb_kits/playbook/pb_legend/_legend.tsx +1 -6
  26. data/app/pb_kits/playbook/pb_legend/legend.html.erb +0 -1
  27. data/app/pb_kits/playbook/pb_select/_select.tsx +8 -3
  28. data/app/pb_kits/playbook/pb_select/docs/_select_input_options.html.erb +16 -0
  29. data/app/pb_kits/playbook/pb_select/docs/_select_input_options.jsx +30 -0
  30. data/app/pb_kits/playbook/pb_select/docs/_select_input_options.md +1 -0
  31. data/app/pb_kits/playbook/pb_select/docs/example.yml +2 -0
  32. data/app/pb_kits/playbook/pb_select/docs/index.js +1 -0
  33. data/app/pb_kits/playbook/pb_select/select.html.erb +2 -2
  34. data/app/pb_kits/playbook/pb_select/select.rb +3 -1
  35. data/app/pb_kits/playbook/pb_select/select.test.js +23 -0
  36. data/app/pb_kits/playbook/pb_timeline/_item.tsx +3 -0
  37. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_show_current_year.html.erb +60 -0
  38. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_show_current_year.jsx +118 -0
  39. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_show_current_year.md +1 -0
  40. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_date.md +1 -1
  41. data/app/pb_kits/playbook/pb_timeline/docs/example.yml +2 -0
  42. data/app/pb_kits/playbook/pb_timeline/docs/index.js +1 -0
  43. data/app/pb_kits/playbook/pb_timeline/item.html.erb +1 -1
  44. data/app/pb_kits/playbook/pb_timeline/item.rb +2 -0
  45. data/app/pb_kits/playbook/pb_timeline/label.html.erb +2 -1
  46. data/app/pb_kits/playbook/pb_timeline/label.rb +2 -0
  47. data/app/pb_kits/playbook/pb_timeline/subcomponents/Label.tsx +3 -0
  48. data/app/pb_kits/playbook/pb_timeline/timeline.test.js +51 -0
  49. data/app/pb_kits/playbook/tokens/_colors.scss +2 -1
  50. data/dist/chunks/_typeahead-CYNrKU10.js +6 -0
  51. data/dist/chunks/lib-DDDLiZuu.js +29 -0
  52. data/dist/chunks/vendor.js +2 -2
  53. data/dist/menu.yml +2 -3
  54. data/dist/playbook-rails-react-bindings.js +1 -1
  55. data/dist/playbook-rails.js +1 -1
  56. data/dist/playbook.css +1 -1
  57. data/lib/playbook/forms/builder/collection_select_field.rb +9 -1
  58. data/lib/playbook/forms/builder/select_field.rb +9 -1
  59. data/lib/playbook/forms/builder/time_zone_select_field.rb +9 -1
  60. data/lib/playbook/pb_kit_helper.rb +5 -1
  61. data/lib/playbook/version.rb +1 -1
  62. metadata +13 -4
  63. data/dist/chunks/_typeahead-CnPLuGbe.js +0 -6
  64. data/dist/chunks/lib-CgpqUb6l.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
@@ -30,10 +30,14 @@ module Playbook
30
30
  # Escape the message for JavaScript
31
31
  escaped_message = full_message.gsub("'", "\\\\'").gsub("\n", "\\n")
32
32
 
33
- # Return a self-executing script that checks if we've already warned
33
+ # Return a self-executing script that checks if we're already warned
34
34
  # Uses client-side tracking to ensure one warning per page load
35
+ # Only shows warnings on localhost (matching React behavior)
35
36
  script = "<script type=\"text/javascript\">\n"
36
37
  script += "(function() {\n"
38
+ script += " var hostname = window.location.hostname;\n"
39
+ script += " var isLocalDev = hostname === 'localhost' || hostname === '127.0.0.1' || hostname.endsWith('.local') || hostname.includes('local.') || !hostname;\n"
40
+ script += " if (!isLocalDev) return;\n"
37
41
  script += " if (!window.__PB_WARNED_KITS__) window.__PB_WARNED_KITS__ = new Set();\n"
38
42
  script += " if (!window.__PB_WARNED_KITS__.has('#{kit_name}')) {\n"
39
43
  script += " window.__PB_WARNED_KITS__.add('#{kit_name}');\n"
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Playbook
4
4
  PREVIOUS_VERSION = "15.6.0"
5
- VERSION = "15.6.0.pre.alpha.play265012910"
5
+ VERSION = "15.6.0.pre.alpha.play266013023"
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.pre.alpha.play265012910
4
+ version: 15.6.0.pre.alpha.play266013023
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-08 00:00:00.000000000 Z
12
+ date: 2025-12-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -1251,6 +1251,9 @@ files:
1251
1251
  - app/pb_kits/playbook/pb_dialog/dialog_footer.rb
1252
1252
  - app/pb_kits/playbook/pb_dialog/dialog_header.html.erb
1253
1253
  - app/pb_kits/playbook/pb_dialog/dialog_header.rb
1254
+ - app/pb_kits/playbook/pb_dialog/docs/_dialog_closeable.html.erb
1255
+ - app/pb_kits/playbook/pb_dialog/docs/_dialog_closeable.jsx
1256
+ - app/pb_kits/playbook/pb_dialog/docs/_dialog_closeable.md
1254
1257
  - app/pb_kits/playbook/pb_dialog/docs/_dialog_compound_components.html.erb
1255
1258
  - app/pb_kits/playbook/pb_dialog/docs/_dialog_compound_components.jsx
1256
1259
  - app/pb_kits/playbook/pb_dialog/docs/_dialog_compound_components.md
@@ -2935,6 +2938,9 @@ files:
2935
2938
  - app/pb_kits/playbook/pb_select/docs/_select_inline_compact.jsx
2936
2939
  - app/pb_kits/playbook/pb_select/docs/_select_inline_show_arrow.html.erb
2937
2940
  - app/pb_kits/playbook/pb_select/docs/_select_inline_show_arrow.jsx
2941
+ - app/pb_kits/playbook/pb_select/docs/_select_input_options.html.erb
2942
+ - app/pb_kits/playbook/pb_select/docs/_select_input_options.jsx
2943
+ - app/pb_kits/playbook/pb_select/docs/_select_input_options.md
2938
2944
  - app/pb_kits/playbook/pb_select/docs/_select_multiple.html.erb
2939
2945
  - app/pb_kits/playbook/pb_select/docs/_select_multiple.jsx
2940
2946
  - app/pb_kits/playbook/pb_select/docs/_select_multiple.md
@@ -3426,6 +3432,9 @@ files:
3426
3432
  - app/pb_kits/playbook/pb_timeline/docs/_description.md
3427
3433
  - app/pb_kits/playbook/pb_timeline/docs/_timeline_default.html.erb
3428
3434
  - app/pb_kits/playbook/pb_timeline/docs/_timeline_default.jsx
3435
+ - app/pb_kits/playbook/pb_timeline/docs/_timeline_show_current_year.html.erb
3436
+ - app/pb_kits/playbook/pb_timeline/docs/_timeline_show_current_year.jsx
3437
+ - app/pb_kits/playbook/pb_timeline/docs/_timeline_show_current_year.md
3429
3438
  - app/pb_kits/playbook/pb_timeline/docs/_timeline_vertical.html.erb
3430
3439
  - app/pb_kits/playbook/pb_timeline/docs/_timeline_vertical.jsx
3431
3440
  - app/pb_kits/playbook/pb_timeline/docs/_timeline_with_children.html.erb
@@ -3862,9 +3871,9 @@ files:
3862
3871
  - app/pb_kits/playbook/utilities/test/globalProps/truncate.test.js
3863
3872
  - app/pb_kits/playbook/utilities/text.ts
3864
3873
  - app/pb_kits/playbook/utilities/validEmojiChecker.ts
3865
- - dist/chunks/_typeahead-CnPLuGbe.js
3874
+ - dist/chunks/_typeahead-CYNrKU10.js
3866
3875
  - dist/chunks/lazysizes-B7xYodB-.js
3867
- - dist/chunks/lib-CgpqUb6l.js
3876
+ - dist/chunks/lib-DDDLiZuu.js
3868
3877
  - dist/chunks/vendor.js
3869
3878
  - dist/menu.yml
3870
3879
  - dist/playbook-rails-react-bindings.js