@licklist/design 0.78.21 → 0.78.26
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.
- package/dist/assets/Trend-Down.svg +3 -0
- package/dist/assets/Trend-Up.svg +3 -0
- package/dist/auth/Authorizer.d.ts.map +1 -1
- package/dist/auth/Authorizer.js +47 -12
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/v2/components/EntityHeader/EntityHeader.d.ts +13 -0
- package/dist/v2/components/EntityHeader/EntityHeader.d.ts.map +1 -0
- package/dist/v2/components/EntityHeader/EntityHeader.js +85 -0
- package/dist/v2/components/EntityHeader/EntityHeader.scss.js +6 -0
- package/dist/v2/components/EntityHeader/index.d.ts +2 -0
- package/dist/v2/components/EntityHeader/index.d.ts.map +1 -0
- package/dist/v2/components/NPSScore/NPSScore.d.ts +18 -0
- package/dist/v2/components/NPSScore/NPSScore.d.ts.map +1 -0
- package/dist/v2/components/NPSScore/index.d.ts +3 -0
- package/dist/v2/components/NPSScore/index.d.ts.map +1 -0
- package/dist/v2/components/Select/Select.d.ts +10 -0
- package/dist/v2/components/Select/Select.d.ts.map +1 -0
- package/dist/v2/components/Select/index.d.ts +3 -0
- package/dist/v2/components/Select/index.d.ts.map +1 -0
- package/dist/v2/components/Tooltip/Tooltip.d.ts +21 -0
- package/dist/v2/components/Tooltip/Tooltip.d.ts.map +1 -0
- package/dist/v2/components/Tooltip/Tooltip.js +103 -0
- package/dist/v2/components/Tooltip/Tooltip.scss.js +6 -0
- package/dist/v2/components/Tooltip/index.d.ts +2 -0
- package/dist/v2/components/Tooltip/index.d.ts.map +1 -0
- package/dist/v2/components/UserAvatar/UserAvatar.d.ts +12 -0
- package/dist/v2/components/UserAvatar/UserAvatar.d.ts.map +1 -0
- package/dist/v2/components/UserAvatar/UserAvatar.js +77 -0
- package/dist/v2/components/UserAvatar/UserAvatar.scss.js +6 -0
- package/dist/v2/components/UserAvatar/index.d.ts +2 -0
- package/dist/v2/components/UserAvatar/index.d.ts.map +1 -0
- package/dist/v2/components/UserPanel/UserPanel.d.ts +17 -0
- package/dist/v2/components/UserPanel/UserPanel.d.ts.map +1 -0
- package/dist/v2/components/UserPanel/UserPanel.js +144 -0
- package/dist/v2/components/UserPanel/UserPanel.scss.js +6 -0
- package/dist/v2/components/UserPanel/index.d.ts +3 -0
- package/dist/v2/components/UserPanel/index.d.ts.map +1 -0
- package/dist/v2/dashboard-analytics/blog-posts/Blog.d.ts +15 -0
- package/dist/v2/dashboard-analytics/blog-posts/Blog.d.ts.map +1 -0
- package/dist/v2/dashboard-analytics/blog-posts/index.d.ts +3 -0
- package/dist/v2/dashboard-analytics/blog-posts/index.d.ts.map +1 -0
- package/dist/v2/dashboard-analytics/chart/Chart.d.ts +21 -0
- package/dist/v2/dashboard-analytics/chart/Chart.d.ts.map +1 -0
- package/dist/v2/dashboard-analytics/chart/index.d.ts +3 -0
- package/dist/v2/dashboard-analytics/chart/index.d.ts.map +1 -0
- package/dist/v2/dashboard-analytics/dashboard/Dashboard.d.ts +57 -0
- package/dist/v2/dashboard-analytics/dashboard/Dashboard.d.ts.map +1 -0
- package/dist/v2/dashboard-analytics/dashboard/index.d.ts +3 -0
- package/dist/v2/dashboard-analytics/dashboard/index.d.ts.map +1 -0
- package/dist/v2/dashboard-analytics/index.d.ts +13 -0
- package/dist/v2/dashboard-analytics/index.d.ts.map +1 -0
- package/dist/v2/dashboard-analytics/metric-card/MetricCard.d.ts +17 -0
- package/dist/v2/dashboard-analytics/metric-card/MetricCard.d.ts.map +1 -0
- package/dist/v2/dashboard-analytics/metric-card/index.d.ts +3 -0
- package/dist/v2/dashboard-analytics/metric-card/index.d.ts.map +1 -0
- package/dist/v2/dashboard-analytics/venue-card/VenueCard.d.ts +12 -0
- package/dist/v2/dashboard-analytics/venue-card/VenueCard.d.ts.map +1 -0
- package/dist/v2/dashboard-analytics/venue-card/index.d.ts +3 -0
- package/dist/v2/dashboard-analytics/venue-card/index.d.ts.map +1 -0
- package/dist/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.d.ts +25 -0
- package/dist/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.d.ts.map +1 -0
- package/dist/v2/dashboard-analytics/venue-closed-card/index.d.ts +3 -0
- package/dist/v2/dashboard-analytics/venue-closed-card/index.d.ts.map +1 -0
- package/dist/v2/index.d.ts +11 -5
- package/dist/v2/index.d.ts.map +1 -1
- package/dist/v2/navigation/DashboardLayout/AdminSidebar.d.ts +10 -0
- package/dist/v2/navigation/DashboardLayout/AdminSidebar.d.ts.map +1 -0
- package/dist/v2/navigation/DashboardLayout/AdminSidebar.js +296 -0
- package/dist/v2/navigation/DashboardLayout/AdminSidebar.scss.js +6 -0
- package/dist/v2/navigation/DashboardLayout/DashboardFooter.d.ts +7 -0
- package/dist/v2/navigation/DashboardLayout/DashboardFooter.d.ts.map +1 -0
- package/dist/v2/navigation/DashboardLayout/DashboardFooter.js +34 -0
- package/dist/v2/navigation/DashboardLayout/DashboardFooter.scss.js +6 -0
- package/dist/v2/navigation/DashboardLayout/DashboardLayout.d.ts +42 -0
- package/dist/v2/navigation/DashboardLayout/DashboardLayout.d.ts.map +1 -0
- package/dist/v2/navigation/DashboardLayout/DashboardLayout.js +176 -0
- package/dist/v2/navigation/DashboardLayout/DashboardLayout.scss.js +6 -0
- package/dist/v2/navigation/DashboardLayout/ProviderSidebar.d.ts +35 -0
- package/dist/v2/navigation/DashboardLayout/ProviderSidebar.d.ts.map +1 -0
- package/dist/v2/navigation/DashboardLayout/ProviderSidebar.js +366 -0
- package/dist/v2/navigation/DashboardLayout/ProviderSidebar.scss.js +6 -0
- package/dist/v2/navigation/DashboardLayout/TopNavigation.d.ts +26 -0
- package/dist/v2/navigation/DashboardLayout/TopNavigation.d.ts.map +1 -0
- package/dist/v2/navigation/DashboardLayout/TopNavigation.js +360 -0
- package/dist/v2/navigation/DashboardLayout/TopNavigation.scss.js +6 -0
- package/dist/v2/navigation/DashboardLayout/assets/AdminLogo.png.js +3 -0
- package/dist/v2/navigation/DashboardLayout/assets/BookedLogo_Mark.png.js +3 -0
- package/dist/v2/navigation/DashboardLayout/index.d.ts +7 -0
- package/dist/v2/navigation/DashboardLayout/index.d.ts.map +1 -0
- package/package.json +5 -3
- package/src/assets/Trend-Down.svg +3 -0
- package/src/assets/Trend-Up.svg +3 -0
- package/src/auth/Authorizer.tsx +49 -20
- package/src/index.ts +2 -1
- package/src/v2/components/EntityHeader/EntityHeader.scss +133 -0
- package/src/v2/components/EntityHeader/EntityHeader.stories.tsx +103 -0
- package/src/v2/components/EntityHeader/EntityHeader.tsx +76 -0
- package/src/v2/components/EntityHeader/index.ts +1 -0
- package/src/v2/components/NPSScore/NPSScore.scss +330 -0
- package/src/v2/components/NPSScore/NPSScore.stories.tsx +29 -0
- package/src/v2/components/NPSScore/NPSScore.tsx +209 -0
- package/src/v2/components/NPSScore/index.ts +2 -0
- package/src/v2/components/Select/Select.scss +188 -0
- package/src/v2/components/Select/Select.stories.tsx +164 -0
- package/src/v2/components/Select/Select.tsx +56 -0
- package/src/v2/components/Select/index.ts +2 -0
- package/src/v2/components/Tooltip/Tooltip.scss +92 -0
- package/src/v2/components/Tooltip/Tooltip.stories.tsx +164 -0
- package/src/v2/components/Tooltip/Tooltip.tsx +64 -0
- package/src/v2/components/Tooltip/index.ts +8 -0
- package/src/v2/components/UserAvatar/UserAvatar.scss +62 -0
- package/src/v2/components/UserAvatar/UserAvatar.stories.tsx +94 -0
- package/src/v2/components/UserAvatar/UserAvatar.tsx +96 -0
- package/src/v2/components/UserAvatar/index.ts +1 -0
- package/src/v2/components/UserPanel/UserPanel.scss +195 -0
- package/src/v2/components/UserPanel/UserPanel.stories.tsx +66 -0
- package/src/v2/components/UserPanel/UserPanel.tsx +126 -0
- package/src/v2/components/UserPanel/index.ts +2 -0
- package/src/v2/dashboard-analytics/blog-posts/Blog.scss +92 -0
- package/src/v2/dashboard-analytics/blog-posts/Blog.stories.tsx +57 -0
- package/src/v2/dashboard-analytics/blog-posts/Blog.tsx +91 -0
- package/src/v2/dashboard-analytics/blog-posts/index.ts +2 -0
- package/src/v2/dashboard-analytics/chart/Chart.scss +424 -0
- package/src/v2/dashboard-analytics/chart/Chart.stories.tsx +157 -0
- package/src/v2/dashboard-analytics/chart/Chart.tsx +623 -0
- package/src/v2/dashboard-analytics/chart/index.ts +2 -0
- package/src/v2/dashboard-analytics/dashboard/Dashboard.scss +254 -0
- package/src/v2/dashboard-analytics/dashboard/Dashboard.stories.tsx +298 -0
- package/src/v2/dashboard-analytics/dashboard/Dashboard.tsx +248 -0
- package/src/v2/dashboard-analytics/dashboard/index.ts +2 -0
- package/src/v2/dashboard-analytics/index.ts +12 -0
- package/src/v2/dashboard-analytics/metric-card/MetricCard.scss +125 -0
- package/src/v2/dashboard-analytics/metric-card/MetricCard.stories.tsx +106 -0
- package/src/v2/dashboard-analytics/metric-card/MetricCard.tsx +72 -0
- package/src/v2/dashboard-analytics/metric-card/index.ts +2 -0
- package/src/v2/dashboard-analytics/venue-card/VenueCard.scss +112 -0
- package/src/v2/dashboard-analytics/venue-card/VenueCard.stories.tsx +40 -0
- package/src/v2/dashboard-analytics/venue-card/VenueCard.tsx +62 -0
- package/src/v2/dashboard-analytics/venue-card/index.ts +2 -0
- package/src/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.scss +129 -0
- package/src/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.stories.tsx +31 -0
- package/src/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.tsx +61 -0
- package/src/v2/dashboard-analytics/venue-closed-card/index.ts +2 -0
- package/src/v2/design-system/colors/ColorSystem.scss +439 -0
- package/src/v2/design-system/colors/ColorSystem.stories.tsx +730 -0
- package/src/v2/design-system/typography/Typography.scss +295 -0
- package/src/v2/design-system/typography/Typography.stories.tsx +109 -0
- package/src/v2/index.ts +43 -7
- package/src/v2/navigation/DashboardLayout/AdminSidebar.scss +207 -0
- package/src/v2/navigation/DashboardLayout/AdminSidebar.tsx +171 -0
- package/src/v2/navigation/DashboardLayout/DashboardFooter.scss +30 -0
- package/src/v2/navigation/DashboardLayout/DashboardFooter.tsx +25 -0
- package/src/v2/navigation/DashboardLayout/DashboardLayout.scss +91 -0
- package/src/v2/navigation/DashboardLayout/DashboardLayout.stories.tsx +370 -0
- package/src/v2/navigation/DashboardLayout/DashboardLayout.tsx +233 -0
- package/src/v2/navigation/DashboardLayout/ProviderSidebar.scss +271 -0
- package/src/v2/navigation/DashboardLayout/ProviderSidebar.tsx +266 -0
- package/src/v2/navigation/DashboardLayout/Sidebar.stories.tsx +220 -0
- package/src/v2/navigation/DashboardLayout/TopNavigation.scss +206 -0
- package/src/v2/navigation/DashboardLayout/TopNavigation.tsx +279 -0
- package/src/v2/navigation/DashboardLayout/assets/AdminLogo.png +0 -0
- package/src/v2/navigation/DashboardLayout/assets/BookedLogo_Mark.png +0 -0
- package/src/v2/navigation/DashboardLayout/index.ts +20 -0
- package/src/v2/styles/index.scss +0 -1
- package/src/v2/styles/tokens/_colors.scss +531 -98
- package/dist/v2/components/Colors/Colors.d.ts +0 -21
- package/dist/v2/components/Colors/Colors.d.ts.map +0 -1
- package/dist/v2/components/Colors/index.d.ts +0 -3
- package/dist/v2/components/Colors/index.d.ts.map +0 -1
- package/dist/v2/components/Typography/Typography.d.ts +0 -11
- package/dist/v2/components/Typography/Typography.d.ts.map +0 -1
- package/dist/v2/components/Typography/index.d.ts +0 -3
- package/dist/v2/components/Typography/index.d.ts.map +0 -1
- package/src/v2/components/Colors/Colors.scss +0 -64
- package/src/v2/components/Colors/Colors.stories.tsx +0 -143
- package/src/v2/components/Colors/Colors.tsx +0 -51
- package/src/v2/components/Colors/ColorsAliases.stories.tsx +0 -285
- package/src/v2/components/Colors/Sizes.stories.tsx +0 -141
- package/src/v2/components/Colors/index.ts +0 -2
- package/src/v2/components/Typography/Typography.scss +0 -72
- package/src/v2/components/Typography/Typography.stories.tsx +0 -266
- package/src/v2/components/Typography/Typography.tsx +0 -56
- package/src/v2/components/Typography/index.ts +0 -2
- package/src/v2/styles/tokens/_aliases.scss +0 -199
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
import { Meta, StoryObj } from '@storybook/react'
|
|
2
|
-
import React from 'react'
|
|
3
|
-
|
|
4
|
-
export default {
|
|
5
|
-
title: 'v2/Design System/Size Tokens',
|
|
6
|
-
parameters: {
|
|
7
|
-
layout: 'padded',
|
|
8
|
-
},
|
|
9
|
-
} as Meta
|
|
10
|
-
|
|
11
|
-
type Story = StoryObj
|
|
12
|
-
|
|
13
|
-
export const Radius: Story = {
|
|
14
|
-
render: () => (
|
|
15
|
-
<div>
|
|
16
|
-
<h2>Radius Tokens - Border Radius</h2>
|
|
17
|
-
<div style={{ display: 'flex', flexDirection: 'column', gap: '16px', marginTop: '24px' }}>
|
|
18
|
-
<div style={{ display: 'flex', alignItems: 'center', gap: '24px' }}>
|
|
19
|
-
<div style={{ fontFamily: 'Geist Mono', fontSize: '14px', color: '#121e52', minWidth: '50px' }}>
|
|
20
|
-
zero
|
|
21
|
-
</div>
|
|
22
|
-
<div style={{ width: '41px', height: '41px', border: '1px solid #e7e8ea', borderRadius: 'var(--radius-zero)', backgroundColor: '#121e52' }} />
|
|
23
|
-
<div style={{ flex: 1 }} />
|
|
24
|
-
<div style={{ fontFamily: 'Geist', fontSize: '16px', color: '#121e52', textAlign: 'right' }}>0px</div>
|
|
25
|
-
</div>
|
|
26
|
-
|
|
27
|
-
<div style={{ display: 'flex', alignItems: 'center', gap: '24px' }}>
|
|
28
|
-
<div style={{ fontFamily: 'Geist Mono', fontSize: '14px', color: '#121e52', minWidth: '50px' }}>
|
|
29
|
-
xs
|
|
30
|
-
</div>
|
|
31
|
-
<div style={{ width: '41px', height: '41px', border: '1px solid #e7e8ea', borderRadius: 'var(--radius-xs)', backgroundColor: '#121e52' }} />
|
|
32
|
-
<div style={{ flex: 1 }} />
|
|
33
|
-
<div style={{ fontFamily: 'Geist', fontSize: '16px', color: '#121e52', textAlign: 'right' }}>1px</div>
|
|
34
|
-
</div>
|
|
35
|
-
|
|
36
|
-
<div style={{ display: 'flex', alignItems: 'center', gap: '24px' }}>
|
|
37
|
-
<div style={{ fontFamily: 'Geist Mono', fontSize: '14px', color: '#121e52', minWidth: '50px' }}>
|
|
38
|
-
sm
|
|
39
|
-
</div>
|
|
40
|
-
<div style={{ width: '41px', height: '41px', border: '1px solid #e7e8ea', borderRadius: 'var(--radius-sm)', backgroundColor: '#121e52' }} />
|
|
41
|
-
<div style={{ flex: 1 }} />
|
|
42
|
-
<div style={{ fontFamily: 'Geist', fontSize: '16px', color: '#121e52', textAlign: 'right' }}>2px</div>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
<div style={{ display: 'flex', alignItems: 'center', gap: '24px' }}>
|
|
46
|
-
<div style={{ fontFamily: 'Geist Mono', fontSize: '14px', color: '#121e52', minWidth: '50px' }}>
|
|
47
|
-
md
|
|
48
|
-
</div>
|
|
49
|
-
<div style={{ width: '41px', height: '41px', border: '1px solid #e7e8ea', borderRadius: 'var(--radius-md)', backgroundColor: '#121e52' }} />
|
|
50
|
-
<div style={{ flex: 1 }} />
|
|
51
|
-
<div style={{ fontFamily: 'Geist', fontSize: '16px', color: '#121e52', textAlign: 'right' }}>4px</div>
|
|
52
|
-
</div>
|
|
53
|
-
|
|
54
|
-
<div style={{ display: 'flex', alignItems: 'center', gap: '24px' }}>
|
|
55
|
-
<div style={{ fontFamily: 'Geist Mono', fontSize: '14px', color: '#121e52', minWidth: '50px' }}>
|
|
56
|
-
reg
|
|
57
|
-
</div>
|
|
58
|
-
<div style={{ width: '41px', height: '41px', border: '1px solid #e7e8ea', borderRadius: 'var(--radius-reg)', backgroundColor: '#121e52' }} />
|
|
59
|
-
<div style={{ flex: 1 }} />
|
|
60
|
-
<div style={{ fontFamily: 'Geist', fontSize: '16px', color: '#121e52', textAlign: 'right' }}>8px</div>
|
|
61
|
-
</div>
|
|
62
|
-
|
|
63
|
-
<div style={{ display: 'flex', alignItems: 'center', gap: '24px' }}>
|
|
64
|
-
<div style={{ fontFamily: 'Geist Mono', fontSize: '14px', color: '#121e52', minWidth: '50px' }}>
|
|
65
|
-
lg
|
|
66
|
-
</div>
|
|
67
|
-
<div style={{ width: '41px', height: '41px', border: '1px solid #e7e8ea', borderRadius: 'var(--radius-lg)', backgroundColor: '#121e52' }} />
|
|
68
|
-
<div style={{ flex: 1 }} />
|
|
69
|
-
<div style={{ fontFamily: 'Geist', fontSize: '16px', color: '#121e52', textAlign: 'right' }}>16px</div>
|
|
70
|
-
</div>
|
|
71
|
-
|
|
72
|
-
<div style={{ display: 'flex', alignItems: 'center', gap: '24px' }}>
|
|
73
|
-
<div style={{ fontFamily: 'Geist Mono', fontSize: '14px', color: '#121e52', minWidth: '50px' }}>
|
|
74
|
-
xl
|
|
75
|
-
</div>
|
|
76
|
-
<div style={{ width: '41px', height: '41px', border: '1px solid #e7e8ea', borderRadius: 'var(--radius-xl)', backgroundColor: '#121e52' }} />
|
|
77
|
-
<div style={{ flex: 1 }} />
|
|
78
|
-
<div style={{ fontFamily: 'Geist', fontSize: '16px', color: '#121e52', textAlign: 'right' }}>24px</div>
|
|
79
|
-
</div>
|
|
80
|
-
</div>
|
|
81
|
-
</div>
|
|
82
|
-
),
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
export const Spacing: Story = {
|
|
86
|
-
render: () => (
|
|
87
|
-
<div>
|
|
88
|
-
<h2>Spacing Tokens</h2>
|
|
89
|
-
<div style={{ display: 'flex', flexDirection: 'column', gap: '16px', marginTop: '24px' }}>
|
|
90
|
-
{[
|
|
91
|
-
{ token: 'zero', value: '0px' },
|
|
92
|
-
{ token: 'xxs', value: '1px' },
|
|
93
|
-
{ token: 'xs', value: '2px' },
|
|
94
|
-
{ token: 'sm', value: '4px' },
|
|
95
|
-
{ token: 'md', value: '8px' },
|
|
96
|
-
{ token: 'reg', value: '16px' },
|
|
97
|
-
{ token: 'lg', value: '24px' },
|
|
98
|
-
{ token: 'xl', value: '32px' },
|
|
99
|
-
{ token: 'xxl', value: '64px' },
|
|
100
|
-
{ token: 'super', value: '128px' },
|
|
101
|
-
].map(({ token, value }) => (
|
|
102
|
-
<div key={token} style={{ display: 'flex', alignItems: 'center', gap: '24px' }}>
|
|
103
|
-
<div style={{ fontFamily: 'Geist Mono', fontSize: '14px', color: '#121e52', minWidth: '80px' }}>
|
|
104
|
-
{token}
|
|
105
|
-
</div>
|
|
106
|
-
<div style={{ flex: 1, display: 'flex', alignItems: 'center' }}>
|
|
107
|
-
<div style={{ width: '32px', height: '32px', backgroundColor: '#121e52', borderRadius: '4px' }} />
|
|
108
|
-
<div style={{ height: '32px', backgroundColor: '#1f9ab5', opacity: 0.4, width: value, borderLeft: '1px solid #71e6ff', borderRight: '1px solid #71e6ff' }} />
|
|
109
|
-
<div style={{ width: '32px', height: '32px', backgroundColor: '#121e52', borderRadius: '4px' }} />
|
|
110
|
-
</div>
|
|
111
|
-
<div style={{ fontFamily: 'Geist', fontSize: '16px', color: '#121e52', textAlign: 'right', minWidth: '60px' }}>{value}</div>
|
|
112
|
-
</div>
|
|
113
|
-
))}
|
|
114
|
-
</div>
|
|
115
|
-
</div>
|
|
116
|
-
),
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
export const Opacity: Story = {
|
|
120
|
-
render: () => (
|
|
121
|
-
<div>
|
|
122
|
-
<h2>Opacity Tokens</h2>
|
|
123
|
-
<div style={{ display: 'grid', gridTemplateColumns: 'repeat(auto-fill, minmax(150px, 1fr))', gap: '16px', marginTop: '24px' }}>
|
|
124
|
-
{[100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 0].map((opacity) => (
|
|
125
|
-
<div key={opacity} style={{ textAlign: 'center' }}>
|
|
126
|
-
<div style={{ width: '94px', height: '94px', backgroundColor: '#121e52', opacity: `var(--opacity-${opacity})`, border: '1px solid #e8e9ef', borderRadius: '47px', margin: '0 auto 16px' }} />
|
|
127
|
-
<div style={{ fontFamily: 'Geist', fontSize: '15px', fontWeight: 600, color: '#121e52', marginBottom: '8px' }}>
|
|
128
|
-
{opacity}%
|
|
129
|
-
</div>
|
|
130
|
-
<div style={{ fontFamily: 'Geist Mono', fontSize: '14px', color: '#121e52', backgroundColor: '#e8e9ef', padding: '4px 8px', borderRadius: '4px', display: 'inline-block' }}>
|
|
131
|
-
{opacity}
|
|
132
|
-
</div>
|
|
133
|
-
</div>
|
|
134
|
-
))}
|
|
135
|
-
</div>
|
|
136
|
-
<p style={{ marginTop: '24px', fontFamily: 'Geist', fontSize: '18px', color: '#121e52' }}>
|
|
137
|
-
We can interpolate for more refined opacities between the bands eg: 23% = 23 token value.
|
|
138
|
-
</p>
|
|
139
|
-
</div>
|
|
140
|
-
),
|
|
141
|
-
}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
@import '../../styles/tokens/typography';
|
|
2
|
-
|
|
3
|
-
.typography {
|
|
4
|
-
margin: 0;
|
|
5
|
-
padding: 0;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
// Heading styles
|
|
9
|
-
.typography-heading-xxl {
|
|
10
|
-
@include typography('heading.xxl');
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
.typography-heading-xl {
|
|
14
|
-
@include typography('heading.xl');
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.typography-heading-h1 {
|
|
18
|
-
@include typography('heading.h1');
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.typography-heading-h2 {
|
|
22
|
-
@include typography('heading.h2');
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.typography-heading-h3 {
|
|
26
|
-
@include typography('heading.h3');
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.typography-heading-h4 {
|
|
30
|
-
@include typography('heading.h4');
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.typography-heading-h5 {
|
|
34
|
-
@include typography('heading.h5');
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.typography-heading-h6 {
|
|
38
|
-
@include typography('heading.h6');
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
// Body text styles
|
|
42
|
-
.typography-text-xl {
|
|
43
|
-
@include typography('text.xl');
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
.typography-text-large {
|
|
47
|
-
@include typography('text.large');
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
.typography-text-regular {
|
|
51
|
-
@include typography('text.regular');
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
.typography-text-small {
|
|
55
|
-
@include typography('text.small');
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
.typography-text-small-emphasis {
|
|
59
|
-
@include typography('text.small.emphasis');
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
.typography-text-small-bold {
|
|
63
|
-
@include typography('text.small.bold');
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
.typography-text-xs {
|
|
67
|
-
@include typography('text.xs');
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
.typography-text-xs-bold {
|
|
71
|
-
@include typography('text.xs.bold');
|
|
72
|
-
}
|
|
@@ -1,266 +0,0 @@
|
|
|
1
|
-
import { Meta, StoryObj } from '@storybook/react'
|
|
2
|
-
import React from 'react'
|
|
3
|
-
import { Typography } from './Typography'
|
|
4
|
-
|
|
5
|
-
export default {
|
|
6
|
-
title: 'v2/Design System/Typography',
|
|
7
|
-
component: Typography,
|
|
8
|
-
argTypes: {
|
|
9
|
-
variant: {
|
|
10
|
-
control: 'select',
|
|
11
|
-
options: [
|
|
12
|
-
'heading.xxl',
|
|
13
|
-
'heading.xl',
|
|
14
|
-
'heading.h1',
|
|
15
|
-
'heading.h2',
|
|
16
|
-
'heading.h3',
|
|
17
|
-
'heading.h4',
|
|
18
|
-
'heading.h5',
|
|
19
|
-
'heading.h6',
|
|
20
|
-
'text.xl',
|
|
21
|
-
'text.large',
|
|
22
|
-
'text.regular',
|
|
23
|
-
'text.small',
|
|
24
|
-
'text.small.emphasis',
|
|
25
|
-
'text.small.bold',
|
|
26
|
-
'text.xs',
|
|
27
|
-
'text.xs.bold'
|
|
28
|
-
],
|
|
29
|
-
description: 'Typography variant to apply',
|
|
30
|
-
},
|
|
31
|
-
as: {
|
|
32
|
-
control: 'select',
|
|
33
|
-
options: ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'span', 'div'],
|
|
34
|
-
description: 'HTML element to render as',
|
|
35
|
-
},
|
|
36
|
-
color: {
|
|
37
|
-
control: 'color',
|
|
38
|
-
description: 'Custom text color',
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
parameters: {
|
|
42
|
-
layout: 'padded',
|
|
43
|
-
},
|
|
44
|
-
} as Meta
|
|
45
|
-
|
|
46
|
-
type Story = StoryObj<typeof Typography>
|
|
47
|
-
|
|
48
|
-
// Headings
|
|
49
|
-
export const HeadingXXL: Story = {
|
|
50
|
-
args: {
|
|
51
|
-
variant: 'heading.xxl',
|
|
52
|
-
children: 'The all-in-one booking platform for Leisure and Hospitality Venues',
|
|
53
|
-
as: 'h1',
|
|
54
|
-
},
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export const HeadingXL: Story = {
|
|
58
|
-
args: {
|
|
59
|
-
variant: 'heading.xl',
|
|
60
|
-
children: 'Extra Large Heading',
|
|
61
|
-
as: 'h1',
|
|
62
|
-
},
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
export const HeadingH1: Story = {
|
|
66
|
-
args: {
|
|
67
|
-
variant: 'heading.h1',
|
|
68
|
-
children: 'H1 - Large Heading',
|
|
69
|
-
as: 'h1',
|
|
70
|
-
},
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export const HeadingH2: Story = {
|
|
74
|
-
args: {
|
|
75
|
-
variant: 'heading.h2',
|
|
76
|
-
children: 'H2 - Heading',
|
|
77
|
-
as: 'h2',
|
|
78
|
-
},
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
export const HeadingH3: Story = {
|
|
82
|
-
args: {
|
|
83
|
-
variant: 'heading.h3',
|
|
84
|
-
children: 'H3 - Heading',
|
|
85
|
-
as: 'h3',
|
|
86
|
-
},
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
export const HeadingH4: Story = {
|
|
90
|
-
args: {
|
|
91
|
-
variant: 'heading.h4',
|
|
92
|
-
children: 'H4 - Heading',
|
|
93
|
-
as: 'h4',
|
|
94
|
-
},
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
export const HeadingH5: Story = {
|
|
98
|
-
args: {
|
|
99
|
-
variant: 'heading.h5',
|
|
100
|
-
children: 'H5 - Small Heading',
|
|
101
|
-
as: 'h5',
|
|
102
|
-
},
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
export const HeadingH6: Story = {
|
|
106
|
-
args: {
|
|
107
|
-
variant: 'heading.h6',
|
|
108
|
-
children: 'H6 - XS Heading',
|
|
109
|
-
as: 'h6',
|
|
110
|
-
},
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
// Body Text
|
|
114
|
-
export const BodyTextXL: Story = {
|
|
115
|
-
args: {
|
|
116
|
-
variant: 'text.xl',
|
|
117
|
-
children: 'This is extra large body copy text. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Maecenas faucibus mollis interdum.',
|
|
118
|
-
as: 'p',
|
|
119
|
-
},
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
export const BodyTextLarge: Story = {
|
|
123
|
-
args: {
|
|
124
|
-
variant: 'text.large',
|
|
125
|
-
children: 'This is large body copy text. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Maecenas faucibus mollis interdum. Sed posuere consectetur est at lobortis.',
|
|
126
|
-
as: 'p',
|
|
127
|
-
},
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
export const BodyTextRegular: Story = {
|
|
131
|
-
args: {
|
|
132
|
-
variant: 'text.regular',
|
|
133
|
-
children: 'This is regular body copy text. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Maecenas faucibus mollis interdum. Sed posuere consectetur est at lobortis. Donec ullamcorper nulla non metus auctor fringilla.',
|
|
134
|
-
as: 'p',
|
|
135
|
-
},
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
export const BodyTextSmall: Story = {
|
|
139
|
-
args: {
|
|
140
|
-
variant: 'text.small',
|
|
141
|
-
children: 'This is small body copy text. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Maecenas faucibus mollis interdum.',
|
|
142
|
-
as: 'p',
|
|
143
|
-
},
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
export const BodyTextSmallEmphasis: Story = {
|
|
147
|
-
args: {
|
|
148
|
-
variant: 'text.small.emphasis',
|
|
149
|
-
children: 'This is small body copy text with emphasis. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.',
|
|
150
|
-
as: 'p',
|
|
151
|
-
},
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
export const BodyTextSmallBold: Story = {
|
|
155
|
-
args: {
|
|
156
|
-
variant: 'text.small.bold',
|
|
157
|
-
children: 'This is small body copy text in bold. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.',
|
|
158
|
-
as: 'p',
|
|
159
|
-
},
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
export const BodyTextXS: Story = {
|
|
163
|
-
args: {
|
|
164
|
-
variant: 'text.xs',
|
|
165
|
-
children: 'This is extra small body copy text. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.',
|
|
166
|
-
as: 'p',
|
|
167
|
-
},
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
export const BodyTextXSBold: Story = {
|
|
171
|
-
args: {
|
|
172
|
-
variant: 'text.xs.bold',
|
|
173
|
-
children: 'This is extra small body copy text in bold. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.',
|
|
174
|
-
as: 'p',
|
|
175
|
-
},
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
// Showcase all variations
|
|
179
|
-
export const AllHeadingVariations: Story = {
|
|
180
|
-
render: () => (
|
|
181
|
-
<div style={{ display: 'flex', flexDirection: 'column', gap: '24px' }}>
|
|
182
|
-
<Typography variant="heading.xxl" as="h1">
|
|
183
|
-
XXL Heading
|
|
184
|
-
</Typography>
|
|
185
|
-
<Typography variant="heading.xl" as="h1">
|
|
186
|
-
XL Heading
|
|
187
|
-
</Typography>
|
|
188
|
-
<Typography variant="heading.h1" as="h1">
|
|
189
|
-
H1 - Large Heading
|
|
190
|
-
</Typography>
|
|
191
|
-
<Typography variant="heading.h2" as="h2">
|
|
192
|
-
H2 - Heading
|
|
193
|
-
</Typography>
|
|
194
|
-
<Typography variant="heading.h3" as="h3">
|
|
195
|
-
H3 - Heading
|
|
196
|
-
</Typography>
|
|
197
|
-
<Typography variant="heading.h4" as="h4">
|
|
198
|
-
H4 - Heading
|
|
199
|
-
</Typography>
|
|
200
|
-
<Typography variant="heading.h5" as="h5">
|
|
201
|
-
H5 - Small Heading
|
|
202
|
-
</Typography>
|
|
203
|
-
<Typography variant="heading.h6" as="h6">
|
|
204
|
-
H6 - XS Heading
|
|
205
|
-
</Typography>
|
|
206
|
-
</div>
|
|
207
|
-
),
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
export const AllBodyVariations: Story = {
|
|
211
|
-
render: () => (
|
|
212
|
-
<div style={{ display: 'flex', flexDirection: 'column', gap: '16px' }}>
|
|
213
|
-
<Typography variant="text.xl" as="p">
|
|
214
|
-
Extra large body copy text
|
|
215
|
-
</Typography>
|
|
216
|
-
<Typography variant="text.large" as="p">
|
|
217
|
-
Large body copy text
|
|
218
|
-
</Typography>
|
|
219
|
-
<Typography variant="text.regular" as="p">
|
|
220
|
-
Regular body copy text
|
|
221
|
-
</Typography>
|
|
222
|
-
<Typography variant="text.small" as="p">
|
|
223
|
-
Small body copy text
|
|
224
|
-
</Typography>
|
|
225
|
-
<Typography variant="text.small.emphasis" as="p">
|
|
226
|
-
Small body copy text with emphasis
|
|
227
|
-
</Typography>
|
|
228
|
-
<Typography variant="text.small.bold" as="p">
|
|
229
|
-
Small body copy text in bold
|
|
230
|
-
</Typography>
|
|
231
|
-
<Typography variant="text.xs" as="p">
|
|
232
|
-
Extra small body copy text
|
|
233
|
-
</Typography>
|
|
234
|
-
<Typography variant="text.xs.bold" as="p">
|
|
235
|
-
Extra small body copy text in bold
|
|
236
|
-
</Typography>
|
|
237
|
-
</div>
|
|
238
|
-
),
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
// Usage examples
|
|
242
|
-
export const UsageExample: Story = {
|
|
243
|
-
render: () => (
|
|
244
|
-
<div style={{ padding: '24px' }}>
|
|
245
|
-
<Typography variant="heading.h1" as="h1">
|
|
246
|
-
Page Title
|
|
247
|
-
</Typography>
|
|
248
|
-
<Typography variant="text.regular" as="p" className="mt-3">
|
|
249
|
-
This is regular body text that flows naturally below the heading.
|
|
250
|
-
</Typography>
|
|
251
|
-
<Typography variant="heading.h2" as="h2" className="mt-8">
|
|
252
|
-
Section Heading
|
|
253
|
-
</Typography>
|
|
254
|
-
<Typography variant="text.regular" as="p" className="mt-3">
|
|
255
|
-
This is another paragraph of regular text that provides additional context
|
|
256
|
-
and details for the section above.
|
|
257
|
-
</Typography>
|
|
258
|
-
<Typography variant="heading.h4" as="h4" className="mt-6">
|
|
259
|
-
Subsection
|
|
260
|
-
</Typography>
|
|
261
|
-
<Typography variant="text.small" as="p" className="mt-2">
|
|
262
|
-
This is small text used for less prominent information.
|
|
263
|
-
</Typography>
|
|
264
|
-
</div>
|
|
265
|
-
),
|
|
266
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
|
|
3
|
-
export type TypographyVariant =
|
|
4
|
-
| 'heading.xxl'
|
|
5
|
-
| 'heading.xl'
|
|
6
|
-
| 'heading.h1'
|
|
7
|
-
| 'heading.h2'
|
|
8
|
-
| 'heading.h3'
|
|
9
|
-
| 'heading.h4'
|
|
10
|
-
| 'heading.h5'
|
|
11
|
-
| 'heading.h6'
|
|
12
|
-
| 'text.xl'
|
|
13
|
-
| 'text.large'
|
|
14
|
-
| 'text.regular'
|
|
15
|
-
| 'text.small'
|
|
16
|
-
| 'text.small.emphasis'
|
|
17
|
-
| 'text.small.bold'
|
|
18
|
-
| 'text.xs'
|
|
19
|
-
| 'text.xs.bold'
|
|
20
|
-
|
|
21
|
-
export interface TypographyProps {
|
|
22
|
-
variant?: TypographyVariant
|
|
23
|
-
className?: string
|
|
24
|
-
children: React.ReactNode
|
|
25
|
-
as?: keyof JSX.IntrinsicElements
|
|
26
|
-
color?: string
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export const Typography: React.FC<TypographyProps> = ({
|
|
30
|
-
variant = 'text.regular',
|
|
31
|
-
className = '',
|
|
32
|
-
children,
|
|
33
|
-
as = 'p',
|
|
34
|
-
color
|
|
35
|
-
}) => {
|
|
36
|
-
const Component = as
|
|
37
|
-
|
|
38
|
-
const getTypographyClass = (variant: TypographyVariant): string => {
|
|
39
|
-
const baseClass = `typography-${variant.replace(/\./g, '-')}`
|
|
40
|
-
return baseClass
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
const classes = [
|
|
44
|
-
'typography',
|
|
45
|
-
getTypographyClass(variant),
|
|
46
|
-
className
|
|
47
|
-
].filter(Boolean).join(' ')
|
|
48
|
-
|
|
49
|
-
const style = color ? { color } : {}
|
|
50
|
-
|
|
51
|
-
return (
|
|
52
|
-
<Component className={classes} style={style}>
|
|
53
|
-
{children}
|
|
54
|
-
</Component>
|
|
55
|
-
)
|
|
56
|
-
}
|