@licklist/design 0.78.5-dev.57 → 0.78.5-dev.59
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/Maintenance/MaintenancePage.js +1 -0
- package/dist/index.js +3 -1
- package/dist/v2/components/ActionMenu/ActionMenu.d.ts.map +1 -1
- package/dist/v2/components/ActionMenu/ActionMenu.js +60 -8
- package/dist/v2/components/ActionMenu/ActionMenu.scss.js +1 -1
- package/dist/v2/components/Alert/Alert.d.ts.map +1 -1
- package/dist/v2/components/Alert/Alert.js +48 -1
- package/dist/v2/components/Alert/Alert.scss.js +1 -1
- package/dist/v2/components/Badge/Badge.d.ts.map +1 -1
- package/dist/v2/components/Badge/Badge.js +1 -1
- package/dist/v2/components/Badge/Badge.scss.js +1 -1
- package/dist/v2/components/Button/Button.d.ts +1 -1
- package/dist/v2/components/Button/Button.d.ts.map +1 -1
- package/dist/v2/components/Button/Button.js +1 -0
- package/dist/v2/components/Button/GhostButton.scss.js +1 -1
- package/dist/v2/components/Button/index.d.ts +2 -0
- package/dist/v2/components/Button/index.d.ts.map +1 -1
- package/dist/v2/components/FormField/FormField.d.ts.map +1 -1
- package/dist/v2/components/Modal/DeleteModal.d.ts.map +1 -1
- package/dist/v2/components/Modal/DeleteModal.js +4 -0
- package/dist/v2/components/NPSScore/NPSScore.d.ts +3 -1
- package/dist/v2/components/NPSScore/NPSScore.d.ts.map +1 -1
- package/dist/v2/components/NPSScore/NPSScore.js +4 -7
- package/dist/v2/components/NPSScore/NPSScore.scss.js +1 -1
- package/dist/v2/components/NewInput/NewInput.d.ts.map +1 -1
- package/dist/v2/components/NewInput/NewInput.js +8 -0
- package/dist/v2/components/NewPageHeader/NewPageHeader.d.ts +2 -1
- package/dist/v2/components/NewPageHeader/NewPageHeader.d.ts.map +1 -1
- package/dist/v2/components/NewPageHeader/NewPageHeader.js +3 -2
- package/dist/v2/components/NewPageHeader/NewPageHeader.scss.js +1 -1
- package/dist/v2/components/NewTable/NewTable.d.ts.map +1 -1
- package/dist/v2/components/NewTable/NewTable.js +1 -0
- package/dist/v2/components/NewTable/NewTable.scss.js +1 -1
- package/dist/v2/components/Pagination/Pagination.js +1 -4
- package/dist/v2/components/Pagination/Pagination.scss.js +1 -1
- package/dist/v2/components/QuickFilter/QuickFilter.d.ts.map +1 -1
- package/dist/v2/components/QuickFilter/QuickFilter.js +5 -2
- package/dist/v2/components/QuickFilter/QuickFilter.scss.js +1 -1
- package/dist/v2/components/SectionHeader/SectionHeader.d.ts.map +1 -1
- package/dist/v2/components/TableSortIcon/TableSortIcon.d.ts +9 -0
- package/dist/v2/components/TableSortIcon/TableSortIcon.d.ts.map +1 -0
- package/dist/v2/components/TableSortIcon/TableSortIcon.js +14 -0
- package/dist/v2/components/TableSortIcon/index.d.ts +2 -0
- package/dist/v2/components/TableSortIcon/index.d.ts.map +1 -0
- package/dist/v2/components/WYSIWYGEditor/Icons.js +2 -2
- package/dist/v2/components/index.d.ts +5 -3
- package/dist/v2/components/index.d.ts.map +1 -1
- package/dist/v2/icons/index.d.ts +10 -0
- package/dist/v2/icons/index.d.ts.map +1 -1
- package/dist/v2/icons/index.js +61 -1
- package/dist/v2/pages/Settings/components/SidebarCustomisation.js +2 -3
- package/dist/v2/pages/Settings/components/SidebarNavItem.js +2 -2
- package/package.json +1 -1
- package/src/v2/components/ActionMenu/ActionMenu.scss +22 -5
- package/src/v2/components/ActionMenu/ActionMenu.tsx +53 -5
- package/src/v2/components/Alert/Alert.scss +8 -19
- package/src/v2/components/Alert/Alert.tsx +24 -1
- package/src/v2/components/Badge/Badge.scss +13 -0
- package/src/v2/components/Badge/Badge.tsx +10 -8
- package/src/v2/components/Button/Button.tsx +13 -2
- package/src/v2/components/Button/GhostButton.scss +11 -1
- package/src/v2/components/Button/index.ts +2 -0
- package/src/v2/components/Customer/CustomersList.scss +72 -115
- package/src/v2/components/FormField/FormField.tsx +19 -21
- package/src/v2/components/Modal/DeleteModal.tsx +4 -2
- package/src/v2/components/NPSScore/NPSScore.scss +4 -0
- package/src/v2/components/NPSScore/NPSScore.tsx +6 -7
- package/src/v2/components/NewInput/NewInput.tsx +13 -1
- package/src/v2/components/NewPageHeader/NewPageHeader.scss +8 -5
- package/src/v2/components/NewPageHeader/NewPageHeader.tsx +21 -21
- package/src/v2/components/NewTable/NewTable.scss +17 -1
- package/src/v2/components/NewTable/NewTable.tsx +1 -0
- package/src/v2/components/Pagination/Pagination.scss +18 -18
- package/src/v2/components/Pagination/Pagination.tsx +1 -1
- package/src/v2/components/QuickFilter/QuickFilter.scss +17 -34
- package/src/v2/components/QuickFilter/QuickFilter.tsx +7 -5
- package/src/v2/components/SectionHeader/SectionHeader.tsx +5 -7
- package/src/v2/components/TableSortIcon/TableSortIcon.tsx +20 -0
- package/src/v2/components/TableSortIcon/index.ts +1 -0
- package/src/v2/components/WYSIWYGEditor/Icons.tsx +2 -2
- package/src/v2/components/index.ts +8 -3
- package/src/v2/icons/index.tsx +14 -0
- package/src/v2/pages/Settings/components/SidebarCustomisation.tsx +1 -1
|
@@ -16,10 +16,6 @@
|
|
|
16
16
|
background: var(--surfaces-status-background-success, #eef9ea);
|
|
17
17
|
border-color: var(--borders-status-border-success, #c9ecbd);
|
|
18
18
|
|
|
19
|
-
.alert__icon {
|
|
20
|
-
background-image: url("./assets/success-icon.svg");
|
|
21
|
-
}
|
|
22
|
-
|
|
23
19
|
.alert__dismiss svg path {
|
|
24
20
|
stroke: var(--fills-status-fill-success, #2d6b18);
|
|
25
21
|
}
|
|
@@ -29,10 +25,6 @@
|
|
|
29
25
|
background: var(--surfaces-status-background-error, #fceceb);
|
|
30
26
|
border-color: var(--borders-status-border-error, #f5c4c2);
|
|
31
27
|
|
|
32
|
-
.alert__icon {
|
|
33
|
-
background-image: url("./assets/error-icon.svg");
|
|
34
|
-
}
|
|
35
|
-
|
|
36
28
|
.alert__dismiss svg path {
|
|
37
29
|
stroke: var(--fills-status-fill-error, #cc3c35);
|
|
38
30
|
}
|
|
@@ -42,10 +34,6 @@
|
|
|
42
34
|
background: var(--surfaces-status-background-alert, #fcf6e7);
|
|
43
35
|
border-color: var(--borders-status-border-alert, #f6e3b4);
|
|
44
36
|
|
|
45
|
-
.alert__icon {
|
|
46
|
-
background-image: url("./assets/alert-icon.svg");
|
|
47
|
-
}
|
|
48
|
-
|
|
49
37
|
.alert__dismiss svg path {
|
|
50
38
|
stroke: var(--fills-status-fill-alert, #fd7e14);
|
|
51
39
|
}
|
|
@@ -55,10 +43,6 @@
|
|
|
55
43
|
background: var(--surfaces-status-background-info, #e7f4fc);
|
|
56
44
|
border-color: var(--borders-status-border-info, #b4dbf6);
|
|
57
45
|
|
|
58
|
-
.alert__icon {
|
|
59
|
-
background-image: url("./assets/info-icon.svg");
|
|
60
|
-
}
|
|
61
|
-
|
|
62
46
|
.alert__dismiss svg path {
|
|
63
47
|
stroke: var(--fills-status-fill-info, #0e8ce2);
|
|
64
48
|
}
|
|
@@ -78,10 +62,15 @@
|
|
|
78
62
|
flex-shrink: 0;
|
|
79
63
|
width: 32px;
|
|
80
64
|
height: 32px;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
65
|
+
display: flex;
|
|
66
|
+
align-items: center;
|
|
67
|
+
justify-content: center;
|
|
84
68
|
position: relative;
|
|
69
|
+
|
|
70
|
+
svg {
|
|
71
|
+
width: 18px;
|
|
72
|
+
height: 18px;
|
|
73
|
+
}
|
|
85
74
|
}
|
|
86
75
|
|
|
87
76
|
&__details {
|
|
@@ -3,6 +3,29 @@ import './Alert.scss';
|
|
|
3
3
|
|
|
4
4
|
export type AlertVariant = 'success' | 'error' | 'alert' | 'info';
|
|
5
5
|
|
|
6
|
+
const variantIcons: Record<AlertVariant, React.ReactNode> = {
|
|
7
|
+
success: (
|
|
8
|
+
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
9
|
+
<path d="M9 0C13.9706 0 18 4.02944 18 9C18 13.9706 13.9706 18 9 18C4.02944 18 0 13.9706 0 9C0 4.02944 4.02944 0 9 0ZM7.44629 10.6055L5.72168 8.80762L4.27832 10.1924L7.35254 13.3945L14.6729 6.74023L13.3271 5.25977L7.44629 10.6055Z" fill="var(--fills-status-fill-success, #2D6B18)"/>
|
|
10
|
+
</svg>
|
|
11
|
+
),
|
|
12
|
+
error: (
|
|
13
|
+
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
14
|
+
<path d="M9 0C13.9706 0 18 4.02944 18 9C18 13.9706 13.9706 18 9 18C4.02944 18 0 13.9706 0 9C0 4.02944 4.02944 0 9 0ZM9 12.5C8.44772 12.5 8 12.9477 8 13.5C8 14.0523 8.44772 14.5 9 14.5C9.55228 14.5 10 14.0523 10 13.5C10 12.9477 9.55228 12.5 9 12.5ZM9 3.5C8.44772 3.5 8 3.94772 8 4.5V10.5C8 11.0523 8.44772 11.5 9 11.5C9.55228 11.5 10 11.0523 10 10.5V4.5C10 3.94772 9.55228 3.5 9 3.5Z" fill="var(--fills-status-fill-error, #CC3C35)"/>
|
|
15
|
+
</svg>
|
|
16
|
+
),
|
|
17
|
+
alert: (
|
|
18
|
+
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
19
|
+
<path d="M9 0C13.9706 0 18 4.02944 18 9C18 13.9706 13.9706 18 9 18C4.02944 18 0 13.9706 0 9C0 4.02944 4.02944 0 9 0ZM9 12.5C8.44772 12.5 8 12.9477 8 13.5C8 14.0523 8.44772 14.5 9 14.5C9.55228 14.5 10 14.0523 10 13.5C10 12.9477 9.55228 12.5 9 12.5ZM9 3.5C8.44772 3.5 8 3.94772 8 4.5V10.5C8 11.0523 8.44772 11.5 9 11.5C9.55228 11.5 10 11.0523 10 10.5V4.5C10 3.94772 9.55228 3.5 9 3.5Z" fill="var(--fills-status-fill-alert, #FD7E14)"/>
|
|
20
|
+
</svg>
|
|
21
|
+
),
|
|
22
|
+
info: (
|
|
23
|
+
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
24
|
+
<path d="M9 0C13.9706 0 18 4.02944 18 9C18 13.9706 13.9706 18 9 18C4.02944 18 0 13.9706 0 9C0 4.02944 4.02944 0 9 0ZM9 7.5C8.44772 7.5 8 7.94772 8 8.5V13.5C8 14.0523 8.44772 14.5 9 14.5C9.55228 14.5 10 14.0523 10 13.5V8.5C10 7.94772 9.55228 7.5 9 7.5ZM9 3.5C8.44772 3.5 8 3.94772 8 4.5C8 5.05228 8.44772 5.5 9 5.5C9.55228 5.5 10 5.05228 10 4.5C10 3.94772 9.55228 3.5 9 3.5Z" fill="var(--fills-status-fill-info, #0E8CE2)"/>
|
|
25
|
+
</svg>
|
|
26
|
+
),
|
|
27
|
+
};
|
|
28
|
+
|
|
6
29
|
export interface AlertProps {
|
|
7
30
|
variant: AlertVariant;
|
|
8
31
|
title: string;
|
|
@@ -30,7 +53,7 @@ export const Alert: React.FC<AlertProps> = ({
|
|
|
30
53
|
<div className={`alert alert--${variant} ${className || ''}`}>
|
|
31
54
|
<div className="alert__content">
|
|
32
55
|
<div className="alert__icon">
|
|
33
|
-
{
|
|
56
|
+
{variantIcons[variant]}
|
|
34
57
|
</div>
|
|
35
58
|
<div className="alert__details">
|
|
36
59
|
<div className="alert__information">
|
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
justify-content: center;
|
|
5
5
|
padding: 2px 12px;
|
|
6
6
|
border-radius: 100px;
|
|
7
|
+
|
|
8
|
+
&--with-icon {
|
|
9
|
+
padding-left: 8px;
|
|
10
|
+
}
|
|
11
|
+
font-family: var(--font-family-mono, 'Geist Mono', monospace);
|
|
7
12
|
font-size: var(--text-small-size, 13px);
|
|
8
13
|
font-weight: 500;
|
|
9
14
|
line-height: 1.2;
|
|
@@ -57,6 +62,10 @@
|
|
|
57
62
|
.new-badge {
|
|
58
63
|
padding: 1px 10px;
|
|
59
64
|
font-size: 12px;
|
|
65
|
+
|
|
66
|
+
&--with-icon {
|
|
67
|
+
padding-left: 6px;
|
|
68
|
+
}
|
|
60
69
|
}
|
|
61
70
|
}
|
|
62
71
|
|
|
@@ -64,6 +73,10 @@
|
|
|
64
73
|
.new-badge {
|
|
65
74
|
padding: 1px 8px;
|
|
66
75
|
font-size: 11px;
|
|
76
|
+
|
|
77
|
+
&--with-icon {
|
|
78
|
+
padding-left: 4px;
|
|
79
|
+
}
|
|
67
80
|
}
|
|
68
81
|
}
|
|
69
82
|
|
|
@@ -13,11 +13,13 @@ export const Badge: React.FC<BadgeProps> = ({
|
|
|
13
13
|
variant = 'neutral',
|
|
14
14
|
className = '',
|
|
15
15
|
icon,
|
|
16
|
-
}) =>
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
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
|
+
)
|
|
@@ -2,14 +2,24 @@ import { ButtonHTMLAttributes } from 'react'
|
|
|
2
2
|
import './Button.scss'
|
|
3
3
|
|
|
4
4
|
export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
5
|
-
variant?:
|
|
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'
|
|
7
17
|
isLoading?: boolean
|
|
8
18
|
}
|
|
9
19
|
|
|
10
20
|
export function Button({
|
|
11
21
|
variant = 'primary',
|
|
12
|
-
size = 'md',
|
|
22
|
+
size: _size = 'md',
|
|
13
23
|
disabled = false,
|
|
14
24
|
isLoading = false,
|
|
15
25
|
className = '',
|
|
@@ -29,6 +39,7 @@ export function Button({
|
|
|
29
39
|
|
|
30
40
|
return (
|
|
31
41
|
<button
|
|
42
|
+
type="button"
|
|
32
43
|
className={classes}
|
|
33
44
|
disabled={disabled || isLoading}
|
|
34
45
|
{...props}
|
|
@@ -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,15 +1,12 @@
|
|
|
1
1
|
.waivers-page {
|
|
2
|
-
padding:
|
|
2
|
+
padding: 0;
|
|
3
3
|
background-color: #FFFFFF;
|
|
4
4
|
min-height: 100vh;
|
|
5
5
|
font-family: var(--font-family-sans, 'Geist', sans-serif);
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
&__header {
|
|
9
|
-
display:
|
|
10
|
-
justify-content: space-between;
|
|
11
|
-
align-items: center;
|
|
12
|
-
margin: 20px 0 20px;
|
|
9
|
+
display: none !important;
|
|
13
10
|
}
|
|
14
11
|
|
|
15
12
|
&__tabs-container {
|
|
@@ -17,7 +14,10 @@
|
|
|
17
14
|
justify-content: space-between;
|
|
18
15
|
align-items: center;
|
|
19
16
|
border-bottom: 1px solid #E8E9EF;
|
|
20
|
-
|
|
17
|
+
margin-bottom: 32px;
|
|
18
|
+
margin-left: 32px;
|
|
19
|
+
margin-right: 32px;
|
|
20
|
+
padding: 0;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
&__title-row {
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
text-decoration: none;
|
|
45
45
|
visibility: visible !important;
|
|
46
46
|
opacity: 1 !important;
|
|
47
|
+
padding-right: 0;
|
|
47
48
|
|
|
48
49
|
&:hover {
|
|
49
50
|
text-decoration: none;
|
|
@@ -59,6 +60,7 @@
|
|
|
59
60
|
&__tabs {
|
|
60
61
|
display: flex;
|
|
61
62
|
gap: 24px;
|
|
63
|
+
padding: 0;
|
|
62
64
|
}
|
|
63
65
|
|
|
64
66
|
&__tab {
|
|
@@ -95,6 +97,7 @@
|
|
|
95
97
|
display: flex;
|
|
96
98
|
flex-direction: column;
|
|
97
99
|
gap: 32px;
|
|
100
|
+
padding: 0 32px 32px;
|
|
98
101
|
}
|
|
99
102
|
|
|
100
103
|
.filter-section {
|
|
@@ -134,47 +137,10 @@
|
|
|
134
137
|
|
|
135
138
|
.action-buttons {
|
|
136
139
|
display: flex;
|
|
137
|
-
gap:
|
|
140
|
+
gap: 12px;
|
|
138
141
|
align-items: center;
|
|
139
142
|
}
|
|
140
143
|
|
|
141
|
-
.action-btn {
|
|
142
|
-
padding: 0 16px;
|
|
143
|
-
border: 1px solid var(--border-primary, #E8E9EF);
|
|
144
|
-
background: #FFFFFF;
|
|
145
|
-
transition: all 0.2s ease;
|
|
146
|
-
height: 44px;
|
|
147
|
-
border-radius: 8px;
|
|
148
|
-
|
|
149
|
-
&--secondary-soft {
|
|
150
|
-
background: var(--surface-action-soft, #EFE6FD);
|
|
151
|
-
border: none;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
&--tertiary-soft {
|
|
155
|
-
background: #FFFFFF;
|
|
156
|
-
border: 1px solid var(--border-primary, #E8E9EF);
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
&:hover {
|
|
160
|
-
background-color: var(--surface-tertiary, #F0F0F5);
|
|
161
|
-
border-color: var(--border-primary, #E8E9EF);
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
.new-button__text {
|
|
165
|
-
font-family: var(--font-family-sans, 'Geist', sans-serif);
|
|
166
|
-
font-size: 14px;
|
|
167
|
-
font-weight: 500;
|
|
168
|
-
color: #121E52;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
svg {
|
|
172
|
-
width: 32px;
|
|
173
|
-
height: 32px;
|
|
174
|
-
flex-shrink: 0;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
|
|
178
144
|
&__row {
|
|
179
145
|
display: flex;
|
|
180
146
|
gap: 24px;
|
|
@@ -191,12 +157,12 @@
|
|
|
191
157
|
}
|
|
192
158
|
|
|
193
159
|
// Cells styling (usually specific to the table in this page)
|
|
194
|
-
.
|
|
160
|
+
.entity-cell {
|
|
195
161
|
&__name {
|
|
196
162
|
font-weight: 600;
|
|
197
163
|
color: #121E52;
|
|
198
164
|
}
|
|
199
|
-
&
|
|
165
|
+
&__sub {
|
|
200
166
|
font-size: 13px;
|
|
201
167
|
color: #9399B3;
|
|
202
168
|
}
|
|
@@ -207,10 +173,10 @@
|
|
|
207
173
|
}
|
|
208
174
|
|
|
209
175
|
&:hover {
|
|
210
|
-
.
|
|
176
|
+
.entity-cell__id {
|
|
211
177
|
display: block;
|
|
212
178
|
}
|
|
213
|
-
.
|
|
179
|
+
.entity-cell__sub {
|
|
214
180
|
display: none;
|
|
215
181
|
}
|
|
216
182
|
}
|
|
@@ -325,7 +291,7 @@
|
|
|
325
291
|
.table-section {
|
|
326
292
|
background-color: #FFFFFF;
|
|
327
293
|
border-radius: 8px;
|
|
328
|
-
overflow:
|
|
294
|
+
overflow: visible;
|
|
329
295
|
position: relative;
|
|
330
296
|
|
|
331
297
|
&--loading {
|
|
@@ -408,7 +374,7 @@
|
|
|
408
374
|
// Mobile styles
|
|
409
375
|
@media (max-width: 768px) {
|
|
410
376
|
.waivers-page {
|
|
411
|
-
padding:
|
|
377
|
+
padding: 0;
|
|
412
378
|
|
|
413
379
|
&__header {
|
|
414
380
|
margin: 12px 0 16px;
|
|
@@ -418,6 +384,9 @@
|
|
|
418
384
|
flex-direction: column;
|
|
419
385
|
gap: 16px;
|
|
420
386
|
align-items: flex-start;
|
|
387
|
+
margin-left: 16px;
|
|
388
|
+
margin-right: 16px;
|
|
389
|
+
padding: 0;
|
|
421
390
|
}
|
|
422
391
|
|
|
423
392
|
&__tabs {
|
|
@@ -425,6 +394,7 @@
|
|
|
425
394
|
gap: 16px;
|
|
426
395
|
overflow-x: auto;
|
|
427
396
|
-webkit-overflow-scrolling: touch;
|
|
397
|
+
padding: 0;
|
|
428
398
|
|
|
429
399
|
&::-webkit-scrollbar {
|
|
430
400
|
display: none;
|
|
@@ -446,6 +416,8 @@
|
|
|
446
416
|
padding: 12px;
|
|
447
417
|
background-color: #F8F8FA;
|
|
448
418
|
border-radius: 8px;
|
|
419
|
+
margin: 0 0 16px 0;
|
|
420
|
+
width: 100%;
|
|
449
421
|
|
|
450
422
|
svg {
|
|
451
423
|
width: 24px;
|
|
@@ -466,6 +438,7 @@
|
|
|
466
438
|
|
|
467
439
|
&__content {
|
|
468
440
|
gap: 20px;
|
|
441
|
+
padding: 0 16px 16px;
|
|
469
442
|
}
|
|
470
443
|
|
|
471
444
|
.filter-section {
|
|
@@ -498,75 +471,26 @@
|
|
|
498
471
|
|
|
499
472
|
.quick-filters-wrapper {
|
|
500
473
|
width: 100%;
|
|
501
|
-
|
|
502
|
-
.quick-filter {
|
|
503
|
-
flex-direction: row;
|
|
504
|
-
align-items: center;
|
|
505
|
-
gap: 8px;
|
|
506
|
-
|
|
507
|
-
&__label {
|
|
508
|
-
font-size: 11px;
|
|
509
|
-
}
|
|
510
|
-
|
|
511
|
-
&__options {
|
|
512
|
-
display: flex;
|
|
513
|
-
flex-wrap: wrap;
|
|
514
|
-
gap: 6px;
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
&__option {
|
|
518
|
-
padding: 2px 8px;
|
|
519
|
-
font-size: 11px;
|
|
520
|
-
}
|
|
521
|
-
}
|
|
522
474
|
}
|
|
523
475
|
|
|
524
476
|
.action-buttons {
|
|
525
477
|
display: flex;
|
|
526
|
-
|
|
478
|
+
flex-wrap: wrap;
|
|
527
479
|
gap: 8px;
|
|
528
480
|
width: 100%;
|
|
529
|
-
flex-wrap: wrap;
|
|
530
|
-
}
|
|
531
|
-
|
|
532
|
-
.action-btn {
|
|
533
|
-
flex: 1 0 calc(50% - 4px);
|
|
534
|
-
min-width: 0;
|
|
535
|
-
justify-content: center;
|
|
536
|
-
border: 1px solid #E8E9EF;
|
|
537
|
-
background: #FFFFFF;
|
|
538
|
-
height: 44px;
|
|
539
|
-
padding: 0 4px;
|
|
540
|
-
border-radius: 8px;
|
|
541
|
-
gap: 4px;
|
|
542
481
|
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
}
|
|
547
|
-
|
|
548
|
-
&--tertiary-soft {
|
|
549
|
-
background: #FFFFFF;
|
|
550
|
-
border: 1px solid #E8E9EF;
|
|
551
|
-
}
|
|
552
|
-
|
|
553
|
-
&:hover {
|
|
554
|
-
background-color: var(--surface-tertiary, #F0F0F5);
|
|
555
|
-
}
|
|
482
|
+
.ghost-button {
|
|
483
|
+
flex: 1 0 calc(50% - 4px);
|
|
484
|
+
justify-content: center;
|
|
556
485
|
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
white-space: nowrap;
|
|
562
|
-
overflow: hidden;
|
|
563
|
-
text-overflow: ellipsis;
|
|
564
|
-
}
|
|
486
|
+
&:nth-child(2) {
|
|
487
|
+
order: -1;
|
|
488
|
+
flex: 1 0 100%;
|
|
489
|
+
}
|
|
565
490
|
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
flex-shrink: 0;
|
|
491
|
+
&__text {
|
|
492
|
+
font-size: 11px;
|
|
493
|
+
}
|
|
570
494
|
}
|
|
571
495
|
}
|
|
572
496
|
}
|
|
@@ -615,7 +539,7 @@
|
|
|
615
539
|
&__row {
|
|
616
540
|
display: grid;
|
|
617
541
|
grid-template-areas:
|
|
618
|
-
"customer
|
|
542
|
+
"customer bookings"
|
|
619
543
|
"divider divider"
|
|
620
544
|
"next last"
|
|
621
545
|
"actions actions";
|
|
@@ -660,8 +584,7 @@
|
|
|
660
584
|
}
|
|
661
585
|
|
|
662
586
|
&.age-col {
|
|
663
|
-
|
|
664
|
-
text-align: right;
|
|
587
|
+
display: none;
|
|
665
588
|
}
|
|
666
589
|
|
|
667
590
|
&.next-booking-col {
|
|
@@ -673,7 +596,8 @@
|
|
|
673
596
|
}
|
|
674
597
|
|
|
675
598
|
&.no-of-bookings-col {
|
|
676
|
-
|
|
599
|
+
grid-area: bookings;
|
|
600
|
+
text-align: right;
|
|
677
601
|
}
|
|
678
602
|
|
|
679
603
|
&.waiver-col {
|
|
@@ -707,6 +631,29 @@
|
|
|
707
631
|
}
|
|
708
632
|
}
|
|
709
633
|
|
|
634
|
+
.bookings-cell {
|
|
635
|
+
text-align: right;
|
|
636
|
+
min-width: 0;
|
|
637
|
+
overflow: hidden;
|
|
638
|
+
&__label {
|
|
639
|
+
font-size: 13px;
|
|
640
|
+
color: #626A90;
|
|
641
|
+
font-weight: 500;
|
|
642
|
+
margin-bottom: 2px;
|
|
643
|
+
white-space: nowrap;
|
|
644
|
+
overflow: hidden;
|
|
645
|
+
text-overflow: ellipsis;
|
|
646
|
+
}
|
|
647
|
+
&__value {
|
|
648
|
+
font-size: 14px;
|
|
649
|
+
color: #121E52;
|
|
650
|
+
font-weight: 600;
|
|
651
|
+
white-space: nowrap;
|
|
652
|
+
overflow: hidden;
|
|
653
|
+
text-overflow: ellipsis;
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
|
|
710
657
|
.booking-cell {
|
|
711
658
|
min-width: 0;
|
|
712
659
|
overflow: hidden;
|
|
@@ -812,7 +759,7 @@
|
|
|
812
759
|
// Extra small mobile devices
|
|
813
760
|
@media (max-width: 480px) {
|
|
814
761
|
.waivers-page {
|
|
815
|
-
padding:
|
|
762
|
+
padding: 0;
|
|
816
763
|
|
|
817
764
|
&__header {
|
|
818
765
|
margin: 8px 0 12px;
|
|
@@ -820,6 +767,7 @@
|
|
|
820
767
|
|
|
821
768
|
&__tabs {
|
|
822
769
|
gap: 12px;
|
|
770
|
+
padding: 0;
|
|
823
771
|
}
|
|
824
772
|
|
|
825
773
|
&__tab {
|
|
@@ -853,6 +801,15 @@
|
|
|
853
801
|
font-size: 13px;
|
|
854
802
|
}
|
|
855
803
|
}
|
|
804
|
+
|
|
805
|
+
&__content {
|
|
806
|
+
padding: 0 12px 12px;
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
&__tabs-container {
|
|
810
|
+
margin-left: 12px;
|
|
811
|
+
margin-right: 12px;
|
|
812
|
+
}
|
|
856
813
|
}
|
|
857
814
|
}
|
|
858
815
|
|
|
@@ -9,27 +9,25 @@ export interface FormFieldProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
export const FormField = forwardRef<HTMLInputElement, FormFieldProps>(
|
|
12
|
-
({ label, error, helpText, required, className = '', ...props }, ref) =>
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
{helpText
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
)
|
|
32
|
-
}
|
|
12
|
+
({ label, error, helpText, required, className = '', ...props }, ref) => (
|
|
13
|
+
<div className={`form-field ${className}`}>
|
|
14
|
+
{label && (
|
|
15
|
+
<label className="form-field__label">
|
|
16
|
+
{label}
|
|
17
|
+
{required && <span className="form-field__required">*</span>}
|
|
18
|
+
</label>
|
|
19
|
+
)}
|
|
20
|
+
<input
|
|
21
|
+
ref={ref}
|
|
22
|
+
className={`form-field__input ${error ? 'form-field__input--error' : ''}`}
|
|
23
|
+
{...props}
|
|
24
|
+
/>
|
|
25
|
+
{helpText && !error && (
|
|
26
|
+
<span className="form-field__help-text">{helpText}</span>
|
|
27
|
+
)}
|
|
28
|
+
{error && <span className="form-field__error-text">{error}</span>}
|
|
29
|
+
</div>
|
|
30
|
+
)
|
|
33
31
|
)
|
|
34
32
|
|
|
35
33
|
FormField.displayName = 'FormField'
|
|
@@ -48,8 +48,8 @@ export const DeleteModal: React.FC<DeleteModalProps> = ({
|
|
|
48
48
|
if (!isOpen) return null
|
|
49
49
|
|
|
50
50
|
return (
|
|
51
|
-
<div className="delete-modal-overlay" onClick={handleClose}>
|
|
52
|
-
<div className="delete-modal" onClick={(e) => e.stopPropagation()}>
|
|
51
|
+
<div className="delete-modal-overlay" role="presentation" onClick={handleClose}>
|
|
52
|
+
<div className="delete-modal" role="presentation" onClick={(e) => e.stopPropagation()}>
|
|
53
53
|
<div className="delete-modal__content">
|
|
54
54
|
<h2 className="delete-modal__title">{title}</h2>
|
|
55
55
|
|
|
@@ -78,6 +78,7 @@ export const DeleteModal: React.FC<DeleteModalProps> = ({
|
|
|
78
78
|
|
|
79
79
|
<div className="delete-modal__actions">
|
|
80
80
|
<button
|
|
81
|
+
type="button"
|
|
81
82
|
className="delete-modal__button delete-modal__button--delete"
|
|
82
83
|
onClick={handleConfirm}
|
|
83
84
|
disabled={isConfirmDisabled}
|
|
@@ -85,6 +86,7 @@ export const DeleteModal: React.FC<DeleteModalProps> = ({
|
|
|
85
86
|
{isDeleting ? 'Deleting...' : 'Delete'}
|
|
86
87
|
</button>
|
|
87
88
|
<button
|
|
89
|
+
type="button"
|
|
88
90
|
className="delete-modal__button delete-modal__button--cancel"
|
|
89
91
|
onClick={handleClose}
|
|
90
92
|
disabled={isDeleting}
|