@pareto-engineering/design-system 4.0.0-alpha.15 → 4.0.0-alpha.17

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.
@@ -11,7 +11,7 @@ $default-padding: 1em;
11
11
  list-style: none;
12
12
 
13
13
  > li > p > a {
14
- color: var(--heading);
14
+ color: var(--paragraph);
15
15
  }
16
16
  }
17
17
 
@@ -20,10 +20,6 @@ $default-padding: 1em;
20
20
  position: sticky;
21
21
  top: 0;
22
22
 
23
- > li > p > a {
24
- color: var(--heading);
25
- }
26
-
27
23
  .#{bem.$modifier-active} {
28
24
  color: var(--highlighted);
29
25
  transition: color .2s;
@@ -7,6 +7,7 @@ exports.default = void 0;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _exports = _interopRequireDefault(require("@pareto-engineering/bem/exports"));
10
+ var _ = require("../..");
10
11
  var _common = require("./common");
11
12
  var _Context = _interopRequireDefault(require("./Context"));
12
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -23,11 +24,10 @@ const Conversation = _ref => {
23
24
  id,
24
25
  className: userClassName,
25
26
  style,
26
- backgroundColor,
27
27
  ourColor,
28
28
  theirColor,
29
29
  children,
30
- hasTriangle
30
+ backgroundColor
31
31
  // ...otherProps
32
32
  } = _ref;
33
33
  (0, React.useInsertionEffect)(() => {
@@ -38,9 +38,9 @@ const Conversation = _ref => {
38
38
  ourColor,
39
39
  theirColor
40
40
  }
41
- }, /*#__PURE__*/React.createElement("div", {
41
+ }, /*#__PURE__*/React.createElement(_.Card, {
42
42
  id: id,
43
- className: [baseClassName, componentClassName, userClassName, hasTriangle && 'has-triangle', `y-${backgroundColor}`, 'u1'].filter(e => e).join(' '),
43
+ className: [baseClassName, componentClassName, userClassName, `y-${backgroundColor}`].filter(e => e).join(' '),
44
44
  style: style
45
45
  }, children));
46
46
  };
@@ -65,24 +65,19 @@ Conversation.propTypes = {
65
65
  * The base color to their messages component
66
66
  */
67
67
  theirColor: _propTypes.default.string,
68
- /**
69
- * The component background color
70
- */
71
- backgroundColor: _propTypes.default.string,
72
68
  /**
73
69
  * The children JSX
74
70
  */
75
71
  children: _propTypes.default.node,
76
72
  /**
77
- * whether to add triangle to bubble chats
73
+ * The background color
78
74
  */
79
- hasTriangle: _propTypes.default.bool
75
+ backgroundColor: _propTypes.default.string
80
76
  };
81
77
  Conversation.defaultProps = {
82
- backgroundColor: 'background2',
83
- ourColor: 'background1',
84
- theirColor: 'background1',
85
- hasTriangle: false
78
+ ourColor: 'main',
79
+ theirColor: 'main2',
80
+ backgroundColor: 'background-near'
86
81
  };
87
82
  Conversation.Message = _common.Message;
88
83
  var _default = Conversation;
@@ -7,6 +7,7 @@ exports.default = void 0;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _exports = _interopRequireDefault(require("@pareto-engineering/bem/exports"));
10
+ var _ = require("../../../..");
10
11
  var _useConversation = _interopRequireDefault(require("../../useConversation"));
11
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -38,21 +39,19 @@ const Message = _ref => {
38
39
  ourColor,
39
40
  theirColor
40
41
  } = (0, _useConversation.default)();
41
- return /*#__PURE__*/React.createElement("div", {
42
+ return /*#__PURE__*/React.createElement(_.Card.Section, {
42
43
  id: id,
43
- className: [baseClassName, componentClassName, userClassName, `x-${from === 'ours' ? ourColor : theirColor}`, from === 'ours' && 'ours', 'v1'].filter(e => e).join(' '),
44
+ className: [baseClassName, componentClassName, userClassName, `x-${from === 'ours' ? ourColor : theirColor}`, from === 'ours' && 'ours'].filter(e => e).join(' '),
44
45
  style: style
45
- }, /*#__PURE__*/React.createElement("div", {
46
- className: _exports.default.elementContent
47
- }, /*#__PURE__*/React.createElement("p", {
48
- className: "sender v25 mb-v s-1"
49
- }, sender, ":"), /*#__PURE__*/React.createElement("p", null, message), attachment && /*#__PURE__*/React.createElement("div", {
46
+ }, sender && /*#__PURE__*/React.createElement("p", {
47
+ className: "sender"
48
+ }, sender, ":"), /*#__PURE__*/React.createElement("div", {
49
+ className: "message-content"
50
+ }, /*#__PURE__*/React.createElement("p", null, message), attachment && /*#__PURE__*/React.createElement("div", {
50
51
  className: `attachment y-${attachmentColor}`
51
52
  }, /*#__PURE__*/React.createElement("span", {
52
- className: "f-icons"
53
- }, attachmentIcon), /*#__PURE__*/React.createElement("p", {
54
- className: "ml-v"
55
- }, attachment))));
53
+ className: "icon"
54
+ }, attachmentIcon), /*#__PURE__*/React.createElement("p", null, attachment))));
56
55
  };
57
56
  Message.propTypes = {
58
57
  /**
@@ -95,7 +94,7 @@ Message.propTypes = {
95
94
  Message.defaultProps = {
96
95
  from: 'theirs',
97
96
  attachmentIcon: 'A',
98
- attachmentColor: 'main4'
97
+ attachmentColor: 'interactive'
99
98
  };
100
99
  var _default = Message;
101
100
  exports.default = _default;
@@ -1,154 +1,50 @@
1
1
  /* @pareto-engineering/generator-front 1.0.12 */
2
- /* stylelint-disable selector-max-compound-selectors -- exception */
3
2
 
4
3
  @use "@pareto-engineering/bem";
5
4
  @use "@pareto-engineering/styles/src/mixins";
6
5
  @use "@pareto-engineering/styles/src/globals" as *;
7
6
 
8
- $default-padding: var(--u);
9
- $default-conversation-background: var(--y);
7
+ $default-border-radius: var(--theme-default-border-radius);
8
+ $default-padding: var(--gap);
10
9
  $default-message-max-width: calc(100% - 4 * #{$default-padding});
11
10
  $default-message-min-width: 12em;
12
- $default-message-border: var(--theme-border);
13
- $triangle-border-size: 15px;
14
- $triangle-border-style: $triangle-border-size solid;
15
- $triangle-border-style-subtracted: ($triangle-border-size - 1px) solid;
16
- $triangle-border1: $triangle-border-style var(--paragraph);
17
- $triangle-border2: $triangle-border-style transparent;
18
- $triangle-border3: $triangle-border-style-subtracted var(--x);
19
- $triangle-border4: $triangle-border-style-subtracted transparent;
20
- $triangle-before-side:24px;
21
- $triangle-before-bottom:-30px;
22
- $triangle-after-bottom:-27px;
23
- $triangle-after-side:25px;
11
+ $default-message-border: 1px solid var(--hard-background-cards);
24
12
 
25
13
  .#{bem.$base}.conversation {
26
- background-color: $default-conversation-background;
27
- border-radius: var(--theme-border-radius);
14
+ background: var(--y);
28
15
  display: flex;
29
16
  flex-direction: column;
30
17
  padding: $default-padding;
31
18
 
32
- >:not(:last-child) {
33
- margin-bottom: $default-padding;
34
- }
35
-
36
- // >:nth-child(1) {
37
- // animation-delay: 1s;
38
- // }
39
- // >:nth-child(2) {
40
- // animation-delay: 3s;
41
- // }
42
-
43
- &.has-triangle {
44
- padding-bottom: calc(#{$default-padding} * 2);
45
- .#{bem.$base}.message {
46
- ::before {
47
- border-bottom: $triangle-border2;
48
- border-left: $triangle-border2;
49
- border-right: $triangle-border1;
50
- border-top: $triangle-border1;
51
- bottom: $triangle-before-bottom;
52
- content: "";
53
- height: 0;
54
- position: absolute;
55
- right: $triangle-before-side;
56
- width: 0;
57
- }
58
-
59
- ::after {
60
- border-bottom: $triangle-border4;
61
- border-left: $triangle-border4;
62
- border-right: $triangle-border3;
63
- border-top: $triangle-border3;
64
- bottom: $triangle-after-bottom;
65
- content: "";
66
- height: 0;
67
- position: absolute;
68
- right: $triangle-after-side;
69
- width: 0;
70
- }
71
-
72
- &:not(.ours) {
73
- ::before {
74
- border-bottom: $triangle-border2;
75
- border-left: $triangle-border1;
76
- border-right: $triangle-border2;
77
- border-top: $triangle-border1;
78
- bottom: $triangle-before-bottom;
79
- content: "";
80
- height: 0;
81
- left: $triangle-before-side;
82
- position: absolute;
83
- width: 0;
84
- }
85
-
86
- ::after {
87
- border-bottom: $triangle-border4;
88
- border-left: $triangle-border3;
89
- border-right: $triangle-border4;
90
- border-top: $triangle-border3;
91
- bottom: $triangle-after-bottom;
92
- content: "";
93
- height: 0;
94
- left: $triangle-after-side;
95
- position: absolute;
96
- width: 0;
97
- }
98
- }
99
- }
100
- }
101
-
102
- .#{bem.$base}.message {
19
+ > .#{bem.$base}.message {
103
20
  align-self: flex-start;
104
- background-color: var(--x);
105
- // animation: fadeIn 1s ease-in both;
106
- border: $default-message-border;
107
- border-radius: var(--theme-border-radius);
108
21
  max-width: $default-message-max-width;
109
22
  min-width: $default-message-min-width;
110
- padding: $default-padding;
111
23
  position: relative;
112
24
 
113
- .#{bem.$element-content} {
25
+ > .message-content {
26
+ background-color: var(--x);
27
+ border: $default-message-border;
28
+ border-radius: $default-border-radius;
114
29
  display: flex;
115
30
  flex-direction: column;
31
+ padding: 0 $default-padding;
116
32
 
117
- >p {
33
+ > p {
118
34
  color: var(--on-x);
119
35
  }
120
36
 
121
- .sender {
122
- font-weight: 800;
123
- margin-bottom: .5em;
124
- }
125
-
126
- .attachment {
127
- align-self: baseline;
128
- background-color: var(--y);
37
+ > .attachment {
38
+ align-items: center;
39
+ align-self: flex-end;
129
40
  display: flex;
130
41
  flex-direction: row;
131
- padding: .5em 1em;
132
-
133
- > p {
134
- margin-bottom: 0;
135
- }
136
-
137
- > img {
138
- width: 40px;
139
- }
42
+ gap: calc($default-padding / 2);
140
43
  }
141
44
  }
45
+
142
46
  &.#{bem.$base}.ours {
143
47
  align-self: flex-end;
144
48
  }
145
-
146
-
147
- // mobile style
148
- @include mixins.media($to:$sm-md) {
149
- .message {
150
- margin-top: 2em;
151
- }
152
- }
153
49
  }
154
50
  }
@@ -27,6 +27,10 @@ $default-spacing: var(--gap, 1em);
27
27
  &:first-child {
28
28
  margin-left: $default-spacing;
29
29
  }
30
+
31
+ &:last-child {
32
+ margin-right: $default-spacing;
33
+ }
30
34
  }
31
35
 
32
36
  @include mixins.media($from: $sm-md) {
@@ -42,6 +46,10 @@ $default-spacing: var(--gap, 1em);
42
46
  &:first-child {
43
47
  margin-left: unset;
44
48
  }
49
+
50
+ &:last-child {
51
+ margin-right: unset;
52
+ }
45
53
  }
46
54
  }
47
55
  }
@@ -30,7 +30,7 @@ $default-animation-time: .31s;
30
30
  vertical-align: middle;
31
31
  }
32
32
 
33
- &:hover {
33
+ &:hover:not(:disabled) {
34
34
  &::after {
35
35
  --final-position: 50%;
36
36
  animation: animateArrow $default-animation-time forwards;
@@ -46,7 +46,7 @@ $default-animation-time: .31s;
46
46
  vertical-align: middle;
47
47
  }
48
48
 
49
- &:hover {
49
+ &:hover:not(:disabled) {
50
50
  &::before {
51
51
  --final-position: -50%;
52
52
  animation: animateArrow $default-animation-time forwards;
@@ -11,7 +11,7 @@ $default-padding: 1em;
11
11
  list-style: none;
12
12
 
13
13
  > li > p > a {
14
- color: var(--heading);
14
+ color: var(--paragraph);
15
15
  }
16
16
  }
17
17
 
@@ -20,10 +20,6 @@ $default-padding: 1em;
20
20
  position: sticky;
21
21
  top: 0;
22
22
 
23
- > li > p > a {
24
- color: var(--heading);
25
- }
26
-
27
23
  .#{bem.$modifier-active} {
28
24
  color: var(--highlighted);
29
25
  transition: color .2s;
@@ -3,6 +3,7 @@ import * as React from 'react';
3
3
  import { useInsertionEffect } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import styleNames from '@pareto-engineering/bem/exports';
6
+ import { Card } from "../..";
6
7
 
7
8
  // Local Definitions
8
9
 
@@ -18,11 +19,10 @@ const Conversation = ({
18
19
  id,
19
20
  className: userClassName,
20
21
  style,
21
- backgroundColor,
22
22
  ourColor,
23
23
  theirColor,
24
24
  children,
25
- hasTriangle
25
+ backgroundColor
26
26
  // ...otherProps
27
27
  }) => {
28
28
  useInsertionEffect(() => {
@@ -33,9 +33,9 @@ const Conversation = ({
33
33
  ourColor,
34
34
  theirColor
35
35
  }
36
- }, /*#__PURE__*/React.createElement("div", {
36
+ }, /*#__PURE__*/React.createElement(Card, {
37
37
  id: id,
38
- className: [baseClassName, componentClassName, userClassName, hasTriangle && 'has-triangle', `y-${backgroundColor}`, 'u1'].filter(e => e).join(' '),
38
+ className: [baseClassName, componentClassName, userClassName, `y-${backgroundColor}`].filter(e => e).join(' '),
39
39
  style: style
40
40
  }, children));
41
41
  };
@@ -60,24 +60,19 @@ Conversation.propTypes = {
60
60
  * The base color to their messages component
61
61
  */
62
62
  theirColor: PropTypes.string,
63
- /**
64
- * The component background color
65
- */
66
- backgroundColor: PropTypes.string,
67
63
  /**
68
64
  * The children JSX
69
65
  */
70
66
  children: PropTypes.node,
71
67
  /**
72
- * whether to add triangle to bubble chats
68
+ * The background color
73
69
  */
74
- hasTriangle: PropTypes.bool
70
+ backgroundColor: PropTypes.string
75
71
  };
76
72
  Conversation.defaultProps = {
77
- backgroundColor: 'background2',
78
- ourColor: 'background1',
79
- theirColor: 'background1',
80
- hasTriangle: false
73
+ ourColor: 'main',
74
+ theirColor: 'main2',
75
+ backgroundColor: 'background-near'
81
76
  };
82
77
  Conversation.Message = Message;
83
78
  export default Conversation;
@@ -2,6 +2,7 @@
2
2
  import * as React from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import styleNames from '@pareto-engineering/bem/exports';
5
+ import { Card } from "../../../..";
5
6
 
6
7
  // Local Definitions
7
8
 
@@ -28,21 +29,19 @@ const Message = ({
28
29
  ourColor,
29
30
  theirColor
30
31
  } = useConversation();
31
- return /*#__PURE__*/React.createElement("div", {
32
+ return /*#__PURE__*/React.createElement(Card.Section, {
32
33
  id: id,
33
- className: [baseClassName, componentClassName, userClassName, `x-${from === 'ours' ? ourColor : theirColor}`, from === 'ours' && 'ours', 'v1'].filter(e => e).join(' '),
34
+ className: [baseClassName, componentClassName, userClassName, `x-${from === 'ours' ? ourColor : theirColor}`, from === 'ours' && 'ours'].filter(e => e).join(' '),
34
35
  style: style
35
- }, /*#__PURE__*/React.createElement("div", {
36
- className: styleNames.elementContent
37
- }, /*#__PURE__*/React.createElement("p", {
38
- className: "sender v25 mb-v s-1"
39
- }, sender, ":"), /*#__PURE__*/React.createElement("p", null, message), attachment && /*#__PURE__*/React.createElement("div", {
36
+ }, sender && /*#__PURE__*/React.createElement("p", {
37
+ className: "sender"
38
+ }, sender, ":"), /*#__PURE__*/React.createElement("div", {
39
+ className: "message-content"
40
+ }, /*#__PURE__*/React.createElement("p", null, message), attachment && /*#__PURE__*/React.createElement("div", {
40
41
  className: `attachment y-${attachmentColor}`
41
42
  }, /*#__PURE__*/React.createElement("span", {
42
- className: "f-icons"
43
- }, attachmentIcon), /*#__PURE__*/React.createElement("p", {
44
- className: "ml-v"
45
- }, attachment))));
43
+ className: "icon"
44
+ }, attachmentIcon), /*#__PURE__*/React.createElement("p", null, attachment))));
46
45
  };
47
46
  Message.propTypes = {
48
47
  /**
@@ -85,6 +84,6 @@ Message.propTypes = {
85
84
  Message.defaultProps = {
86
85
  from: 'theirs',
87
86
  attachmentIcon: 'A',
88
- attachmentColor: 'main4'
87
+ attachmentColor: 'interactive'
89
88
  };
90
89
  export default Message;
@@ -1,154 +1,50 @@
1
1
  /* @pareto-engineering/generator-front 1.0.12 */
2
- /* stylelint-disable selector-max-compound-selectors -- exception */
3
2
 
4
3
  @use "@pareto-engineering/bem";
5
4
  @use "@pareto-engineering/styles/src/mixins";
6
5
  @use "@pareto-engineering/styles/src/globals" as *;
7
6
 
8
- $default-padding: var(--u);
9
- $default-conversation-background: var(--y);
7
+ $default-border-radius: var(--theme-default-border-radius);
8
+ $default-padding: var(--gap);
10
9
  $default-message-max-width: calc(100% - 4 * #{$default-padding});
11
10
  $default-message-min-width: 12em;
12
- $default-message-border: var(--theme-border);
13
- $triangle-border-size: 15px;
14
- $triangle-border-style: $triangle-border-size solid;
15
- $triangle-border-style-subtracted: ($triangle-border-size - 1px) solid;
16
- $triangle-border1: $triangle-border-style var(--paragraph);
17
- $triangle-border2: $triangle-border-style transparent;
18
- $triangle-border3: $triangle-border-style-subtracted var(--x);
19
- $triangle-border4: $triangle-border-style-subtracted transparent;
20
- $triangle-before-side:24px;
21
- $triangle-before-bottom:-30px;
22
- $triangle-after-bottom:-27px;
23
- $triangle-after-side:25px;
11
+ $default-message-border: 1px solid var(--hard-background-cards);
24
12
 
25
13
  .#{bem.$base}.conversation {
26
- background-color: $default-conversation-background;
27
- border-radius: var(--theme-border-radius);
14
+ background: var(--y);
28
15
  display: flex;
29
16
  flex-direction: column;
30
17
  padding: $default-padding;
31
18
 
32
- >:not(:last-child) {
33
- margin-bottom: $default-padding;
34
- }
35
-
36
- // >:nth-child(1) {
37
- // animation-delay: 1s;
38
- // }
39
- // >:nth-child(2) {
40
- // animation-delay: 3s;
41
- // }
42
-
43
- &.has-triangle {
44
- padding-bottom: calc(#{$default-padding} * 2);
45
- .#{bem.$base}.message {
46
- ::before {
47
- border-bottom: $triangle-border2;
48
- border-left: $triangle-border2;
49
- border-right: $triangle-border1;
50
- border-top: $triangle-border1;
51
- bottom: $triangle-before-bottom;
52
- content: "";
53
- height: 0;
54
- position: absolute;
55
- right: $triangle-before-side;
56
- width: 0;
57
- }
58
-
59
- ::after {
60
- border-bottom: $triangle-border4;
61
- border-left: $triangle-border4;
62
- border-right: $triangle-border3;
63
- border-top: $triangle-border3;
64
- bottom: $triangle-after-bottom;
65
- content: "";
66
- height: 0;
67
- position: absolute;
68
- right: $triangle-after-side;
69
- width: 0;
70
- }
71
-
72
- &:not(.ours) {
73
- ::before {
74
- border-bottom: $triangle-border2;
75
- border-left: $triangle-border1;
76
- border-right: $triangle-border2;
77
- border-top: $triangle-border1;
78
- bottom: $triangle-before-bottom;
79
- content: "";
80
- height: 0;
81
- left: $triangle-before-side;
82
- position: absolute;
83
- width: 0;
84
- }
85
-
86
- ::after {
87
- border-bottom: $triangle-border4;
88
- border-left: $triangle-border3;
89
- border-right: $triangle-border4;
90
- border-top: $triangle-border3;
91
- bottom: $triangle-after-bottom;
92
- content: "";
93
- height: 0;
94
- left: $triangle-after-side;
95
- position: absolute;
96
- width: 0;
97
- }
98
- }
99
- }
100
- }
101
-
102
- .#{bem.$base}.message {
19
+ > .#{bem.$base}.message {
103
20
  align-self: flex-start;
104
- background-color: var(--x);
105
- // animation: fadeIn 1s ease-in both;
106
- border: $default-message-border;
107
- border-radius: var(--theme-border-radius);
108
21
  max-width: $default-message-max-width;
109
22
  min-width: $default-message-min-width;
110
- padding: $default-padding;
111
23
  position: relative;
112
24
 
113
- .#{bem.$element-content} {
25
+ > .message-content {
26
+ background-color: var(--x);
27
+ border: $default-message-border;
28
+ border-radius: $default-border-radius;
114
29
  display: flex;
115
30
  flex-direction: column;
31
+ padding: 0 $default-padding;
116
32
 
117
- >p {
33
+ > p {
118
34
  color: var(--on-x);
119
35
  }
120
36
 
121
- .sender {
122
- font-weight: 800;
123
- margin-bottom: .5em;
124
- }
125
-
126
- .attachment {
127
- align-self: baseline;
128
- background-color: var(--y);
37
+ > .attachment {
38
+ align-items: center;
39
+ align-self: flex-end;
129
40
  display: flex;
130
41
  flex-direction: row;
131
- padding: .5em 1em;
132
-
133
- > p {
134
- margin-bottom: 0;
135
- }
136
-
137
- > img {
138
- width: 40px;
139
- }
42
+ gap: calc($default-padding / 2);
140
43
  }
141
44
  }
45
+
142
46
  &.#{bem.$base}.ours {
143
47
  align-self: flex-end;
144
48
  }
145
-
146
-
147
- // mobile style
148
- @include mixins.media($to:$sm-md) {
149
- .message {
150
- margin-top: 2em;
151
- }
152
- }
153
49
  }
154
50
  }
@@ -27,6 +27,10 @@ $default-spacing: var(--gap, 1em);
27
27
  &:first-child {
28
28
  margin-left: $default-spacing;
29
29
  }
30
+
31
+ &:last-child {
32
+ margin-right: $default-spacing;
33
+ }
30
34
  }
31
35
 
32
36
  @include mixins.media($from: $sm-md) {
@@ -42,6 +46,10 @@ $default-spacing: var(--gap, 1em);
42
46
  &:first-child {
43
47
  margin-left: unset;
44
48
  }
49
+
50
+ &:last-child {
51
+ margin-right: unset;
52
+ }
45
53
  }
46
54
  }
47
55
  }
@@ -30,7 +30,7 @@ $default-animation-time: .31s;
30
30
  vertical-align: middle;
31
31
  }
32
32
 
33
- &:hover {
33
+ &:hover:not(:disabled) {
34
34
  &::after {
35
35
  --final-position: 50%;
36
36
  animation: animateArrow $default-animation-time forwards;
@@ -46,7 +46,7 @@ $default-animation-time: .31s;
46
46
  vertical-align: middle;
47
47
  }
48
48
 
49
- &:hover {
49
+ &:hover:not(:disabled) {
50
50
  &::before {
51
51
  --final-position: -50%;
52
52
  animation: animateArrow $default-animation-time forwards;