playbook_ui 15.7.0 → 15.8.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.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/_playbook.scss +1 -1
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.rb +9 -7
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/index.js +3 -8
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +1 -1
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +2 -1
- data/app/pb_kits/playbook/pb_form/docs/_form_with_required_indicator.html.erb +14 -0
- data/app/pb_kits/playbook/pb_form/docs/_form_with_required_indicator.md +3 -0
- data/app/pb_kits/playbook/pb_form/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_popover/docs/_popover_append_to.html.erb +2 -2
- data/app/pb_kits/playbook/pb_popover/docs/_popover_append_to.jsx +3 -2
- data/app/pb_kits/playbook/pb_text_input/_text_input.tsx +56 -6
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_emoji_mask.html.erb +7 -0
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_emoji_mask.jsx +24 -0
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_emoji_mask.md +2 -0
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_required_indicator.html.erb +6 -0
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_required_indicator.jsx +25 -0
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_required_indicator.md +3 -0
- data/app/pb_kits/playbook/pb_text_input/docs/example.yml +5 -0
- data/app/pb_kits/playbook/pb_text_input/docs/index.js +2 -0
- data/app/pb_kits/playbook/pb_text_input/index.js +49 -8
- data/app/pb_kits/playbook/pb_text_input/text_input.html.erb +6 -0
- data/app/pb_kits/playbook/pb_text_input/text_input.rb +7 -1
- data/app/pb_kits/playbook/pb_text_input/text_input.test.js +69 -0
- data/app/pb_kits/playbook/pb_textarea/_textarea.tsx +38 -2
- data/app/pb_kits/playbook/pb_textarea/docs/_textarea_emoji_mask.html.erb +5 -0
- data/app/pb_kits/playbook/pb_textarea/docs/_textarea_emoji_mask.jsx +24 -0
- data/app/pb_kits/playbook/pb_textarea/docs/_textarea_emoji_mask.md +1 -0
- data/app/pb_kits/playbook/pb_textarea/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_textarea/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_textarea/index.ts +62 -5
- data/app/pb_kits/playbook/pb_textarea/textarea.html.erb +1 -0
- data/app/pb_kits/playbook/pb_textarea/textarea.rb +8 -0
- data/app/pb_kits/playbook/pb_textarea/textarea.test.js +57 -2
- data/app/pb_kits/playbook/pb_time_picker/_time_picker.scss +296 -0
- data/app/pb_kits/playbook/pb_time_picker/_time_picker.tsx +822 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_24_hour.html.erb +2 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_24_hour.jsx +16 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_24_hour.md +1 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_default.html.erb +1 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_default.jsx +13 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_default.md +1 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_default_time.html.erb +4 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_default_time.jsx +29 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_default_time.md +1 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_disabled.html.erb +13 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_disabled.jsx +23 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_error.html.erb +5 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_error.jsx +15 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_input_options.html.erb +14 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_label.html.erb +2 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_label.jsx +15 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_min_max_time.html.erb +42 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_min_max_time.jsx +52 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_min_max_time.md +1 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_on_handler.jsx +45 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_on_handler.md +1 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_timezone.html.erb +3 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_timezone.jsx +21 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_timezone.md +1 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/example.yml +24 -0
- data/app/pb_kits/playbook/pb_time_picker/docs/index.js +9 -0
- data/app/pb_kits/playbook/pb_time_picker/index.ts +40 -0
- data/app/pb_kits/playbook/pb_time_picker/time_picker.html.erb +1 -0
- data/app/pb_kits/playbook/pb_time_picker/time_picker.rb +80 -0
- data/app/pb_kits/playbook/pb_time_picker/time_picker.test.jsx +114 -0
- data/app/pb_kits/playbook/pb_time_picker/time_picker_helper.ts +662 -0
- data/app/pb_kits/playbook/utilities/emojiMask.ts +42 -0
- data/app/pb_kits/playbook/utilities/globalProps.ts +1 -0
- data/dist/chunks/_typeahead-CSCNg6cp.js +6 -0
- data/dist/chunks/lib-DxCgrqqG.js +29 -0
- data/dist/chunks/vendor.js +3 -3
- data/dist/menu.yml +7 -0
- 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/form_field_builder.rb +15 -2
- data/lib/playbook/forms/builder/time_picker_field.rb +24 -0
- data/lib/playbook/forms/builder.rb +1 -0
- data/lib/playbook/version.rb +2 -2
- metadata +50 -4
- data/dist/chunks/_typeahead-X3EqK1nR.js +0 -6
- data/dist/chunks/lib-BHYZzndy.js +0 -29
|
@@ -46,14 +46,27 @@ module Playbook
|
|
|
46
46
|
options[:data] = (options[:data] || {}).merge(message: validation[:message]) if validation[:message].present?
|
|
47
47
|
end
|
|
48
48
|
|
|
49
|
+
options[:data] = (options[:data] || {}).merge(pb_emoji_mask: true) if props.key?(:emoji_mask) && props[:emoji_mask]
|
|
50
|
+
|
|
49
51
|
input = super(name, **options, &block)
|
|
50
52
|
|
|
51
53
|
input_id = input[/\bid="([^"]+)"/, 1] || "#{@object_name}_#{name}"
|
|
52
54
|
|
|
53
55
|
if props[:label] == true
|
|
54
|
-
|
|
56
|
+
# If using required_indicator, extract just the text and let the template handle rendering
|
|
57
|
+
props[:label] = if props[:required_indicator]
|
|
58
|
+
if @object && @object.class.respond_to?(:human_attribute_name)
|
|
59
|
+
@object.class.human_attribute_name(name)
|
|
60
|
+
else
|
|
61
|
+
name.to_s.humanize
|
|
62
|
+
end
|
|
63
|
+
else
|
|
64
|
+
# Legacy behavior (generate full label HTML) left untouched
|
|
65
|
+
@template.label(@object_name, name)
|
|
66
|
+
end
|
|
55
67
|
elsif props[:label].is_a?(String)
|
|
56
|
-
|
|
68
|
+
# If using required_indicator, keep as text; otherwise wrap in label_tag
|
|
69
|
+
props[:label] = @template.label_tag(input_id, props[:label]) unless props[:required_indicator]
|
|
57
70
|
end
|
|
58
71
|
|
|
59
72
|
@template.pb_rails(kit_name, props: props) do
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Playbook
|
|
4
|
+
module Forms
|
|
5
|
+
class Builder
|
|
6
|
+
def time_picker(name, props: {})
|
|
7
|
+
prefix = @object_name
|
|
8
|
+
html_attribute_name = "#{prefix}[#{name}]"
|
|
9
|
+
html_id = "#{prefix}_#{name}"
|
|
10
|
+
|
|
11
|
+
if props[:label] == true
|
|
12
|
+
props[:label] = name.to_s.humanize
|
|
13
|
+
elsif props[:label].nil?
|
|
14
|
+
props[:label] = "Time Picker"
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
props[:name] = html_attribute_name
|
|
18
|
+
props[:id] = html_id
|
|
19
|
+
|
|
20
|
+
@template.pb_rails("time_picker", props: props)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -16,6 +16,7 @@ module Playbook
|
|
|
16
16
|
require_relative "builder/dropdown_field"
|
|
17
17
|
require_relative "builder/star_rating_field"
|
|
18
18
|
require_relative "builder/time_zone_select_field"
|
|
19
|
+
require_relative "builder/time_picker_field"
|
|
19
20
|
|
|
20
21
|
prepend(FormFieldBuilder.new(:email_field, kit_name: "text_input"))
|
|
21
22
|
prepend(FormFieldBuilder.new(:number_field, kit_name: "text_input"))
|
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.8.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:
|
|
12
|
+
date: 2026-01-06 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: actionpack
|
|
@@ -1677,6 +1677,8 @@ files:
|
|
|
1677
1677
|
- app/pb_kits/playbook/pb_form/docs/_form_form_with_loading.md
|
|
1678
1678
|
- app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb
|
|
1679
1679
|
- app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.md
|
|
1680
|
+
- app/pb_kits/playbook/pb_form/docs/_form_with_required_indicator.html.erb
|
|
1681
|
+
- app/pb_kits/playbook/pb_form/docs/_form_with_required_indicator.md
|
|
1680
1682
|
- app/pb_kits/playbook/pb_form/docs/example.yml
|
|
1681
1683
|
- app/pb_kits/playbook/pb_form/form.rb
|
|
1682
1684
|
- app/pb_kits/playbook/pb_form/formHelper.js
|
|
@@ -3366,6 +3368,9 @@ files:
|
|
|
3366
3368
|
- app/pb_kits/playbook/pb_text_input/docs/_text_input_disabled.html.erb
|
|
3367
3369
|
- app/pb_kits/playbook/pb_text_input/docs/_text_input_disabled.jsx
|
|
3368
3370
|
- app/pb_kits/playbook/pb_text_input/docs/_text_input_disabled_swift.md
|
|
3371
|
+
- app/pb_kits/playbook/pb_text_input/docs/_text_input_emoji_mask.html.erb
|
|
3372
|
+
- app/pb_kits/playbook/pb_text_input/docs/_text_input_emoji_mask.jsx
|
|
3373
|
+
- app/pb_kits/playbook/pb_text_input/docs/_text_input_emoji_mask.md
|
|
3369
3374
|
- app/pb_kits/playbook/pb_text_input/docs/_text_input_error.html.erb
|
|
3370
3375
|
- app/pb_kits/playbook/pb_text_input/docs/_text_input_error.jsx
|
|
3371
3376
|
- app/pb_kits/playbook/pb_text_input/docs/_text_input_error.md
|
|
@@ -3379,6 +3384,9 @@ files:
|
|
|
3379
3384
|
- app/pb_kits/playbook/pb_text_input/docs/_text_input_no_label.jsx
|
|
3380
3385
|
- app/pb_kits/playbook/pb_text_input/docs/_text_input_options.html.erb
|
|
3381
3386
|
- app/pb_kits/playbook/pb_text_input/docs/_text_input_props_swift.md
|
|
3387
|
+
- app/pb_kits/playbook/pb_text_input/docs/_text_input_required_indicator.html.erb
|
|
3388
|
+
- app/pb_kits/playbook/pb_text_input/docs/_text_input_required_indicator.jsx
|
|
3389
|
+
- app/pb_kits/playbook/pb_text_input/docs/_text_input_required_indicator.md
|
|
3382
3390
|
- app/pb_kits/playbook/pb_text_input/docs/_text_input_sanitize.jsx
|
|
3383
3391
|
- app/pb_kits/playbook/pb_text_input/docs/_text_input_sanitize.md
|
|
3384
3392
|
- app/pb_kits/playbook/pb_text_input/docs/example.yml
|
|
@@ -3400,6 +3408,9 @@ files:
|
|
|
3400
3408
|
- app/pb_kits/playbook/pb_textarea/docs/_textarea_default.html.erb
|
|
3401
3409
|
- app/pb_kits/playbook/pb_textarea/docs/_textarea_default.jsx
|
|
3402
3410
|
- app/pb_kits/playbook/pb_textarea/docs/_textarea_default_swift.md
|
|
3411
|
+
- app/pb_kits/playbook/pb_textarea/docs/_textarea_emoji_mask.html.erb
|
|
3412
|
+
- app/pb_kits/playbook/pb_textarea/docs/_textarea_emoji_mask.jsx
|
|
3413
|
+
- app/pb_kits/playbook/pb_textarea/docs/_textarea_emoji_mask.md
|
|
3403
3414
|
- app/pb_kits/playbook/pb_textarea/docs/_textarea_error.html.erb
|
|
3404
3415
|
- app/pb_kits/playbook/pb_textarea/docs/_textarea_error.jsx
|
|
3405
3416
|
- app/pb_kits/playbook/pb_textarea/docs/_textarea_error.md
|
|
@@ -3438,6 +3449,39 @@ files:
|
|
|
3438
3449
|
- app/pb_kits/playbook/pb_time/docs/index.js
|
|
3439
3450
|
- app/pb_kits/playbook/pb_time/time.html.erb
|
|
3440
3451
|
- app/pb_kits/playbook/pb_time/time.rb
|
|
3452
|
+
- app/pb_kits/playbook/pb_time_picker/_time_picker.scss
|
|
3453
|
+
- app/pb_kits/playbook/pb_time_picker/_time_picker.tsx
|
|
3454
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_24_hour.html.erb
|
|
3455
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_24_hour.jsx
|
|
3456
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_24_hour.md
|
|
3457
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_default.html.erb
|
|
3458
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_default.jsx
|
|
3459
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_default.md
|
|
3460
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_default_time.html.erb
|
|
3461
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_default_time.jsx
|
|
3462
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_default_time.md
|
|
3463
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_disabled.html.erb
|
|
3464
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_disabled.jsx
|
|
3465
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_error.html.erb
|
|
3466
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_error.jsx
|
|
3467
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_input_options.html.erb
|
|
3468
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_label.html.erb
|
|
3469
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_label.jsx
|
|
3470
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_min_max_time.html.erb
|
|
3471
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_min_max_time.jsx
|
|
3472
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_min_max_time.md
|
|
3473
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_on_handler.jsx
|
|
3474
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_on_handler.md
|
|
3475
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_timezone.html.erb
|
|
3476
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_timezone.jsx
|
|
3477
|
+
- app/pb_kits/playbook/pb_time_picker/docs/_time_picker_timezone.md
|
|
3478
|
+
- app/pb_kits/playbook/pb_time_picker/docs/example.yml
|
|
3479
|
+
- app/pb_kits/playbook/pb_time_picker/docs/index.js
|
|
3480
|
+
- app/pb_kits/playbook/pb_time_picker/index.ts
|
|
3481
|
+
- app/pb_kits/playbook/pb_time_picker/time_picker.html.erb
|
|
3482
|
+
- app/pb_kits/playbook/pb_time_picker/time_picker.rb
|
|
3483
|
+
- app/pb_kits/playbook/pb_time_picker/time_picker.test.jsx
|
|
3484
|
+
- app/pb_kits/playbook/pb_time_picker/time_picker_helper.ts
|
|
3441
3485
|
- app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.scss
|
|
3442
3486
|
- app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.tsx
|
|
3443
3487
|
- app/pb_kits/playbook/pb_time_range_inline/docs/_time_range_inline_default.html.erb
|
|
@@ -3864,6 +3908,7 @@ files:
|
|
|
3864
3908
|
- app/pb_kits/playbook/utilities/_vertical_align.scss
|
|
3865
3909
|
- app/pb_kits/playbook/utilities/_width.scss
|
|
3866
3910
|
- app/pb_kits/playbook/utilities/deprecated.ts
|
|
3911
|
+
- app/pb_kits/playbook/utilities/emojiMask.ts
|
|
3867
3912
|
- app/pb_kits/playbook/utilities/flexbox_global_props/_align_content.scss
|
|
3868
3913
|
- app/pb_kits/playbook/utilities/flexbox_global_props/_align_items.scss
|
|
3869
3914
|
- app/pb_kits/playbook/utilities/flexbox_global_props/_align_self.scss
|
|
@@ -3903,9 +3948,9 @@ files:
|
|
|
3903
3948
|
- app/pb_kits/playbook/utilities/test/globalProps/truncate.test.js
|
|
3904
3949
|
- app/pb_kits/playbook/utilities/text.ts
|
|
3905
3950
|
- app/pb_kits/playbook/utilities/validEmojiChecker.ts
|
|
3906
|
-
- dist/chunks/_typeahead-
|
|
3951
|
+
- dist/chunks/_typeahead-CSCNg6cp.js
|
|
3907
3952
|
- dist/chunks/lazysizes-B7xYodB-.js
|
|
3908
|
-
- dist/chunks/lib-
|
|
3953
|
+
- dist/chunks/lib-DxCgrqqG.js
|
|
3909
3954
|
- dist/chunks/vendor.js
|
|
3910
3955
|
- dist/menu.yml
|
|
3911
3956
|
- dist/playbook-rails-react-bindings.js
|
|
@@ -3940,6 +3985,7 @@ files:
|
|
|
3940
3985
|
- lib/playbook/forms/builder/phone_number_field.rb
|
|
3941
3986
|
- lib/playbook/forms/builder/select_field.rb
|
|
3942
3987
|
- lib/playbook/forms/builder/star_rating_field.rb
|
|
3988
|
+
- lib/playbook/forms/builder/time_picker_field.rb
|
|
3943
3989
|
- lib/playbook/forms/builder/time_zone_select_field.rb
|
|
3944
3990
|
- lib/playbook/forms/builder/typeahead_field.rb
|
|
3945
3991
|
- lib/playbook/height.rb
|