@bigtablet/design-system 1.6.0 → 1.6.2
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/index.css +145 -6
- package/dist/index.d.ts +21 -18
- package/dist/index.js +6509 -81
- package/dist/styles/scss/_a11y.scss +7 -0
- package/dist/styles/scss/_breakpoints.scss +28 -0
- package/dist/styles/scss/_colors.scss +25 -0
- package/dist/styles/scss/_layout.scss +8 -0
- package/dist/styles/scss/_motion.scss +4 -0
- package/dist/styles/scss/_radius.scss +5 -0
- package/dist/styles/scss/_shadows.scss +4 -0
- package/dist/styles/scss/_spacing.scss +7 -0
- package/dist/styles/scss/_typography.scss +77 -0
- package/dist/styles/scss/_variables.scss +59 -0
- package/dist/styles/scss/_z-index.scss +3 -0
- package/dist/styles/scss/token.scss +9 -0
- package/package.json +6 -3
- package/src/styles/scss/_a11y.scss +7 -0
- package/src/styles/scss/_breakpoints.scss +28 -0
- package/src/styles/scss/_colors.scss +25 -0
- package/src/styles/scss/_layout.scss +8 -0
- package/src/styles/scss/_motion.scss +4 -0
- package/src/styles/scss/_radius.scss +5 -0
- package/src/styles/scss/_shadows.scss +4 -0
- package/src/styles/scss/_spacing.scss +7 -0
- package/src/styles/scss/_typography.scss +77 -0
- package/src/styles/scss/_variables.scss +59 -0
- package/src/styles/scss/_z-index.scss +3 -0
- package/src/styles/scss/token.scss +9 -0
package/dist/index.css
CHANGED
|
@@ -50,6 +50,24 @@
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
/* src/ui/feedback/alert/style.scss */
|
|
53
|
+
@keyframes fade_in {
|
|
54
|
+
from {
|
|
55
|
+
opacity: 0;
|
|
56
|
+
}
|
|
57
|
+
to {
|
|
58
|
+
opacity: 1;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
@keyframes slide_up {
|
|
62
|
+
from {
|
|
63
|
+
opacity: 0;
|
|
64
|
+
transform: translateY(20px);
|
|
65
|
+
}
|
|
66
|
+
to {
|
|
67
|
+
opacity: 1;
|
|
68
|
+
transform: translateY(0);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
53
71
|
.alert_overlay {
|
|
54
72
|
position: fixed;
|
|
55
73
|
inset: 0;
|
|
@@ -73,6 +91,7 @@
|
|
|
73
91
|
font-size: 1.125rem;
|
|
74
92
|
line-height: 1.5;
|
|
75
93
|
font-weight: 600;
|
|
94
|
+
color: #3b82f6;
|
|
76
95
|
padding: 0.75rem 1.25rem 0.25rem;
|
|
77
96
|
}
|
|
78
97
|
.alert_modal_message {
|
|
@@ -81,11 +100,12 @@
|
|
|
81
100
|
line-height: 1.5;
|
|
82
101
|
color: #666666;
|
|
83
102
|
padding: 1.25rem;
|
|
84
|
-
line-height: 1.
|
|
103
|
+
line-height: 1.75;
|
|
85
104
|
}
|
|
86
105
|
.alert_modal_actions {
|
|
87
106
|
display: flex;
|
|
88
107
|
gap: 0.5rem;
|
|
108
|
+
align-items: center;
|
|
89
109
|
padding: 0 1.25rem 1.25rem;
|
|
90
110
|
}
|
|
91
111
|
.alert_modal_actions_left {
|
|
@@ -104,47 +124,79 @@
|
|
|
104
124
|
font-weight: 600;
|
|
105
125
|
cursor: pointer;
|
|
106
126
|
border: 1px solid transparent;
|
|
107
|
-
|
|
127
|
+
line-height: 1.5;
|
|
128
|
+
transition:
|
|
129
|
+
background 0.2s ease-out,
|
|
130
|
+
border-color 0.2s ease-out,
|
|
131
|
+
box-shadow 0.2s ease-out,
|
|
132
|
+
transform 0.2s ease-out;
|
|
108
133
|
}
|
|
109
134
|
.alert_modal_button:focus-visible {
|
|
110
|
-
outline:
|
|
135
|
+
outline: none;
|
|
136
|
+
box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.15);
|
|
137
|
+
}
|
|
138
|
+
.alert_modal_button:active:not(:disabled) {
|
|
139
|
+
transform: scale(0.98);
|
|
140
|
+
}
|
|
141
|
+
.alert_modal_button:disabled {
|
|
142
|
+
cursor: not-allowed;
|
|
143
|
+
opacity: 0.6;
|
|
111
144
|
}
|
|
112
145
|
.alert_modal_button_cancel {
|
|
113
146
|
background: #ffffff;
|
|
114
147
|
border-color: #e5e5e5;
|
|
115
148
|
color: #1a1a1a;
|
|
116
149
|
}
|
|
117
|
-
.alert_modal_button_cancel:hover {
|
|
150
|
+
.alert_modal_button_cancel:hover:not(:disabled) {
|
|
118
151
|
background: #fafafa;
|
|
152
|
+
border-color: rgba(0, 0, 0, 0.08);
|
|
119
153
|
}
|
|
120
154
|
.alert_modal_button_confirm {
|
|
121
155
|
color: #ffffff;
|
|
122
156
|
}
|
|
123
|
-
.alert_modal {
|
|
124
|
-
}
|
|
125
157
|
.alert_modal_info .alert_modal_title {
|
|
126
158
|
color: #3b82f6;
|
|
127
159
|
}
|
|
128
160
|
.alert_modal_info .alert_modal_button_confirm {
|
|
129
161
|
background: #3b82f6;
|
|
162
|
+
border-color: #3b82f6;
|
|
163
|
+
}
|
|
164
|
+
.alert_modal_info .alert_modal_button_confirm:hover:not(:disabled) {
|
|
165
|
+
background: rgb(29.7434146341, 111.3414634146, 244.6565853659);
|
|
166
|
+
border-color: rgb(29.7434146341, 111.3414634146, 244.6565853659);
|
|
130
167
|
}
|
|
131
168
|
.alert_modal_success .alert_modal_title {
|
|
132
169
|
color: #10b981;
|
|
133
170
|
}
|
|
134
171
|
.alert_modal_success .alert_modal_button_confirm {
|
|
135
172
|
background: #10b981;
|
|
173
|
+
border-color: #10b981;
|
|
174
|
+
}
|
|
175
|
+
.alert_modal_success .alert_modal_button_confirm:hover:not(:disabled) {
|
|
176
|
+
background: rgb(13.5641791045, 156.8358208955, 109.3611940299);
|
|
177
|
+
border-color: rgb(13.5641791045, 156.8358208955, 109.3611940299);
|
|
136
178
|
}
|
|
137
179
|
.alert_modal_warning .alert_modal_title {
|
|
138
180
|
color: #f59e0b;
|
|
139
181
|
}
|
|
140
182
|
.alert_modal_warning .alert_modal_button_confirm {
|
|
141
183
|
background: #f59e0b;
|
|
184
|
+
border-color: #f59e0b;
|
|
185
|
+
}
|
|
186
|
+
.alert_modal_warning .alert_modal_button_confirm:hover:not(:disabled) {
|
|
187
|
+
background: rgb(216.525984252, 139.3220472441, 8.874015748);
|
|
188
|
+
border-color: rgb(216.525984252, 139.3220472441, 8.874015748);
|
|
142
189
|
}
|
|
143
190
|
.alert_modal_error .alert_modal_title {
|
|
144
191
|
color: #ef4444;
|
|
145
192
|
}
|
|
146
193
|
.alert_modal_error .alert_modal_button_confirm {
|
|
147
194
|
background: #ef4444;
|
|
195
|
+
border-color: #ef4444;
|
|
196
|
+
}
|
|
197
|
+
.alert_modal_error .alert_modal_button_confirm:hover:not(:disabled) {
|
|
198
|
+
background: rgb(236.5881773399, 39.8118226601, 39.8118226601);
|
|
199
|
+
border-color: rgb(236.5881773399, 39.8118226601, 39.8118226601);
|
|
148
200
|
}
|
|
149
201
|
|
|
150
202
|
/* src/ui/feedback/loading/style.scss */
|
|
@@ -879,6 +931,93 @@
|
|
|
879
931
|
color: #999999;
|
|
880
932
|
}
|
|
881
933
|
|
|
934
|
+
/* src/ui/navigation/sidebar/style.scss */
|
|
935
|
+
.sidebar {
|
|
936
|
+
display: flex;
|
|
937
|
+
flex-direction: column;
|
|
938
|
+
box-sizing: border-box;
|
|
939
|
+
height: 100%;
|
|
940
|
+
background: #ffffff;
|
|
941
|
+
border-right: 1px solid #e5e5e5;
|
|
942
|
+
padding: 0.5rem;
|
|
943
|
+
gap: 0.5rem;
|
|
944
|
+
}
|
|
945
|
+
.sidebar_brand {
|
|
946
|
+
padding: 0.5rem;
|
|
947
|
+
margin-bottom: 0.5rem;
|
|
948
|
+
border-bottom: 1px solid #e5e5e5;
|
|
949
|
+
}
|
|
950
|
+
.sidebar_brand_link {
|
|
951
|
+
display: block;
|
|
952
|
+
width: 100%;
|
|
953
|
+
}
|
|
954
|
+
.sidebar_brand_img {
|
|
955
|
+
display: block;
|
|
956
|
+
width: 100%;
|
|
957
|
+
height: auto;
|
|
958
|
+
object-fit: contain;
|
|
959
|
+
}
|
|
960
|
+
.sidebar_nav {
|
|
961
|
+
display: grid;
|
|
962
|
+
gap: 0.25rem;
|
|
963
|
+
padding: 0.5rem 0;
|
|
964
|
+
}
|
|
965
|
+
.sidebar_item {
|
|
966
|
+
display: grid;
|
|
967
|
+
grid-template-columns: 24px 1fr;
|
|
968
|
+
align-items: center;
|
|
969
|
+
gap: 0.5rem;
|
|
970
|
+
padding: 0.5rem 0.75rem;
|
|
971
|
+
border-radius: 8px;
|
|
972
|
+
color: #3b3b3b;
|
|
973
|
+
background: transparent;
|
|
974
|
+
border: 1px solid transparent;
|
|
975
|
+
cursor: pointer;
|
|
976
|
+
font-size: 0.9375rem;
|
|
977
|
+
line-height: 1.5;
|
|
978
|
+
transition:
|
|
979
|
+
background-color 0.2s ease-out,
|
|
980
|
+
color 0.2s ease-out,
|
|
981
|
+
border-color 0.2s ease-out;
|
|
982
|
+
}
|
|
983
|
+
.sidebar_item:hover {
|
|
984
|
+
background: #fafafa;
|
|
985
|
+
color: #1f2937;
|
|
986
|
+
}
|
|
987
|
+
.sidebar_item:hover .sidebar_icon {
|
|
988
|
+
color: #1f2937;
|
|
989
|
+
}
|
|
990
|
+
.sidebar_item.is_active {
|
|
991
|
+
position: relative;
|
|
992
|
+
background: #ffffff;
|
|
993
|
+
border-color: #e5e5e5;
|
|
994
|
+
color: #1f2937;
|
|
995
|
+
box-shadow: inset 0 0 0 1px #e5e5e5;
|
|
996
|
+
}
|
|
997
|
+
.sidebar_item.is_active::before {
|
|
998
|
+
content: "";
|
|
999
|
+
position: absolute;
|
|
1000
|
+
left: 0;
|
|
1001
|
+
top: 6px;
|
|
1002
|
+
bottom: 6px;
|
|
1003
|
+
width: 3px;
|
|
1004
|
+
border-radius: 9999px;
|
|
1005
|
+
background: #000000;
|
|
1006
|
+
}
|
|
1007
|
+
.sidebar_item.is_active .sidebar_icon {
|
|
1008
|
+
color: #1f2937;
|
|
1009
|
+
}
|
|
1010
|
+
.sidebar_icon {
|
|
1011
|
+
display: inline-grid;
|
|
1012
|
+
place-items: center;
|
|
1013
|
+
color: #6b7280;
|
|
1014
|
+
transition: color 0.2s ease-out;
|
|
1015
|
+
}
|
|
1016
|
+
.sidebar_label {
|
|
1017
|
+
white-space: nowrap;
|
|
1018
|
+
text-overflow: ellipsis;
|
|
1019
|
+
}
|
|
1020
|
+
|
|
882
1021
|
/* src/ui/overlay/modal/style.scss */
|
|
883
1022
|
.modal {
|
|
884
1023
|
position: fixed;
|
package/dist/index.d.ts
CHANGED
|
@@ -31,23 +31,6 @@ declare const useAlert: () => AlertContextValue;
|
|
|
31
31
|
declare const AlertProvider: React.FC<{
|
|
32
32
|
children: React.ReactNode;
|
|
33
33
|
}>;
|
|
34
|
-
interface AlertProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"> {
|
|
35
|
-
variant?: AlertVariant;
|
|
36
|
-
title?: React.ReactNode;
|
|
37
|
-
icon?: React.ReactNode;
|
|
38
|
-
closable?: boolean;
|
|
39
|
-
onClose?: () => void;
|
|
40
|
-
showActions?: boolean;
|
|
41
|
-
onConfirm?: () => void;
|
|
42
|
-
onCancel?: () => void;
|
|
43
|
-
confirmText?: string;
|
|
44
|
-
cancelText?: string;
|
|
45
|
-
actionsAlign?: AlertActionsAlign;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* @deprecated Use useAlert hook with AlertProvider instead
|
|
49
|
-
*/
|
|
50
|
-
declare const Alert: ({ variant, title, icon, closable, onClose, showActions, onConfirm, onCancel, confirmText, cancelText, actionsAlign, className, children, ...props }: AlertProps) => react_jsx_runtime.JSX.Element;
|
|
51
34
|
|
|
52
35
|
interface LoadingProps {
|
|
53
36
|
size?: number;
|
|
@@ -147,6 +130,26 @@ interface PaginationProps {
|
|
|
147
130
|
}
|
|
148
131
|
declare const Pagination: ({ page, totalPages, onChange }: PaginationProps) => react_jsx_runtime.JSX.Element;
|
|
149
132
|
|
|
133
|
+
interface SidebarItem {
|
|
134
|
+
href: string;
|
|
135
|
+
label: React.ReactNode;
|
|
136
|
+
icon?: React.ComponentType<{
|
|
137
|
+
size?: number;
|
|
138
|
+
}>;
|
|
139
|
+
}
|
|
140
|
+
type MatchMode = "startsWith" | "exact";
|
|
141
|
+
interface SidebarProps {
|
|
142
|
+
items?: SidebarItem[];
|
|
143
|
+
activePath?: string;
|
|
144
|
+
onItemSelect?: (href: string) => void;
|
|
145
|
+
width?: number;
|
|
146
|
+
className?: string;
|
|
147
|
+
style?: React.CSSProperties;
|
|
148
|
+
match?: MatchMode;
|
|
149
|
+
brandHref?: string;
|
|
150
|
+
}
|
|
151
|
+
declare const Sidebar: ({ items, activePath, onItemSelect, width, className, style, match, brandHref, }: SidebarProps) => react_jsx_runtime.JSX.Element;
|
|
152
|
+
|
|
150
153
|
interface ModalProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"> {
|
|
151
154
|
open: boolean;
|
|
152
155
|
onClose?: () => void;
|
|
@@ -156,4 +159,4 @@ interface ModalProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title">
|
|
|
156
159
|
}
|
|
157
160
|
declare const Modal: ({ open, onClose, closeOnOverlay, width, title, children, className, ...props }: ModalProps) => react_jsx_runtime.JSX.Element | null;
|
|
158
161
|
|
|
159
|
-
export {
|
|
162
|
+
export { AlertProvider, Button, Card, Checkbox, FileInput, Loading, Modal, Pagination, Radio, Select, type SelectOption, Sidebar, Switch, TextField, ToastProvider, useAlert, useToast };
|