playbook_ui 12.39.0.pre.alpha.PLAY966collapsiblenav41115 → 12.39.0.pre.alpha.salesbookmismatchingdate1114

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bf4167e4358045e1ef6c706b26d0e1893336ef2e673212b907abf2e2bfd7d37f
4
- data.tar.gz: f43205d27b1ceffd14ba706a9faf3285b650e220a71e889a78c0f55d41356737
3
+ metadata.gz: 53e1efed14125432de973864540db434bd15d7ca728af5bfd7facb459c42f3a5
4
+ data.tar.gz: 8ea21f9bdf376162e82ab98a9d14b3f186e8438d81a979faa663ffad1f3b57f7
5
5
  SHA512:
6
- metadata.gz: 2f2ecc613d9a31db4877c93101a664ddf9922ad0b46361971792336e51ee8f36f9b5aaa325893b26530a6ccf1b2dfb13af5f8f87309ad3e0c8bdc6501d8214da
7
- data.tar.gz: c4b92e867f72479651eee9d82afa551fd717fd66d7ced9a4997dbcec133d6e3b1e2916f5197ccc5e9c6c9b8c8a16db1931f6aca42dd758427e5a2c076abfc7f1
6
+ metadata.gz: 5b78591f4053df9f189134735a3689c5e010f823220d0217c65f222240a1aed961f8cdb79df3f91e771f7336717031dfd2594064388e3f9478549d0281f78724
7
+ data.tar.gz: 93d06173adcc6db7672b2580de009a31d530c0135802524b0d5514d09939737230c38dd845f47c862a9be503eb6c42916372498afc5481d54f7c2afe495f6644
@@ -17,6 +17,7 @@ const formatDate = (newDate: Date | string) => {
17
17
 
18
18
  export const toMinute = (newDate: Date | string, timeZone?: string): string => {
19
19
  const date = formatDate(newDate)
20
+
20
21
  if (timeZone) {
21
22
  return date.toLocaleTimeString(undefined, { timeZone, hour: "2-digit", minute: "2-digit" }).slice(3, 5);
22
23
  } else {
@@ -26,6 +27,7 @@ export const toMinute = (newDate: Date | string, timeZone?: string): string => {
26
27
 
27
28
  export const toHour = (newDate: Date | string, timeZone?: string): string => {
28
29
  const date = formatDate(newDate)
30
+
29
31
  if (timeZone) {
30
32
  return date.toLocaleTimeString(undefined, { timeZone, hour: "numeric" }).split(' ')[0];
31
33
  } else {
@@ -34,52 +36,53 @@ export const toHour = (newDate: Date | string, timeZone?: string): string => {
34
36
  }
35
37
 
36
38
  export const toDay = (newDate: Date | string, timeZone?: string): number => {
37
- if (timeZone) {
38
- const date = new Date(formatDate(newDate).toLocaleString(undefined, { timeZone }));
39
- return date.getDate()
40
- } else {
41
- const date = formatDate(newDate)
42
- return date.getDate()
43
- }
39
+ if (timeZone) {
40
+ const date = new Date(formatDate(newDate).toLocaleString(undefined, { timeZone }));
41
+ return date.getDate()
42
+ } else {
43
+ const date = formatDate(newDate)
44
+ return date.getDate()
45
+ }
44
46
  }
45
47
 
46
48
  export const toDayAbbr = (newDate: Date | string): string => {
47
49
  const date = formatDate(newDate)
48
- return ABBR_DAYS[date.getUTCDay()]
50
+ return ABBR_DAYS[date.getDay()]
49
51
  }
50
52
 
51
53
  export const toWeekday = (newDate: Date | string): string => {
52
- const date = formatDate(newDate)
53
- return days[date.getUTCDay()]
54
+ const date = formatDate(newDate)
55
+ return days[date.getDay()]
54
56
  }
55
57
 
56
58
  export const toMonth = (newDate: Date | string, timeZone?: string): string => {
57
- if (timeZone) {
58
- const date = new Date(formatDate(newDate).toLocaleString(undefined, { timeZone }));
59
- return months[date.getUTCMonth()]
60
- } else {
61
- const date = formatDate(newDate)
62
- return months[date.getUTCMonth()]
63
- }
59
+ if (timeZone) {
60
+ const date = new Date(formatDate(newDate).toLocaleString(undefined, { timeZone }));
61
+ return months[date.getMonth()]
62
+ } else {
63
+ const date = formatDate(newDate)
64
+ return months[date.getMonth()]
65
+ }
64
66
  }
65
67
 
66
68
  export const toMonthNum = (newDate: Date | string): number => {
67
69
  const date = formatDate(newDate)
68
- return date.getUTCMonth() +1
70
+ return date.getMonth() + 1
69
71
  }
70
72
 
71
73
  export const toYear = (newDate: Date | string, timeZone?: string): number => {
72
74
  if (timeZone) {
73
- const date = new Date(newDate.toLocaleString(undefined, { timeZone }));
74
- return date.getUTCFullYear()
75
+ const date = new Date(formatDate(newDate).toLocaleString(undefined, { timeZone }));
76
+ return date.getFullYear()
75
77
  } else {
76
- const date = new Date(newDate)
77
- return date.getUTCFullYear()
78
+ const date = formatDate(newDate)
79
+ return date.getFullYear()
78
80
  }
79
81
  }
80
82
 
81
83
  export const toTime = (newDate: Date | string, timeZone?: string): string => {
82
84
  const date = formatDate(newDate)
85
+
83
86
  if (timeZone) {
84
87
  return date.toLocaleTimeString(undefined, { timeZone, timeStyle: "short" }).split(' ')[0];
85
88
  } else {
@@ -88,21 +91,23 @@ export const toTime = (newDate: Date | string, timeZone?: string): string => {
88
91
  }
89
92
 
90
93
  export const toMeridiem = (newDate: Date | string, timeZone?: string): string => {
91
- const date = formatDate(newDate)
92
- if (timeZone) {
93
- return date.toLocaleString(undefined, { timeZone, hour12: true }).slice(-2).charAt(0).toLocaleLowerCase();
94
- } else {
95
- return date.toLocaleString(undefined, { hour12: true }).slice(-2).charAt(0).toLocaleLowerCase();
96
- }
94
+ const date = formatDate(newDate)
95
+
96
+ if (timeZone) {
97
+ return date.toLocaleString(undefined, { timeZone, hour12: true }).slice(-2).charAt(0).toLocaleLowerCase();
98
+ } else {
99
+ return date.toLocaleString(undefined, { hour12: true }).slice(-2).charAt(0).toLocaleLowerCase();
100
+ }
97
101
  }
98
102
 
99
103
  export const toTimeZone = (newDate: Date | string, timeZone?: string): string => {
100
- const date = formatDate(newDate)
101
- if (timeZone) {
102
- return date.toLocaleString(undefined, { timeZone, timeZoneName: "short" }).split(' ')[3];
103
- } else {
104
- return date.toLocaleString(undefined, { timeZoneName: "short" }).split(' ')[3];
105
- }
104
+ const date = formatDate(newDate)
105
+
106
+ if (timeZone) {
107
+ return date.toLocaleString(undefined, { timeZone, timeZoneName: "short" }).split(' ')[3];
108
+ } else {
109
+ return date.toLocaleString(undefined, { timeZoneName: "short" }).split(' ')[3];
110
+ }
106
111
  }
107
112
 
108
113
  export const toTimeWithMeridiem = (newDate: Date | string, timeZone: string): string => {
@@ -111,8 +116,8 @@ export const toTimeWithMeridiem = (newDate: Date | string, timeZone: string): st
111
116
  }
112
117
 
113
118
  export const toIso = (newDate: Date | string): string => {
114
- const date = formatDate(newDate)
115
- return date.toISOString()
119
+ const date = formatDate(newDate)
120
+ return date.toISOString()
116
121
  }
117
122
 
118
123
  export const fromNow = (newDate: Date | string): string => {
@@ -116,9 +116,6 @@
116
116
  font-weight: $regular !important;
117
117
  }
118
118
  }
119
- .icon_wrapper:hover {
120
- background-color: mix($primary, $card_light, 40%);
121
- }
122
119
  }
123
120
  }
124
121
  }
@@ -128,25 +125,30 @@
128
125
  [class*="pb_collapsible_nav_item"] {
129
126
  &[class*="_active"] {
130
127
  .pb_collapsible_main_kit {
131
- background-color: $active_light;
128
+ background-color: $primary !important;
132
129
  border-radius: $border_rad_heavier;
133
130
  .pb_nav_list_item_text_collapsible,
134
- .pb_nav_list_item_icon_collapsible
135
- {
136
- color: $primary;
131
+ .pb_nav_list_item_icon_collapsible,
132
+ .icon_wrapper,
133
+ .pb_icon_kit {
134
+ color: $white !important;
137
135
  }
138
136
  }
137
+
139
138
  &:hover {
140
139
  background-color: unset;
141
140
  }
142
- }
143
- &.dark {
144
- &[class*="_active"] {
145
- .pb_collapsible_main_kit {
146
- background-color: mix($white, $card_dark, 20%);
147
- .pb_nav_list_item_text_collapsible,
148
- svg {
149
- color: $white !important;
141
+ .pb_collapsible_main_kit:hover {
142
+ .pb_nav_list_item_text_collapsible {
143
+ color: $white !important;
144
+ }
145
+ }
146
+
147
+ .icon_wrapper {
148
+ &:hover {
149
+ background-color: mix($primary, $card_light, 40%);
150
+ .pb_icon_kit {
151
+ color: $primary !important;
150
152
  }
151
153
  }
152
154
  }
@@ -195,6 +197,7 @@
195
197
  // vertical line on left of collapsible content
196
198
  .pb_collapsible_content_kit {
197
199
  margin-left: $space_sm + 2;
200
+ border-left: 1px solid transparent;
198
201
  }
199
202
 
200
203
  .pb_collapsible_main_kit {
@@ -271,12 +274,15 @@
271
274
  .icon_wrapper:hover {
272
275
  background-color: mix($white, $card_dark, 40%);
273
276
  }
277
+ &[class*="_active"] {
278
+ .icon_wrapper:hover {
279
+ background-color: mix($primary, $card_light, 40%);
280
+ }
281
+ }
274
282
 
275
283
  &[class*="pb_collapsible_nav_item"][class*="_collapsible_trail"] {
276
284
  .pb_collapsible_content_kit {
277
- &::after {
278
- background-color: $border_dark;
279
- }
285
+ border-color: $border_dark;
280
286
  }
281
287
  }
282
288
  }
@@ -44,7 +44,7 @@ $selector: ".pb_nav_list";
44
44
 
45
45
  [class*=_text] {
46
46
  font-size: $font_base;
47
- // font-weight: $bold;
47
+ font-weight: $bold;
48
48
  color: $text_lt_default;
49
49
  }
50
50
 
@@ -1,71 +1,42 @@
1
- import React from "react";
2
- import classnames from "classnames";
1
+ import React from 'react'
2
+ import classnames from 'classnames'
3
3
 
4
- import { buildAriaProps, buildCss, buildDataProps } from "../utilities/props";
5
- import { globalProps, GlobalProps } from "../utilities/globalProps";
4
+ import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
5
+ import { globalProps, GlobalProps } from '../utilities/globalProps'
6
6
 
7
- import Icon from "../pb_icon/_icon";
8
- import Image from "../pb_image/_image";
9
- import Collapsible from "../pb_collapsible/_collapsible";
10
- import { NavChildProps } from "./navTypes";
11
- import { Spacing } from "../types";
7
+ import Icon from '../pb_icon/_icon'
8
+ import Image from '../pb_image/_image'
9
+ import Collapsible from '../pb_collapsible/_collapsible'
12
10
 
13
11
  type NavItemProps = {
14
- active?: boolean;
15
- aria?: { [key: string]: string };
16
- fontWeight?: "regular" | "bold" | "bolder";
17
- children?: React.ReactNode[] | React.ReactNode;
18
- className?: string;
19
- collapsible?: boolean;
20
- data?: object;
21
- dark?: boolean;
22
- fontSize?: "normal" | "small";
23
- iconLeft?: string;
24
- iconRight?: string | string[];
25
- onIconRightClick?: () => void;
26
- onIconLeftClick?: () => void;
27
- id?: string;
28
- imageUrl?: string;
29
- link?: string;
30
- onClick?: () => void;
31
- target?: "_blank" | "_self" | "_parent" | "_top";
32
- text: string;
33
- collapsibleTrail?: boolean;
34
- collapsed?: boolean;
35
- paddingBottom?: Spacing;
36
- paddingTop?: Spacing;
37
- paddingLeft?: Spacing;
38
- paddingRight?: Spacing;
39
- paddingX?: Spacing;
40
- paddingY?: Spacing;
41
- padding?: Spacing;
42
- margin?: Spacing,
43
- marginBottom?: Spacing,
44
- marginTop?: Spacing,
45
- marginRight?: Spacing,
46
- marginLeft?: Spacing,
47
- marginX?: Spacing,
48
- marginY?: Spacing,
49
- orientation?: "vertical" | "horizontal";
50
- variant?: "normal" | "subtle";
51
- } & GlobalProps;
12
+ active?: boolean,
13
+ aria?: { [key: string]: string },
14
+ fontWeight?: "regular" | "bold" | "bolder",
15
+ children?: React.ReactNode[] | React.ReactNode,
16
+ className?: string,
17
+ collapsible?: boolean,
18
+ data?: object,
19
+ dark?: boolean,
20
+ fontSize?: "normal" | "small",
21
+ iconLeft?: string,
22
+ iconRight?: string | string[],
23
+ onIconRightClick?: () => void,
24
+ onIconLeftClick?: () => void,
25
+ id?: string,
26
+ imageUrl?: string,
27
+ link?: string,
28
+ onClick?: () => void,
29
+ target?: '_blank' | '_self' | '_parent' | '_top',
30
+ text: string,
31
+ collapsibleTrail?: boolean,
32
+ collapsed?: boolean
33
+ } & GlobalProps
52
34
 
53
35
  const NavItem = (props: NavItemProps) => {
54
-
55
- const fontWeightDefault = (orientation: string, variant: string) => {
56
- return orientation === "horizontal" && variant === "subtle"
57
- ? "regular "
58
- : orientation === "horizontal" && variant === "normal"
59
- ? "bold"
60
- : "regular";
61
- };
62
-
63
36
  const {
64
37
  active = false,
65
38
  aria = {},
66
- orientation,
67
- variant,
68
- fontWeight = fontWeightDefault(orientation, variant),
39
+ fontWeight = "regular",
69
40
  children,
70
41
  className,
71
42
  collapsible,
@@ -79,188 +50,129 @@ const NavItem = (props: NavItemProps) => {
79
50
  id,
80
51
  imageUrl,
81
52
  link,
82
- onClick = () => {},
83
- target = "_self",
84
- text = "",
53
+ onClick = () => { },
54
+ target = '_self',
55
+ text = '',
85
56
  collapsibleTrail,
86
- collapsed,
87
- itemSpacing,
88
- padding,
89
- paddingX,
90
- paddingY,
91
- paddingBottom,
92
- paddingTop,
93
- paddingLeft,
94
- paddingRight,
95
- margin,
96
- marginBottom,
97
- marginTop,
98
- marginRight,
99
- marginLeft,
100
- marginX,
101
- marginY
102
- } = props;
103
-
104
- const filteredProps = { ...props };
105
- [
106
- "padding",
107
- "paddingX",
108
- "paddingY",
109
- "paddingBottom",
110
- "paddingTop",
111
- "paddingRight",
112
- "paddingLeft",
113
- "margin",
114
- "marginX",
115
- "marginY",
116
- "marginBottom",
117
- "marginTop",
118
- "marginRight",
119
- "marginLeft",
120
- ].forEach((prop) => delete filteredProps[prop]);
121
-
122
- const Tag = link ? "a" : "div";
123
- const activeClass = active === true ? "active" : "";
124
- const collapsibleTrailClass =
125
- collapsible && collapsibleTrail ? "collapsible_trail" : "";
126
- const fontSizeClass =
127
- fontSize === "small" ? "font_size_small" : "font_size_normal";
128
- const fontWeightClass =
129
- fontWeight === "bold"
130
- ? "font_bold"
131
- : fontWeight === "bolder"
132
- ? "font_bolder"
133
- : "font_regular";
134
- const ariaProps = buildAriaProps(aria);
135
- const dataProps = buildDataProps(data);
136
- const classes = classnames(
137
- buildCss("pb_nav_list_kit_item", activeClass),
138
- collapsible
139
- ? buildCss("pb_collapsible_nav_item", activeClass, collapsibleTrailClass)
140
- : "",
141
- fontSizeClass,
142
- fontWeightClass,
143
- globalProps(filteredProps),
144
- className
145
- );
146
-
147
- const spacingProps = {
148
- padding,
149
- paddingBottom,
150
- paddingTop,
151
- paddingRight,
152
- paddingLeft,
153
- paddingX,
154
- paddingY,
155
- margin,
156
- marginBottom,
157
- marginTop,
158
- marginRight,
159
- marginLeft,
160
- marginX,
161
- marginY,
162
- };
163
-
164
- const finalItemSpacing = {
165
- ...(itemSpacing || {}),
166
- ...Object.entries(spacingProps).reduce((acc: any, [prop, value]) => {
167
- if (value) {
168
- acc[prop] = value;
169
- }
170
- return acc;
171
- }, {}),
172
- };
173
-
174
- const tagClasses = classnames(
175
- collapsible ? "pb_nav_list_item_link_collapsible" : "pb_nav_list_item_link",
176
- globalProps({ ...finalItemSpacing })
177
- );
178
-
179
- const handleIconClick = (e: any) => {
57
+ collapsed
58
+ } = props
59
+
60
+ const Tag = link ? 'a' : 'div'
61
+ const activeClass = active === true ? 'active' : ''
62
+ const collapsibleTrailClass = collapsible && collapsibleTrail ? 'collapsible_trail' : ''
63
+ const fontSizeClass = fontSize === 'small' ? "font_size_small" : "font_size_normal"
64
+ const fontWeightClass = fontWeight === 'bold' ? "font_bold" : fontWeight === 'bolder' ? "font_bolder" : "font_regular"
65
+ const ariaProps = buildAriaProps(aria)
66
+ const dataProps = buildDataProps(data)
67
+ const classes = classnames(buildCss('pb_nav_list_kit_item', activeClass),
68
+ collapsible ? buildCss('pb_collapsible_nav_item', activeClass, collapsibleTrailClass) : '',
69
+ fontSizeClass,
70
+ fontWeightClass,
71
+ globalProps(props),
72
+ className)
73
+
74
+
75
+ const handleIconClick = (e:any) => {
180
76
  if (onIconLeftClick) {
181
- e.stopPropagation();
182
- onIconLeftClick();
183
- }
184
- };
185
-
186
- // Map over the children and clone them with itemSpacing prop so nested navItems all get itemSpacing
187
- const childrenWithProps = React.Children.map(children, (child) => {
188
- if (React.isValidElement(child)) {
189
- const childProps: NavChildProps = {
190
- itemSpacing: itemSpacing,
191
- };
192
- return React.cloneElement(child, childProps);
77
+ e.stopPropagation();
78
+ onIconLeftClick()
193
79
  }
194
- return child;
195
- });
80
+ }
196
81
 
197
82
  return (
198
- <li {...ariaProps} {...dataProps} className={classes} id={id}>
199
- {collapsible ? (
200
- <Collapsible
201
- icon={iconRight ? iconRight : ["plus", "minus"]}
202
- iconSize="xs"
203
- id={id}
204
- collapsed={collapsed}
205
- onIconClick={onIconRightClick}
206
- onClick={onClick}
207
- >
83
+ <li
84
+ {...ariaProps}
85
+ {...dataProps}
86
+ className={classes}
87
+ id={id}
88
+ >
89
+ {
90
+ collapsible ? (
91
+ <Collapsible icon={iconRight ? iconRight : ['plus','minus']}
92
+ iconSize="xs"
93
+ id={id}
94
+ collapsed={collapsed}
95
+ onIconClick={onIconRightClick}
96
+ onClick={onClick}
97
+ >
208
98
  <Collapsible.Main dark={dark}>
209
- <Tag className={tagClasses} href={link} target={target}>
210
- {imageUrl && (
211
- <div
212
- className="pb_nav_list_item_icon_section_collapsible"
213
- key={imageUrl}
214
- onClick={(e) => handleIconClick(e)}
215
- >
216
- <Image className="pb_nav_img_wrapper" url={imageUrl} />
217
- </div>
218
- )}
219
-
220
- {iconLeft && (
221
- <div
222
- className="pb_nav_list_item_icon_section_collapsible"
223
- key={iconLeft}
224
- onClick={(e) => handleIconClick(e)}
225
- >
226
- <Icon
227
- className="pb_nav_list_item_icon_left_collapsible"
228
- fixedWidth
229
- icon={iconLeft}
230
- />
231
- </div>
232
- )}
233
- <span className="pb_nav_list_item_text_collapsible">{text}</span>
234
- </Tag>
235
- </Collapsible.Main>
236
- <Collapsible.Content>{childrenWithProps}</Collapsible.Content>
99
+ <Tag
100
+ className="pb_nav_list_item_link_collapsible"
101
+ href={link}
102
+ target={target}
103
+ >
104
+ {imageUrl &&
105
+ <div
106
+ className="pb_nav_list_item_icon_section_collapsible"
107
+ key={imageUrl}
108
+ onClick={(e)=>handleIconClick(e)}
109
+ >
110
+ <Image
111
+ className="pb_nav_img_wrapper"
112
+ url={imageUrl}
113
+ />
114
+ </div>
115
+ }
116
+
117
+ {iconLeft &&
118
+ <div
119
+ className="pb_nav_list_item_icon_section_collapsible"
120
+ key={iconLeft}
121
+ onClick={(e)=>handleIconClick(e)}
122
+ >
123
+ <Icon
124
+ className="pb_nav_list_item_icon_left_collapsible"
125
+ fixedWidth
126
+ icon={iconLeft}
127
+ />
128
+ </div>
129
+ }
130
+ <span className="pb_nav_list_item_text_collapsible">
131
+ {text}
132
+ </span>
133
+ </Tag>
134
+ </Collapsible.Main>
135
+ <Collapsible.Content>
136
+ {children}
137
+ </Collapsible.Content>
237
138
  </Collapsible>
238
- ) : (
139
+ ) : (
239
140
  <Tag
240
- className={tagClasses}
141
+ className="pb_nav_list_item_link"
241
142
  href={link}
242
143
  onClick={onClick}
243
144
  target={target}
244
145
  >
245
- {imageUrl && (
246
- <div className="pb_nav_list_item_icon_section" key={imageUrl}>
247
- <Image className="pb_nav_img_wrapper" url={imageUrl} />
146
+ {imageUrl &&
147
+ <div
148
+ className="pb_nav_list_item_icon_section"
149
+ key={imageUrl}
150
+ >
151
+ <Image
152
+ className="pb_nav_img_wrapper"
153
+ url={imageUrl}
154
+ />
248
155
  </div>
249
- )}
250
-
251
- {iconLeft && (
252
- <div className="pb_nav_list_item_icon_section" key={iconLeft}>
156
+ }
157
+
158
+ {iconLeft &&
159
+ <div
160
+ className="pb_nav_list_item_icon_section"
161
+ key={iconLeft}
162
+ >
253
163
  <Icon
254
164
  className="pb_nav_list_item_icon_left"
255
165
  fixedWidth
256
166
  icon={iconLeft}
257
167
  />
258
168
  </div>
259
- )}
260
-
261
- <span className="pb_nav_list_item_text">{text || children}</span>
262
-
263
- {iconRight && (
169
+ }
170
+
171
+ <span className="pb_nav_list_item_text">
172
+ {text || children}
173
+ </span>
174
+
175
+ {iconRight &&
264
176
  <div
265
177
  className="pb_nav_list_item_icon_section"
266
178
  key={iconRight as string}
@@ -271,11 +183,12 @@ const NavItem = (props: NavItemProps) => {
271
183
  icon={iconRight as string}
272
184
  />
273
185
  </div>
274
- )}
186
+ }
275
187
  </Tag>
276
- )}
188
+ )
189
+ }
277
190
  </li>
278
- );
279
- };
191
+ )
192
+ }
280
193
 
281
- export default NavItem;
194
+ export default NavItem
@@ -1,14 +1,5 @@
1
1
  @mixin collapsible_trail_class {
2
2
  .pb_collapsible_content_kit {
3
- position: relative;
4
- &::after {
5
- content: "";
6
- position: absolute;
7
- top: 4px;
8
- bottom: 4px;
9
- left: 5px;
10
- width: 1px;
11
- background-color: $border_light;
12
- }
3
+ border-color: $border_light;
13
4
  }
14
5
  }