playbook_ui 14.3.2.pre.alpha.pbntr523enablekitsforradiofix3809 → 14.3.2.pre.alpha.play1472newicons3773

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/Components/SortIconButton.tsx +23 -4
  3. data/app/pb_kits/playbook/pb_contact/_contact.tsx +17 -5
  4. data/app/pb_kits/playbook/pb_contact/contact.html.erb +14 -6
  5. data/app/pb_kits/playbook/pb_contact/contact.rb +4 -0
  6. data/app/pb_kits/playbook/pb_contact/contact.test.js +1 -1
  7. data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +4 -3
  8. data/app/pb_kits/playbook/pb_date_picker/date_picker.html.erb +1 -1
  9. data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +4 -0
  10. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.ts +6 -3
  11. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_inline.html.erb +1 -1
  12. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_flatpickr_styles.scss +3 -2
  13. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_header_styles.scss +6 -2
  14. data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +23 -245
  15. data/app/pb_kits/playbook/pb_form_pill/_form_pill.tsx +1 -1
  16. data/app/pb_kits/playbook/pb_form_pill/docs/example.yml +0 -2
  17. data/app/pb_kits/playbook/pb_form_pill/docs/index.js +0 -1
  18. data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +1 -1
  19. data/app/pb_kits/playbook/pb_map/_map_controls.tsx +7 -1
  20. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +1 -5
  21. data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +0 -2
  22. data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +0 -1
  23. data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.rb +0 -4
  24. data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.scss +21 -97
  25. data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.test.js +0 -166
  26. data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.tsx +6 -45
  27. data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/example.yml +0 -2
  28. data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/index.js +0 -1
  29. data/app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.html.erb +2 -6
  30. data/app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.rb +1 -21
  31. data/app/pb_kits/playbook/pb_passphrase/_passphrase.tsx +10 -2
  32. data/app/pb_kits/playbook/pb_radio/_radio.tsx +33 -92
  33. data/app/pb_kits/playbook/pb_radio/docs/example.yml +0 -2
  34. data/app/pb_kits/playbook/pb_radio/docs/index.js +0 -1
  35. data/app/pb_kits/playbook/pb_radio/radio.html.erb +13 -35
  36. data/app/pb_kits/playbook/pb_radio/radio.rb +1 -3
  37. data/app/pb_kits/playbook/pb_rich_text_editor/TipTap/ToolbarDropdown.tsx +12 -5
  38. data/app/pb_kits/playbook/pb_select/_select.tsx +5 -2
  39. data/app/pb_kits/playbook/pb_select/select.html.erb +1 -1
  40. data/app/pb_kits/playbook/pb_select/select.rb +4 -0
  41. data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +0 -16
  42. data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +0 -4
  43. data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.tsx +18 -26
  44. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +0 -2
  45. data/app/pb_kits/playbook/pb_typeahead/docs/index.js +0 -1
  46. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +0 -4
  47. data/app/pb_kits/playbook/tokens/_colors.scss +0 -2
  48. data/app/pb_kits/playbook/utilities/icons/allicons.tsx +123 -0
  49. data/app/pb_kits/playbook/utilities/icons/angle-down.svg +3 -0
  50. data/app/pb_kits/playbook/utilities/icons/envelope.svg +3 -0
  51. data/dist/chunks/_typeahead-C7opsM-6.js +22 -0
  52. data/dist/chunks/_weekday_stacked-Bhq2bj8p.js +45 -0
  53. data/dist/chunks/lib-ACUFk6Hu.js +29 -0
  54. data/dist/chunks/{pb_form_validation-zV9OpdSt.js → pb_form_validation-CA0nEXlG.js} +1 -1
  55. data/dist/chunks/vendor.js +1 -1
  56. data/dist/playbook-doc.js +1 -1
  57. data/dist/playbook-rails-react-bindings.js +1 -1
  58. data/dist/playbook-rails.js +1 -1
  59. data/dist/playbook.css +1 -1
  60. data/lib/playbook/version.rb +1 -1
  61. metadata +8 -23
  62. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_colors.html.erb +0 -117
  63. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_colors.jsx +0 -227
  64. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_colors.md +0 -1
  65. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_color.html.erb +0 -72
  66. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_color.jsx +0 -91
  67. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_color_rails.md +0 -1
  68. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_color_react.md +0 -1
  69. data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/_multiple_users_stacked_bubble.html.erb +0 -73
  70. data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/_multiple_users_stacked_bubble.jsx +0 -86
  71. data/app/pb_kits/playbook/pb_radio/docs/_radio_custom_children.html.erb +0 -48
  72. data/app/pb_kits/playbook/pb_radio/docs/_radio_custom_children.jsx +0 -59
  73. data/app/pb_kits/playbook/pb_radio/docs/_radio_custom_children.md +0 -1
  74. data/app/pb_kits/playbook/pb_radio/index.js +0 -17
  75. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color.html.erb +0 -31
  76. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color.jsx +0 -26
  77. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color_rails.md +0 -1
  78. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color_react.md +0 -1
  79. data/dist/chunks/_typeahead-468tQVei.js +0 -22
  80. data/dist/chunks/_weekday_stacked-CODev76A.js +0 -45
  81. data/dist/chunks/lib-D2U4I1U6.js +0 -16
@@ -2,6 +2,7 @@ import React from "react";
2
2
  import Button from "../pb_button/_button";
3
3
  import Icon from "../pb_icon/_icon";
4
4
  import Flex from "../pb_flex/_flex";
5
+ import { getAllIcons } from "../utilities/icons/allicons"
5
6
 
6
7
  type MapControlTypes = {
7
8
  zoomBtns?: boolean,
@@ -12,6 +13,8 @@ type MapControlTypes = {
12
13
  children?: React.ReactNode | React.ReactNode[]
13
14
  }
14
15
 
16
+ const eyeIcon = getAllIcons()["eye"]
17
+
15
18
  const MapControls = ({
16
19
  zoomBtns,
17
20
  zoomInClick,
@@ -42,7 +45,10 @@ const MapControls = ({
42
45
  <Button className="map-flyto-button"
43
46
  onClick={flyToClick}
44
47
  >
45
- <Icon icon="eye" />
48
+ <Icon
49
+ className="svg-inline--fa"
50
+ customIcon={eyeIcon.icon as unknown as { [key: string]: SVGElement }}
51
+ />
46
52
  </Button>
47
53
  ) : null}
48
54
  </>
@@ -34,7 +34,6 @@ type MultiLevelSelectProps = {
34
34
  onSelect?: (prop: { [key: string]: any }) => void
35
35
  selectedIds?: string[]
36
36
  variant?: "multi" | "single"
37
- pillColor?: "primary" | "neutral" | "success" | "warning" | "error" | "info" | "data_1" | "data_2" | "data_3" | "data_4" | "data_5" | "data_6" | "data_7" | "data_8" | "windows" | "siding" | "roofing" | "doors" | "gutters" | "solar" | "insulation" | "accessories",
38
37
  } & GlobalProps
39
38
 
40
39
  const MultiLevelSelect = (props: MultiLevelSelectProps) => {
@@ -51,8 +50,7 @@ const MultiLevelSelect = (props: MultiLevelSelectProps) => {
51
50
  treeData,
52
51
  onSelect = () => null,
53
52
  selectedIds,
54
- variant = "multi",
55
- pillColor = "primary"
53
+ variant = "multi"
56
54
  } = props
57
55
 
58
56
  const ariaProps = buildAriaProps(aria)
@@ -469,7 +467,6 @@ const MultiLevelSelect = (props: MultiLevelSelectProps) => {
469
467
  inputDisplay === "pills"
470
468
  ? returnedArray.map((item, index) => (
471
469
  <FormPill
472
- color={pillColor}
473
470
  key={index}
474
471
  onClick={(event: any) => handlePillClose(event, item)}
475
472
  text={item.label}
@@ -482,7 +479,6 @@ const MultiLevelSelect = (props: MultiLevelSelectProps) => {
482
479
  inputDisplay === "pills"
483
480
  ? defaultReturn.map((item, index) => (
484
481
  <FormPill
485
- color={pillColor}
486
482
  key={index}
487
483
  onClick={(event: any) => handlePillClose(event, item)}
488
484
  text={item.label}
@@ -6,7 +6,6 @@ examples:
6
6
  - multi_level_select_return_all_selected: Return All Selected
7
7
  - multi_level_select_selected_ids: Selected Ids
8
8
  - multi_level_select_with_form: With Form
9
- - multi_level_select_color: With Pills (Custom Color)
10
9
 
11
10
  react:
12
11
  - multi_level_select_default: Default
@@ -14,4 +13,3 @@ examples:
14
13
  - multi_level_select_single_children_only: Single Select w/ Hidden Radios
15
14
  - multi_level_select_return_all_selected: Return All Selected
16
15
  - multi_level_select_selected_ids_react: Selected Ids
17
- - multi_level_select_color: With Pills (Custom Color)
@@ -3,4 +3,3 @@ export { default as MultiLevelSelectSingle } from './_multi_level_select_single.
3
3
  export { default as MultiLevelSelectSingleChildrenOnly } from './_multi_level_select_single_children_only.jsx'
4
4
  export { default as MultiLevelSelectReturnAllSelected } from './_multi_level_select_return_all_selected.jsx'
5
5
  export { default as MultiLevelSelectSelectedIdsReact } from "./_multi_level_select_selected_ids_react.jsx"
6
- export { default as MultiLevelSelectColor } from './_multi_level_select_color.jsx'
@@ -19,9 +19,6 @@ module Playbook
19
19
  prop :variant, type: Playbook::Props::Enum,
20
20
  values: %w[multi single],
21
21
  default: "multi"
22
- prop :pill_color, type: Playbook::Props::Enum,
23
- values: %w[primary neutral success warning error info data_1 data_2 data_3 data_4 data_5 data_6 data_7 data_8 windows siding roofing doors gutters solar insulation accessories],
24
- default: "primary"
25
22
 
26
23
  def classname
27
24
  generate_classname("pb_multi_level_select")
@@ -37,7 +34,6 @@ module Playbook
37
34
  selectedIds: selected_ids,
38
35
  input_name: input_name,
39
36
  variant: variant,
40
- pillColor: pill_color,
41
37
  }
42
38
  end
43
39
  end
@@ -3,25 +3,8 @@
3
3
  @import "../tokens/opacity";
4
4
  @import "../pb_avatar/avatar";
5
5
 
6
- @mixin avatar-size($size) {
7
- height: $size;
8
- width: $size;
9
- .avatar_wrapper {
10
- width: $size;
11
- height: $size;
12
- }
13
- }
14
-
15
- @mixin position($position) {
16
- position: absolute;
17
- @each $pos, $val in $position {
18
- #{$pos}: $val;
19
- }
20
- }
21
-
22
6
  [class^=pb_multiple_users_stacked_kit] {
23
7
  $container_size: map-get($avatar-sizes, "xs");
24
- $bubble_container_size: map-get($avatar-sizes, "sm");
25
8
  $overlap: -15px;
26
9
  $border_size: 1px;
27
10
  $stacked_size: 18px;
@@ -34,24 +17,34 @@
34
17
  flex-shrink: 0;
35
18
  flex-grow: 0;
36
19
  [class^=pb_avatar_kit].pb_multiple_users_stacked_item {
37
- @include avatar-size($stacked_size);
38
- &.dark {
20
+ height: $stacked_size;
21
+ width: $stacked_size;
22
+ &.dark {
23
+ .avatar_wrapper {
24
+ border: $pb_multiple_users_border_size solid $bg_dark;
25
+ }
26
+ }
39
27
  .avatar_wrapper {
40
- border: $border_size solid $bg_dark;
28
+ border: $border_size solid $white;
29
+ height: $stacked_size;
30
+ width: $stacked_size;
31
+ img {
32
+ z-index: 0;
33
+ }
41
34
  }
42
35
  }
36
+ &[class*=_single] .pb_multiple_users_stacked_item {
37
+ width: $container_size;
38
+ height: $container_size;
43
39
  .avatar_wrapper {
44
- border: $border_size solid $white;
45
- img {
46
- z-index: 0;
47
- }
40
+ width: $container_size;
41
+ height: $container_size;
48
42
  }
49
43
  }
50
- &[class*=_single] .pb_multiple_users_stacked_item {
51
- @include avatar-size($container_size);
52
- }
53
44
  [class^=pb_avatar_kit].second_item, [class^=pb_badge_kit].second_item {
54
- @include position((bottom: 0, right: 0));
45
+ position: absolute;
46
+ bottom: 0;
47
+ right: 0;
55
48
  z-index: 2;
56
49
  background: tint($primary, 90%);
57
50
  border-radius: $border_rad_mega;
@@ -70,73 +63,4 @@
70
63
  font-size: 0;
71
64
  color: transparent;
72
65
  }
73
-
74
- &[class*=_bubble] {
75
- @include avatar-size($bubble_container_size);
76
- background-color: $bg_light;
77
- border-radius: 50%;
78
-
79
- &.dark {
80
- background-color: $card_dark;
81
- }
82
-
83
- [class^=pb_avatar_kit].pb_multiple_users_stacked_item {
84
- &.dark {
85
- .avatar_wrapper {
86
- border: $border_size solid $border_dark;
87
- }
88
- }
89
- }
90
-
91
- [class^=pb_avatar_kit] {
92
- &.first_item {
93
- @include position((top: 4px, left: 3px));
94
- @include avatar-size(20px);
95
-
96
- &.triple_bubble {
97
- @include position((top: 4px, left: 4px));
98
- @include avatar-size(16px);
99
- }
100
-
101
- &.quadruple_bubble {
102
- @include position((top: 5px, left: 3px));
103
- @include avatar-size(16px);
104
- }
105
- }
106
-
107
- &.second_item {
108
- @include position((bottom: 5px, right: 4px));
109
- @include avatar-size(12px);
110
-
111
- &.triple_bubble {
112
- @include position((top: 13px, right: 2px));
113
- }
114
-
115
- &.quadruple_bubble {
116
- @include position((bottom: 9px, right: 4px));
117
- }
118
- }
119
-
120
- &.third_item {
121
- @include position((bottom: 3px, left: 11px));
122
- @include avatar-size(10px);
123
-
124
- &.quadruple_bubble {
125
- @include position((bottom: 3px, left: 9px));
126
- }
127
- }
128
-
129
- &.fourth_item {
130
- @include position((top: 5px, right: 6px));
131
- @include avatar-size(8px);
132
- }
133
- }
134
- }
135
-
136
- &[class*=_single_bubble] {
137
- [class^=pb_avatar_kit].first_item {
138
- @include position((top: 0, left: 0));
139
- @include avatar-size($bubble_container_size);
140
- }
141
- }
142
66
  }
@@ -58,170 +58,4 @@ test('should pass aria prop', () => {
58
58
  render(<MultipleUsersStackedDefault />)
59
59
  const kit = screen.getByTestId(testId)
60
60
  expect(kit).toHaveAttribute('aria-label', testId)
61
- })
62
-
63
- const MultipleUsersStackedSingleBubble = () => {
64
- return (
65
- <MultipleUsersStacked
66
- aria={{ label: testId }}
67
- className={className}
68
- data={{ testid: testId }}
69
- users={[
70
- {
71
- name: "user1",
72
- imageUrl: "imageUser1",
73
- imageAlt: "nameUser1",
74
- }
75
- ]}
76
- variant="bubble"
77
- />
78
- )
79
- }
80
-
81
- test('should have a single bubble', () => {
82
- render(<MultipleUsersStackedSingleBubble />)
83
- const kit = screen.getByTestId(testId)
84
- expect(kit).toHaveClass("pb_multiple_users_stacked_kit_single_bubble")
85
-
86
- const firstItem = kit.querySelector('.first_item');
87
- expect(firstItem).toBeInTheDocument();
88
- })
89
-
90
- const MultipleUsersStackedDoubleBubble = () => {
91
- return (
92
- <MultipleUsersStacked
93
- aria={{ label: testId }}
94
- className={className}
95
- data={{ testid: testId }}
96
- users={[
97
- {
98
- name: "user1",
99
- imageUrl: "imageUser1",
100
- imageAlt: "nameUser1",
101
- },
102
- {
103
- name: "user2",
104
- imageUrl: "imageUser2",
105
- imageAlt: "nameUser2",
106
- },
107
- ]}
108
- variant="bubble"
109
- />
110
- )
111
- }
112
-
113
- test('should have a double bubble', () => {
114
- render(<MultipleUsersStackedDoubleBubble />)
115
- const kit = screen.getByTestId(testId)
116
- expect(kit).toHaveClass("pb_multiple_users_stacked_kit_bubble")
117
-
118
- const firstItem = kit.querySelector('.first_item');
119
- expect(firstItem).toBeInTheDocument();
120
-
121
- const secondItem = kit.querySelector('.second_item');
122
- expect(secondItem).toBeInTheDocument();
123
- })
124
-
125
- const MultipleUsersStackedTripleBubble = () => {
126
- return (
127
- <MultipleUsersStacked
128
- aria={{ label: testId }}
129
- className={className}
130
- data={{ testid: testId }}
131
- users={[
132
- {
133
- name: "user1",
134
- imageUrl: "imageUser1",
135
- imageAlt: "nameUser1",
136
- },
137
- {
138
- name: "user2",
139
- imageUrl: "imageUser2",
140
- imageAlt: "nameUser2",
141
- },
142
- {
143
- name: "user3",
144
- imageUrl: "imageUser3",
145
- imageAlt: "nameUser3",
146
- },
147
- ]}
148
- variant="bubble"
149
- />
150
- )
151
- }
152
-
153
- test('should have a triple bubble', () => {
154
- render(<MultipleUsersStackedTripleBubble />)
155
- const kit = screen.getByTestId(testId)
156
- expect(kit).toHaveClass("pb_multiple_users_stacked_kit_bubble")
157
-
158
- const firstItem = kit.querySelector('.first_item');
159
- expect(firstItem).toBeInTheDocument();
160
- expect(firstItem).toHaveClass("triple_bubble")
161
-
162
- const secondItem = kit.querySelector('.second_item');
163
- expect(secondItem).toBeInTheDocument();
164
- expect(secondItem).toHaveClass("triple_bubble")
165
-
166
- const thirdItem = kit.querySelector('.third_item');
167
- expect(thirdItem).toBeInTheDocument();
168
- })
169
-
170
- const MultipleUsersStackedQuadrupleBubble = () => {
171
- return (
172
- <MultipleUsersStacked
173
- aria={{ label: testId }}
174
- className={className}
175
- data={{ testid: testId }}
176
- users={[
177
- {
178
- name: "user1",
179
- imageUrl: "imageUser1",
180
- imageAlt: "nameUser1",
181
- },
182
- {
183
- name: "user2",
184
- imageUrl: "imageUser2",
185
- imageAlt: "nameUser2",
186
- },
187
- {
188
- name: "user3",
189
- imageUrl: "imageUser3",
190
- imageAlt: "nameUser3",
191
- },
192
- {
193
- name: "user4",
194
- imageUrl: "imageUser4",
195
- imageAlt: "nameUser4",
196
- },
197
- {
198
- name: "user5",
199
- imageUrl: "imageUser5",
200
- imageAlt: "nameUser5",
201
- },
202
- ]}
203
- variant="bubble"
204
- />
205
- )
206
- }
207
-
208
- test('should have a quadruple bubble', () => {
209
- render(<MultipleUsersStackedQuadrupleBubble />)
210
- const kit = screen.getByTestId(testId)
211
- expect(kit).toHaveClass("pb_multiple_users_stacked_kit_bubble")
212
-
213
- const firstItem = kit.querySelector('.first_item');
214
- expect(firstItem).toBeInTheDocument();
215
- expect(firstItem).toHaveClass("quadruple_bubble")
216
-
217
- const secondItem = kit.querySelector('.second_item');
218
- expect(secondItem).toBeInTheDocument();
219
- expect(secondItem).toHaveClass("quadruple_bubble")
220
-
221
- const thirdItem = kit.querySelector('.third_item');
222
- expect(thirdItem).toBeInTheDocument();
223
- expect(thirdItem).toHaveClass("quadruple_bubble")
224
-
225
- const fourthItem = kit.querySelector('.fourth_item');
226
- expect(fourthItem).toBeInTheDocument();
227
61
  })
@@ -15,7 +15,6 @@ type MultipleUsersStackedProps = {
15
15
  htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
16
16
  id?: string,
17
17
  users: Array<{ [key: string]: string }>,
18
- variant: "default" | "bubble",
19
18
  }
20
19
 
21
20
  const MultipleUsersStacked = (props: MultipleUsersStackedProps) => {
@@ -27,14 +26,10 @@ const MultipleUsersStacked = (props: MultipleUsersStackedProps) => {
27
26
  htmlOptions = {},
28
27
  id,
29
28
  users,
30
- variant = "default",
31
29
  } = props
32
30
 
33
31
  const moreThanTwo = users.length > 2
34
32
  const onlyOne = users.length == 1
35
- const isBubble = variant === "bubble"
36
- const tripleBubble = isBubble && users.length === 3
37
- const quadrupleBubble = isBubble && users.length > 3
38
33
  const displayCount = () => {
39
34
  return moreThanTwo ? 1 : users.length
40
35
  }
@@ -43,61 +38,29 @@ const MultipleUsersStacked = (props: MultipleUsersStackedProps) => {
43
38
  const htmlProps = buildHtmlProps(htmlOptions)
44
39
  const classes = classnames(buildCss(
45
40
  'pb_multiple_users_stacked_kit',
46
- { single: onlyOne, bubble: isBubble }), globalProps(props), className)
41
+ { single: onlyOne }), globalProps(props), className)
47
42
 
48
43
  const firstUser = () => {
49
44
  return users.slice(0, 1).map((userObject, index) => {
50
45
  return (
51
46
  <Avatar
52
47
  {...userObject}
53
- className={`pb_multiple_users_stacked_item first_item${tripleBubble ? " triple_bubble" : ""}${quadrupleBubble ? " quadruple_bubble" : ""}`}
48
+ className="pb_multiple_users_stacked_item"
54
49
  dark={dark}
55
50
  key={index}
56
- size={isBubble ? "sm" : "xs"}
51
+ size="xs"
57
52
  />
58
53
  )
59
54
  })
60
55
  }
61
56
 
62
57
  const secondUser = () => {
63
- if (!moreThanTwo || (isBubble && users.length > 1)) {
58
+ if (moreThanTwo === false) {
64
59
  return users.slice(1, 2).map((userObject, index) => {
65
60
  return (
66
61
  <Avatar
67
62
  {...userObject}
68
- className={`pb_multiple_users_stacked_item second_item${tripleBubble ? " triple_bubble" : ""}${quadrupleBubble ? " quadruple_bubble" : ""}`}
69
- dark={dark}
70
- key={index}
71
- size="xs"
72
- />
73
- )
74
- })
75
- }
76
- }
77
-
78
- const thirdUser = () => {
79
- if (isBubble && users.length > 2) {
80
- return users.slice(2, 3).map((userObject, index) => {
81
- return (
82
- <Avatar
83
- {...userObject}
84
- className={`pb_multiple_users_stacked_item third_item${quadrupleBubble ? " quadruple_bubble" : ""}`}
85
- dark={dark}
86
- key={index}
87
- size="xs"
88
- />
89
- )
90
- })
91
- }
92
- }
93
-
94
- const fourthUser = () => {
95
- if (isBubble && users.length > 3) {
96
- return users.slice(3, 4).map((userObject, index) => {
97
- return (
98
- <Avatar
99
- {...userObject}
100
- className="pb_multiple_users_stacked_item fourth_item"
63
+ className="pb_multiple_users_stacked_item second_item"
101
64
  dark={dark}
102
65
  key={index}
103
66
  size="xs"
@@ -108,7 +71,7 @@ const MultipleUsersStacked = (props: MultipleUsersStackedProps) => {
108
71
  }
109
72
 
110
73
  const plusUsers = () => {
111
- if (moreThanTwo && !isBubble) {
74
+ if (moreThanTwo === true) {
112
75
  return (
113
76
  <Badge
114
77
  className="pb_multiple_users_stacked_item second_item"
@@ -131,8 +94,6 @@ const MultipleUsersStacked = (props: MultipleUsersStackedProps) => {
131
94
  >
132
95
  {firstUser()}
133
96
  {secondUser()}
134
- {thirdUser()}
135
- {fourthUser()}
136
97
  {plusUsers()}
137
98
  </div>
138
99
  )
@@ -2,12 +2,10 @@ examples:
2
2
 
3
3
  rails:
4
4
  - multiple_users_stacked_default: Default
5
- - multiple_users_stacked_bubble: Bubble
6
5
 
7
6
 
8
7
  react:
9
8
  - multiple_users_stacked_default: Default
10
- - multiple_users_stacked_bubble: Bubble
11
9
 
12
10
  swift:
13
11
  - multiple_users_stacked_default_swift: Default
@@ -1,2 +1 @@
1
1
  export { default as MultipleUsersStackedDefault } from './_multiple_users_stacked_default.jsx'
2
- export { default as MultipleUsersStackedBubble } from './_multiple_users_stacked_bubble.jsx'
@@ -1,18 +1,14 @@
1
1
  <%= pb_content_tag do %>
2
- <%= pb_rails("avatar", props: object.users[0].merge({size: object.bubble ? "sm" : "xs", classname: "pb_multiple_users_stacked_item first_item#{object.triple_bubble ? " triple_bubble" : ""}#{object.quadruple_bubble ? " quadruple_bubble" : ""}", dark: object.dark}) ) %>
2
+ <%= pb_rails("avatar", props: object.users[0].merge({size: "xs", classname: "pb_multiple_users_stacked_item", dark: object.dark}) ) %>
3
3
 
4
4
  <% unless object.only_one %>
5
- <% if object.more_than_two && !object.bubble %>
5
+ <% if object.more_than_two %>
6
6
  <%= pb_rails("badge", props: {
7
7
  dark: object.dark,
8
8
  text: "+#{object.users.count - object.display_count}",
9
9
  variant: "primary",
10
10
  rounded: true,
11
11
  classname: "pb_multiple_users_stacked_item second_item" }) %>
12
- <% elsif object.bubble %>
13
- <% object.users.slice(1,3).each_with_index do |item, idx| %>
14
- <%= pb_rails("avatar", props: item.merge({size: "xs", classname: "pb_multiple_users_stacked_item #{idx == 0 ? "second_item#{object.triple_bubble ? " triple_bubble" : ""}#{object.quadruple_bubble ? " quadruple_bubble" : ""}" : idx == 1 ? "third_item#{object.quadruple_bubble ? " quadruple_bubble" : ""}" : "fourth_item"}", dark: object.dark}) ) %>
15
- <% end %>
16
12
  <% else %>
17
13
  <%= pb_rails("avatar", props: object.users[1].merge({size: "xs", classname: "pb_multiple_users_stacked_item second_item", dark: object.dark}) ) %>
18
14
  <% end %>
@@ -5,10 +5,6 @@ module Playbook
5
5
  class MultipleUsersStacked < Playbook::KitBase
6
6
  prop :users, type: Playbook::Props::HashArray, required: true
7
7
 
8
- prop :variant, type: Playbook::Props::Enum,
9
- values: %w[default bubble],
10
- default: "default"
11
-
12
8
  def more_than_two
13
9
  users.count > 2
14
10
  end
@@ -21,20 +17,8 @@ module Playbook
21
17
  more_than_two ? 1 : users.count
22
18
  end
23
19
 
24
- def bubble
25
- variant == "bubble"
26
- end
27
-
28
- def triple_bubble
29
- bubble && users.count === 3
30
- end
31
-
32
- def quadruple_bubble
33
- bubble && users.count > 3
34
- end
35
-
36
20
  def classname
37
- generate_classname("pb_multiple_users_stacked_kit", single_class, bubble_class)
21
+ generate_classname("pb_multiple_users_stacked_kit", single_class)
38
22
  end
39
23
 
40
24
  private
@@ -42,10 +26,6 @@ module Playbook
42
26
  def single_class
43
27
  only_one ? "single" : nil
44
28
  end
45
-
46
- def bubble_class
47
- bubble ? "bubble" : nil
48
- end
49
29
  end
50
30
  end
51
31
  end
@@ -12,6 +12,7 @@ import Icon from '../pb_icon/_icon'
12
12
  import PbReactPopover from '../pb_popover/_popover'
13
13
  import TextInput from '../pb_text_input/_text_input'
14
14
  import { GenericObject } from "../types"
15
+ import { getAllIcons } from "../utilities/icons/allicons"
15
16
 
16
17
  type PassphraseProps = {
17
18
  aria?: { [key: string]: string },
@@ -96,6 +97,9 @@ const Passphrase = (props: PassphraseProps): React.ReactElement => {
96
97
  />
97
98
  )
98
99
 
100
+ const shieldIcon = getAllIcons()["shieldCheck"]
101
+ const eyeIcon = getAllIcons()["eye"]
102
+
99
103
  return (
100
104
  <div
101
105
  {...ariaProps}
@@ -135,7 +139,8 @@ const Passphrase = (props: PassphraseProps): React.ReactElement => {
135
139
  size="xs"
136
140
  >
137
141
  <Icon
138
- icon="shield-check"
142
+ className="svg-inline--fa"
143
+ customIcon={shieldIcon.icon as unknown as { [key: string]: SVGElement }}
139
144
  marginRight="xs"
140
145
  />
141
146
  {tip}
@@ -173,7 +178,10 @@ const Passphrase = (props: PassphraseProps): React.ReactElement => {
173
178
  color="light"
174
179
  dark={dark}
175
180
  >
176
- <Icon icon="eye" />
181
+ <Icon
182
+ className="svg-inline--fa"
183
+ customIcon={eyeIcon.icon as unknown as { [key: string]: SVGElement }}
184
+ />
177
185
  </Body>
178
186
  </span>
179
187
  </div>