playbook_ui 15.6.0 → 15.7.0.pre.rc.1
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.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/pb_card/docs/_card_header.md +1 -1
- data/app/pb_kits/playbook/pb_card/docs/_card_highlight.md +1 -1
- data/app/pb_kits/playbook/pb_collapsible/__snapshots__/collapsible.test.js.snap +2 -2
- data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleIcon.tsx +10 -8
- data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_icons.jsx +0 -1
- data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_state.jsx +0 -3
- data/app/pb_kits/playbook/pb_date_picker/date_picker.test.js +24 -0
- data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.ts +181 -3
- data/app/pb_kits/playbook/pb_distribution_bar/docs/_distribution_bar_custom_colors.md +1 -1
- data/app/pb_kits/playbook/pb_draggable/context/index.tsx +316 -15
- data/app/pb_kits/playbook/pb_draggable/context/types.ts +1 -1
- data/app/pb_kits/playbook/pb_filter/Filter/FilterBackground.tsx +3 -3
- data/app/pb_kits/playbook/pb_radio/docs/_radio_error.md +1 -1
- data/app/pb_kits/playbook/pb_select/_select.tsx +8 -3
- data/app/pb_kits/playbook/pb_select/docs/_select_error.md +1 -1
- data/app/pb_kits/playbook/pb_select/docs/_select_input_options.html.erb +16 -0
- data/app/pb_kits/playbook/pb_select/docs/_select_input_options.jsx +30 -0
- data/app/pb_kits/playbook/pb_select/docs/_select_input_options.md +1 -0
- data/app/pb_kits/playbook/pb_select/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_select/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_select/select.html.erb +2 -2
- data/app/pb_kits/playbook/pb_select/select.rb +3 -1
- data/app/pb_kits/playbook/pb_select/select.test.js +23 -0
- data/app/pb_kits/playbook/pb_table/_table.tsx +187 -33
- data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant.jsx +134 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant.md +34 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_rails.html.erb +101 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_rails.md +33 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_with_pagination.jsx +180 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_with_pagination.md +3 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_with_pagination_rails.html.erb +122 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_with_pagination_rails.md +3 -0
- data/app/pb_kits/playbook/pb_table/docs/example.yml +4 -0
- data/app/pb_kits/playbook/pb_table/docs/index.js +2 -0
- data/app/pb_kits/playbook/pb_table/table.html.erb +68 -12
- data/app/pb_kits/playbook/pb_table/table.rb +22 -3
- data/app/pb_kits/playbook/pb_table/table.test.js +143 -0
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_error.md +1 -1
- data/app/pb_kits/playbook/pb_textarea/docs/_textarea_error.md +1 -1
- data/app/pb_kits/playbook/pb_timeline/_item.tsx +3 -0
- data/app/pb_kits/playbook/pb_timeline/docs/_timeline_show_current_year.html.erb +60 -0
- data/app/pb_kits/playbook/pb_timeline/docs/_timeline_show_current_year.jsx +118 -0
- data/app/pb_kits/playbook/pb_timeline/docs/_timeline_show_current_year.md +1 -0
- data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_date.md +1 -1
- data/app/pb_kits/playbook/pb_timeline/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_timeline/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_timeline/item.html.erb +1 -1
- data/app/pb_kits/playbook/pb_timeline/item.rb +2 -0
- data/app/pb_kits/playbook/pb_timeline/label.html.erb +2 -1
- data/app/pb_kits/playbook/pb_timeline/label.rb +2 -0
- data/app/pb_kits/playbook/pb_timeline/subcomponents/Label.tsx +3 -0
- data/app/pb_kits/playbook/pb_timeline/timeline.test.js +51 -0
- data/app/pb_kits/playbook/tokens/_colors.scss +2 -1
- data/app/pb_kits/playbook/utilities/deprecated.ts +73 -0
- data/dist/chunks/_typeahead-CHwm9MTE.js +6 -0
- data/dist/chunks/lib-Cugvy62C.js +29 -0
- data/dist/chunks/vendor.js +2 -2
- data/dist/playbook-rails-react-bindings.js +1 -1
- data/dist/playbook-rails.js +1 -1
- data/dist/playbook.css +1 -1
- data/lib/playbook/forms/builder/collection_select_field.rb +9 -1
- data/lib/playbook/forms/builder/select_field.rb +9 -1
- data/lib/playbook/forms/builder/time_zone_select_field.rb +9 -1
- data/lib/playbook/pb_kit_helper.rb +35 -0
- data/lib/playbook/version.rb +2 -2
- metadata +19 -4
- data/dist/chunks/_typeahead-DecTL7bt.js +0 -6
- 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[:
|
|
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[:
|
|
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[:
|
|
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
|
data/lib/playbook/version.rb
CHANGED
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.
|
|
4
|
+
version: 15.7.0.pre.rc.1
|
|
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-
|
|
12
|
+
date: 2025-12-11 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
|
|
@@ -3242,6 +3245,14 @@ files:
|
|
|
3242
3245
|
- app/pb_kits/playbook/pb_table/docs/_table_with_dynamic_collapsible.jsx
|
|
3243
3246
|
- app/pb_kits/playbook/pb_table/docs/_table_with_dynamic_collapsible_rails.md
|
|
3244
3247
|
- app/pb_kits/playbook/pb_table/docs/_table_with_dynamic_collapsible_react.md
|
|
3248
|
+
- app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant.jsx
|
|
3249
|
+
- app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant.md
|
|
3250
|
+
- app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_rails.html.erb
|
|
3251
|
+
- app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_rails.md
|
|
3252
|
+
- app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_with_pagination.jsx
|
|
3253
|
+
- app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_with_pagination.md
|
|
3254
|
+
- app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_with_pagination_rails.html.erb
|
|
3255
|
+
- app/pb_kits/playbook/pb_table/docs/_table_with_filter_variant_with_pagination_rails.md
|
|
3245
3256
|
- app/pb_kits/playbook/pb_table/docs/_table_with_header_style_borderless.html.erb
|
|
3246
3257
|
- app/pb_kits/playbook/pb_table/docs/_table_with_header_style_borderless.jsx
|
|
3247
3258
|
- app/pb_kits/playbook/pb_table/docs/_table_with_header_style_borderless_rails.md
|
|
@@ -3426,6 +3437,9 @@ files:
|
|
|
3426
3437
|
- app/pb_kits/playbook/pb_timeline/docs/_description.md
|
|
3427
3438
|
- app/pb_kits/playbook/pb_timeline/docs/_timeline_default.html.erb
|
|
3428
3439
|
- app/pb_kits/playbook/pb_timeline/docs/_timeline_default.jsx
|
|
3440
|
+
- app/pb_kits/playbook/pb_timeline/docs/_timeline_show_current_year.html.erb
|
|
3441
|
+
- app/pb_kits/playbook/pb_timeline/docs/_timeline_show_current_year.jsx
|
|
3442
|
+
- app/pb_kits/playbook/pb_timeline/docs/_timeline_show_current_year.md
|
|
3429
3443
|
- app/pb_kits/playbook/pb_timeline/docs/_timeline_vertical.html.erb
|
|
3430
3444
|
- app/pb_kits/playbook/pb_timeline/docs/_timeline_vertical.jsx
|
|
3431
3445
|
- app/pb_kits/playbook/pb_timeline/docs/_timeline_with_children.html.erb
|
|
@@ -3822,6 +3836,7 @@ files:
|
|
|
3822
3836
|
- app/pb_kits/playbook/utilities/_truncate.scss
|
|
3823
3837
|
- app/pb_kits/playbook/utilities/_vertical_align.scss
|
|
3824
3838
|
- app/pb_kits/playbook/utilities/_width.scss
|
|
3839
|
+
- app/pb_kits/playbook/utilities/deprecated.ts
|
|
3825
3840
|
- app/pb_kits/playbook/utilities/flexbox_global_props/_align_content.scss
|
|
3826
3841
|
- app/pb_kits/playbook/utilities/flexbox_global_props/_align_items.scss
|
|
3827
3842
|
- app/pb_kits/playbook/utilities/flexbox_global_props/_align_self.scss
|
|
@@ -3861,9 +3876,9 @@ files:
|
|
|
3861
3876
|
- app/pb_kits/playbook/utilities/test/globalProps/truncate.test.js
|
|
3862
3877
|
- app/pb_kits/playbook/utilities/text.ts
|
|
3863
3878
|
- app/pb_kits/playbook/utilities/validEmojiChecker.ts
|
|
3864
|
-
- dist/chunks/_typeahead-
|
|
3879
|
+
- dist/chunks/_typeahead-CHwm9MTE.js
|
|
3865
3880
|
- dist/chunks/lazysizes-B7xYodB-.js
|
|
3866
|
-
- dist/chunks/lib-
|
|
3881
|
+
- dist/chunks/lib-Cugvy62C.js
|
|
3867
3882
|
- dist/chunks/vendor.js
|
|
3868
3883
|
- dist/menu.yml
|
|
3869
3884
|
- dist/playbook-rails-react-bindings.js
|