playbook_ui 16.1.0.pre.rc.3 → 16.2.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.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_dialog/_dialog.scss +8 -6
  3. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +6 -0
  4. data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +37 -2
  5. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_blank_selection_rails.md +3 -0
  6. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_blank_selection_react.md +3 -0
  7. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_clearable.html.erb +52 -0
  8. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_clearable.jsx +72 -0
  9. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_clearable.md +5 -0
  10. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height.jsx +33 -0
  11. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height_rails.html.erb +20 -0
  12. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height_rails.md +8 -0
  13. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height_react.md +8 -0
  14. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_placeholder.html.erb +9 -0
  15. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_placeholder.jsx +33 -0
  16. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_placeholder.md +3 -0
  17. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +6 -0
  18. data/app/pb_kits/playbook/pb_dropdown/docs/index.js +4 -1
  19. data/app/pb_kits/playbook/pb_dropdown/dropdown.html.erb +2 -2
  20. data/app/pb_kits/playbook/pb_dropdown/dropdown.rb +6 -0
  21. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +94 -0
  22. data/app/pb_kits/playbook/pb_dropdown/dropdown_container.rb +5 -1
  23. data/app/pb_kits/playbook/pb_dropdown/index.js +59 -4
  24. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownContainer.tsx +3 -0
  25. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownTrigger.tsx +2 -1
  26. data/app/pb_kits/playbook/pb_filter/Filter/SortMenu.tsx +1 -1
  27. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.html.erb +2 -2
  28. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.jsx +16 -9
  29. data/app/pb_kits/playbook/pb_filter/filter.rb +2 -2
  30. data/app/pb_kits/playbook/pb_form/docs/_form_with_required_indicator.html.erb +1 -0
  31. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.html.erb +5 -5
  32. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.jsx +4 -4
  33. data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +4 -0
  34. data/app/pb_kits/playbook/pb_passphrase/_passphrase.tsx +20 -5
  35. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_meter_settings.jsx +1 -0
  36. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_required_indicator.html.erb +7 -0
  37. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_required_indicator.jsx +24 -0
  38. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_required_indicator.md +3 -0
  39. data/app/pb_kits/playbook/pb_passphrase/docs/example.yml +2 -0
  40. data/app/pb_kits/playbook/pb_passphrase/docs/index.js +1 -0
  41. data/app/pb_kits/playbook/pb_passphrase/passphrase.rb +2 -0
  42. data/app/pb_kits/playbook/pb_passphrase/passphrase.test.jsx +30 -1
  43. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +3 -0
  44. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_required_indicator.html.erb +5 -0
  45. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_required_indicator.jsx +14 -0
  46. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_required_indicator.md +3 -0
  47. data/app/pb_kits/playbook/pb_phone_number_input/docs/example.yml +2 -0
  48. data/app/pb_kits/playbook/pb_phone_number_input/docs/index.js +1 -0
  49. data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.rb +3 -0
  50. data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.test.js +34 -3
  51. data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +24 -1
  52. data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +2 -1
  53. data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.tsx +4 -1
  54. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.html.erb +1 -1
  55. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.jsx +1 -1
  56. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +4 -0
  57. data/dist/chunks/_typeahead-Bfy-4mll.js +1 -0
  58. data/dist/chunks/vendor.js +2 -2
  59. data/dist/playbook-rails-react-bindings.js +1 -1
  60. data/dist/playbook-rails.js +1 -1
  61. data/dist/playbook.css +1 -1
  62. data/lib/playbook/align_content.rb +13 -3
  63. data/lib/playbook/align_items.rb +13 -3
  64. data/lib/playbook/align_self.rb +13 -3
  65. data/lib/playbook/display.rb +5 -0
  66. data/lib/playbook/flex.rb +13 -3
  67. data/lib/playbook/flex_direction.rb +13 -3
  68. data/lib/playbook/flex_grow.rb +13 -3
  69. data/lib/playbook/flex_shrink.rb +13 -3
  70. data/lib/playbook/flex_wrap.rb +13 -3
  71. data/lib/playbook/forms/builder/phone_number_field.rb +9 -0
  72. data/lib/playbook/justify_content.rb +13 -3
  73. data/lib/playbook/justify_self.rb +13 -3
  74. data/lib/playbook/order.rb +13 -3
  75. data/lib/playbook/spacing.rb +39 -9
  76. data/lib/playbook/text_align.rb +13 -3
  77. data/lib/playbook/truncate.rb +1 -1
  78. data/lib/playbook/version.rb +2 -2
  79. data/lib/playbook/vertical_align.rb +13 -3
  80. data/lib/playbook/z_index.rb +5 -0
  81. metadata +21 -3
  82. data/dist/chunks/_typeahead-B9a6ZsEP.js +0 -1
@@ -290,4 +290,27 @@ test('input display none shows number of selected items', () => {
290
290
  const kit = screen.getByTestId('input-display-none-test')
291
291
  const inputDisplayDiv = kit.querySelector(".pb_typeahead_selection_count")
292
292
  expect(inputDisplayDiv).toHaveTextContent("2 items selected")
293
- })
293
+ })
294
+
295
+ test('typeahead with pills that use name instead of label', () => {
296
+ const customOptions = [
297
+ { name: 'Nihar', value: '1' },
298
+ { name: 'kylehgousel', value: '2' },
299
+ ]
300
+
301
+ render(
302
+ <Typeahead
303
+ data={{ testid: 'pills-custom-fields-test' }}
304
+ defaultValue={[{ name: 'Nihar', value: '1' }]}
305
+ getOptionLabel={(option) => option.name}
306
+ getOptionValue={(option) => option.value}
307
+ isMulti
308
+ options={customOptions}
309
+ />
310
+ )
311
+
312
+ const kit = screen.getByTestId('pills-custom-fields-test')
313
+ const pill = kit.querySelector(".pb_form_pill_kit.pb_form_pill_primary")
314
+ expect(pill).toBeInTheDocument()
315
+ expect(pill).toHaveTextContent("Nihar")
316
+ })
@@ -62,8 +62,9 @@ type TypeaheadProps = {
62
62
  } & GlobalProps
63
63
 
64
64
  export type SelectValueType = {
65
- label: string,
65
+ label?: string,
66
66
  value: string,
67
+ name?: string,
67
68
  imageUrl?: string,
68
69
  pillColor?: string,
69
70
  }
@@ -18,9 +18,12 @@ type Props = {
18
18
 
19
19
  const MultiValue = (props: Props) => {
20
20
  const { removeProps, isFocused } = props
21
- const { imageUrl, label } = props.data
21
+ const { imageUrl } = props.data
22
22
  const { dark, multiKit, pillColor, truncate, wrapped, inputDisplay } = props.selectProps
23
23
 
24
+ // Extract label - use data.label or data.name if available, otherwise use empty string
25
+ const label = props.data.label || props.data.name || ''
26
+
24
27
  // If inputDisplay is "none", don't render the pill/badge, just return null (the count handled in ValueContainer file)
25
28
  if (inputDisplay === 'none') {
26
29
  return null
@@ -15,5 +15,5 @@
15
15
  options: names,
16
16
  label: "Truncation Within Typeahead",
17
17
  pills: true,
18
- truncate: 1,
18
+ truncate: "1",
19
19
  }) %>
@@ -17,7 +17,7 @@ const TypeaheadTruncatedText = (props) => {
17
17
  isMulti
18
18
  label="Truncation Within Typeahead"
19
19
  options={names}
20
- truncate={1}
20
+ truncate={"1"}
21
21
  {...props}
22
22
  />
23
23
  </>
@@ -123,6 +123,10 @@ module Playbook
123
123
  end
124
124
  base_options
125
125
  end
126
+
127
+ def truncate_props
128
+ nil unless is_react?
129
+ end
126
130
  end
127
131
  end
128
132
  end