playbook_ui 13.31.0.pre.alpha.PLAY10863204 → 13.31.0.pre.alpha.play1262iconstyles3171

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 (77) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_background/background.html.erb +11 -2
  3. data/app/pb_kits/playbook/pb_body/body.html.erb +6 -1
  4. data/app/pb_kits/playbook/pb_bread_crumbs/bread_crumb_item.html.erb +6 -1
  5. data/app/pb_kits/playbook/pb_bread_crumbs/bread_crumbs.html.erb +6 -1
  6. data/app/pb_kits/playbook/pb_caption/caption.html.erb +6 -1
  7. data/app/pb_kits/playbook/pb_card/card.html.erb +7 -1
  8. data/app/pb_kits/playbook/pb_collapsible/__snapshots__/collapsible.test.js.snap +1 -1
  9. data/app/pb_kits/playbook/pb_date_year_stacked/docs/_date_year_stacked_default.jsx +1 -4
  10. data/app/pb_kits/playbook/pb_detail/detail.html.erb +6 -1
  11. data/app/pb_kits/playbook/pb_dialog/dialog.html.erb +6 -1
  12. data/app/pb_kits/playbook/pb_dialog/dialog_body.html.erb +6 -1
  13. data/app/pb_kits/playbook/pb_dialog/dialog_footer.html.erb +5 -2
  14. data/app/pb_kits/playbook/pb_dialog/dialog_header.html.erb +6 -1
  15. data/app/pb_kits/playbook/pb_draggable/context/index.tsx +1 -15
  16. data/app/pb_kits/playbook/pb_draggable/context/types.ts +0 -5
  17. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_default.jsx +19 -14
  18. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_default.md +3 -5
  19. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_cards.md +3 -7
  20. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_list.md +5 -3
  21. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_selectable_list.md +5 -3
  22. data/app/pb_kits/playbook/pb_dropdown/dropdown.html.erb +1 -3
  23. data/app/pb_kits/playbook/pb_dropdown/dropdown.rb +0 -2
  24. data/app/pb_kits/playbook/pb_dropdown/index.js +4 -33
  25. data/app/pb_kits/playbook/pb_flex/flex.html.erb +5 -1
  26. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +0 -9
  27. data/app/pb_kits/playbook/pb_hashtag/hashtag.html.erb +6 -1
  28. data/app/pb_kits/playbook/pb_highlight/highlight.html.erb +5 -1
  29. data/app/pb_kits/playbook/pb_home_address_street/home_address_street.html.erb +5 -1
  30. data/app/pb_kits/playbook/pb_icon/_icon.scss +223 -1
  31. data/app/pb_kits/playbook/pb_icon/_icon.tsx +99 -7
  32. data/app/pb_kits/playbook/pb_icon/icon.rb +22 -16
  33. data/app/pb_kits/playbook/pb_nav/_nav_item.test.js +2 -2
  34. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.tsx +23 -8
  35. data/app/pb_kits/playbook/pb_table/_table.tsx +1 -1
  36. data/app/pb_kits/playbook/pb_table/index.ts +4 -4
  37. data/app/pb_kits/playbook/pb_table/subcomponents/_table_body.tsx +1 -1
  38. data/app/pb_kits/playbook/pb_table/subcomponents/_table_cell.tsx +1 -1
  39. data/app/pb_kits/playbook/pb_table/subcomponents/_table_head.tsx +1 -1
  40. data/app/pb_kits/playbook/pb_table/subcomponents/_table_header.tsx +1 -1
  41. data/app/pb_kits/playbook/pb_table/subcomponents/_table_row.tsx +1 -1
  42. data/app/pb_kits/playbook/pb_table/table.test.js +0 -2
  43. data/app/pb_kits/playbook/pb_text_input/_text_input.tsx +1 -1
  44. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_default.jsx +1 -1
  45. data/app/pb_kits/playbook/pb_textarea/_textarea.tsx +27 -45
  46. data/app/pb_kits/playbook/pb_textarea/index.tsx +3 -3
  47. data/app/pb_kits/playbook/pb_time/_time.tsx +3 -3
  48. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.tsx +1 -1
  49. data/app/pb_kits/playbook/pb_timeline/_item.tsx +1 -1
  50. data/app/pb_kits/playbook/pb_timeline/_timeline.tsx +1 -1
  51. data/app/pb_kits/playbook/pb_title_detail/_title_detail.tsx +10 -10
  52. data/app/pb_kits/playbook/pb_toggle/_toggle.tsx +1 -1
  53. data/app/pb_kits/playbook/pb_tooltip/_tooltip.tsx +2 -2
  54. data/app/pb_kits/playbook/pb_treemap_chart/_treemap_chart.tsx +2 -1
  55. data/app/pb_kits/playbook/pb_treemap_chart/treemapChart.test.js +0 -2
  56. data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +3 -3
  57. data/app/pb_kits/playbook/pb_typeahead/components/ClearIndicator.tsx +4 -4
  58. data/app/pb_kits/playbook/pb_typeahead/components/Control.tsx +7 -11
  59. data/app/pb_kits/playbook/pb_typeahead/components/IndicatorsContainer.tsx +3 -8
  60. data/app/pb_kits/playbook/pb_typeahead/components/MenuList.tsx +1 -6
  61. data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.tsx +19 -18
  62. data/app/pb_kits/playbook/pb_typeahead/components/Option.tsx +6 -6
  63. data/app/pb_kits/playbook/pb_typeahead/components/Placeholder.tsx +6 -6
  64. data/app/pb_kits/playbook/pb_typeahead/components/ValueContainer.tsx +3 -3
  65. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_custom_menu_list.jsx +0 -2
  66. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async.jsx +2 -2
  67. data/app/pb_kits/playbook/pb_typeahead/index.ts +31 -31
  68. data/app/pb_kits/playbook/pb_user/_user.tsx +1 -1
  69. data/app/pb_kits/playbook/pb_user_badge/_user_badge.tsx +6 -6
  70. data/app/pb_kits/playbook/pb_user_badge/badges/million-dollar.tsx +235 -236
  71. data/app/pb_kits/playbook/pb_user_badge/badges/veteran.tsx +1 -1
  72. data/app/pb_kits/playbook/pb_walkthrough/_walkthrough.tsx +63 -68
  73. data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.tsx +2 -2
  74. data/dist/menu.yml +472 -566
  75. data/dist/playbook-rails.js +6 -6
  76. data/lib/playbook/version.rb +1 -1
  77. metadata +2 -2
@@ -4,24 +4,24 @@ import { debounce } from 'lodash'
4
4
  export default class PbTypeahead extends PbEnhancedElement {
5
5
  _searchInput: HTMLInputElement
6
6
  _resultsElement: HTMLElement
7
- _debouncedSearch: () => void
7
+ _debouncedSearch: Function
8
8
  _resultsLoadingIndicator: HTMLElement
9
9
  _resultOptionTemplate: HTMLElement
10
10
  _resultsOptionCache: Map<string, Array<DocumentFragment>>
11
11
  _searchContext: string
12
12
 
13
- static get selector(): string {
13
+ static get selector() {
14
14
  return '[data-pb-typeahead-kit]'
15
15
  }
16
16
 
17
- connect(): void {
17
+ connect() {
18
18
  this.element.addEventListener('keydown', (event: KeyboardEvent) => this.handleKeydown(event))
19
- this.searchInput.addEventListener('focus', () => this.debouncedSearch)
20
- this.searchInput.addEventListener('input', () => this.debouncedSearch)
19
+ this.searchInput.addEventListener('focus', () => this.debouncedSearch())
20
+ this.searchInput.addEventListener('input', () => this.debouncedSearch())
21
21
  this.resultsElement.addEventListener('click', (event: MouseEvent) => this.optionSelected(event))
22
22
  }
23
23
 
24
- handleKeydown(event: KeyboardEvent): void {
24
+ handleKeydown(event: KeyboardEvent) {
25
25
  if (event.key === 'ArrowUp') {
26
26
  event.preventDefault()
27
27
  this.focusPreviousOption()
@@ -31,7 +31,7 @@ export default class PbTypeahead extends PbEnhancedElement {
31
31
  }
32
32
  }
33
33
 
34
- search(): void {
34
+ search() {
35
35
  if (this.searchTerm.length < parseInt(this.searchTermMinimumLength)) return this.clearResults()
36
36
 
37
37
  this.toggleResultsLoadingIndicator(true)
@@ -49,7 +49,7 @@ export default class PbTypeahead extends PbEnhancedElement {
49
49
  this.element.dispatchEvent(new CustomEvent('pb-typeahead-kit-search', { bubbles: true, detail: search }))
50
50
  }
51
51
 
52
- resultsCacheUpdate(searchTerm: string, searchContext: string, results: Array<DocumentFragment>): void {
52
+ resultsCacheUpdate(searchTerm: string, searchContext: string, results: Array<DocumentFragment>) {
53
53
  const searchTermAndContext = this.cacheKeyFor(searchTerm, searchContext)
54
54
  if (this.resultsOptionCache.has(searchTermAndContext)) this.resultsOptionCache.delete(searchTermAndContext)
55
55
  if (this.resultsOptionCache.size > 32) this.resultsOptionCache.delete(this.resultsOptionCache.keys().next().value)
@@ -58,18 +58,18 @@ export default class PbTypeahead extends PbEnhancedElement {
58
58
  this.showResults()
59
59
  }
60
60
 
61
- resultsCacheClear(): void {
61
+ resultsCacheClear() {
62
62
  this.resultsOptionCache.clear()
63
63
  }
64
64
 
65
- get debouncedSearch(): void {
65
+ get debouncedSearch() {
66
66
  return this._debouncedSearch = (
67
67
  this._debouncedSearch ||
68
68
  debounce(this.search, parseInt(this.searchDebounceTimeout)).bind(this)
69
69
  )
70
70
  }
71
71
 
72
- showResults(): void {
72
+ showResults() {
73
73
  if (!this.resultsOptionCache.has(this.searchTermAndContext)) return
74
74
 
75
75
  this.toggleResultsLoadingIndicator(false)
@@ -82,7 +82,7 @@ export default class PbTypeahead extends PbEnhancedElement {
82
82
  }
83
83
  }
84
84
 
85
- optionSelected(event: MouseEvent): void {
85
+ optionSelected(event: MouseEvent) {
86
86
  const resultOption = (event.target as Element).closest('[data-result-option-item]')
87
87
  if (!resultOption) return
88
88
 
@@ -93,7 +93,7 @@ export default class PbTypeahead extends PbEnhancedElement {
93
93
  this.element.dispatchEvent(new CustomEvent('pb-typeahead-kit-result-option-selected', { bubbles: true, detail: { selected: resultOption, typeahead: this } }))
94
94
  }
95
95
 
96
- clearResults(): void {
96
+ clearResults() {
97
97
  this.resultsElement.innerHTML = ''
98
98
  }
99
99
 
@@ -103,7 +103,7 @@ export default class PbTypeahead extends PbEnhancedElement {
103
103
  return resultOption
104
104
  }
105
105
 
106
- focusPreviousOption(): void {
106
+ focusPreviousOption() {
107
107
  const currentIndex = this.resultOptionItems.indexOf(this.currentSelectedResultOptionItem)
108
108
  const previousIndex = currentIndex - 1
109
109
  const previousOptionItem = (
@@ -113,7 +113,7 @@ export default class PbTypeahead extends PbEnhancedElement {
113
113
  (previousOptionItem as HTMLElement).focus()
114
114
  }
115
115
 
116
- focusNextOption(): void {
116
+ focusNextOption() {
117
117
  const currentIndex = this.resultOptionItems.indexOf(this.currentSelectedResultOptionItem)
118
118
  const nextIndex = currentIndex + 1
119
119
  const nextOptionItem = (
@@ -123,23 +123,23 @@ export default class PbTypeahead extends PbEnhancedElement {
123
123
  (nextOptionItem as HTMLElement).focus()
124
124
  }
125
125
 
126
- get resultOptionItems(): HTMLElement[] {
126
+ get resultOptionItems() {
127
127
  return Array.from(this.resultsElement.querySelectorAll('[data-result-option-item]'))
128
128
  }
129
129
 
130
- get currentSelectedResultOptionItem(): HTMLElement | null {
130
+ get currentSelectedResultOptionItem() {
131
131
  return document.activeElement.closest('[data-result-option-item]')
132
132
  }
133
133
 
134
- get searchInput(): HTMLInputElement | null {
134
+ get searchInput() {
135
135
  return this._searchInput = (this._searchInput || this.element.querySelector('input[type="search"]'))
136
136
  }
137
137
 
138
- get searchTerm(): string {
138
+ get searchTerm() {
139
139
  return this.searchInput.value
140
140
  }
141
141
 
142
- get searchContext(): string | null {
142
+ get searchContext() {
143
143
  if (this._searchContext) return this._searchContext
144
144
 
145
145
  const selector = (this.element as HTMLElement).dataset.searchContextValueSelector
@@ -151,35 +151,35 @@ export default class PbTypeahead extends PbEnhancedElement {
151
151
  return null
152
152
  }
153
153
 
154
- set searchContext(value: string) {
154
+ set searchContext(value) {
155
155
  this._searchContext = value
156
156
  }
157
157
 
158
- get searchTermAndContext(): string {
158
+ get searchTermAndContext() {
159
159
  return this.cacheKeyFor(this.searchTerm, this.searchContext)
160
160
  }
161
161
 
162
- cacheKeyFor(searchTerm: string, searchContext: string): string {
162
+ cacheKeyFor(searchTerm: string, searchContext: string) {
163
163
  return [searchTerm, JSON.stringify(searchContext)].join()
164
164
  }
165
165
 
166
- searchInputClear(): void {
166
+ searchInputClear() {
167
167
  this.searchInput.value = ''
168
168
  }
169
169
 
170
- get searchTermMinimumLength(): string | undefined {
170
+ get searchTermMinimumLength() {
171
171
  return (this.element as HTMLElement).dataset.pbTypeaheadKitSearchTermMinimumLength
172
172
  }
173
173
 
174
- get searchDebounceTimeout(): string | undefined {
174
+ get searchDebounceTimeout() {
175
175
  return (this.element as HTMLElement).dataset.pbTypeaheadKitSearchDebounceTimeout
176
176
  }
177
177
 
178
- get resultsElement(): HTMLElement | null {
178
+ get resultsElement() {
179
179
  return this._resultsElement = (this._resultsElement || this.element.querySelector('[data-pb-typeahead-kit-results]'))
180
180
  }
181
181
 
182
- get resultOptionTemplate(): HTMLElement | null {
182
+ get resultOptionTemplate() {
183
183
  return this._resultOptionTemplate = (
184
184
  this._resultOptionTemplate ||
185
185
  this.element.querySelector('template[data-pb-typeahead-kit-result-option]')
@@ -193,15 +193,15 @@ export default class PbTypeahead extends PbEnhancedElement {
193
193
  )
194
194
  }
195
195
 
196
- get resultsLoadingIndicator(): HTMLElement | null {
196
+ get resultsLoadingIndicator() {
197
197
  return this._resultsLoadingIndicator = (
198
198
  this._resultsLoadingIndicator ||
199
199
  this.element.querySelector('[data-pb-typeahead-kit-loading-indicator]')
200
200
  )
201
201
  }
202
202
 
203
- toggleResultsLoadingIndicator(visible: boolean): void {
204
- let visibilityProperty = '0'
203
+ toggleResultsLoadingIndicator(visible: boolean) {
204
+ var visibilityProperty = '0'
205
205
  if (visible) visibilityProperty = '1'
206
206
  this.resultsLoadingIndicator.style.opacity = visibilityProperty
207
207
  }
@@ -26,7 +26,7 @@ type UserProps = {
26
26
  title?: string,
27
27
  } & GlobalProps
28
28
 
29
- const User = (props: UserProps): React.ReactElement => {
29
+ const User = (props: UserProps) => {
30
30
  const {
31
31
  align = 'left',
32
32
  aria = {},
@@ -15,7 +15,7 @@ type UserBadgeProps = {
15
15
  size?: "sm" | "md" | "lg",
16
16
  }
17
17
 
18
- const UserBadge = (props: UserBadgeProps): React.ReactElement => {
18
+ const UserBadge = (props: UserBadgeProps) => {
19
19
  const {
20
20
  aria = {},
21
21
  badge = 'million-dollar',
@@ -38,11 +38,11 @@ const UserBadge = (props: UserBadgeProps): React.ReactElement => {
38
38
 
39
39
  return (
40
40
  <div
41
- {...ariaProps}
42
- {...dataProps}
43
- {...htmlProps}
44
- className={classes}
45
- id={id}
41
+ {...ariaProps}
42
+ {...dataProps}
43
+ {...htmlProps}
44
+ className={classes}
45
+ id={id}
46
46
  >
47
47
  <div className="pb_user_badge_wrapper">
48
48
  {image}