playbook_ui 13.16.0.pre.alpha.play1141iconkitusinglibrary2060 → 13.16.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/pb_icon/_icon.scss +6 -48
- data/app/pb_kits/playbook/pb_icon/_icon.tsx +36 -107
- data/app/pb_kits/playbook/pb_icon/docs/_icon_custom.html.erb +11 -5
- data/app/pb_kits/playbook/pb_icon/docs/_icon_custom.jsx +18 -44
- data/app/pb_kits/playbook/pb_icon/docs/_icon_custom.md +5 -10
- data/app/pb_kits/playbook/pb_icon/icon.html.erb +4 -6
- data/app/pb_kits/playbook/pb_icon/icon.rb +10 -33
- 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/app/pb_kits/playbook/pb_nav/_nav_item.test.js +2 -2
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +1 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_highlight.jsx +2 -4
- data/dist/playbook-rails.js +6 -14
- data/lib/playbook/version.rb +2 -2
- metadata +7 -7
@@ -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>
|
@@ -95,11 +95,11 @@ test('should not have a left border', () => {
|
|
95
95
|
test('should have a right icon', () => {
|
96
96
|
render(<NavDefault iconRight="angle-down" />)
|
97
97
|
const kit = screen.getByTestId(itemTestId)
|
98
|
-
expect(kit).toContainHTML('<i class="pb_icon_kit far
|
98
|
+
expect(kit).toContainHTML('<i class="pb_icon_kit far fa-fw fa-angle-down pb_nav_list_item_icon_right" />')
|
99
99
|
})
|
100
100
|
|
101
101
|
test('should have a left icon', () => {
|
102
102
|
render(<NavDefault iconLeft="users-class" />)
|
103
103
|
const kit = screen.getByTestId(itemTestId)
|
104
|
-
expect(kit).toContainHTML('<i class="pb_icon_kit far
|
104
|
+
expect(kit).toContainHTML('<i class="pb_icon_kit far fa-fw fa-users-class pb_nav_list_item_icon_left" />')
|
105
105
|
})
|
@@ -73,10 +73,8 @@ const TypeaheadWithHighlight = (props) => {
|
|
73
73
|
Option: (highlightProps: OptionProps) => (
|
74
74
|
<components.Option {...highlightProps}/>
|
75
75
|
),
|
76
|
-
SingleValue: ({
|
77
|
-
<
|
78
|
-
<span>{props.data.name}</span>
|
79
|
-
</components.SingleValue>
|
76
|
+
SingleValue: ({ data }: any) => (
|
77
|
+
<span>{data.name}</span>
|
80
78
|
)
|
81
79
|
}
|
82
80
|
|