@licklist/design 0.78.21 → 0.78.25

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 (186) hide show
  1. package/dist/assets/Trend-Down.svg +3 -0
  2. package/dist/assets/Trend-Up.svg +3 -0
  3. package/dist/auth/Authorizer.d.ts.map +1 -1
  4. package/dist/auth/Authorizer.js +47 -12
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +5 -0
  8. package/dist/v2/components/EntityHeader/EntityHeader.d.ts +13 -0
  9. package/dist/v2/components/EntityHeader/EntityHeader.d.ts.map +1 -0
  10. package/dist/v2/components/EntityHeader/EntityHeader.js +85 -0
  11. package/dist/v2/components/EntityHeader/EntityHeader.scss.js +6 -0
  12. package/dist/v2/components/EntityHeader/index.d.ts +2 -0
  13. package/dist/v2/components/EntityHeader/index.d.ts.map +1 -0
  14. package/dist/v2/components/NPSScore/NPSScore.d.ts +18 -0
  15. package/dist/v2/components/NPSScore/NPSScore.d.ts.map +1 -0
  16. package/dist/v2/components/NPSScore/index.d.ts +3 -0
  17. package/dist/v2/components/NPSScore/index.d.ts.map +1 -0
  18. package/dist/v2/components/Select/Select.d.ts +10 -0
  19. package/dist/v2/components/Select/Select.d.ts.map +1 -0
  20. package/dist/v2/components/Select/index.d.ts +3 -0
  21. package/dist/v2/components/Select/index.d.ts.map +1 -0
  22. package/dist/v2/components/Tooltip/Tooltip.d.ts +21 -0
  23. package/dist/v2/components/Tooltip/Tooltip.d.ts.map +1 -0
  24. package/dist/v2/components/Tooltip/Tooltip.js +103 -0
  25. package/dist/v2/components/Tooltip/Tooltip.scss.js +6 -0
  26. package/dist/v2/components/Tooltip/index.d.ts +2 -0
  27. package/dist/v2/components/Tooltip/index.d.ts.map +1 -0
  28. package/dist/v2/components/UserAvatar/UserAvatar.d.ts +12 -0
  29. package/dist/v2/components/UserAvatar/UserAvatar.d.ts.map +1 -0
  30. package/dist/v2/components/UserAvatar/UserAvatar.js +77 -0
  31. package/dist/v2/components/UserAvatar/UserAvatar.scss.js +6 -0
  32. package/dist/v2/components/UserAvatar/index.d.ts +2 -0
  33. package/dist/v2/components/UserAvatar/index.d.ts.map +1 -0
  34. package/dist/v2/components/UserPanel/UserPanel.d.ts +17 -0
  35. package/dist/v2/components/UserPanel/UserPanel.d.ts.map +1 -0
  36. package/dist/v2/components/UserPanel/UserPanel.js +168 -0
  37. package/dist/v2/components/UserPanel/UserPanel.scss.js +6 -0
  38. package/dist/v2/components/UserPanel/index.d.ts +3 -0
  39. package/dist/v2/components/UserPanel/index.d.ts.map +1 -0
  40. package/dist/v2/dashboard-analytics/blog-posts/Blog.d.ts +15 -0
  41. package/dist/v2/dashboard-analytics/blog-posts/Blog.d.ts.map +1 -0
  42. package/dist/v2/dashboard-analytics/blog-posts/index.d.ts +3 -0
  43. package/dist/v2/dashboard-analytics/blog-posts/index.d.ts.map +1 -0
  44. package/dist/v2/dashboard-analytics/chart/Chart.d.ts +21 -0
  45. package/dist/v2/dashboard-analytics/chart/Chart.d.ts.map +1 -0
  46. package/dist/v2/dashboard-analytics/chart/index.d.ts +3 -0
  47. package/dist/v2/dashboard-analytics/chart/index.d.ts.map +1 -0
  48. package/dist/v2/dashboard-analytics/dashboard/Dashboard.d.ts +57 -0
  49. package/dist/v2/dashboard-analytics/dashboard/Dashboard.d.ts.map +1 -0
  50. package/dist/v2/dashboard-analytics/dashboard/index.d.ts +3 -0
  51. package/dist/v2/dashboard-analytics/dashboard/index.d.ts.map +1 -0
  52. package/dist/v2/dashboard-analytics/index.d.ts +13 -0
  53. package/dist/v2/dashboard-analytics/index.d.ts.map +1 -0
  54. package/dist/v2/dashboard-analytics/metric-card/MetricCard.d.ts +17 -0
  55. package/dist/v2/dashboard-analytics/metric-card/MetricCard.d.ts.map +1 -0
  56. package/dist/v2/dashboard-analytics/metric-card/index.d.ts +3 -0
  57. package/dist/v2/dashboard-analytics/metric-card/index.d.ts.map +1 -0
  58. package/dist/v2/dashboard-analytics/venue-card/VenueCard.d.ts +12 -0
  59. package/dist/v2/dashboard-analytics/venue-card/VenueCard.d.ts.map +1 -0
  60. package/dist/v2/dashboard-analytics/venue-card/index.d.ts +3 -0
  61. package/dist/v2/dashboard-analytics/venue-card/index.d.ts.map +1 -0
  62. package/dist/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.d.ts +25 -0
  63. package/dist/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.d.ts.map +1 -0
  64. package/dist/v2/dashboard-analytics/venue-closed-card/index.d.ts +3 -0
  65. package/dist/v2/dashboard-analytics/venue-closed-card/index.d.ts.map +1 -0
  66. package/dist/v2/index.d.ts +11 -5
  67. package/dist/v2/index.d.ts.map +1 -1
  68. package/dist/v2/navigation/DashboardLayout/AdminSidebar.d.ts +10 -0
  69. package/dist/v2/navigation/DashboardLayout/AdminSidebar.d.ts.map +1 -0
  70. package/dist/v2/navigation/DashboardLayout/AdminSidebar.js +296 -0
  71. package/dist/v2/navigation/DashboardLayout/AdminSidebar.scss.js +6 -0
  72. package/dist/v2/navigation/DashboardLayout/DashboardFooter.d.ts +7 -0
  73. package/dist/v2/navigation/DashboardLayout/DashboardFooter.d.ts.map +1 -0
  74. package/dist/v2/navigation/DashboardLayout/DashboardFooter.js +34 -0
  75. package/dist/v2/navigation/DashboardLayout/DashboardFooter.scss.js +6 -0
  76. package/dist/v2/navigation/DashboardLayout/DashboardLayout.d.ts +42 -0
  77. package/dist/v2/navigation/DashboardLayout/DashboardLayout.d.ts.map +1 -0
  78. package/dist/v2/navigation/DashboardLayout/DashboardLayout.js +154 -0
  79. package/dist/v2/navigation/DashboardLayout/DashboardLayout.scss.js +6 -0
  80. package/dist/v2/navigation/DashboardLayout/ProviderSidebar.d.ts +35 -0
  81. package/dist/v2/navigation/DashboardLayout/ProviderSidebar.d.ts.map +1 -0
  82. package/dist/v2/navigation/DashboardLayout/ProviderSidebar.js +344 -0
  83. package/dist/v2/navigation/DashboardLayout/ProviderSidebar.scss.js +6 -0
  84. package/dist/v2/navigation/DashboardLayout/TopNavigation.d.ts +26 -0
  85. package/dist/v2/navigation/DashboardLayout/TopNavigation.d.ts.map +1 -0
  86. package/dist/v2/navigation/DashboardLayout/TopNavigation.js +468 -0
  87. package/dist/v2/navigation/DashboardLayout/TopNavigation.scss.js +6 -0
  88. package/dist/v2/navigation/DashboardLayout/assets/AdminLogo.png.js +3 -0
  89. package/dist/v2/navigation/DashboardLayout/assets/BookedLogo_Mark.png.js +3 -0
  90. package/dist/v2/navigation/DashboardLayout/index.d.ts +7 -0
  91. package/dist/v2/navigation/DashboardLayout/index.d.ts.map +1 -0
  92. package/package.json +5 -3
  93. package/src/assets/Trend-Down.svg +3 -0
  94. package/src/assets/Trend-Up.svg +3 -0
  95. package/src/auth/Authorizer.tsx +49 -20
  96. package/src/index.ts +2 -1
  97. package/src/v2/components/EntityHeader/EntityHeader.scss +133 -0
  98. package/src/v2/components/EntityHeader/EntityHeader.stories.tsx +103 -0
  99. package/src/v2/components/EntityHeader/EntityHeader.tsx +76 -0
  100. package/src/v2/components/EntityHeader/index.ts +1 -0
  101. package/src/v2/components/NPSScore/NPSScore.scss +330 -0
  102. package/src/v2/components/NPSScore/NPSScore.stories.tsx +29 -0
  103. package/src/v2/components/NPSScore/NPSScore.tsx +209 -0
  104. package/src/v2/components/NPSScore/index.ts +2 -0
  105. package/src/v2/components/Select/Select.scss +188 -0
  106. package/src/v2/components/Select/Select.stories.tsx +164 -0
  107. package/src/v2/components/Select/Select.tsx +56 -0
  108. package/src/v2/components/Select/index.ts +2 -0
  109. package/src/v2/components/Tooltip/Tooltip.scss +92 -0
  110. package/src/v2/components/Tooltip/Tooltip.stories.tsx +164 -0
  111. package/src/v2/components/Tooltip/Tooltip.tsx +64 -0
  112. package/src/v2/components/Tooltip/index.ts +8 -0
  113. package/src/v2/components/UserAvatar/UserAvatar.scss +62 -0
  114. package/src/v2/components/UserAvatar/UserAvatar.stories.tsx +94 -0
  115. package/src/v2/components/UserAvatar/UserAvatar.tsx +96 -0
  116. package/src/v2/components/UserAvatar/index.ts +1 -0
  117. package/src/v2/components/UserPanel/UserPanel.scss +195 -0
  118. package/src/v2/components/UserPanel/UserPanel.stories.tsx +66 -0
  119. package/src/v2/components/UserPanel/UserPanel.tsx +132 -0
  120. package/src/v2/components/UserPanel/index.ts +2 -0
  121. package/src/v2/dashboard-analytics/blog-posts/Blog.scss +92 -0
  122. package/src/v2/dashboard-analytics/blog-posts/Blog.stories.tsx +57 -0
  123. package/src/v2/dashboard-analytics/blog-posts/Blog.tsx +91 -0
  124. package/src/v2/dashboard-analytics/blog-posts/index.ts +2 -0
  125. package/src/v2/dashboard-analytics/chart/Chart.scss +424 -0
  126. package/src/v2/dashboard-analytics/chart/Chart.stories.tsx +157 -0
  127. package/src/v2/dashboard-analytics/chart/Chart.tsx +623 -0
  128. package/src/v2/dashboard-analytics/chart/index.ts +2 -0
  129. package/src/v2/dashboard-analytics/dashboard/Dashboard.scss +254 -0
  130. package/src/v2/dashboard-analytics/dashboard/Dashboard.stories.tsx +298 -0
  131. package/src/v2/dashboard-analytics/dashboard/Dashboard.tsx +248 -0
  132. package/src/v2/dashboard-analytics/dashboard/index.ts +2 -0
  133. package/src/v2/dashboard-analytics/index.ts +12 -0
  134. package/src/v2/dashboard-analytics/metric-card/MetricCard.scss +125 -0
  135. package/src/v2/dashboard-analytics/metric-card/MetricCard.stories.tsx +106 -0
  136. package/src/v2/dashboard-analytics/metric-card/MetricCard.tsx +72 -0
  137. package/src/v2/dashboard-analytics/metric-card/index.ts +2 -0
  138. package/src/v2/dashboard-analytics/venue-card/VenueCard.scss +112 -0
  139. package/src/v2/dashboard-analytics/venue-card/VenueCard.stories.tsx +40 -0
  140. package/src/v2/dashboard-analytics/venue-card/VenueCard.tsx +62 -0
  141. package/src/v2/dashboard-analytics/venue-card/index.ts +2 -0
  142. package/src/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.scss +129 -0
  143. package/src/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.stories.tsx +31 -0
  144. package/src/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.tsx +61 -0
  145. package/src/v2/dashboard-analytics/venue-closed-card/index.ts +2 -0
  146. package/src/v2/design-system/colors/ColorSystem.scss +439 -0
  147. package/src/v2/design-system/colors/ColorSystem.stories.tsx +730 -0
  148. package/src/v2/design-system/typography/Typography.scss +295 -0
  149. package/src/v2/design-system/typography/Typography.stories.tsx +109 -0
  150. package/src/v2/index.ts +43 -7
  151. package/src/v2/navigation/DashboardLayout/AdminSidebar.scss +207 -0
  152. package/src/v2/navigation/DashboardLayout/AdminSidebar.tsx +171 -0
  153. package/src/v2/navigation/DashboardLayout/DashboardFooter.scss +30 -0
  154. package/src/v2/navigation/DashboardLayout/DashboardFooter.tsx +25 -0
  155. package/src/v2/navigation/DashboardLayout/DashboardLayout.scss +91 -0
  156. package/src/v2/navigation/DashboardLayout/DashboardLayout.stories.tsx +370 -0
  157. package/src/v2/navigation/DashboardLayout/DashboardLayout.tsx +215 -0
  158. package/src/v2/navigation/DashboardLayout/ProviderSidebar.scss +266 -0
  159. package/src/v2/navigation/DashboardLayout/ProviderSidebar.tsx +252 -0
  160. package/src/v2/navigation/DashboardLayout/Sidebar.stories.tsx +220 -0
  161. package/src/v2/navigation/DashboardLayout/TopNavigation.scss +206 -0
  162. package/src/v2/navigation/DashboardLayout/TopNavigation.tsx +270 -0
  163. package/src/v2/navigation/DashboardLayout/assets/AdminLogo.png +0 -0
  164. package/src/v2/navigation/DashboardLayout/assets/BookedLogo_Mark.png +0 -0
  165. package/src/v2/navigation/DashboardLayout/index.ts +20 -0
  166. package/src/v2/styles/index.scss +0 -1
  167. package/src/v2/styles/tokens/_colors.scss +531 -98
  168. package/dist/v2/components/Colors/Colors.d.ts +0 -21
  169. package/dist/v2/components/Colors/Colors.d.ts.map +0 -1
  170. package/dist/v2/components/Colors/index.d.ts +0 -3
  171. package/dist/v2/components/Colors/index.d.ts.map +0 -1
  172. package/dist/v2/components/Typography/Typography.d.ts +0 -11
  173. package/dist/v2/components/Typography/Typography.d.ts.map +0 -1
  174. package/dist/v2/components/Typography/index.d.ts +0 -3
  175. package/dist/v2/components/Typography/index.d.ts.map +0 -1
  176. package/src/v2/components/Colors/Colors.scss +0 -64
  177. package/src/v2/components/Colors/Colors.stories.tsx +0 -143
  178. package/src/v2/components/Colors/Colors.tsx +0 -51
  179. package/src/v2/components/Colors/ColorsAliases.stories.tsx +0 -285
  180. package/src/v2/components/Colors/Sizes.stories.tsx +0 -141
  181. package/src/v2/components/Colors/index.ts +0 -2
  182. package/src/v2/components/Typography/Typography.scss +0 -72
  183. package/src/v2/components/Typography/Typography.stories.tsx +0 -266
  184. package/src/v2/components/Typography/Typography.tsx +0 -56
  185. package/src/v2/components/Typography/index.ts +0 -2
  186. package/src/v2/styles/tokens/_aliases.scss +0 -199
@@ -0,0 +1,220 @@
1
+ import { Meta, StoryObj } from '@storybook/react'
2
+ import React, { useState } from 'react'
3
+ import { ProviderSidebar } from './ProviderSidebar'
4
+ import { AdminSidebar } from './AdminSidebar'
5
+
6
+ export default {
7
+ title: 'v2/Dashboard Layout/Sidebar',
8
+ component: ProviderSidebar,
9
+ argTypes: {
10
+ expanded: {
11
+ control: 'boolean',
12
+ description: 'Whether the sidebar is expanded',
13
+ },
14
+ providerName: {
15
+ control: 'text',
16
+ description: 'Name of the venue/provider',
17
+ },
18
+ providerId: {
19
+ control: 'text',
20
+ description: 'Venue/Provider ID',
21
+ },
22
+ providerImage: {
23
+ control: 'text',
24
+ description: 'URL of venue/provider image',
25
+ },
26
+ providerType: {
27
+ control: 'select',
28
+ options: ['venue', 'promoter'],
29
+ description: 'Type of provider',
30
+ },
31
+ showBackToAdmin: {
32
+ control: 'boolean',
33
+ description: 'Show back to admin panel link',
34
+ },
35
+ activePath: {
36
+ control: 'text',
37
+ description: 'Currently active path',
38
+ },
39
+ onNavigation: { action: 'navigation clicked' },
40
+ onBackToAdmin: { action: 'back to admin clicked' },
41
+ },
42
+ parameters: {
43
+ layout: 'fullscreen',
44
+ },
45
+ } as Meta<typeof ProviderSidebar>
46
+
47
+ type Story = StoryObj<typeof ProviderSidebar>
48
+
49
+ export const ProviderExpanded: Story = {
50
+ render: function ProviderExpandedStory() {
51
+ const [activePath, setActivePath] = useState('/home')
52
+
53
+ return (
54
+ <div style={{ width: '268px', height: '100vh' }}>
55
+ <ProviderSidebar
56
+ expanded={true}
57
+ providerName="Sharky's Soft Play"
58
+ providerId="01"
59
+ providerType="venue"
60
+ activePath={activePath}
61
+ onNavigation={(path) => setActivePath(path)}
62
+ />
63
+ </div>
64
+ )
65
+ },
66
+ }
67
+
68
+ export const ProviderCollapsed: Story = {
69
+ render: () => (
70
+ <div style={{ width: '72px', height: '100vh' }}>
71
+ <ProviderSidebar
72
+ expanded={false}
73
+ providerName="Sharky's Soft Play"
74
+ providerId="01"
75
+ activePath="/home"
76
+ />
77
+ </div>
78
+ ),
79
+ }
80
+
81
+ export const ProviderWithBackLink: Story = {
82
+ render: function ProviderWithBackLinkStory() {
83
+ const [activePath, setActivePath] = useState('/home')
84
+
85
+ return (
86
+ <div style={{ width: '268px', height: '100vh' }}>
87
+ <ProviderSidebar
88
+ expanded={true}
89
+ providerName="Sharky's Soft Play"
90
+ providerId="01"
91
+ providerType="venue"
92
+ activePath={activePath}
93
+ onNavigation={(path) => setActivePath(path)}
94
+ showBackToAdmin={true}
95
+ onBackToAdmin={() => alert('Navigate to Admin Panel')}
96
+ />
97
+ </div>
98
+ )
99
+ },
100
+ }
101
+
102
+ export const AdminExpanded: Story = {
103
+ render: function AdminExpandedStory() {
104
+ const [activePath, setActivePath] = useState('/admin')
105
+
106
+ return (
107
+ <div style={{ width: '268px', height: '100vh' }}>
108
+ <AdminSidebar
109
+ expanded={true}
110
+ activePath={activePath}
111
+ onNavigation={(path) => setActivePath(path)}
112
+ />
113
+ </div>
114
+ )
115
+ },
116
+ }
117
+
118
+ export const AdminCollapsed: Story = {
119
+ render: () => (
120
+ <div style={{ width: '72px', height: '100vh' }}>
121
+ <AdminSidebar
122
+ expanded={false}
123
+ activePath="/admin"
124
+ />
125
+ </div>
126
+ ),
127
+ }
128
+
129
+ export const Interactive: Story = {
130
+ render: function InteractiveStory() {
131
+ const [expanded, setExpanded] = useState(true)
132
+ const [isAdmin, setIsAdmin] = useState(false)
133
+ const [activePath, setActivePath] = useState('/home')
134
+
135
+ return (
136
+ <div style={{ display: 'flex', height: '100vh' }}>
137
+ <div style={{
138
+ width: expanded ? '268px' : '72px',
139
+ transition: 'width 0.3s ease',
140
+ flexShrink: 0,
141
+ }}>
142
+ {isAdmin ? (
143
+ <AdminSidebar
144
+ expanded={expanded}
145
+ activePath={activePath}
146
+ onNavigation={(path) => setActivePath(path)}
147
+ />
148
+ ) : (
149
+ <ProviderSidebar
150
+ expanded={expanded}
151
+ providerName="Sharky's Soft Play"
152
+ providerId="01"
153
+ providerType="venue"
154
+ activePath={activePath}
155
+ onNavigation={(path) => setActivePath(path)}
156
+ />
157
+ )}
158
+ </div>
159
+
160
+ <div style={{ flex: 1, padding: '24px', background: '#fff' }}>
161
+ <h2 style={{
162
+ fontFamily: 'Geist, sans-serif',
163
+ fontSize: '18px',
164
+ fontWeight: 600,
165
+ color: '#121E52',
166
+ marginBottom: '16px'
167
+ }}>
168
+ Sidebar Controls
169
+ </h2>
170
+
171
+ <div style={{ display: 'flex', gap: '8px', flexWrap: 'wrap', marginBottom: '16px' }}>
172
+ <button
173
+ onClick={() => setExpanded(!expanded)}
174
+ style={{
175
+ padding: '8px 16px',
176
+ backgroundColor: '#14215A',
177
+ color: 'white',
178
+ border: 'none',
179
+ borderRadius: '6px',
180
+ cursor: 'pointer',
181
+ fontFamily: 'Geist, sans-serif',
182
+ fontSize: '13px',
183
+ }}
184
+ >
185
+ {expanded ? 'Collapse' : 'Expand'}
186
+ </button>
187
+ <button
188
+ onClick={() => {
189
+ setIsAdmin(!isAdmin)
190
+ setActivePath(isAdmin ? '/home' : '/admin')
191
+ }}
192
+ style={{
193
+ padding: '8px 16px',
194
+ backgroundColor: isAdmin ? '#6200EE' : '#F8F8FA',
195
+ color: isAdmin ? 'white' : '#121E52',
196
+ border: '1px solid #E8E9EF',
197
+ borderRadius: '6px',
198
+ cursor: 'pointer',
199
+ fontFamily: 'Geist, sans-serif',
200
+ fontSize: '13px',
201
+ }}
202
+ >
203
+ {isAdmin ? 'Admin Sidebar' : 'Provider Sidebar'}
204
+ </button>
205
+ </div>
206
+
207
+ <p style={{
208
+ fontFamily: 'Geist, sans-serif',
209
+ fontSize: '13px',
210
+ color: '#626A90',
211
+ }}>
212
+ State: <strong>{expanded ? 'Expanded' : 'Collapsed'}</strong> |
213
+ Type: <strong>{isAdmin ? 'Admin' : 'Provider'}</strong> |
214
+ Active: <code style={{ background: '#F8F8FA', padding: '2px 6px', borderRadius: '4px' }}>{activePath}</code>
215
+ </p>
216
+ </div>
217
+ </div>
218
+ )
219
+ },
220
+ }
@@ -0,0 +1,206 @@
1
+ .top-navigation {
2
+ display: flex;
3
+ justify-content: space-between;
4
+ align-items: center;
5
+ background: var(--surfaces-main-background-secondary, #F8F8FA);
6
+ height: 48px;
7
+ padding: 0 4px;
8
+ border-bottom: 1px solid var(--borders-main-border-primary, #E8E9EF);
9
+ width: 100%;
10
+ position: fixed;
11
+ top: 0;
12
+ left: 0;
13
+ right: 0;
14
+ z-index: 30;
15
+ box-sizing: border-box;
16
+
17
+ &__left {
18
+ display: flex;
19
+ align-items: center;
20
+ gap: 16px;
21
+ flex: 1;
22
+ }
23
+
24
+ &__right {
25
+ display: flex;
26
+ justify-content: flex-end;
27
+ align-items: center;
28
+ gap: 8px;
29
+ padding: 4px;
30
+ }
31
+
32
+
33
+ &__toggle {
34
+ display: flex;
35
+ justify-content: center;
36
+ align-items: center;
37
+ background: var(--surfaces-main-background-primary, #FFFFFF);
38
+ width: 40px;
39
+ height: 40px;
40
+ border-radius: 8px;
41
+ border: none;
42
+ cursor: pointer;
43
+ transition: background 0.2s ease;
44
+ padding: 0;
45
+
46
+ svg {
47
+ width: 40px;
48
+ height: 40px;
49
+ display: block;
50
+ }
51
+
52
+ &:hover:not(&--disabled) {
53
+ background: var(--surfaces-main-background-primary-hover, #F0F0F4);
54
+ }
55
+
56
+ &--disabled {
57
+ opacity: 0.3;
58
+ cursor: not-allowed;
59
+ }
60
+
61
+ &--mobile {
62
+ display: flex;
63
+
64
+ @media (min-width: 640px) {
65
+ display: none;
66
+ }
67
+ }
68
+
69
+ &--desktop {
70
+ display: none;
71
+
72
+ @media (min-width: 640px) {
73
+ display: flex;
74
+ }
75
+ }
76
+ }
77
+
78
+
79
+ &__logo-mark {
80
+ height: 36px;
81
+ width: 36px;
82
+
83
+ @media (min-width: 640px) {
84
+ display: none;
85
+ }
86
+ }
87
+
88
+ &__logo-full {
89
+ display: none;
90
+ height: 28px;
91
+
92
+ @media (min-width: 640px) {
93
+ display: block;
94
+ }
95
+ }
96
+
97
+
98
+ &__button {
99
+ display: flex;
100
+ justify-content: center;
101
+ align-items: center;
102
+ gap: 2px;
103
+ padding: 4px;
104
+ border-radius: 8px;
105
+ border: none;
106
+ background: var(--surfaces-main-background-primary, #FFFFFF);
107
+ cursor: pointer;
108
+ transition: background 0.2s ease;
109
+ min-width: 40px;
110
+ height: 40px;
111
+
112
+ &:hover:not(&--active) {
113
+ background: var(--surfaces-main-background-primary-hover, #F0F0F4);
114
+ }
115
+
116
+ &--active {
117
+ background: linear-gradient(
118
+ 135deg,
119
+ #6200EE 0%,
120
+ #5D5BF4 50%,
121
+ #0E8CE2 100%
122
+ );
123
+ }
124
+ }
125
+
126
+ &__icon {
127
+ width: 32px;
128
+ height: 32px;
129
+ display: flex;
130
+ align-items: center;
131
+ justify-content: center;
132
+ flex-shrink: 0;
133
+ }
134
+
135
+
136
+ &__avatar {
137
+ width: 32px;
138
+ height: 32px;
139
+ position: relative;
140
+ display: flex;
141
+ align-items: center;
142
+ justify-content: center;
143
+ overflow: hidden;
144
+ border-radius: 50%;
145
+
146
+ img {
147
+ width: 100%;
148
+ height: 100%;
149
+ object-fit: cover;
150
+ }
151
+ }
152
+
153
+ &__avatar-bg {
154
+ position: absolute;
155
+ }
156
+
157
+ &__avatar-initials {
158
+ font-family: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
159
+ font-size: 10px;
160
+ font-weight: 800;
161
+ line-height: 8px;
162
+ color: var(--labels-main-label-secondary, #626A90);
163
+ position: relative;
164
+ margin-top: 2px;
165
+
166
+ &--active {
167
+ color: white;
168
+ }
169
+ }
170
+
171
+
172
+ &__badge {
173
+ display: flex;
174
+ justify-content: center;
175
+ align-items: center;
176
+ padding: 4px 8px;
177
+ border-radius: 9999px;
178
+ border: 1px solid rgba(0, 0, 0, 0.1);
179
+ margin-right: 4px;
180
+
181
+ span {
182
+ font-family: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
183
+ font-size: 10px;
184
+ font-weight: 600;
185
+ line-height: 13px;
186
+ color: var(--labels-main-label-primary, #121E52);
187
+ }
188
+
189
+ &--green {
190
+ background: rgba(16, 185, 129, 0.2);
191
+ }
192
+
193
+ &--orange {
194
+ background: rgba(245, 158, 11, 0.2);
195
+ }
196
+
197
+ &--active {
198
+ background: rgba(255, 255, 255, 0.3);
199
+ border-color: rgba(255, 255, 255, 0.3);
200
+
201
+ span {
202
+ color: white;
203
+ }
204
+ }
205
+ }
206
+ }