playbook_ui 16.1.0.pre.alpha.play2771passphraseaccessibility14033 → 16.1.0.pre.alpha.play264213817

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 (86) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_card/docs/_card_light.html.erb +35 -3
  3. data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +5 -14
  4. data/app/pb_kits/playbook/pb_dialog/_dialog.scss +6 -8
  5. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +0 -6
  6. data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +2 -37
  7. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +0 -6
  8. data/app/pb_kits/playbook/pb_dropdown/docs/index.js +1 -4
  9. data/app/pb_kits/playbook/pb_dropdown/dropdown.html.erb +2 -2
  10. data/app/pb_kits/playbook/pb_dropdown/dropdown.rb +0 -6
  11. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +0 -94
  12. data/app/pb_kits/playbook/pb_dropdown/dropdown_container.rb +1 -5
  13. data/app/pb_kits/playbook/pb_dropdown/index.js +4 -59
  14. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownContainer.tsx +0 -3
  15. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownTrigger.tsx +1 -2
  16. data/app/pb_kits/playbook/pb_filter/Filter/SortMenu.tsx +1 -1
  17. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.html.erb +2 -2
  18. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.jsx +9 -16
  19. data/app/pb_kits/playbook/pb_filter/filter.rb +2 -2
  20. data/app/pb_kits/playbook/pb_form/docs/_form_with_required_indicator.html.erb +0 -2
  21. data/app/pb_kits/playbook/pb_form/pb_form_validation.js +2 -9
  22. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.html.erb +5 -5
  23. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_truncated_text.jsx +4 -4
  24. data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +0 -4
  25. data/app/pb_kits/playbook/pb_passphrase/_passphrase.tsx +7 -40
  26. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_meter_settings.jsx +0 -1
  27. data/app/pb_kits/playbook/pb_passphrase/docs/example.yml +0 -2
  28. data/app/pb_kits/playbook/pb_passphrase/docs/index.js +0 -1
  29. data/app/pb_kits/playbook/pb_passphrase/passphrase.rb +0 -2
  30. data/app/pb_kits/playbook/pb_passphrase/passphrase.test.jsx +1 -30
  31. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +0 -3
  32. data/app/pb_kits/playbook/pb_phone_number_input/docs/example.yml +0 -2
  33. data/app/pb_kits/playbook/pb_phone_number_input/docs/index.js +0 -1
  34. data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.rb +0 -3
  35. data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.test.js +3 -34
  36. data/app/pb_kits/playbook/pb_textarea/_textarea.tsx +0 -10
  37. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_default.html.erb +3 -3
  38. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_default.jsx +0 -3
  39. data/app/pb_kits/playbook/pb_textarea/textarea.html.erb +9 -25
  40. data/app/pb_kits/playbook/pb_textarea/textarea.rb +1 -7
  41. data/app/pb_kits/playbook/pb_time_picker/_time_picker.tsx +11 -97
  42. data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_on_handler.jsx +2 -5
  43. data/app/pb_kits/playbook/pb_time_picker/docs/example.yml +0 -2
  44. data/app/pb_kits/playbook/pb_time_picker/docs/index.js +0 -1
  45. data/app/pb_kits/playbook/pb_time_picker/time_picker.rb +0 -3
  46. data/app/pb_kits/playbook/pb_time_picker/time_picker.test.jsx +1 -47
  47. data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +1 -24
  48. data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +1 -2
  49. data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.tsx +1 -4
  50. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.html.erb +1 -1
  51. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.jsx +1 -1
  52. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +0 -4
  53. data/dist/chunks/_typeahead-B9a6ZsEP.js +1 -0
  54. data/dist/chunks/vendor.js +3 -3
  55. data/dist/menu.yml +1 -1
  56. data/dist/playbook-rails-react-bindings.js +1 -1
  57. data/dist/playbook-rails.js +1 -1
  58. data/dist/playbook.css +1 -1
  59. data/lib/playbook/forms/builder/phone_number_field.rb +0 -9
  60. data/lib/playbook/truncate.rb +1 -1
  61. data/lib/playbook/version.rb +1 -1
  62. metadata +3 -26
  63. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.md +0 -1
  64. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_blank_selection_rails.md +0 -3
  65. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_blank_selection_react.md +0 -3
  66. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_clearable.html.erb +0 -52
  67. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_clearable.jsx +0 -72
  68. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_clearable.md +0 -5
  69. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height.jsx +0 -33
  70. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height_rails.html.erb +0 -20
  71. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height_rails.md +0 -8
  72. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_constrain_height_react.md +0 -8
  73. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_placeholder.html.erb +0 -9
  74. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_placeholder.jsx +0 -33
  75. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_placeholder.md +0 -3
  76. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_required_indicator.html.erb +0 -7
  77. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_required_indicator.jsx +0 -24
  78. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_required_indicator.md +0 -3
  79. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_required_indicator.html.erb +0 -5
  80. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_required_indicator.jsx +0 -14
  81. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_required_indicator.md +0 -3
  82. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_default.md +0 -1
  83. data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_required_indicator.html.erb +0 -6
  84. data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_required_indicator.jsx +0 -16
  85. data/app/pb_kits/playbook/pb_time_picker/docs/_time_picker_required_indicator.md +0 -3
  86. data/dist/chunks/_typeahead-D-8xZ__X.js +0 -1
@@ -5,12 +5,12 @@ import { globalProps, GlobalProps } from '../utilities/globalProps'
5
5
  import Caption from '../pb_caption/_caption'
6
6
  import SelectableCard from '../pb_selectable_card/_selectable_card'
7
7
  import TextInput from '../pb_text_input/_text_input'
8
- import colors from '../tokens/exports/_colors.module.scss'
9
8
 
10
9
  import {
11
10
  parseTime,
12
11
  parseTimeToMinutes,
13
12
  isTimeInRange as isTimeInRangeHelper,
13
+ isHourDisabled as isHourDisabledHelper,
14
14
  isAnyAMTimeValid as isAnyAMTimeValidHelper,
15
15
  isAnyPMTimeValid as isAnyPMTimeValidHelper,
16
16
  getDisplayTime,
@@ -48,7 +48,6 @@ type TimePickerProps = {
48
48
  onChange?: (time: string) => void,
49
49
  onClose?: (time: string) => void,
50
50
  required?: boolean,
51
- requiredIndicator?: boolean,
52
51
  showTimezone?: boolean,
53
52
  timeFormat?: TimeFormat,
54
53
  validationMessage?: string,
@@ -73,7 +72,6 @@ const TimePicker = (props: TimePickerProps): JSX.Element => {
73
72
  onChange,
74
73
  onClose,
75
74
  required = false,
76
- requiredIndicator = false,
77
75
  showTimezone = false,
78
76
  timeFormat = 'AMPM',
79
77
  validationMessage,
@@ -116,6 +114,10 @@ const TimePicker = (props: TimePickerProps): JSX.Element => {
116
114
  return isTimeInRangeHelper(h, m, mer, timeFormat, minTimeMinutes, maxTimeMinutes)
117
115
  }
118
116
 
117
+ const isHourDisabled = (h: number, mer?: 'AM' | 'PM'): boolean => {
118
+ return isHourDisabledHelper(h, mer, timeFormat, minTimeMinutes, maxTimeMinutes)
119
+ }
120
+
119
121
  const isCurrentTimeValid = (h: number, m: number, mer: 'AM' | 'PM'): boolean => {
120
122
  return isTimeInRange(h, m, mer)
121
123
  }
@@ -185,28 +187,6 @@ const TimePicker = (props: TimePickerProps): JSX.Element => {
185
187
  const [showHourDropdown, setShowHourDropdown] = useState(false)
186
188
  const [showMinuteDropdown, setShowMinuteDropdown] = useState(false)
187
189
 
188
- // Clicking the clock add-on opens the dropdown
189
- useEffect(() => {
190
- if (disabled) return
191
-
192
- const addOnCard = document.querySelector(`#${uniqueId}-input`)?.closest('.text_input_wrapper_add_on')?.querySelector('.add-on-card') as HTMLElement
193
-
194
- if (addOnCard) {
195
- const handleAddOnClick = (e: Event) => {
196
- e.preventDefault()
197
- e.stopPropagation()
198
- setShowDropdown(true)
199
- }
200
-
201
- addOnCard.addEventListener('click', handleAddOnClick)
202
- addOnCard.style.cursor = 'pointer'
203
-
204
- return () => {
205
- addOnCard.removeEventListener('click', handleAddOnClick)
206
- }
207
- }
208
- }, [uniqueId, disabled, setShowDropdown])
209
-
210
190
  // Input dropdown scrolling
211
191
  const scrollDropdownToSelected = (dropdownRef: React.RefObject<HTMLDivElement>) => {
212
192
  if (dropdownRef.current) {
@@ -389,10 +369,6 @@ const TimePicker = (props: TimePickerProps): JSX.Element => {
389
369
  }
390
370
  }
391
371
 
392
- const handleHourFocus = (e: React.FocusEvent<HTMLInputElement>) => {
393
- e.target.select()
394
- }
395
-
396
372
  const handleHourBlur = () => {
397
373
  const result = normalizeHourOnBlur(hourInputValue, hour, timeFormat)
398
374
  setHour(result.hour)
@@ -417,10 +393,6 @@ const TimePicker = (props: TimePickerProps): JSX.Element => {
417
393
  }
418
394
  }
419
395
 
420
- const handleMinuteFocus = (e: React.FocusEvent<HTMLInputElement>) => {
421
- e.target.select()
422
- }
423
-
424
396
  const handleMinuteBlur = () => {
425
397
  const result = normalizeMinuteOnBlur(minuteInputValue, minute)
426
398
  setMinute(result.minute)
@@ -510,30 +482,6 @@ const TimePicker = (props: TimePickerProps): JSX.Element => {
510
482
  e.preventDefault()
511
483
  setShowHourDropdown(false)
512
484
  closeDropdown()
513
- } else if (e.key === 'ArrowDown') {
514
- // ArrowDown increases value (like scrolling down a list)
515
- e.preventDefault()
516
- const { maxHour, minHour } = getHourConstraints(timeFormat)
517
- const newHour = hour >= maxHour ? minHour : hour + 1
518
- setHour(newHour)
519
- setHourInputValue(timeFormat === '24hour' ? newHour.toString().padStart(2, '0') : newHour.toString())
520
- setHasSelectedTime(true)
521
- const timeString = get24HourTime(newHour, minute, meridiem, timeFormat)
522
- if (onChange) {
523
- onChange(timeString)
524
- }
525
- } else if (e.key === 'ArrowUp') {
526
- // ArrowUp decreases value (like scrolling up a list)
527
- e.preventDefault()
528
- const { maxHour, minHour } = getHourConstraints(timeFormat)
529
- const newHour = hour <= minHour ? maxHour : hour - 1
530
- setHour(newHour)
531
- setHourInputValue(timeFormat === '24hour' ? newHour.toString().padStart(2, '0') : newHour.toString())
532
- setHasSelectedTime(true)
533
- const timeString = get24HourTime(newHour, minute, meridiem, timeFormat)
534
- if (onChange) {
535
- onChange(timeString)
536
- }
537
485
  }
538
486
  }
539
487
 
@@ -565,28 +513,6 @@ const TimePicker = (props: TimePickerProps): JSX.Element => {
565
513
  e.preventDefault()
566
514
  setShowMinuteDropdown(false)
567
515
  closeDropdown()
568
- } else if (e.key === 'ArrowDown') {
569
- // ArrowDown increases value (like scrolling down a list)
570
- e.preventDefault()
571
- const newMinute = minute >= 59 ? 0 : minute + 1
572
- setMinute(newMinute)
573
- setMinuteInputValue(newMinute.toString().padStart(2, '0'))
574
- setHasSelectedTime(true)
575
- const timeString = get24HourTime(hour, newMinute, meridiem, timeFormat)
576
- if (onChange) {
577
- onChange(timeString)
578
- }
579
- } else if (e.key === 'ArrowUp') {
580
- // ArrowUp decreases value (like scrolling up a list)
581
- e.preventDefault()
582
- const newMinute = minute <= 0 ? 59 : minute - 1
583
- setMinute(newMinute)
584
- setMinuteInputValue(newMinute.toString().padStart(2, '0'))
585
- setHasSelectedTime(true)
586
- const timeString = get24HourTime(hour, newMinute, meridiem, timeFormat)
587
- if (onChange) {
588
- onChange(timeString)
589
- }
590
516
  }
591
517
  }
592
518
 
@@ -699,22 +625,12 @@ const TimePicker = (props: TimePickerProps): JSX.Element => {
699
625
  >
700
626
  {label && (
701
627
  <label htmlFor={`${uniqueId}-input`}>
702
- {requiredIndicator ? (
703
- <Caption
704
- className="pb_time_picker_kit_label"
705
- marginBottom="xs"
706
- size="md"
707
- >
708
- {label} <span style={{ color: `${colors.error}` }}>{'*'}</span>
709
- </Caption>
710
- ) : (
711
- <Caption
712
- className="pb_time_picker_kit_label"
713
- marginBottom="xs"
714
- size="md"
715
- text={label}
716
- />
717
- )}
628
+ <Caption
629
+ className="pb_time_picker_kit_label"
630
+ marginBottom="xs"
631
+ size="md"
632
+ text={label}
633
+ />
718
634
  </label>
719
635
  )}
720
636
  <div className="time_picker_wrapper">
@@ -773,7 +689,6 @@ const TimePicker = (props: TimePickerProps): JSX.Element => {
773
689
  onBlur={handleHourBlur}
774
690
  onChange={handleHourChange}
775
691
  onClick={() => { setShowHourDropdown(!showHourDropdown); setShowMinuteDropdown(false) }}
776
- onFocus={handleHourFocus}
777
692
  onKeyDown={handleHourKeyDown}
778
693
  pattern="[0-9]*"
779
694
  ref={hourInputRef}
@@ -819,7 +734,6 @@ const TimePicker = (props: TimePickerProps): JSX.Element => {
819
734
  onBlur={handleMinuteBlur}
820
735
  onChange={handleMinuteChange}
821
736
  onClick={() => { setShowMinuteDropdown(!showMinuteDropdown); setShowHourDropdown(false) }}
822
- onFocus={handleMinuteFocus}
823
737
  onKeyDown={handleMinuteKeyDown}
824
738
  pattern="[0-9]*"
825
739
  ref={minuteInputRef}
@@ -1,7 +1,6 @@
1
1
  import React, { useState } from 'react'
2
2
  import TimePicker from '../../pb_time_picker/_time_picker'
3
3
  import Body from '../../pb_body/_body'
4
- import Flex from '../../pb_flex/_flex'
5
4
 
6
5
  const TimePickerOnHandler = (props) => {
7
6
  const [selectedTime, setSelectedTime] = useState('')
@@ -18,9 +17,7 @@ const TimePickerOnHandler = (props) => {
18
17
  return (
19
18
  <div>
20
19
  {(selectedTime || closedTime) && (
21
- <Flex marginBottom="sm"
22
- orientation="column"
23
- >
20
+ <div style={{ marginBottom: '16px' }}>
24
21
  {selectedTime && (
25
22
  <Body
26
23
  text={`onChange: ${selectedTime}`}
@@ -32,7 +29,7 @@ const TimePickerOnHandler = (props) => {
32
29
  text={`onClose: ${closedTime}`}
33
30
  />
34
31
  )}
35
- </Flex>
32
+ </div>
36
33
  )}
37
34
  <TimePicker
38
35
  id="time-picker-on-handler"
@@ -9,7 +9,6 @@ examples:
9
9
  - time_picker_min_max_time: Min & Max Time
10
10
  - time_picker_error: Error
11
11
  - time_picker_disabled: Disabled
12
- - time_picker_required_indicator: Required Indicator
13
12
  - time_picker_input_options: Input Options
14
13
 
15
14
 
@@ -22,5 +21,4 @@ examples:
22
21
  - time_picker_min_max_time: Min & Max Time
23
22
  - time_picker_error: Error
24
23
  - time_picker_disabled: Disabled
25
- - time_picker_required_indicator: Required Indicator
26
24
  - time_picker_on_handler: onChange & onClose Handlers
@@ -7,4 +7,3 @@ export { default as TimePickerOnHandler } from './_time_picker_on_handler.jsx'
7
7
  export { default as TimePickerMinMaxTime } from './_time_picker_min_max_time.jsx'
8
8
  export { default as TimePickerError } from './_time_picker_error.jsx'
9
9
  export { default as TimePickerDisabled } from './_time_picker_disabled.jsx'
10
- export { default as TimePickerRequiredIndicator } from './_time_picker_required_indicator.jsx'
@@ -16,8 +16,6 @@ module Playbook
16
16
  prop :name, type: Playbook::Props::String
17
17
  prop :required, type: Playbook::Props::Boolean,
18
18
  default: false
19
- prop :required_indicator, type: Playbook::Props::Boolean,
20
- default: false
21
19
  prop :show_timezone, type: Playbook::Props::Boolean,
22
20
  default: false
23
21
  prop :time_format, type: Playbook::Props::Enum,
@@ -70,7 +68,6 @@ module Playbook
70
68
  minTime: min_time,
71
69
  name: name,
72
70
  required: required,
73
- requiredIndicator: required_indicator,
74
71
  showTimezone: show_timezone,
75
72
  timeFormat: time_format,
76
73
  validationMessage: validation_message,
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import { render, screen, fireEvent, within } from '../utilities/test-utils'
2
+ import { render, screen, fireEvent } from '../utilities/test-utils'
3
3
 
4
4
  import TimePicker from './_time_picker'
5
5
 
@@ -111,50 +111,4 @@ describe('TimePicker', () => {
111
111
  expect(screen.getByText('AM')).toBeInTheDocument()
112
112
  expect(screen.getByText('PM')).toBeInTheDocument()
113
113
  })
114
-
115
- test('renders required indicator asterisk when requiredIndicator is true', () => {
116
- render(
117
- <TimePicker
118
- data={{ testid: 'required-indicator-picker' }}
119
- label="Select Time"
120
- requiredIndicator
121
- />
122
- )
123
- const kit = screen.getByTestId('required-indicator-picker')
124
- const label = within(kit).getByText(/Select Time/)
125
-
126
- expect(label).toBeInTheDocument()
127
- expect(kit).toHaveTextContent('*')
128
- })
129
-
130
- test('requiredIndicator works independently of required prop', () => {
131
- render(
132
- <TimePicker
133
- data={{ testid: 'indicator-without-required' }}
134
- label="Select Time"
135
- requiredIndicator
136
- />
137
- )
138
- const kit = screen.getByTestId('indicator-without-required')
139
-
140
- expect(kit).toHaveTextContent('*')
141
- const input = screen.getByPlaceholderText('Select Time')
142
- expect(input).not.toHaveAttribute('required')
143
- })
144
-
145
- test('requiredIndicator and required can be used together', () => {
146
- render(
147
- <TimePicker
148
- data={{ testid: 'both-props-picker' }}
149
- label="Select Time"
150
- required
151
- requiredIndicator
152
- />
153
- )
154
- const kit = screen.getByTestId('both-props-picker')
155
- const input = screen.getByPlaceholderText('Select Time')
156
-
157
- expect(kit).toHaveTextContent('*')
158
- expect(input).toHaveAttribute('required')
159
- })
160
114
  })
@@ -290,27 +290,4 @@ 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
- })
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
- })
293
+ })
@@ -62,9 +62,8 @@ 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,
68
67
  imageUrl?: string,
69
68
  pillColor?: string,
70
69
  }
@@ -18,12 +18,9 @@ type Props = {
18
18
 
19
19
  const MultiValue = (props: Props) => {
20
20
  const { removeProps, isFocused } = props
21
- const { imageUrl } = props.data
21
+ const { imageUrl, label } = 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
-
27
24
  // If inputDisplay is "none", don't render the pill/badge, just return null (the count handled in ValueContainer file)
28
25
  if (inputDisplay === 'none') {
29
26
  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,10 +123,6 @@ module Playbook
123
123
  end
124
124
  base_options
125
125
  end
126
-
127
- def truncate_props
128
- nil unless is_react?
129
- end
130
126
  end
131
127
  end
132
128
  end