playbook_ui 13.15.0.pre.alpha.play10841940 → 13.15.0.pre.alpha.reactselectbump581876
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.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/pb_dashboard/pbChartsDarkTheme.ts +2 -4
- data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.ts +3 -5
- data/app/pb_kits/playbook/pb_label_value/_label_value.tsx +1 -1
- data/app/pb_kits/playbook/pb_layout/_layout.tsx +1 -2
- data/app/pb_kits/playbook/pb_layout/layout.test.js +4 -8
- data/app/pb_kits/playbook/pb_legend/_legend.tsx +6 -6
- data/app/pb_kits/playbook/pb_lightbox/Carousel/Slides.tsx +4 -4
- data/app/pb_kits/playbook/pb_lightbox/Carousel/Thumbnail.tsx +1 -1
- data/app/pb_kits/playbook/pb_lightbox/Carousel/index.tsx +3 -3
- data/app/pb_kits/playbook/pb_lightbox/Header/_lightbox_header.tsx +22 -30
- data/app/pb_kits/playbook/pb_lightbox/_lightbox.tsx +5 -5
- data/app/pb_kits/playbook/pb_line_graph/_line_graph.tsx +4 -4
- data/app/pb_kits/playbook/pb_list/_list.tsx +15 -15
- data/app/pb_kits/playbook/pb_list/_list_item.tsx +1 -1
- data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.tsx +9 -9
- data/app/pb_kits/playbook/pb_map/_map.tsx +8 -8
- data/app/pb_kits/playbook/pb_map/_map_controls.tsx +7 -15
- data/app/pb_kits/playbook/pb_map/_map_custom_button.tsx +2 -4
- data/app/pb_kits/playbook/pb_message/_message.tsx +1 -1
- data/app/pb_kits/playbook/pb_message/_message_mention.tsx +6 -6
- data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +42 -46
- data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.tsx +20 -20
- data/app/pb_kits/playbook/pb_nav/_item.tsx +47 -56
- data/app/pb_kits/playbook/pb_nav/_nav.tsx +15 -15
- data/dist/playbook-rails.js +14 -6
- data/lib/playbook/version.rb +1 -1
- metadata +2 -2
@@ -86,50 +86,6 @@ const MultiLevelSelect = (props: MultiLevelSelectProps) => {
|
|
86
86
|
item: []
|
87
87
|
})
|
88
88
|
|
89
|
-
const modifyRecursive = (tree: { [key: string]: any }[], check: boolean) => {
|
90
|
-
if (!Array.isArray(tree)) {
|
91
|
-
return
|
92
|
-
}
|
93
|
-
return tree.map((item: { [key: string]: any }) => {
|
94
|
-
item.checked = check
|
95
|
-
item.children = modifyRecursive(item.children, check)
|
96
|
-
return item
|
97
|
-
})
|
98
|
-
}
|
99
|
-
|
100
|
-
// Function to map over data and add parent_id + depth property to each item
|
101
|
-
const addCheckedAndParentProperty = (
|
102
|
-
treeData: { [key: string]: any }[],
|
103
|
-
selectedIds: string[],
|
104
|
-
parent_id: string = null,
|
105
|
-
depth = 0,
|
106
|
-
) => {
|
107
|
-
if (!Array.isArray(treeData)) {
|
108
|
-
return
|
109
|
-
}
|
110
|
-
return treeData.map((item: { [key: string]: any } | any) => {
|
111
|
-
const newItem = {
|
112
|
-
...item,
|
113
|
-
checked: Boolean(selectedIds && selectedIds.length && selectedIds.includes(item.id)),
|
114
|
-
parent_id,
|
115
|
-
depth,
|
116
|
-
}
|
117
|
-
if (newItem.children && newItem.children.length > 0) {
|
118
|
-
const children =
|
119
|
-
item.checked && !returnAllSelected
|
120
|
-
? modifyRecursive(item.children, true)
|
121
|
-
: item.children
|
122
|
-
newItem.children = addCheckedAndParentProperty(
|
123
|
-
children,
|
124
|
-
selectedIds,
|
125
|
-
newItem.id,
|
126
|
-
depth + 1
|
127
|
-
)
|
128
|
-
}
|
129
|
-
return newItem
|
130
|
-
})
|
131
|
-
}
|
132
|
-
|
133
89
|
useEffect(() => {
|
134
90
|
const formattedData = addCheckedAndParentProperty(
|
135
91
|
treeData,
|
@@ -183,7 +139,16 @@ const MultiLevelSelect = (props: MultiLevelSelectProps) => {
|
|
183
139
|
}
|
184
140
|
}, [])
|
185
141
|
|
186
|
-
|
142
|
+
const modifyRecursive = (tree: { [key: string]: any }[], check: boolean) => {
|
143
|
+
if (!Array.isArray(tree)) {
|
144
|
+
return
|
145
|
+
}
|
146
|
+
return tree.map((item: { [key: string]: any }) => {
|
147
|
+
item.checked = check
|
148
|
+
item.children = modifyRecursive(item.children, check)
|
149
|
+
return item
|
150
|
+
})
|
151
|
+
}
|
187
152
|
|
188
153
|
// Iterate over tree, find item and set checked or unchecked
|
189
154
|
const modifyValue = (
|
@@ -241,7 +206,38 @@ const MultiLevelSelect = (props: MultiLevelSelectProps) => {
|
|
241
206
|
return tree
|
242
207
|
}
|
243
208
|
|
244
|
-
|
209
|
+
// Function to map over data and add parent_id + depth property to each item
|
210
|
+
const addCheckedAndParentProperty = (
|
211
|
+
treeData: { [key: string]: any }[],
|
212
|
+
selectedIds: string[],
|
213
|
+
parent_id: string = null,
|
214
|
+
depth = 0,
|
215
|
+
) => {
|
216
|
+
if (!Array.isArray(treeData)) {
|
217
|
+
return
|
218
|
+
}
|
219
|
+
return treeData.map((item: { [key: string]: any } | any) => {
|
220
|
+
const newItem = {
|
221
|
+
...item,
|
222
|
+
checked: Boolean(selectedIds && selectedIds.length && selectedIds.includes(item.id)),
|
223
|
+
parent_id,
|
224
|
+
depth,
|
225
|
+
}
|
226
|
+
if (newItem.children && newItem.children.length > 0) {
|
227
|
+
const children =
|
228
|
+
item.checked && !returnAllSelected
|
229
|
+
? modifyRecursive(item.children, true)
|
230
|
+
: item.children
|
231
|
+
newItem.children = addCheckedAndParentProperty(
|
232
|
+
children,
|
233
|
+
selectedIds,
|
234
|
+
newItem.id,
|
235
|
+
depth + 1
|
236
|
+
)
|
237
|
+
}
|
238
|
+
return newItem
|
239
|
+
})
|
240
|
+
}
|
245
241
|
|
246
242
|
// Click event for x on form pill
|
247
243
|
const handlePillClose = (event: any, clickedItem: { [key: string]: any }) => {
|
@@ -44,11 +44,11 @@ const MultipleUsersStacked = (props: MultipleUsersStackedProps) => {
|
|
44
44
|
return users.slice(0, 1).map((userObject, index) => {
|
45
45
|
return (
|
46
46
|
<Avatar
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
47
|
+
{...userObject}
|
48
|
+
className="pb_multiple_users_stacked_item"
|
49
|
+
dark={dark}
|
50
|
+
key={index}
|
51
|
+
size="xs"
|
52
52
|
/>
|
53
53
|
)
|
54
54
|
})
|
@@ -59,11 +59,11 @@ const MultipleUsersStacked = (props: MultipleUsersStackedProps) => {
|
|
59
59
|
return users.slice(1, 2).map((userObject, index) => {
|
60
60
|
return (
|
61
61
|
<Avatar
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
62
|
+
{...userObject}
|
63
|
+
className="pb_multiple_users_stacked_item second_item"
|
64
|
+
dark={dark}
|
65
|
+
key={index}
|
66
|
+
size="xs"
|
67
67
|
/>
|
68
68
|
)
|
69
69
|
})
|
@@ -74,11 +74,11 @@ const MultipleUsersStacked = (props: MultipleUsersStackedProps) => {
|
|
74
74
|
if (moreThanTwo === true) {
|
75
75
|
return (
|
76
76
|
<Badge
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
77
|
+
className="pb_multiple_users_stacked_item second_item"
|
78
|
+
dark={dark}
|
79
|
+
rounded
|
80
|
+
text={`+${users.length - displayCount()}`}
|
81
|
+
variant="primary"
|
82
82
|
/>
|
83
83
|
)
|
84
84
|
}
|
@@ -86,11 +86,11 @@ const MultipleUsersStacked = (props: MultipleUsersStackedProps) => {
|
|
86
86
|
|
87
87
|
return (
|
88
88
|
<div
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
89
|
+
{...ariaProps}
|
90
|
+
{...dataProps}
|
91
|
+
{...htmlProps}
|
92
|
+
className={classes}
|
93
|
+
id={id}
|
94
94
|
>
|
95
95
|
{firstUser()}
|
96
96
|
{secondUser()}
|
@@ -18,7 +18,7 @@ type NavItemProps = {
|
|
18
18
|
children?: React.ReactNode[] | React.ReactNode;
|
19
19
|
className?: string;
|
20
20
|
collapsible?: boolean;
|
21
|
-
data?:
|
21
|
+
data?: object;
|
22
22
|
dark?: boolean;
|
23
23
|
fontSize?: "normal" | "small";
|
24
24
|
htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
|
@@ -76,7 +76,7 @@ const NavItem = (props: NavItemProps) => {
|
|
76
76
|
id,
|
77
77
|
imageUrl,
|
78
78
|
link,
|
79
|
-
onClick,
|
79
|
+
onClick = () => {},
|
80
80
|
target = "_self",
|
81
81
|
text = "",
|
82
82
|
collapsibleTrail,
|
@@ -205,49 +205,46 @@ const { filteredPadding, filteredMargin } = filterItemSpacing(itemSpacing);
|
|
205
205
|
{collapsible ? (
|
206
206
|
<>
|
207
207
|
<Collapsible
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
208
|
+
className={collapsibleClasses}
|
209
|
+
icon={iconRight && iconRight}
|
210
|
+
iconSize="xs"
|
211
|
+
id={id}
|
212
|
+
collapsed={collapsed}
|
213
|
+
onIconClick={onIconRightClick}
|
214
|
+
onClick={onClick}
|
215
215
|
>
|
216
216
|
<Collapsible.Main
|
217
|
-
|
218
|
-
|
219
|
-
>
|
217
|
+
className={globalProps({ ...finalItemSpacing })}
|
218
|
+
dark={dark}>
|
220
219
|
<Tag
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
220
|
+
{...ariaProps}
|
221
|
+
{...dataProps}
|
222
|
+
{...htmlProps}
|
223
|
+
className={classes}
|
224
|
+
id={id}
|
225
|
+
href={link}
|
226
|
+
target={target}
|
228
227
|
>
|
229
228
|
{imageUrl && (
|
230
229
|
<div
|
231
|
-
|
232
|
-
|
233
|
-
|
230
|
+
className="pb_nav_list_item_icon_section_collapsible"
|
231
|
+
key={imageUrl}
|
232
|
+
onClick={(e) => handleIconClick(e)}
|
234
233
|
>
|
235
|
-
<Image className="pb_nav_img_wrapper"
|
236
|
-
url={imageUrl}
|
237
|
-
/>
|
234
|
+
<Image className="pb_nav_img_wrapper" url={imageUrl} />
|
238
235
|
</div>
|
239
236
|
)}
|
240
237
|
|
241
238
|
{iconLeft && (
|
242
239
|
<div
|
243
|
-
|
244
|
-
|
245
|
-
|
240
|
+
className="pb_nav_list_item_icon_section_collapsible"
|
241
|
+
key={iconLeft}
|
242
|
+
onClick={(e) => handleIconClick(e)}
|
246
243
|
>
|
247
244
|
<Icon
|
248
|
-
|
249
|
-
|
250
|
-
|
245
|
+
className="pb_nav_list_item_icon_left_collapsible"
|
246
|
+
fixedWidth
|
247
|
+
icon={iconLeft}
|
251
248
|
/>
|
252
249
|
</div>
|
253
250
|
)}
|
@@ -261,33 +258,27 @@ const { filteredPadding, filteredMargin } = filterItemSpacing(itemSpacing);
|
|
261
258
|
</>
|
262
259
|
) : (
|
263
260
|
<Tag
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
261
|
+
{...ariaProps}
|
262
|
+
{...dataProps}
|
263
|
+
{...htmlProps}
|
264
|
+
className={classes}
|
265
|
+
id={id}
|
266
|
+
href={link}
|
267
|
+
onClick={onClick}
|
268
|
+
target={target}
|
272
269
|
>
|
273
270
|
{imageUrl && (
|
274
|
-
<div className="pb_nav_list_item_icon_section"
|
275
|
-
|
276
|
-
>
|
277
|
-
<Image className="pb_nav_img_wrapper"
|
278
|
-
url={imageUrl}
|
279
|
-
/>
|
271
|
+
<div className="pb_nav_list_item_icon_section" key={imageUrl}>
|
272
|
+
<Image className="pb_nav_img_wrapper" url={imageUrl} />
|
280
273
|
</div>
|
281
274
|
)}
|
282
275
|
|
283
276
|
{iconLeft && (
|
284
|
-
<div className="pb_nav_list_item_icon_section"
|
285
|
-
key={iconLeft}
|
286
|
-
>
|
277
|
+
<div className="pb_nav_list_item_icon_section" key={iconLeft}>
|
287
278
|
<Icon
|
288
|
-
|
289
|
-
|
290
|
-
|
279
|
+
className="pb_nav_list_item_icon_left"
|
280
|
+
fixedWidth
|
281
|
+
icon={iconLeft}
|
291
282
|
/>
|
292
283
|
</div>
|
293
284
|
)}
|
@@ -296,13 +287,13 @@ const { filteredPadding, filteredMargin } = filterItemSpacing(itemSpacing);
|
|
296
287
|
|
297
288
|
{iconRight && (
|
298
289
|
<div
|
299
|
-
|
300
|
-
|
290
|
+
className="pb_nav_list_item_icon_section"
|
291
|
+
key={iconRight as string}
|
301
292
|
>
|
302
293
|
<Icon
|
303
|
-
|
304
|
-
|
305
|
-
|
294
|
+
className="pb_nav_list_item_icon_right"
|
295
|
+
fixedWidth
|
296
|
+
icon={iconRight as string}
|
306
297
|
/>
|
307
298
|
</div>
|
308
299
|
)}
|
@@ -12,12 +12,12 @@ type NavProps = {
|
|
12
12
|
borderless?: boolean,
|
13
13
|
children?: React.ReactNode[] | React.ReactNode,
|
14
14
|
className?: string | string[],
|
15
|
-
data?:
|
15
|
+
data?: object,
|
16
16
|
dark?: boolean,
|
17
17
|
highlight?: boolean,
|
18
18
|
htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
|
19
19
|
id?: string,
|
20
|
-
onClick?:
|
20
|
+
onClick?: React.MouseEventHandler<HTMLElement>,
|
21
21
|
orientation?: "vertical" | "horizontal",
|
22
22
|
link?: string,
|
23
23
|
title?: string,
|
@@ -25,7 +25,7 @@ type NavProps = {
|
|
25
25
|
itemSpacing?: SpacingObject
|
26
26
|
} & GlobalProps
|
27
27
|
|
28
|
-
const Nav = (props: NavProps)
|
28
|
+
const Nav = (props: NavProps) => {
|
29
29
|
const {
|
30
30
|
aria = {},
|
31
31
|
borderless = false,
|
@@ -37,7 +37,7 @@ const Nav = (props: NavProps): React.ReactElement => {
|
|
37
37
|
htmlOptions = {},
|
38
38
|
id,
|
39
39
|
link = '#',
|
40
|
-
onClick,
|
40
|
+
onClick = () => { },
|
41
41
|
orientation = 'vertical',
|
42
42
|
title = '',
|
43
43
|
variant = 'normal',
|
@@ -71,23 +71,23 @@ const childrenWithProps = React.Children.map(children, (child) => {
|
|
71
71
|
|
72
72
|
return (
|
73
73
|
<nav
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
74
|
+
{...ariaProps}
|
75
|
+
{...dataProps}
|
76
|
+
{...htmlProps}
|
77
|
+
className={cardCss}
|
78
|
+
id={id}
|
79
79
|
>
|
80
80
|
{title &&
|
81
81
|
<div className="pb_nav_list_title">
|
82
82
|
<a
|
83
|
-
|
84
|
-
|
85
|
-
|
83
|
+
className="pb_nav_list_item_link_text"
|
84
|
+
href={link}
|
85
|
+
onClick={onClick}
|
86
86
|
>
|
87
87
|
<Caption
|
88
|
-
|
89
|
-
|
90
|
-
|
88
|
+
dark={dark}
|
89
|
+
size="md"
|
90
|
+
text={`${title}`}
|
91
91
|
/>
|
92
92
|
</a>
|
93
93
|
</div>
|