playbook_ui 15.6.0.pre.alpha.draggableask12907 → 15.6.0.pre.alpha.play261013050

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 (79) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/Components/RegularTableView.tsx +3 -2
  3. data/app/pb_kits/playbook/pb_advanced_table/Components/TableHeaderCell.tsx +4 -0
  4. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +95 -0
  5. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_background_colors_rails.html.erb +43 -0
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_background_colors_rails.md +1 -0
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_background_control_rails.html.erb +11 -5
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_background_control_rails.md +7 -1
  9. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background.jsx +54 -0
  10. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background.md +9 -0
  11. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background_multi.jsx +80 -0
  12. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background_multi.md +3 -0
  13. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +4 -1
  14. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +3 -1
  15. data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +2 -2
  16. data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +57 -0
  17. data/app/pb_kits/playbook/pb_card/docs/_card_header.md +1 -1
  18. data/app/pb_kits/playbook/pb_card/docs/_card_highlight.md +1 -1
  19. data/app/pb_kits/playbook/pb_collapsible/__snapshots__/collapsible.test.js.snap +2 -2
  20. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleIcon.tsx +10 -8
  21. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_icons.jsx +0 -1
  22. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_state.jsx +0 -3
  23. data/app/pb_kits/playbook/pb_date_picker/date_picker.test.js +24 -0
  24. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.ts +181 -3
  25. data/app/pb_kits/playbook/pb_distribution_bar/docs/_distribution_bar_custom_colors.md +1 -1
  26. data/app/pb_kits/playbook/pb_filter/Filter/FilterBackground.tsx +3 -3
  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_table/_table.tsx +187 -33
  37. data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant.jsx +134 -0
  38. data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant.md +34 -0
  39. data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_rails.html.erb +101 -0
  40. data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_rails.md +33 -0
  41. data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_with_pagination.jsx +180 -0
  42. data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_with_pagination.md +3 -0
  43. data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_with_pagination_rails.html.erb +122 -0
  44. data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_with_pagination_rails.md +3 -0
  45. data/app/pb_kits/playbook/pb_table/docs/example.yml +4 -0
  46. data/app/pb_kits/playbook/pb_table/docs/index.js +2 -0
  47. data/app/pb_kits/playbook/pb_table/table.html.erb +68 -12
  48. data/app/pb_kits/playbook/pb_table/table.rb +22 -3
  49. data/app/pb_kits/playbook/pb_table/table.test.js +143 -0
  50. data/app/pb_kits/playbook/pb_timeline/_item.tsx +3 -0
  51. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_show_current_year.html.erb +60 -0
  52. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_show_current_year.jsx +118 -0
  53. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_show_current_year.md +1 -0
  54. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_date.md +1 -1
  55. data/app/pb_kits/playbook/pb_timeline/docs/example.yml +2 -0
  56. data/app/pb_kits/playbook/pb_timeline/docs/index.js +1 -0
  57. data/app/pb_kits/playbook/pb_timeline/item.html.erb +1 -1
  58. data/app/pb_kits/playbook/pb_timeline/item.rb +2 -0
  59. data/app/pb_kits/playbook/pb_timeline/label.html.erb +2 -1
  60. data/app/pb_kits/playbook/pb_timeline/label.rb +2 -0
  61. data/app/pb_kits/playbook/pb_timeline/subcomponents/Label.tsx +3 -0
  62. data/app/pb_kits/playbook/pb_timeline/timeline.test.js +51 -0
  63. data/app/pb_kits/playbook/tokens/_colors.scss +2 -1
  64. data/app/pb_kits/playbook/utilities/deprecated.ts +73 -0
  65. data/dist/chunks/_typeahead-CHwm9MTE.js +6 -0
  66. data/dist/chunks/lib-Cugvy62C.js +29 -0
  67. data/dist/chunks/vendor.js +3 -3
  68. data/dist/menu.yml +1 -1
  69. data/dist/playbook-rails-react-bindings.js +1 -1
  70. data/dist/playbook-rails.js +1 -1
  71. data/dist/playbook.css +1 -1
  72. data/lib/playbook/forms/builder/collection_select_field.rb +9 -1
  73. data/lib/playbook/forms/builder/select_field.rb +9 -1
  74. data/lib/playbook/forms/builder/time_zone_select_field.rb +9 -1
  75. data/lib/playbook/pb_kit_helper.rb +35 -0
  76. data/lib/playbook/version.rb +1 -1
  77. metadata +25 -4
  78. data/dist/chunks/_typeahead-Ch3OzX5L.js +0 -6
  79. 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
@@ -13,5 +13,40 @@ module Playbook
13
13
  render kit.new(props, &block), &block
14
14
  end
15
15
  end
16
+
17
+ def deprecated_kit_warning(kit_name, message = nil)
18
+ # Skip in test and production environments
19
+ return "".html_safe if Rails.env.test? || Rails.env.production?
20
+
21
+ # Build the warning message
22
+ base_message = "PLAYBOOK DEPRECATION WARNING\\n ----------------------------\\n The \\\"#{kit_name}\\\" kit is deprecated and will be removed in a future version."
23
+
24
+ full_message = if message
25
+ "#{base_message} #{message}"
26
+ else
27
+ "#{base_message} Please migrate to the recommended alternative"
28
+ end
29
+
30
+ # Escape the message for JavaScript
31
+ escaped_message = full_message.gsub("'", "\\\\'").gsub("\n", "\\n")
32
+
33
+ # Return a self-executing script that checks if we're already warned
34
+ # Uses client-side tracking to ensure one warning per page load
35
+ # Only shows warnings on localhost (matching React behavior)
36
+ script = "<script type=\"text/javascript\">\n"
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"
41
+ script += " if (!window.__PB_WARNED_KITS__) window.__PB_WARNED_KITS__ = new Set();\n"
42
+ script += " if (!window.__PB_WARNED_KITS__.has('#{kit_name}')) {\n"
43
+ script += " window.__PB_WARNED_KITS__.add('#{kit_name}');\n"
44
+ script += " console.warn('#{escaped_message}');\n"
45
+ script += " }\n"
46
+ script += "})();\n"
47
+ script += "</script>"
48
+
49
+ script.html_safe
50
+ end
16
51
  end
17
52
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Playbook
4
4
  PREVIOUS_VERSION = "15.6.0"
5
- VERSION = "15.6.0.pre.alpha.draggableask12907"
5
+ VERSION = "15.6.0.pre.alpha.play261013050"
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.draggableask12907
4
+ version: 15.6.0.pre.alpha.play261013050
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-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -273,6 +273,8 @@ files:
273
273
  - app/pb_kits/playbook/pb_advanced_table/advanced_table.rb
274
274
  - app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx
275
275
  - app/pb_kits/playbook/pb_advanced_table/advanced_table_action_bar.js
276
+ - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_background_colors_rails.html.erb
277
+ - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_background_colors_rails.md
276
278
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_background_control_rails.html.erb
277
279
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_background_control_rails.md
278
280
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_beta.html.erb
@@ -300,6 +302,10 @@ files:
300
302
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_vertical_border.jsx
301
303
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling.jsx
302
304
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling.md
305
+ - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background.jsx
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_multi.jsx
308
+ - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_background_multi.md
303
309
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_column_headers.jsx
304
310
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_column_headers.md
305
311
  - app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_column_headers_rails.html.erb
@@ -2935,6 +2941,9 @@ files:
2935
2941
  - app/pb_kits/playbook/pb_select/docs/_select_inline_compact.jsx
2936
2942
  - app/pb_kits/playbook/pb_select/docs/_select_inline_show_arrow.html.erb
2937
2943
  - app/pb_kits/playbook/pb_select/docs/_select_inline_show_arrow.jsx
2944
+ - app/pb_kits/playbook/pb_select/docs/_select_input_options.html.erb
2945
+ - app/pb_kits/playbook/pb_select/docs/_select_input_options.jsx
2946
+ - app/pb_kits/playbook/pb_select/docs/_select_input_options.md
2938
2947
  - app/pb_kits/playbook/pb_select/docs/_select_multiple.html.erb
2939
2948
  - app/pb_kits/playbook/pb_select/docs/_select_multiple.jsx
2940
2949
  - app/pb_kits/playbook/pb_select/docs/_select_multiple.md
@@ -3242,6 +3251,14 @@ files:
3242
3251
  - app/pb_kits/playbook/pb_table/docs/_table_with_dynamic_collapsible.jsx
3243
3252
  - app/pb_kits/playbook/pb_table/docs/_table_with_dynamic_collapsible_rails.md
3244
3253
  - app/pb_kits/playbook/pb_table/docs/_table_with_dynamic_collapsible_react.md
3254
+ - app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant.jsx
3255
+ - app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant.md
3256
+ - app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_rails.html.erb
3257
+ - app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_rails.md
3258
+ - app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_with_pagination.jsx
3259
+ - app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_with_pagination.md
3260
+ - app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_with_pagination_rails.html.erb
3261
+ - app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_with_pagination_rails.md
3245
3262
  - app/pb_kits/playbook/pb_table/docs/_table_with_header_style_borderless.html.erb
3246
3263
  - app/pb_kits/playbook/pb_table/docs/_table_with_header_style_borderless.jsx
3247
3264
  - app/pb_kits/playbook/pb_table/docs/_table_with_header_style_borderless_rails.md
@@ -3426,6 +3443,9 @@ files:
3426
3443
  - app/pb_kits/playbook/pb_timeline/docs/_description.md
3427
3444
  - app/pb_kits/playbook/pb_timeline/docs/_timeline_default.html.erb
3428
3445
  - app/pb_kits/playbook/pb_timeline/docs/_timeline_default.jsx
3446
+ - app/pb_kits/playbook/pb_timeline/docs/_timeline_show_current_year.html.erb
3447
+ - app/pb_kits/playbook/pb_timeline/docs/_timeline_show_current_year.jsx
3448
+ - app/pb_kits/playbook/pb_timeline/docs/_timeline_show_current_year.md
3429
3449
  - app/pb_kits/playbook/pb_timeline/docs/_timeline_vertical.html.erb
3430
3450
  - app/pb_kits/playbook/pb_timeline/docs/_timeline_vertical.jsx
3431
3451
  - app/pb_kits/playbook/pb_timeline/docs/_timeline_with_children.html.erb
@@ -3822,6 +3842,7 @@ files:
3822
3842
  - app/pb_kits/playbook/utilities/_truncate.scss
3823
3843
  - app/pb_kits/playbook/utilities/_vertical_align.scss
3824
3844
  - app/pb_kits/playbook/utilities/_width.scss
3845
+ - app/pb_kits/playbook/utilities/deprecated.ts
3825
3846
  - app/pb_kits/playbook/utilities/flexbox_global_props/_align_content.scss
3826
3847
  - app/pb_kits/playbook/utilities/flexbox_global_props/_align_items.scss
3827
3848
  - app/pb_kits/playbook/utilities/flexbox_global_props/_align_self.scss
@@ -3861,9 +3882,9 @@ files:
3861
3882
  - app/pb_kits/playbook/utilities/test/globalProps/truncate.test.js
3862
3883
  - app/pb_kits/playbook/utilities/text.ts
3863
3884
  - app/pb_kits/playbook/utilities/validEmojiChecker.ts
3864
- - dist/chunks/_typeahead-Ch3OzX5L.js
3885
+ - dist/chunks/_typeahead-CHwm9MTE.js
3865
3886
  - dist/chunks/lazysizes-B7xYodB-.js
3866
- - dist/chunks/lib-CgpqUb6l.js
3887
+ - dist/chunks/lib-Cugvy62C.js
3867
3888
  - dist/chunks/vendor.js
3868
3889
  - dist/menu.yml
3869
3890
  - dist/playbook-rails-react-bindings.js