playbook_ui 12.35.0.pre.alpha.iconpocwebfonts1023 → 12.36.0.pre.alpha.PLAY942collapsiblenav21035

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f37e0af8c1e76bc928e58612e41499b306f81bbde1935ff1175750d099e17d9c
4
- data.tar.gz: 8e71ee2f5da0e0c3656d4da4577a5d1252941192902587d416afc3610b37c225
3
+ metadata.gz: 6db34cdefea717b8e05435f34ffeca2768916aafc09c5fc75fe585cf29eeed83
4
+ data.tar.gz: '079ed7c7c64c2c7ee0825b84398cb909e08d08badd9cab8fb16870c4391210f0'
5
5
  SHA512:
6
- metadata.gz: 3198daf878227a793bbee0e9c41e1a3451e5d9e9cdc25c9f5cd78d81aaa0135b314d54c020fcbfbb6ff6296331e31c12e1618ec4b432d36e505c7823aef6e1b2
7
- data.tar.gz: afb451764ee139fd5b42152d275d689fc26cc0d158f49ef123cd8f42c99f1cccabbf63271cc8b9b0f1a117fb3a25088f5b83ccd95e53d4dc374534920f2d91cb
6
+ metadata.gz: 96a3770480378c8930a578bf3c021aebcce6cf4dd8f45b9c6de753bfa67768334db24beede7c1f24d64b522cb4607c174bd7b120a4c24eada9d71c68427d70d0
7
+ data.tar.gz: 3708ce113f29d42deeaea57d6e166676fe51d9e9618a1d11383e82a2bf8658497b62dadd111ba2a2332ca5edf69f56cab283639da997399c07b3be04cda70093
@@ -114,5 +114,3 @@
114
114
  @import './utilities/hover';
115
115
 
116
116
  @import 'pb_multi_level_select/multi_level_select';
117
-
118
-
@@ -129,4 +129,5 @@ export { default as PbTypeahead } from './pb_typeahead'
129
129
  export { default as dialogHelper } from './pb_dialog/dialogHelper'
130
130
 
131
131
  //Theming
132
- export {default as mapTheme} from './pb_map/pbMapTheme'
132
+ export {default as mapTheme} from './pb_map/pbMapTheme'
133
+ export {default as useCollapsible} from './pb_collapsible/useCollapsible'
@@ -1,5 +1,6 @@
1
- import React, { useState } from 'react'
1
+ import React, { useEffect } from 'react'
2
2
  import classnames from 'classnames'
3
+ import useCollapsible from './useCollapsible'
3
4
 
4
5
  import { globalProps } from '../utilities/globalProps'
5
6
  import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
@@ -16,20 +17,15 @@ type CollapsibleProps = {
16
17
  className?: string,
17
18
  collapsed?: boolean,
18
19
  data?: object,
19
- icon?: string | string[]
20
+ icon?: string | string[],
20
21
  iconColor?: 'default' | 'light' | 'lighter' | 'link' | 'error' | 'success',
21
- iconSize?: IconSizes
22
+ iconSize?: IconSizes,
23
+ iconClick?: ()=> void,
24
+ onClick?: ()=> void,
22
25
  id?: string,
23
26
  }
24
27
 
25
- const useCollapsible = (initial = false) => {
26
- const [collapsed, setCollapsed] = useState(initial)
27
28
 
28
- return [
29
- collapsed,
30
- () => setCollapsed((t) => !t),
31
- ]
32
- }
33
29
 
34
30
  const Collapsible = ({
35
31
  aria = {},
@@ -40,10 +36,17 @@ const Collapsible = ({
40
36
  icon,
41
37
  iconColor = 'default',
42
38
  iconSize,
39
+ iconClick,
40
+ onClick,
43
41
  id,
44
42
  ...props
45
43
  }: CollapsibleProps) => {
46
- const [isCollapsed, collapse] = useCollapsible(collapsed)
44
+ const [isCollapsed, toggle, setIsCollapsed] = useCollapsible(collapsed)
45
+
46
+ useEffect(()=> {
47
+ setIsCollapsed(collapsed)
48
+ },[collapsed])
49
+
47
50
  const CollapsibleParent = React.Children.toArray(children) as JSX.Element[]
48
51
 
49
52
  if (CollapsibleParent.length !== 2) {
@@ -62,9 +65,8 @@ const Collapsible = ({
62
65
  globalProps(props),
63
66
  className
64
67
  )
65
-
66
68
  return (
67
- <CollapsibleContext.Provider value={{ collapsed: isCollapsed, collapse, icon, iconSize, iconColor }}>
69
+ <CollapsibleContext.Provider value={{ collapsed: isCollapsed, toggle, icon, iconSize, iconColor, iconClick, onClick }}>
68
70
  <div
69
71
  {...ariaProps}
70
72
  {...dataProps}
@@ -33,7 +33,7 @@ type CollapsibleMainProps = {
33
33
  children: React.ReactNode[] | React.ReactNode,
34
34
  className?: string,
35
35
  cursor?: string,
36
-
36
+ onClick?: ()=> void
37
37
  }
38
38
  type IconColors = "default" | "light" | "lighter" | "link" | "error" | "success"
39
39
 
@@ -42,9 +42,10 @@ type IconProps = {
42
42
  icon?: string[] | string
43
43
  iconColor?: IconColors
44
44
  iconSize?: IconSizes
45
+ iconClick?: ()=> void
45
46
  }
46
47
 
47
- const ToggleIcon = ({ collapsed, icon, iconSize, iconColor }: IconProps) => {
48
+ const ToggleIcon = ({ collapsed, icon, iconSize, iconColor, iconClick }: IconProps) => {
48
49
  const color = colorMap[iconColor]
49
50
 
50
51
  const showIcon = (icon: string |string[]) => {
@@ -54,6 +55,13 @@ const ToggleIcon = ({ collapsed, icon, iconSize, iconColor }: IconProps) => {
54
55
  return icon
55
56
  }
56
57
 
58
+ const handleIconClick = (e:any) => {
59
+ if (iconClick) {
60
+ e.stopPropagation();
61
+ iconClick()
62
+ }
63
+ }
64
+
57
65
  return (
58
66
  <>
59
67
  {collapsed ? (
@@ -61,6 +69,7 @@ const ToggleIcon = ({ collapsed, icon, iconSize, iconColor }: IconProps) => {
61
69
  className="icon_wrapper"
62
70
  key={icon ? showIcon(icon)[0] : "chevron-down"}
63
71
  style={{ verticalAlign: "middle", color: color }}
72
+ onClick={(e)=> handleIconClick(e)}
64
73
  >
65
74
  <Icon icon={icon ? showIcon(icon)[0] : "chevron-down"} size={iconSize} />
66
75
  </div>
@@ -69,6 +78,7 @@ const ToggleIcon = ({ collapsed, icon, iconSize, iconColor }: IconProps) => {
69
78
  className="icon_wrapper"
70
79
  key={icon ? showIcon(icon)[1] : "chevron-up"}
71
80
  style={{ verticalAlign: "middle", color: color }}
81
+ onClick={(e)=> handleIconClick(e)}
72
82
  >
73
83
  <Icon icon={icon ? showIcon(icon)[1] : "chevron-up"} size={iconSize} />
74
84
  </div>
@@ -83,13 +93,18 @@ const CollapsibleMain = ({
83
93
  cursor = 'pointer',
84
94
  ...props
85
95
  }: CollapsibleMainProps): React.ReactElement=> {
86
- const context: {[key: string]: IconColors | (() => void)} | boolean = useContext(CollapsibleContext)
96
+ const {collapsed, toggle, icon, iconSize, iconColor, iconClick, onClick}: any = useContext(CollapsibleContext)
87
97
  const mainCSS = buildCss('pb_collapsible_main_kit')
88
98
  const mainSpacing = globalProps(props, { cursor })
89
99
 
100
+ const handleCollapsibleClick = (e:any) => {
101
+ toggle();
102
+ onClick && onClick(e)
103
+ }
104
+
90
105
  return (
91
106
  <div className={classnames(mainCSS, className, mainSpacing)}>
92
- <div onClick={context.collapse as (() => void)}>
107
+ <div onClick={(e)=>handleCollapsibleClick(e)}>
93
108
  <Flex
94
109
  spacing="between"
95
110
  vertical="center"
@@ -97,10 +112,11 @@ const CollapsibleMain = ({
97
112
  <FlexItem>{children}</FlexItem>
98
113
  <FlexItem>
99
114
  <ToggleIcon
100
- collapsed={context.collapsed as () => void}
101
- iconColor={context.iconColor as IconColors}
102
- iconSize={context.iconSize as IconSizes}
103
- icon={context.icon as string[] | string}
115
+ collapsed={collapsed as () => void}
116
+ iconColor={iconColor as IconColors}
117
+ iconSize={iconSize as IconSizes}
118
+ icon={icon as string[] | string}
119
+ iconClick={iconClick}
104
120
  />
105
121
  </FlexItem>
106
122
  </Flex>
@@ -9,7 +9,7 @@
9
9
  <%= content.presence %>
10
10
  <% end %>
11
11
  <%= pb_rails("flex/flex_item") do %>
12
- <div style="color: <%= object.icon_color %>">
12
+ <div style="color: <%= object.icon_color %>" class="icon_wrapper" >
13
13
  <% if object.icon.present? %>
14
14
  <%= pb_rails("icon", props: { icon: object.show_icon(object.icon)[0], id:"collapsible_open_icon", size: object.size }) %>
15
15
  <%= pb_rails("icon", props: { icon: object.show_icon(object.icon)[1], id:"collapsible_close_icon", size: object.size }) %>
@@ -1,8 +1,17 @@
1
1
  import React from 'react'
2
- import { Collapsible } from '../..'
2
+ import { Collapsible, useCollapsible, Button } from '../..'
3
3
 
4
- const CollapsibleIcons = () => (
5
- <Collapsible icon={['plus','minus']}>
4
+ const CollapsibleIcons = () => {
5
+ const [isCollapsed, setIsCollapsed] = useCollapsible(true)
6
+
7
+ return (
8
+ <>
9
+ <Button onClick={()=> setIsCollapsed(!isCollapsed)}>
10
+ {isCollapsed ? "Expand" : "Collapse"}
11
+ </Button>
12
+ <Collapsible collapsed={isCollapsed}
13
+ icon={['plus','minus']}
14
+ >
6
15
  <Collapsible.Main>
7
16
  <div>{'Main Section'}</div>
8
17
  </Collapsible.Main>
@@ -14,6 +23,8 @@ const CollapsibleIcons = () => (
14
23
  </div>
15
24
  </Collapsible.Content>
16
25
  </Collapsible>
17
- )
26
+ </>
27
+ )
28
+ }
18
29
 
19
30
  export default CollapsibleIcons
@@ -4,10 +4,10 @@ examples:
4
4
  - collapsible_default: Default
5
5
  - collapsible_size: Size
6
6
  - collapsible_color: Color
7
- # - collapsible_icons: Custom Icons
7
+ - collapsible_icons: Custom Icons
8
8
 
9
9
  react:
10
10
  - collapsible_default: Default
11
11
  - collapsible_size: Size
12
12
  - collapsible_color: Color
13
- # - collapsible_icons: Custom Icons
13
+ - collapsible_icons: Custom Icons
@@ -0,0 +1,14 @@
1
+ import {useState} from 'react';
2
+
3
+ const useCollapsible = (initial= true) => {
4
+ const [collapsed, setCollapsed] = useState(initial)
5
+
6
+ const toggle = () => setCollapsed((prev) => !prev)
7
+ return [
8
+ collapsed,
9
+ toggle,
10
+ setCollapsed as any,
11
+ ]
12
+ }
13
+
14
+ export default useCollapsible
@@ -21,13 +21,17 @@ const dialogHelper = () => {
21
21
 
22
22
  // Close dialog box on outside click
23
23
  dialogs.forEach((dialogElement) => {
24
- dialogElement.addEventListener("click", (event) => {
24
+ dialogElement.addEventListener("mousedown", (event) => {
25
25
  const dialogParentDataset = dialogElement.parentElement.dataset
26
26
  if (dialogParentDataset.overlayClick === "overlay_close") return
27
27
 
28
- const clickedOutsideDialogBox = event.target.classList.contains("pb_dialog_rails")
28
+ const dialogModal = event.target.getBoundingClientRect()
29
+ const clickedOutsideDialogModal = event.clientX < dialogModal.left ||
30
+ event.clientX > dialogModal.right ||
31
+ event.clientY < dialogModal.top ||
32
+ event.clientY > dialogModal.bottom
29
33
 
30
- if (clickedOutsideDialogBox) {
34
+ if (clickedOutsideDialogModal) {
31
35
  dialogElement.close()
32
36
  event.stopPropagation()
33
37
  }
@@ -9,7 +9,6 @@ examples:
9
9
  - icon_sizes: Icon Sizes
10
10
  - icon_custom: Icon Custom
11
11
  - icon_fa_kit: Icon with FontAwesome Kit
12
- - icon_font: Bring Your Own Icon Font
13
12
 
14
13
  react:
15
14
  - icon_default: Icon Default
@@ -2,28 +2,14 @@
2
2
  <%= object.render_svg(object.custom_icon) %>
3
3
  <% elsif object.valid_emoji(object.icon) %>
4
4
  <span class="pb_icon_kit_emoji"><%= object.icon.html_safe %></span>
5
- <% elsif object.font_family.present? %>
6
- <%= content_tag(:i, nil,
7
- id: object.id,
8
- data: object.data,
9
- class: object.icon_font_classname,
10
- style:
11
- "font-family: #{object.font_family.to_s};font-size: #{object.size.to_s.match?(/x/) ? object.size.to_s.gsub(/x/, '').to_i : object.size.to_s}em;"
12
- ) %>
13
- <%= content_tag(:span, nil,
14
- aria: { label: "#{object.icon} icon" }.merge(object.aria),
15
- hidden: true
16
- ) %>
17
5
  <% else %>
18
6
  <%= content_tag(:i, nil,
19
7
  id: object.id,
20
8
  data: object.data,
21
- class: object.classname,
9
+ class: object.classname
22
10
  ) %>
23
11
  <%= content_tag(:span, nil,
24
12
  aria: { label: "#{object.icon} icon" }.merge(object.aria),
25
13
  hidden: true
26
14
  ) %>
27
15
  <% end %>
28
-
29
-
@@ -15,8 +15,6 @@ module Playbook
15
15
  values: ["horizontal", "vertical", "both", nil],
16
16
  default: nil
17
17
  prop :icon
18
- prop :font_family, type: Playbook::Props::String,
19
- default: nil
20
18
  prop :custom_icon, type: Playbook::Props::String,
21
19
  default: nil
22
20
  prop :inverse, type: Playbook::Props::Boolean,
@@ -39,8 +37,6 @@ module Playbook
39
37
  default: "far"
40
38
  prop :spin, type: Playbook::Props::Boolean,
41
39
  default: false
42
- prop :prefix, type: Playbook::Props::String,
43
- default: "fa"
44
40
 
45
41
  def valid_emoji(icon)
46
42
  emoji_regex = /\p{Emoji}/
@@ -66,24 +62,6 @@ module Playbook
66
62
  )
67
63
  end
68
64
 
69
- def icon_font_classname
70
- generate_classname(
71
- "pb_icon_kit",
72
- icon_class,
73
- border_class,
74
- fixed_width_class,
75
- flip_class,
76
- inverse_class,
77
- list_item_class,
78
- pull_class,
79
- pulse_class,
80
- rotation_class,
81
- size_class,
82
- spin_class,
83
- separator: " "
84
- )
85
- end
86
-
87
65
  def custom_icon_classname
88
66
  generate_classname(
89
67
  "pb_icon_kit",
@@ -123,7 +101,7 @@ module Playbook
123
101
  end
124
102
 
125
103
  def icon_class
126
- icon ? "#{prefix}-#{icon}" : nil
104
+ icon ? "fa-#{icon}" : nil
127
105
  end
128
106
 
129
107
  def inverse_class
@@ -158,7 +136,7 @@ module Playbook
158
136
  end
159
137
 
160
138
  def size_class
161
- size ? "#{prefix}-#{size}" : nil
139
+ size ? "fa-#{size}" : nil
162
140
  end
163
141
 
164
142
  def font_style_class
@@ -1,6 +1,27 @@
1
+ @import "../tokens/spacing";
2
+ @import "../tokens/colors";
3
+ @import "../tokens/border_radius";
4
+
1
5
  [class^="pb_nav_list"] {
6
+ .pb_collapsible_nav_item {
2
7
  .pb_collapsible_main_kit,
3
- .pb_collapsible_content_kit {
8
+ .pb_collapsible_content_kit,
9
+ .pb_collapsible_kit {
4
10
  padding: 0 !important;
5
11
  }
12
+
13
+ .icon_wrapper {
14
+ border-radius: $border_radius_rounded;
15
+ width: 19px;
16
+ height: 19px;
17
+ display:flex;
18
+ align-items: center;
19
+ justify-content: center;
20
+ margin-right: $space_xs;
21
+ &:hover {
22
+ background-color: rgba($primary_action, $opacity_3);
23
+
24
+ }
25
+ }
26
+ }
6
27
  }
@@ -14,15 +14,19 @@ type NavItemProps = {
14
14
  children?: React.ReactNode[] | React.ReactNode,
15
15
  className?: string,
16
16
  collapsible?: boolean,
17
+ collapsibleClick?: () => void,
17
18
  data?: object,
18
19
  iconLeft?: string,
19
20
  iconRight?: string | string[],
21
+ iconRightClick?: () => void,
22
+ iconLeftClick?: () => void,
20
23
  id?: string,
21
24
  imageUrl?: string,
22
25
  link?: string,
23
26
  onClick?: React.MouseEventHandler<HTMLElement>,
24
27
  target?: '_blank' | '_self' | '_parent' | '_top',
25
28
  text: string,
29
+ toggleCollapsed?: any
26
30
  } & GlobalProps
27
31
 
28
32
  const NavItem = (props: NavItemProps) => {
@@ -32,22 +36,34 @@ const NavItem = (props: NavItemProps) => {
32
36
  children,
33
37
  className,
34
38
  collapsible,
39
+ collapsibleClick,
35
40
  data = {},
36
41
  iconLeft,
37
42
  iconRight,
43
+ iconRightClick,
44
+ iconLeftClick,
38
45
  id,
39
46
  imageUrl,
40
47
  link,
41
48
  onClick = () => { },
42
49
  target = '_self',
43
50
  text = '',
51
+ toggleCollapsed
44
52
  } = props
45
53
 
46
54
  const Tag = link ? 'a' : 'div'
47
55
  const activeClass = active === true ? 'active' : ''
48
56
  const ariaProps = buildAriaProps(aria)
49
57
  const dataProps = buildDataProps(data)
50
- const classes = classnames(buildCss('pb_nav_list_kit_item', activeClass), globalProps(props), className)
58
+ const classes = classnames(buildCss('pb_nav_list_kit_item', activeClass), collapsible ? 'pb_collapsible_nav_item' : '', globalProps(props), className)
59
+
60
+
61
+ const handleIconClick = (e:any) => {
62
+ if (iconLeftClick) {
63
+ e.stopPropagation();
64
+ iconLeftClick()
65
+ }
66
+ }
51
67
 
52
68
  return (
53
69
  <li
@@ -58,7 +74,13 @@ const NavItem = (props: NavItemProps) => {
58
74
  >
59
75
  {
60
76
  collapsible ? (
61
- <Collapsible icon={iconRight ? iconRight : ['plus','minus']} iconSize="xs">
77
+ <Collapsible icon={iconRight ? iconRight : ['plus','minus']}
78
+ iconSize="xs"
79
+ id={id}
80
+ collapsed={toggleCollapsed}
81
+ iconClick={iconRightClick}
82
+ onClick={collapsibleClick}
83
+ >
62
84
  <Collapsible.Main>
63
85
  <Tag
64
86
  className="pb_nav_list_item_link"
@@ -70,6 +92,7 @@ const NavItem = (props: NavItemProps) => {
70
92
  <div
71
93
  className="pb_nav_list_item_icon_section"
72
94
  key={imageUrl}
95
+ onClick={(e)=>handleIconClick(e)}
73
96
  >
74
97
  <Image
75
98
  className="pb_nav_img_wrapper"
@@ -82,6 +105,7 @@ const NavItem = (props: NavItemProps) => {
82
105
  <div
83
106
  className="pb_nav_list_item_icon_section"
84
107
  key={iconLeft}
108
+ onClick={(e)=>handleIconClick(e)}
85
109
  >
86
110
  <Icon
87
111
  className="pb_nav_list_item_icon_left"
@@ -1,83 +1,63 @@
1
- import React from "react";
2
-
3
- import Nav from "../_nav";
4
- import NavItem from "../_item";
1
+ import React from "react"
2
+ import { Nav, NavItem, useCollapsible } from "../.."
5
3
 
6
4
  const CollapsibleNav = (props) => {
5
+ const navItems = ["Overview", "Albums", "Similar Artists"]
6
+ // eslint-disable-next-line react-hooks/rules-of-hooks
7
+ const collapsibles = navItems.map(() => useCollapsible(true))
8
+
9
+ const handleMainClick = (index) => {
10
+ collapsibles.forEach(([, , setCollapsed], idx) => {
11
+ if (idx === index) {
12
+ setCollapsed(false)
13
+ } else {
14
+ setCollapsed(true)
15
+ }
16
+ })
17
+ }
18
+
19
+
20
+ const handleIconRightClick = (index) => {
21
+ const [isCollapsed, setCollapsed] = collapsibles[index]
22
+ setCollapsed(!isCollapsed)
23
+ }
24
+
7
25
  return (
8
- <Nav variant="subtle">
9
- <NavItem
10
- collapsible
11
- iconLeft="city"
12
- link="#"
13
- text="Overview"
14
- {...props}
15
- >
16
- <NavItem
17
- link="#"
18
- text="City"
19
- {...props}
20
- />
21
- <NavItem
22
- link="#"
23
- text="People"
24
- {...props}
25
- />
26
- <NavItem
27
- link="#"
28
- text="Business"
29
- {...props}
30
- />
31
- </NavItem>
32
- <NavItem
33
- active
34
- collapsible
35
- iconLeft="theater-masks"
36
- link="#"
37
- text="Albums"
38
- {...props}
39
- >
40
- <NavItem
41
- link="#"
42
- text="Entertainment"
43
- {...props}
44
- />
45
- <NavItem
46
- link="#"
47
- text="Food"
48
- {...props}
49
- />
50
- <NavItem
51
- link="#"
52
- text="Style"
53
- {...props}
54
- />
55
- </NavItem>
56
- <NavItem
57
- collapsible
58
- iconLeft="city"
59
- link="#"
60
- text="Similar Artists"
61
- {...props}
62
- >
63
- <NavItem
64
- link="#"
65
- text="City"
66
- {...props}
67
- />
68
- <NavItem
69
- link="#"
70
- text="People"
71
- {...props}
72
- />
73
- <NavItem
74
- link="#"
75
- text="Business"
76
- {...props}
77
- />
78
- </NavItem>
79
- </Nav>
80
- );
81
- };
26
+ <>
27
+ <Nav variant='subtle'>
28
+ {navItems.map((text, index) => {
29
+ const [collapsed] = collapsibles[index]
30
+ return (
31
+ <NavItem
32
+ collapsible
33
+ collapsibleClick={() => handleMainClick(index)}
34
+ iconLeft="chevron-down"
35
+ iconRightClick={() => handleIconRightClick(index)}
36
+ id={`collapsible-nav-item-${index + 1}`}
37
+ key={index}
38
+ link="#"
39
+ text={text}
40
+ toggleCollapsed={collapsed}
41
+ {...props}
42
+ >
43
+ <NavItem link="#"
44
+ text="City"
45
+ {...props}
46
+ />
47
+ <NavItem link="#"
48
+ text="People"
49
+ {...props}
50
+ />
51
+ <NavItem link="#"
52
+ text="Business"
53
+ {...props}
54
+ />
55
+ </NavItem>
56
+ );
57
+ })}
58
+ </Nav>
59
+ </>
60
+ )
61
+ }
82
62
 
83
- export default CollapsibleNav;
63
+ export default CollapsibleNav
@@ -1,7 +1,5 @@
1
1
  import React from "react";
2
-
3
- import Nav from "../_nav";
4
- import NavItem from "../_item";
2
+ import { Nav, NavItem } from '../..'
5
3
 
6
4
  const CollapsibleNavCustomIcons = (props) => {
7
5
  return (
@@ -9,7 +7,7 @@ const CollapsibleNavCustomIcons = (props) => {
9
7
  <NavItem
10
8
  collapsible
11
9
  iconLeft="city"
12
- iconRight={["chevron-down", "chevron-up"]}
10
+ iconRight={["plus", "minus"]}
13
11
  link="#"
14
12
  text="Overview"
15
13
  {...props}
@@ -34,7 +32,7 @@ const CollapsibleNavCustomIcons = (props) => {
34
32
  active
35
33
  collapsible
36
34
  iconLeft="theater-masks"
37
- iconRight={["chevron-down", "chevron-up"]}
35
+ iconRight={["plus", "minus"]}
38
36
  link="#"
39
37
  text="Albums"
40
38
  {...props}
@@ -58,7 +56,7 @@ const CollapsibleNavCustomIcons = (props) => {
58
56
  <NavItem
59
57
  collapsible
60
58
  iconLeft="city"
61
- iconRight={["chevron-down", "chevron-up"]}
59
+ iconRight={["plus", "minus"]}
62
60
  link="#"
63
61
  text="Similar Artists"
64
62
  {...props}
@@ -25,8 +25,8 @@ examples:
25
25
  - borderless_nav: No Borders
26
26
  - subtle_nav: Subtle Variant
27
27
  - subtle_with_icons_nav: Subtle With Icons
28
- # - collapsible_nav: Subtle With Collapsible
29
- # - collapsible_nav_custom_icons: Subtle With Collapsible (Custom Toggle Icons)
28
+ - collapsible_nav: Subtle With Collapsible
29
+ - collapsible_nav_custom_icons: Subtle With Collapsible (No custom toggling)
30
30
  - subtle_no_highlight_nav: Subtle No Highlight
31
31
  - bold_vertical_nav: Bold Variant
32
32
  - horizontal_nav: Horizontal Nav