@licklist/design 0.78.32 → 0.78.34

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.
Files changed (138) hide show
  1. package/dist/Maintenance/MaintenancePage.js +1 -0
  2. package/dist/index.js +8 -1
  3. package/dist/v2/components/ActionMenu/ActionMenu.d.ts +14 -0
  4. package/dist/v2/components/ActionMenu/ActionMenu.d.ts.map +1 -0
  5. package/dist/v2/components/ActionMenu/ActionMenu.js +159 -0
  6. package/dist/v2/components/ActionMenu/ActionMenu.scss.js +6 -0
  7. package/dist/v2/components/ActionMenu/index.d.ts +2 -0
  8. package/dist/v2/components/ActionMenu/index.d.ts.map +1 -0
  9. package/dist/v2/components/Alert/Alert.d.ts.map +1 -1
  10. package/dist/v2/components/Alert/Alert.js +48 -1
  11. package/dist/v2/components/Alert/Alert.scss.js +1 -1
  12. package/dist/v2/components/Badge/Badge.d.ts +10 -0
  13. package/dist/v2/components/Badge/Badge.d.ts.map +1 -0
  14. package/dist/v2/components/Badge/Badge.js +19 -0
  15. package/dist/v2/components/Badge/Badge.scss.js +6 -0
  16. package/dist/v2/components/Badge/index.d.ts +2 -0
  17. package/dist/v2/components/Badge/index.d.ts.map +1 -0
  18. package/dist/v2/components/Button/Button.d.ts +3 -2
  19. package/dist/v2/components/Button/Button.d.ts.map +1 -1
  20. package/dist/v2/components/Button/Button.js +13 -6
  21. package/dist/v2/components/Button/Button.scss.js +1 -1
  22. package/dist/v2/components/Button/GhostButton.scss.js +1 -1
  23. package/dist/v2/components/Button/index.d.ts +2 -0
  24. package/dist/v2/components/Button/index.d.ts.map +1 -1
  25. package/dist/v2/components/Checkbox/Checkbox.scss.js +1 -1
  26. package/dist/v2/components/FormField/FormField.d.ts.map +1 -1
  27. package/dist/v2/components/FormField/FormField.scss.js +1 -1
  28. package/dist/v2/components/Modal/DeleteModal.d.ts +15 -0
  29. package/dist/v2/components/Modal/DeleteModal.d.ts.map +1 -0
  30. package/dist/v2/components/Modal/DeleteModal.js +151 -0
  31. package/dist/v2/components/Modal/DeleteModal.scss.js +6 -0
  32. package/dist/v2/components/Modal/index.d.ts +3 -0
  33. package/dist/v2/components/Modal/index.d.ts.map +1 -0
  34. package/dist/v2/components/NPSScore/NPSScore.d.ts +3 -1
  35. package/dist/v2/components/NPSScore/NPSScore.d.ts.map +1 -1
  36. package/dist/v2/components/NPSScore/NPSScore.js +11 -27
  37. package/dist/v2/components/NPSScore/NPSScore.scss.js +1 -1
  38. package/dist/v2/components/NewInput/NewInput.d.ts +2 -0
  39. package/dist/v2/components/NewInput/NewInput.d.ts.map +1 -1
  40. package/dist/v2/components/NewInput/NewInput.js +37 -12
  41. package/dist/v2/components/NewPageHeader/NewPageHeader.d.ts +4 -1
  42. package/dist/v2/components/NewPageHeader/NewPageHeader.d.ts.map +1 -1
  43. package/dist/v2/components/NewPageHeader/NewPageHeader.js +18 -11
  44. package/dist/v2/components/NewPageHeader/NewPageHeader.scss.js +1 -1
  45. package/dist/v2/components/NewTable/NewTable.d.ts +21 -0
  46. package/dist/v2/components/NewTable/NewTable.d.ts.map +1 -0
  47. package/dist/v2/components/NewTable/NewTable.js +63 -0
  48. package/dist/v2/components/NewTable/NewTable.scss.js +6 -0
  49. package/dist/v2/components/NewTable/index.d.ts +2 -0
  50. package/dist/v2/components/NewTable/index.d.ts.map +1 -0
  51. package/dist/v2/components/Pagination/Pagination.d.ts +13 -0
  52. package/dist/v2/components/Pagination/Pagination.d.ts.map +1 -0
  53. package/dist/v2/components/Pagination/Pagination.js +76 -0
  54. package/dist/v2/components/Pagination/Pagination.scss.js +6 -0
  55. package/dist/v2/components/Pagination/index.d.ts +2 -0
  56. package/dist/v2/components/Pagination/index.d.ts.map +1 -0
  57. package/dist/v2/components/QuickFilter/QuickFilter.d.ts +14 -0
  58. package/dist/v2/components/QuickFilter/QuickFilter.d.ts.map +1 -0
  59. package/dist/v2/components/QuickFilter/QuickFilter.js +70 -0
  60. package/dist/v2/components/QuickFilter/QuickFilter.scss.js +6 -0
  61. package/dist/v2/components/QuickFilter/index.d.ts +2 -0
  62. package/dist/v2/components/QuickFilter/index.d.ts.map +1 -0
  63. package/dist/v2/components/SectionHeader/SectionHeader.d.ts.map +1 -1
  64. package/dist/v2/components/Select/Select.d.ts +7 -4
  65. package/dist/v2/components/Select/Select.d.ts.map +1 -1
  66. package/dist/v2/components/Select/Select.js +53 -24
  67. package/dist/v2/components/Select/Select.scss.js +1 -1
  68. package/dist/v2/components/TableSortIcon/TableSortIcon.d.ts +9 -0
  69. package/dist/v2/components/TableSortIcon/TableSortIcon.d.ts.map +1 -0
  70. package/dist/v2/components/TableSortIcon/TableSortIcon.js +14 -0
  71. package/dist/v2/components/TableSortIcon/index.d.ts +2 -0
  72. package/dist/v2/components/TableSortIcon/index.d.ts.map +1 -0
  73. package/dist/v2/components/WYSIWYGEditor/Icons.js +2 -2
  74. package/dist/v2/components/WYSIWYGEditor/WYSIWYGEditor.scss.js +1 -1
  75. package/dist/v2/components/index.d.ts +17 -4
  76. package/dist/v2/components/index.d.ts.map +1 -1
  77. package/dist/v2/icons/index.d.ts +46 -0
  78. package/dist/v2/icons/index.d.ts.map +1 -1
  79. package/dist/v2/icons/index.js +358 -4
  80. package/dist/v2/navigation/DashboardLayout/ProviderSidebar.d.ts.map +1 -1
  81. package/dist/v2/navigation/DashboardLayout/ProviderSidebar.js +4 -8
  82. package/dist/v2/pages/Settings/SettingsPage.scss.js +1 -1
  83. package/dist/v2/pages/Settings/SettingsTabs.scss.js +1 -1
  84. package/dist/v2/pages/Settings/components/SidebarCustomisation.js +9 -3
  85. package/dist/v2/pages/Settings/components/SidebarCustomisation.scss.js +1 -1
  86. package/dist/v2/pages/Settings/components/SidebarNavItem.js +9 -3
  87. package/dist/v2/pages/Settings/components/SidebarNavItem.scss.js +1 -1
  88. package/dist/v2/styles/form/NewInput.scss.js +1 -1
  89. package/package.json +3 -3
  90. package/src/v2/components/ActionMenu/ActionMenu.scss +106 -0
  91. package/src/v2/components/ActionMenu/ActionMenu.tsx +115 -0
  92. package/src/v2/components/ActionMenu/index.ts +1 -0
  93. package/src/v2/components/Alert/Alert.scss +8 -19
  94. package/src/v2/components/Alert/Alert.tsx +24 -1
  95. package/src/v2/components/Badge/Badge.scss +82 -0
  96. package/src/v2/components/Badge/Badge.tsx +25 -0
  97. package/src/v2/components/Badge/index.ts +1 -0
  98. package/src/v2/components/Button/Button.tsx +18 -4
  99. package/src/v2/components/Button/GhostButton.scss +11 -1
  100. package/src/v2/components/Button/index.ts +2 -0
  101. package/src/v2/components/Customer/CustomerDetail.scss +319 -0
  102. package/src/v2/components/Customer/CustomersList.scss +815 -0
  103. package/src/v2/components/FormField/FormField.tsx +19 -21
  104. package/src/v2/components/Modal/DeleteModal.scss +254 -0
  105. package/src/v2/components/Modal/DeleteModal.tsx +102 -0
  106. package/src/v2/components/Modal/index.ts +3 -0
  107. package/src/v2/components/NPSScore/NPSScore.scss +40 -59
  108. package/src/v2/components/NPSScore/NPSScore.tsx +15 -16
  109. package/src/v2/components/NewInput/NewInput.stories.tsx +3 -18
  110. package/src/v2/components/NewInput/NewInput.tsx +35 -12
  111. package/src/v2/components/NewPageHeader/NewPageHeader.scss +17 -8
  112. package/src/v2/components/NewPageHeader/NewPageHeader.tsx +17 -10
  113. package/src/v2/components/NewTable/NewTable.scss +126 -0
  114. package/src/v2/components/NewTable/NewTable.tsx +92 -0
  115. package/src/v2/components/NewTable/index.ts +1 -0
  116. package/src/v2/components/Pagination/Pagination.scss +142 -0
  117. package/src/v2/components/Pagination/Pagination.tsx +80 -0
  118. package/src/v2/components/Pagination/index.ts +1 -0
  119. package/src/v2/components/QuickFilter/QuickFilter.scss +67 -0
  120. package/src/v2/components/QuickFilter/QuickFilter.tsx +51 -0
  121. package/src/v2/components/QuickFilter/index.ts +1 -0
  122. package/src/v2/components/SectionHeader/SectionHeader.tsx +5 -7
  123. package/src/v2/components/Select/Select.scss +61 -24
  124. package/src/v2/components/Select/Select.stories.tsx +77 -1
  125. package/src/v2/components/Select/Select.tsx +63 -34
  126. package/src/v2/components/TableSortIcon/TableSortIcon.tsx +20 -0
  127. package/src/v2/components/TableSortIcon/index.ts +1 -0
  128. package/src/v2/components/WYSIWYGEditor/Icons.tsx +2 -2
  129. package/src/v2/components/index.ts +44 -5
  130. package/src/v2/icons/index.tsx +123 -3
  131. package/src/v2/navigation/DashboardLayout/ProviderSidebar.tsx +3 -1
  132. package/src/v2/navigation/config.tsx +1 -1
  133. package/src/v2/pages/Settings/components/SidebarCustomisation.tsx +1 -1
  134. package/src/v2/styles/common.scss +7 -0
  135. package/src/v2/styles/components/Button.scss +34 -2
  136. package/src/v2/styles/form/NewInput.scss +45 -21
  137. package/src/v2/styles/index.scss +1 -0
  138. package/src/v2/styles/tokens/_colors.scss +6 -0
@@ -0,0 +1,82 @@
1
+ .new-badge {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ padding: 2px 12px;
6
+ border-radius: 100px;
7
+
8
+ &--with-icon {
9
+ padding-left: 8px;
10
+ }
11
+ font-family: var(--font-family-mono, 'Geist Mono', monospace);
12
+ font-size: var(--text-small-size, 13px);
13
+ font-weight: 500;
14
+ line-height: 1.2;
15
+ white-space: nowrap;
16
+ gap: 4px;
17
+
18
+ &__icon {
19
+ display: inline-flex;
20
+ align-items: center;
21
+ justify-content: center;
22
+
23
+ svg {
24
+ width: 16px;
25
+ height: 16px;
26
+ }
27
+ }
28
+
29
+ &--success {
30
+ background-color: var(--surface-status-success, #EEF9EA);
31
+ color: var(--label-status-success, #3A8A1F);
32
+ border: 1px solid var(--border-status-success, #C9ECBD);
33
+ }
34
+
35
+ &--danger {
36
+ background-color: var(--surface-status-error, #FCECEB);
37
+ color: var(--label-status-error, #CC3C35);
38
+ border: 1px solid var(--border-status-error, #F5C4C2);
39
+ }
40
+
41
+ &--warning {
42
+ background-color: var(--surface-status-alert, #FCF6E7);
43
+ color: var(--label-status-alert, #FD7E14);
44
+ border: 1px solid var(--border-status-alert, #FED7B6);
45
+ }
46
+
47
+ &--info {
48
+ background-color: var(--surface-status-info, #E7F4FC);
49
+ color: var(--label-status-info, #0D7FCE);
50
+ border: 1px solid var(--border-status-info, #B4DBF6);
51
+ }
52
+
53
+ &--neutral {
54
+ background-color: var(--surface-secondary, #F8F8FA);
55
+ color: var(--label-secondary, #9399B3);
56
+ border: 1px solid var(--border-primary, #E8E9EF);
57
+ }
58
+ }
59
+
60
+ // Mobile styles
61
+ @media (max-width: 768px) {
62
+ .new-badge {
63
+ padding: 1px 10px;
64
+ font-size: 12px;
65
+
66
+ &--with-icon {
67
+ padding-left: 6px;
68
+ }
69
+ }
70
+ }
71
+
72
+ @media (max-width: 480px) {
73
+ .new-badge {
74
+ padding: 1px 8px;
75
+ font-size: 11px;
76
+
77
+ &--with-icon {
78
+ padding-left: 4px;
79
+ }
80
+ }
81
+ }
82
+
@@ -0,0 +1,25 @@
1
+ import React from 'react'
2
+ import './Badge.scss'
3
+
4
+ export interface BadgeProps {
5
+ children: React.ReactNode
6
+ variant?: 'success' | 'danger' | 'warning' | 'info' | 'neutral'
7
+ className?: string
8
+ icon?: React.ReactNode
9
+ }
10
+
11
+ export const Badge: React.FC<BadgeProps> = ({
12
+ children,
13
+ variant = 'neutral',
14
+ className = '',
15
+ icon,
16
+ }) => (
17
+ <span
18
+ className={`new-badge new-badge--${variant} ${
19
+ icon ? 'new-badge--with-icon' : ''
20
+ } ${className}`}
21
+ >
22
+ {icon && <span className="new-badge__icon">{icon}</span>}
23
+ {children}
24
+ </span>
25
+ )
@@ -0,0 +1 @@
1
+ export * from './Badge'
@@ -2,14 +2,26 @@ import { ButtonHTMLAttributes } from 'react'
2
2
  import './Button.scss'
3
3
 
4
4
  export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
5
- variant?: 'primary' | 'primary-soft' | 'primary-outline' | 'secondary' | 'destructive-soft' | 'destructive-strong' | 'info' | 'disabled'
5
+ variant?:
6
+ | 'primary'
7
+ | 'primary-soft'
8
+ | 'secondary-soft'
9
+ | 'tertiary-soft'
10
+ | 'primary-outline'
11
+ | 'secondary'
12
+ | 'destructive-soft'
13
+ | 'destructive-strong'
14
+ | 'info'
15
+ | 'disabled'
6
16
  size?: 'sm' | 'md' | 'lg'
17
+ isLoading?: boolean
7
18
  }
8
19
 
9
20
  export function Button({
10
21
  variant = 'primary',
11
- size = 'md',
22
+ size: _size = 'md',
12
23
  disabled = false,
24
+ isLoading = false,
13
25
  className = '',
14
26
  children,
15
27
  ...props
@@ -17,7 +29,7 @@ export function Button({
17
29
  const classes = [
18
30
  'new-button',
19
31
  `new-button--${variant}`,
20
- disabled ? 'new-button--disabled' : '',
32
+ disabled || isLoading ? 'new-button--disabled' : '',
21
33
  className
22
34
  ].filter(Boolean).join(' ')
23
35
 
@@ -27,10 +39,12 @@ export function Button({
27
39
 
28
40
  return (
29
41
  <button
42
+ type="button"
30
43
  className={classes}
31
- disabled={disabled}
44
+ disabled={disabled || isLoading}
32
45
  {...props}
33
46
  >
47
+ {isLoading && <div className="new-button__spinner" />}
34
48
  {content}
35
49
  </button>
36
50
  )
@@ -13,7 +13,7 @@
13
13
  cursor: pointer;
14
14
  transition: background-color 0.2s ease;
15
15
 
16
- &:hover:not(:disabled) {
16
+ &:not(.active):hover:not(:disabled) {
17
17
  background-color: var(--surfaces-main-background-tertiary, #E8E9EF);
18
18
  }
19
19
 
@@ -27,6 +27,16 @@
27
27
  outline-offset: 2px;
28
28
  }
29
29
 
30
+ &.active {
31
+ background-color: var(--fill-primary, #6200EE);
32
+ border-color: var(--border-selected, #121E52);
33
+ color: var(--neutral-white, #FFFFFF);
34
+
35
+ .ghost-button__text {
36
+ color: var(--neutral-white, #FFFFFF);
37
+ }
38
+ }
39
+
30
40
  &--sm {
31
41
  height: 28px;
32
42
  padding: 0 8px 0 8px;
@@ -1,3 +1,5 @@
1
1
  export { Button, ButtonText } from './Button'
2
2
  export type { ButtonProps, ButtonTextProps } from './Button'
3
+ export { GhostButton } from './GhostButton'
4
+ export type { GhostButtonProps } from './GhostButton'
3
5
 
@@ -0,0 +1,319 @@
1
+ .customer-detail {
2
+ padding: 40px;
3
+ background-color: #fff;
4
+ min-height: 100vh;
5
+ font-family: var(--font-family-sans, 'Geist', sans-serif);
6
+
7
+ &__back {
8
+ color: #6200EE;
9
+ font-weight: 500;
10
+ cursor: pointer;
11
+ margin-bottom: 30px;
12
+ display: inline-flex;
13
+ align-items: center;
14
+ gap: 8px;
15
+ font-size: 14px;
16
+ padding: 8px 16px;
17
+ border-radius: 8px;
18
+ transition: all 0.2s ease;
19
+ border: 1px solid transparent;
20
+
21
+ &:hover {
22
+ background-color: #F3E5FF;
23
+ border: 1px solid #E0C7FF;
24
+ }
25
+ }
26
+
27
+ &__header {
28
+ margin-bottom: 40px;
29
+ }
30
+
31
+ &__name {
32
+ font-size: 32px;
33
+ font-weight: 700;
34
+ color: #121E52;
35
+ margin: 0 0 16px 0;
36
+ }
37
+
38
+ &__badges-row {
39
+ display: flex;
40
+ justify-content: space-between;
41
+ align-items: center;
42
+ }
43
+
44
+ &__badges {
45
+ display: flex;
46
+ gap: 12px;
47
+ align-items: center;
48
+ }
49
+
50
+ &__id-badge {
51
+ background-color: #F4F5F9;
52
+ color: #121E52;
53
+ padding: 4px 12px;
54
+ border-radius: 100px;
55
+ font-size: 12px;
56
+ font-weight: 600;
57
+ border: 1px solid #E2E4ED;
58
+ }
59
+
60
+ &__edit {
61
+ display: inline-flex;
62
+ align-items: center;
63
+ gap: 8px;
64
+ color: #121E52;
65
+ font-weight: 600;
66
+ cursor: pointer;
67
+ font-size: 14px;
68
+ padding: 8px 16px;
69
+ border-radius: 8px;
70
+ transition: all 0.2s ease;
71
+ border: 1px solid transparent;
72
+
73
+ &:hover {
74
+ background-color: #E8EAF0;
75
+ border: 1px solid #D1D5E0;
76
+ }
77
+ }
78
+
79
+ &__grid {
80
+ display: grid;
81
+ grid-template-columns: 1fr 1fr;
82
+ gap: 24px;
83
+ margin-bottom: 24px;
84
+ }
85
+
86
+ &__card {
87
+ background: #FFFFFF;
88
+ border: 1px solid #E2E4ED;
89
+ border-radius: 12px;
90
+ padding: 24px;
91
+
92
+ &--full {
93
+ grid-column: 1 / -1;
94
+ }
95
+ }
96
+
97
+ &__card-title {
98
+ font-size: 18px;
99
+ font-weight: 700;
100
+ color: #121E52;
101
+ margin: 0 0 24px 0;
102
+ }
103
+
104
+ &__info-group {
105
+ display: flex;
106
+ flex-direction: column;
107
+ gap: 4px;
108
+ margin-bottom: 16px;
109
+
110
+ &:last-child {
111
+ margin-bottom: 0;
112
+ }
113
+
114
+ label {
115
+ font-size: 12px;
116
+ color: #9399B3;
117
+ margin: 0;
118
+ }
119
+
120
+ span {
121
+ font-size: 14px;
122
+ font-weight: 500;
123
+ display: inline-flex;
124
+ align-items: center;
125
+ }
126
+ }
127
+
128
+
129
+ &__minor-row {
130
+ display: flex;
131
+ justify-content: space-between;
132
+ align-items: center;
133
+ padding: 16px 0;
134
+ border-bottom: 1px solid #F4F5F9;
135
+
136
+ &:last-child {
137
+ border-bottom: none;
138
+ padding-bottom: 0;
139
+ }
140
+
141
+ &:first-of-type {
142
+ padding-top: 0;
143
+ }
144
+ }
145
+
146
+ &__minor-info {
147
+ display: flex;
148
+ flex-direction: column;
149
+ gap: 4px;
150
+ }
151
+
152
+ &__minor-name {
153
+ font-size: 14px;
154
+ font-weight: 600;
155
+ color: #121E52;
156
+ }
157
+
158
+ &__minor-age {
159
+ font-size: 12px;
160
+ color: #9399B3;
161
+ }
162
+
163
+ &__minor-status-group {
164
+ display: flex;
165
+ align-items: center;
166
+ gap: 16px;
167
+ }
168
+
169
+ &__minor-expires {
170
+ font-size: 12px;
171
+ color: #9399B3;
172
+ }
173
+
174
+ &__footer {
175
+ margin-top: 40px;
176
+ font-size: 12px;
177
+ color: #9399B3;
178
+ }
179
+ }
180
+
181
+ // Mobile styles
182
+ @media (max-width: 768px) {
183
+ .customer-detail {
184
+ padding: 20px 16px;
185
+
186
+ &__back {
187
+ font-size: 13px;
188
+ padding: 6px 12px;
189
+ margin-bottom: 20px;
190
+ }
191
+
192
+ &__header {
193
+ margin-bottom: 24px;
194
+ }
195
+
196
+ &__name {
197
+ font-size: 24px;
198
+ margin-bottom: 12px;
199
+ }
200
+
201
+ &__badges-row {
202
+ flex-direction: row;
203
+ justify-content: space-between;
204
+ align-items: center;
205
+ gap: 12px;
206
+ width: 100%;
207
+ }
208
+
209
+ &__badges {
210
+ flex-wrap: wrap;
211
+ flex: 1;
212
+ }
213
+
214
+ &__id-badge {
215
+ font-size: 11px;
216
+ padding: 3px 10px;
217
+ }
218
+
219
+ &__edit {
220
+ font-size: 13px;
221
+ padding: 6px 12px;
222
+ align-self: center;
223
+ margin-left: auto;
224
+ }
225
+
226
+ &__grid {
227
+ grid-template-columns: 1fr;
228
+ gap: 16px;
229
+ margin-bottom: 16px;
230
+ }
231
+
232
+ &__card {
233
+ padding: 20px;
234
+
235
+ &--full {
236
+ grid-column: 1;
237
+ }
238
+ }
239
+
240
+ &__card-title {
241
+ font-size: 16px;
242
+ margin-bottom: 16px;
243
+ }
244
+
245
+ &__info-group {
246
+ margin-bottom: 14px;
247
+
248
+ label {
249
+ font-size: 11px;
250
+ }
251
+
252
+ span {
253
+ font-size: 13px;
254
+ }
255
+ }
256
+
257
+ &__minor-row {
258
+ flex-direction: column;
259
+ align-items: flex-start;
260
+ gap: 12px;
261
+ padding: 12px 0;
262
+ }
263
+
264
+ &__minor-name {
265
+ font-size: 13px;
266
+ }
267
+
268
+ &__minor-age,
269
+ &__minor-expires {
270
+ font-size: 11px;
271
+ }
272
+
273
+ &__minor-status-group {
274
+ width: 100%;
275
+ justify-content: space-between;
276
+ }
277
+
278
+ &__footer {
279
+ margin-top: 24px;
280
+ font-size: 11px;
281
+ }
282
+ }
283
+ }
284
+
285
+ // Extra small mobile devices
286
+ @media (max-width: 480px) {
287
+ .customer-detail {
288
+ padding: 16px 12px;
289
+
290
+ &__back {
291
+ font-size: 12px;
292
+ padding: 4px 8px;
293
+ margin-bottom: 16px;
294
+ }
295
+
296
+ &__name {
297
+ font-size: 20px;
298
+ }
299
+
300
+ &__card {
301
+ padding: 16px;
302
+ border-radius: 8px;
303
+ }
304
+
305
+ &__card-title {
306
+ font-size: 15px;
307
+ margin-bottom: 12px;
308
+ }
309
+
310
+ &__badges {
311
+ gap: 8px;
312
+ }
313
+
314
+ &__minor-row {
315
+ padding: 10px 0;
316
+ }
317
+ }
318
+ }
319
+