playbook_ui 16.2.0.pre.rc.2 → 16.2.0.pre.rc.3

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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +1 -1
  3. data/app/pb_kits/playbook/pb_checkbox/_checkbox.tsx +0 -17
  4. data/app/pb_kits/playbook/pb_checkbox/checkbox.html.erb +1 -10
  5. data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +0 -2
  6. data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +0 -2
  7. data/app/pb_kits/playbook/pb_checkbox/docs/index.js +0 -1
  8. data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +11 -46
  9. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.html.erb +3 -6
  10. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.jsx +0 -1
  11. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.md +1 -3
  12. data/app/pb_kits/playbook/pb_dropdown/dropdown.html.erb +4 -10
  13. data/app/pb_kits/playbook/pb_dropdown/dropdown.rb +0 -9
  14. data/app/pb_kits/playbook/pb_dropdown/dropdown_trigger.html.erb +2 -7
  15. data/app/pb_kits/playbook/pb_dropdown/dropdown_trigger.rb +0 -4
  16. data/app/pb_kits/playbook/pb_dropdown/index.js +73 -125
  17. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownTrigger.tsx +0 -16
  18. data/app/pb_kits/playbook/pb_dropdown/utilities/clickOutsideHelper.tsx +0 -6
  19. data/app/pb_kits/playbook/pb_form/docs/_form_with_required_indicator.html.erb +3 -5
  20. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.scss +0 -7
  21. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +549 -638
  22. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.html.erb +3 -3
  23. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.jsx +7 -4
  24. data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.test.jsx +4 -4
  25. data/app/pb_kits/playbook/pb_text_input/text_input.html.erb +10 -10
  26. data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +323 -410
  27. data/app/pb_kits/playbook/pb_typeahead/components/Control.tsx +0 -2
  28. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +0 -2
  29. data/app/pb_kits/playbook/pb_typeahead/docs/index.js +21 -22
  30. data/app/pb_kits/playbook/pb_typeahead/typeahead.html.erb +2 -3
  31. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +1 -3
  32. data/dist/chunks/{_pb_line_graph-DuJNCf7N.js → _pb_line_graph-CG2X7d4a.js} +1 -1
  33. data/dist/chunks/_typeahead-DjDiMPdY.js +1 -0
  34. data/dist/chunks/{globalProps-Bc-FVsRt.js → globalProps-B_OY_vR9.js} +1 -1
  35. data/dist/chunks/lib-9vEH4omL.js +29 -0
  36. data/dist/chunks/vendor.js +2 -2
  37. data/dist/playbook-rails-react-bindings.js +1 -1
  38. data/dist/playbook-rails.js +1 -1
  39. data/dist/playbook.css +1 -1
  40. data/lib/playbook/forms/builder/form_field_builder.rb +1 -1
  41. data/lib/playbook/forms/builder/typeahead_field.rb +1 -15
  42. data/lib/playbook/forms/builder.rb +2 -2
  43. data/lib/playbook/version.rb +1 -1
  44. metadata +5 -12
  45. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_required_indicator.html.erb +0 -6
  46. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_required_indicator.jsx +0 -17
  47. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_required_indicator.md +0 -3
  48. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.md +0 -3
  49. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.html.erb +0 -16
  50. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.jsx +0 -23
  51. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.md +0 -3
  52. data/dist/chunks/_typeahead-BKSzddAX.js +0 -1
  53. data/dist/chunks/lib-BwX82vim.js +0 -29
@@ -61,7 +61,7 @@ module Playbook
61
61
  name.to_s.humanize
62
62
  end
63
63
  else
64
- # Legacy behavior .(generate full label HTML) left untouched
64
+ # Legacy behavior (generate full label HTML) left untouched
65
65
  @template.label(@object_name, name)
66
66
  end
67
67
  elsif props[:label].is_a?(String)
@@ -10,21 +10,7 @@ module Playbook
10
10
  props[:input_options] ||= {}
11
11
  props[:input_options][:id] ||= input_id
12
12
 
13
- # Determine if this will use React rendering
14
- # React is used when: pills || !is_multi || wrapped || input_display == "none"
15
- will_use_react = props[:pills] || props[:is_multi] == false || props[:wrapped] || props[:input_display] == "none"
16
-
17
- if props[:label] == true
18
- # Extract just the text for label
19
- props[:label] = if @object && @object.class.respond_to?(:human_attribute_name)
20
- @object.class.human_attribute_name(name)
21
- else
22
- name.to_s.humanize
23
- end
24
- elsif props[:label].is_a?(String) && !will_use_react && !props[:required_indicator]
25
- # Only Rails (non-React) text_input without required_indicator: text_input creates its own label, so keep as plain text
26
- end
27
- # Keep label as plain text for both React and Rails (they handle their own label rendering)
13
+ props[:label] = @template.label(@object_name, name, for: props[:input_options][:id]) if props[:label] == true
28
14
 
29
15
  if props[:validation]
30
16
  validation_message = props[:validation][:message]
@@ -7,16 +7,16 @@ module Playbook
7
7
  require_relative "builder/checkbox_field"
8
8
  require_relative "builder/collection_select_field"
9
9
  require_relative "builder/date_picker_field"
10
- require_relative "builder/dropdown_field"
11
10
  require_relative "builder/form_field_builder"
12
11
  require_relative "builder/select_field"
12
+ require_relative "builder/typeahead_field"
13
13
  require_relative "builder/intl_telephone_field"
14
14
  require_relative "builder/multi_level_select_field"
15
15
  require_relative "builder/phone_number_field"
16
+ require_relative "builder/dropdown_field"
16
17
  require_relative "builder/star_rating_field"
17
18
  require_relative "builder/time_zone_select_field"
18
19
  require_relative "builder/time_picker_field"
19
- require_relative "builder/typeahead_field"
20
20
 
21
21
  prepend(FormFieldBuilder.new(:email_field, kit_name: "text_input"))
22
22
  prepend(FormFieldBuilder.new(:number_field, kit_name: "text_input"))
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Playbook
4
4
  PREVIOUS_VERSION = "16.1.0"
5
- VERSION = "16.2.0.pre.rc.2"
5
+ VERSION = "16.2.0.pre.rc.3"
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: 16.2.0.pre.rc.2
4
+ version: 16.2.0.pre.rc.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Power UX
@@ -741,9 +741,6 @@ files:
741
741
  - app/pb_kits/playbook/pb_checkbox/docs/_checkbox_props_swift.md
742
742
  - app/pb_kits/playbook/pb_checkbox/docs/_checkbox_react_hook.jsx
743
743
  - app/pb_kits/playbook/pb_checkbox/docs/_checkbox_react_hook.md
744
- - app/pb_kits/playbook/pb_checkbox/docs/_checkbox_required_indicator.html.erb
745
- - app/pb_kits/playbook/pb_checkbox/docs/_checkbox_required_indicator.jsx
746
- - app/pb_kits/playbook/pb_checkbox/docs/_checkbox_required_indicator.md
747
744
  - app/pb_kits/playbook/pb_checkbox/docs/_description.md
748
745
  - app/pb_kits/playbook/pb_checkbox/docs/example.yml
749
746
  - app/pb_kits/playbook/pb_checkbox/docs/index.js
@@ -2119,7 +2116,6 @@ files:
2119
2116
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_input_display.md
2120
2117
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.html.erb
2121
2118
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.jsx
2122
- - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.md
2123
2119
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_react_hook.jsx
2124
2120
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_react_hook.md
2125
2121
  - app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_reset.html.erb
@@ -3673,9 +3669,6 @@ files:
3673
3669
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_preserve_input_react.md
3674
3670
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_react_hook.jsx
3675
3671
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_react_hook.md
3676
- - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.html.erb
3677
- - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.jsx
3678
- - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_required_indicator.md
3679
3672
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.html.erb
3680
3673
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.jsx
3681
3674
  - app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.md
@@ -3894,12 +3887,12 @@ files:
3894
3887
  - app/pb_kits/playbook/utilities/test/globalProps/zIndex.test.js
3895
3888
  - app/pb_kits/playbook/utilities/text.ts
3896
3889
  - app/pb_kits/playbook/utilities/validEmojiChecker.ts
3897
- - dist/chunks/_pb_line_graph-DuJNCf7N.js
3898
- - dist/chunks/_typeahead-BKSzddAX.js
3890
+ - dist/chunks/_pb_line_graph-CG2X7d4a.js
3891
+ - dist/chunks/_typeahead-DjDiMPdY.js
3899
3892
  - dist/chunks/componentRegistry-DzmmLR2x.js
3900
- - dist/chunks/globalProps-Bc-FVsRt.js
3893
+ - dist/chunks/globalProps-B_OY_vR9.js
3901
3894
  - dist/chunks/lazysizes-B7xYodB-.js
3902
- - dist/chunks/lib-BwX82vim.js
3895
+ - dist/chunks/lib-9vEH4omL.js
3903
3896
  - dist/chunks/vendor.js
3904
3897
  - dist/menu.yml
3905
3898
  - dist/playbook-rails-react-bindings.js
@@ -1,6 +0,0 @@
1
- <%= pb_rails("checkbox" , props: {
2
- required_indicator: true,
3
- text: "Checkbox Label",
4
- value: "checkbox-value",
5
- name: "checkbox-name"
6
- }) %>
@@ -1,17 +0,0 @@
1
- import React from 'react'
2
- import Checkbox from '../_checkbox'
3
-
4
- const CheckboxRequiredIndicator = () => {
5
- return (
6
- <div>
7
- <Checkbox
8
- name="checkbox-name"
9
- requiredIndicator
10
- text="Checkbox label"
11
- value="check-box value"
12
- />
13
- </div>
14
- )
15
- }
16
-
17
- export default CheckboxRequiredIndicator
@@ -1,3 +0,0 @@
1
- The `requiredIndicator`/`required_indicator` prop displays a red asterisk (*) next to the label, visually indicating that the field is required. This is purely visual and does not enforce validation.
2
-
3
- You can use `requiredIndicator`/`required_indicator` with any validation approach: HTML5 validation via the `required` prop, client-side validation, or backend validation. For this reason, it works independently and doesn't need to be paired with the `required` prop.
@@ -1,3 +0,0 @@
1
- The MultiLevelSelect component optionally accepts a `label` prop to produce a label above the input.
2
-
3
- Add an `id` to wire the label to the input so that clicking the label will move focus directly to the input, and open the drop-down.
@@ -1,16 +0,0 @@
1
- <%
2
- options = [
3
- { label: 'Orange', value: '#FFA500' },
4
- { label: 'Red', value: '#FF0000' },
5
- { label: 'Green', value: '#00FF00' },
6
- { label: 'Blue', value: '#0000FF' },
7
- ]
8
- %>
9
-
10
- <%= pb_rails("typeahead", props: {
11
- id: "typeahead-required-indicator",
12
- is_multi: false,
13
- label: "Colors",
14
- options: options,
15
- required_indicator: true,
16
- }) %>
@@ -1,23 +0,0 @@
1
- import React from "react"
2
- import Typeahead from "../../pb_typeahead/_typeahead"
3
-
4
- const options = [
5
- {label: "Orange", value: "#FFA500"},
6
- {label: "Red", value: "#FF0000"},
7
- {label: "Green", value: "#00FF00"},
8
- {label: "Blue", value: "#0000FF"},
9
- ]
10
-
11
- const TypeaheadRequiredIndicator = (props) => {
12
- return (
13
- <Typeahead
14
- id="typeahead_required_indicator"
15
- label="Colors"
16
- options={options}
17
- requiredIndicator
18
- {...props}
19
- />
20
- )
21
- }
22
-
23
- export default TypeaheadRequiredIndicator
@@ -1,3 +0,0 @@
1
- The `requiredIndicator`/`required_indicator` prop displays a red asterisk (*) next to the label, visually indicating that the field is required. This is purely visual and does not enforce validation.
2
-
3
- You can use `requiredIndicator`/`required_indicator` with any validation approach: HTML5 validation via the `required` prop, client-side validation, or backend validation. For this reason, it works independently and doesn't need to be paired with the `required` prop.