@sikka/hawa 0.0.90 → 0.0.92
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/styles.css +47 -21
- package/es/index.es.js +1 -1
- package/lib/index.js +1 -1
- package/package.json +2 -1
- package/src/blocks/AuthForms/SignInForm.js +10 -2
- package/src/elements/HawaAccordian.js +9 -31
- package/src/elements/HawaDrawer.js +68 -0
- package/src/elements/HawaPhoneInput.js +65 -59
- package/src/elements/index.js +1 -0
- package/src/styles.css +47 -21
- package/tailwind.config.js +18 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sikka/hawa",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.92",
|
|
4
4
|
"description": "UI Kit",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.es.js",
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
"@storybook/storybook-deployer": "^2.8.11",
|
|
33
33
|
"@storybook/theming": "^6.5.8",
|
|
34
34
|
"babel-loader": "^8.2.2",
|
|
35
|
+
"clsx": "^1.2.1",
|
|
35
36
|
"crypto-js": "^4.1.1",
|
|
36
37
|
"emotion-theming": "^11.0.0",
|
|
37
38
|
"framer-motion": "^4.1.7",
|
|
@@ -3,7 +3,8 @@ import {
|
|
|
3
3
|
HawaTextField,
|
|
4
4
|
HawaLogoButton,
|
|
5
5
|
HawaAlert,
|
|
6
|
-
HawaButton
|
|
6
|
+
HawaButton,
|
|
7
|
+
HawaPhoneInput
|
|
7
8
|
} from "../../elements";
|
|
8
9
|
import { Controller, useForm } from "react-hook-form";
|
|
9
10
|
import PropTypes from "prop-types";
|
|
@@ -51,7 +52,7 @@ export const SignInForm = (props) => {
|
|
|
51
52
|
}
|
|
52
53
|
}}
|
|
53
54
|
/>
|
|
54
|
-
) : (
|
|
55
|
+
) : props.signInType === "username" ? (
|
|
55
56
|
<Controller
|
|
56
57
|
control={control}
|
|
57
58
|
name="username"
|
|
@@ -70,6 +71,13 @@ export const SignInForm = (props) => {
|
|
|
70
71
|
required: props.texts.usernameRequired
|
|
71
72
|
}}
|
|
72
73
|
/>
|
|
74
|
+
) : (
|
|
75
|
+
<Controller
|
|
76
|
+
control={control}
|
|
77
|
+
name="phone"
|
|
78
|
+
render={({ field }) => <HawaPhoneInput label="Phone number" />}
|
|
79
|
+
rules={{ required: props.texts.passwordRequiredText }}
|
|
80
|
+
/>
|
|
73
81
|
)}
|
|
74
82
|
<Controller
|
|
75
83
|
control={control}
|
|
@@ -18,18 +18,13 @@ const AccordionItem = (props) => {
|
|
|
18
18
|
<h2 id={"accordion-collapse-heading-" + props.count}>
|
|
19
19
|
<button
|
|
20
20
|
type="button"
|
|
21
|
-
className={
|
|
22
|
-
props.count === 0 ? roundedTop : noRounding
|
|
23
|
-
// : props.count === -1
|
|
24
|
-
// ? roundedBottom
|
|
25
|
-
// : noRounding
|
|
26
|
-
}
|
|
21
|
+
className={props.count === 0 ? roundedTop : noRounding}
|
|
27
22
|
onClick={() => setCollapse(!collapse)}
|
|
28
23
|
data-accordion-target={"#accordion-collapse-body-" + props.count}
|
|
29
24
|
aria-expanded="true"
|
|
30
25
|
aria-controls={"accordion-collapse-body-" + props.count}
|
|
31
26
|
>
|
|
32
|
-
<span>
|
|
27
|
+
<span>{props.title}</span>
|
|
33
28
|
<svg
|
|
34
29
|
data-accordion-icon=""
|
|
35
30
|
className={`w-6 h-6 ${collapse ? "" : "rotate-180"} shrink-0`}
|
|
@@ -52,20 +47,7 @@ const AccordionItem = (props) => {
|
|
|
52
47
|
>
|
|
53
48
|
<div className={props.count === -1 ? accPaperRounded : accPaper}>
|
|
54
49
|
<p className="mb-2 text-gray-500 dark:text-gray-400">
|
|
55
|
-
|
|
56
|
-
on top of Tailwind CSS including buttons, dropdowns, modals,
|
|
57
|
-
navbars, and more.
|
|
58
|
-
</p>
|
|
59
|
-
<p className="text-gray-500 dark:text-gray-400">
|
|
60
|
-
Check out this guide to learn how to{" "}
|
|
61
|
-
<a
|
|
62
|
-
href="/docs/getting-started/introduction/"
|
|
63
|
-
className="text-blue-600 dark:text-blue-500 hover:underline"
|
|
64
|
-
>
|
|
65
|
-
get started
|
|
66
|
-
</a>{" "}
|
|
67
|
-
and start developing websites even faster with components on top of
|
|
68
|
-
Tailwind CSS.
|
|
50
|
+
{props.content}
|
|
69
51
|
</p>
|
|
70
52
|
</div>
|
|
71
53
|
</div>
|
|
@@ -73,20 +55,14 @@ const AccordionItem = (props) => {
|
|
|
73
55
|
);
|
|
74
56
|
};
|
|
75
57
|
export const HawaAccordian = (props) => {
|
|
76
|
-
let accordionContent = [
|
|
77
|
-
{ title: "etete", content: "teoite" },
|
|
78
|
-
{ title: "etete", content: "teoite" },
|
|
79
|
-
{ title: "etete", content: "teoite" },
|
|
80
|
-
{ title: "etete", content: "teoite" }
|
|
81
|
-
];
|
|
82
58
|
return (
|
|
83
59
|
<div id="accordion-collapse" data-accordion="collapse">
|
|
84
|
-
{
|
|
60
|
+
{props.content.map((acc, i) => {
|
|
85
61
|
return (
|
|
86
62
|
<AccordionItem
|
|
87
63
|
title={acc.title}
|
|
88
64
|
content={acc.content}
|
|
89
|
-
count={
|
|
65
|
+
count={props.content.length - 1 === i ? -1 : i}
|
|
90
66
|
/>
|
|
91
67
|
);
|
|
92
68
|
})}
|
|
@@ -94,6 +70,8 @@ export const HawaAccordian = (props) => {
|
|
|
94
70
|
);
|
|
95
71
|
};
|
|
96
72
|
HawaAccordian.propTypes = {
|
|
97
|
-
|
|
98
|
-
|
|
73
|
+
content: PropTypes.shape({
|
|
74
|
+
title: PropTypes.string,
|
|
75
|
+
content: PropTypes.string
|
|
76
|
+
})
|
|
99
77
|
};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import React, { useEffect, useState } from "react";
|
|
2
|
+
import { AiOutlineClose } from "react-icons/ai";
|
|
3
|
+
import clsx from "clsx";
|
|
4
|
+
|
|
5
|
+
export const HawaDrawer = ({ open, setOpen, position, heading, children }) => {
|
|
6
|
+
const [openDrawer, setOpenDrawer] = useState(open);
|
|
7
|
+
|
|
8
|
+
const leftDrawer =
|
|
9
|
+
"w-60 z-50 h-full absolute overflow-x-hidden top-0 left-0 border-r";
|
|
10
|
+
const rightDrawer =
|
|
11
|
+
"w-60 z-50 h-full absolute overflow-x-hidden top-0 right-0 border-l";
|
|
12
|
+
|
|
13
|
+
// useEffect(() => {
|
|
14
|
+
// setOpenDrawer(true);
|
|
15
|
+
// }, [open]);
|
|
16
|
+
|
|
17
|
+
const childrenWithProps = React.Children.map(children, (child) => {
|
|
18
|
+
if (React.isValidElement(child) && child.type.name == "DrawerHeader") {
|
|
19
|
+
return React.cloneElement(child, {
|
|
20
|
+
closeButton: setOpenDrawer,
|
|
21
|
+
children: child.props.children
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
if (React.isValidElement(child) && child.type.name == "DrawerBody") {
|
|
25
|
+
return React.cloneElement(child, { children: child.props.children });
|
|
26
|
+
}
|
|
27
|
+
if (React.isValidElement(child) && child.type.name == "DrawerFooter") {
|
|
28
|
+
return React.cloneElement(child, { children: child.props.children });
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
const drawerClass =
|
|
33
|
+
open && position == "left"
|
|
34
|
+
? clsx("block", leftDrawer)
|
|
35
|
+
: open && position == "right"
|
|
36
|
+
? clsx("block", rightDrawer)
|
|
37
|
+
: "hidden";
|
|
38
|
+
|
|
39
|
+
return <div className={drawerClass}>{childrenWithProps}</div>;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export const DrawerHeader = ({ children, closeButton }) => {
|
|
43
|
+
return (
|
|
44
|
+
<div className=" w-full flex flex-row justify-between items-center py-4 px-1 border-b">
|
|
45
|
+
{children}
|
|
46
|
+
<div
|
|
47
|
+
className="justify-self-end hover:cursor-pointer border p-1 rounded"
|
|
48
|
+
onClick={() => {
|
|
49
|
+
closeButton(false);
|
|
50
|
+
}}
|
|
51
|
+
>
|
|
52
|
+
<AiOutlineClose size={20} strokeWidth={2} />
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
);
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
export const DrawerBody = ({ children }) => {
|
|
59
|
+
return <div className="p-1">{children}</div>;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export const DrawerFooter = ({ children }) => {
|
|
63
|
+
return (
|
|
64
|
+
<div className="absolute w-full py-4 px-1 border-t bottom-0">
|
|
65
|
+
{children}
|
|
66
|
+
</div>
|
|
67
|
+
);
|
|
68
|
+
};
|
|
@@ -19,7 +19,7 @@ const Option = ({
|
|
|
19
19
|
</div>
|
|
20
20
|
);
|
|
21
21
|
|
|
22
|
-
export const HawaPhoneInput = ({ preferredCountry }) => {
|
|
22
|
+
export const HawaPhoneInput = ({ preferredCountry, label }) => {
|
|
23
23
|
const [code, setCode] = useState(preferredCountry ?? "");
|
|
24
24
|
const [selectedCountry, setSelectedCountry] = useState("+966");
|
|
25
25
|
const [tel, setTel] = useState("");
|
|
@@ -43,65 +43,71 @@ export const HawaPhoneInput = ({ preferredCountry }) => {
|
|
|
43
43
|
|
|
44
44
|
return (
|
|
45
45
|
<div
|
|
46
|
-
style={{
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}}
|
|
46
|
+
// style={{
|
|
47
|
+
// justifyContent: "center",
|
|
48
|
+
// alignItems: "center",
|
|
49
|
+
// height: "100%"
|
|
50
|
+
// }}
|
|
51
|
+
className="flex flex-col mb-3"
|
|
53
52
|
>
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
53
|
+
{label && (
|
|
54
|
+
<label className="block mb-2 text-sm font-medium text-gray-900 dark:text-gray-300">
|
|
55
|
+
{label}
|
|
56
|
+
</label>
|
|
57
|
+
)}
|
|
58
|
+
<div className="flex flex-row">
|
|
59
|
+
<Select
|
|
60
|
+
styles={{
|
|
61
|
+
input: (base) => ({
|
|
62
|
+
...base,
|
|
63
|
+
fontSize: "0.875rem",
|
|
64
|
+
"input:focus": {
|
|
65
|
+
boxShadow: "none"
|
|
66
|
+
},
|
|
67
|
+
lineHeight: "1.25rem",
|
|
68
|
+
padding: "0.37rem"
|
|
69
|
+
}),
|
|
70
|
+
singleValue: (base) => ({
|
|
71
|
+
...base,
|
|
72
|
+
fontSize: "0.875rem",
|
|
73
|
+
textAlign: "right"
|
|
74
|
+
}),
|
|
75
|
+
control: (base) => ({
|
|
76
|
+
...base,
|
|
77
|
+
width: 64,
|
|
78
|
+
borderRadius: "0.5rem",
|
|
79
|
+
borderTopRightRadius: 0,
|
|
80
|
+
borderBottomRightRadius: 0
|
|
81
|
+
}),
|
|
82
|
+
menu: (base) => ({
|
|
83
|
+
...base,
|
|
84
|
+
width: 190,
|
|
85
|
+
borderRadius: "0.5rem"
|
|
86
|
+
})
|
|
87
|
+
}}
|
|
88
|
+
components={{
|
|
89
|
+
Option,
|
|
90
|
+
DropdownIndicator: () => null,
|
|
91
|
+
IndicatorSeparator: () => null
|
|
92
|
+
}}
|
|
93
|
+
options={Countries}
|
|
94
|
+
isCreatable={false}
|
|
95
|
+
isMulti={false}
|
|
96
|
+
isSearchable={true}
|
|
97
|
+
isClearable={false}
|
|
98
|
+
placeholder="+966"
|
|
99
|
+
defaultValue={Countries[0]}
|
|
100
|
+
onInputChange={() => console.log("changed to")}
|
|
101
|
+
onChange={(newValue, action) => {
|
|
102
|
+
console.log("test n", newValue);
|
|
103
|
+
setSelectedCountry(newValue);
|
|
104
|
+
}}
|
|
105
|
+
/>
|
|
106
|
+
<input
|
|
107
|
+
type="number"
|
|
108
|
+
className="bg-gray-50 appearance-none border rounded-l-none border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500 border-l-0"
|
|
109
|
+
/>
|
|
110
|
+
</div>
|
|
105
111
|
</div>
|
|
106
112
|
);
|
|
107
113
|
};
|
package/src/elements/index.js
CHANGED
package/src/styles.css
CHANGED
|
@@ -580,15 +580,18 @@ video {
|
|
|
580
580
|
.left-0 {
|
|
581
581
|
left: 0px;
|
|
582
582
|
}
|
|
583
|
+
.top-0 {
|
|
584
|
+
top: 0px;
|
|
585
|
+
}
|
|
583
586
|
.right-0 {
|
|
584
587
|
right: 0px;
|
|
585
588
|
}
|
|
589
|
+
.bottom-0 {
|
|
590
|
+
bottom: 0px;
|
|
591
|
+
}
|
|
586
592
|
.top-7 {
|
|
587
593
|
top: 1.75rem;
|
|
588
594
|
}
|
|
589
|
-
.top-0 {
|
|
590
|
-
top: 0px;
|
|
591
|
-
}
|
|
592
595
|
.bottom-4 {
|
|
593
596
|
bottom: 1rem;
|
|
594
597
|
}
|
|
@@ -607,12 +610,12 @@ video {
|
|
|
607
610
|
.-left-1 {
|
|
608
611
|
left: -0.25rem;
|
|
609
612
|
}
|
|
610
|
-
.z-10 {
|
|
611
|
-
z-index: 10;
|
|
612
|
-
}
|
|
613
613
|
.z-50 {
|
|
614
614
|
z-index: 50;
|
|
615
615
|
}
|
|
616
|
+
.z-10 {
|
|
617
|
+
z-index: 10;
|
|
618
|
+
}
|
|
616
619
|
.z-40 {
|
|
617
620
|
z-index: 40;
|
|
618
621
|
}
|
|
@@ -685,15 +688,15 @@ video {
|
|
|
685
688
|
.-mb-px {
|
|
686
689
|
margin-bottom: -1px;
|
|
687
690
|
}
|
|
691
|
+
.mb-3 {
|
|
692
|
+
margin-bottom: 0.75rem;
|
|
693
|
+
}
|
|
688
694
|
.ml-1 {
|
|
689
695
|
margin-left: 0.25rem;
|
|
690
696
|
}
|
|
691
697
|
.mt-2 {
|
|
692
698
|
margin-top: 0.5rem;
|
|
693
699
|
}
|
|
694
|
-
.mb-3 {
|
|
695
|
-
margin-bottom: 0.75rem;
|
|
696
|
-
}
|
|
697
700
|
.mt-5 {
|
|
698
701
|
margin-top: 1.25rem;
|
|
699
702
|
}
|
|
@@ -772,6 +775,9 @@ video {
|
|
|
772
775
|
.w-4 {
|
|
773
776
|
width: 1rem;
|
|
774
777
|
}
|
|
778
|
+
.w-60 {
|
|
779
|
+
width: 15rem;
|
|
780
|
+
}
|
|
775
781
|
.w-44 {
|
|
776
782
|
width: 11rem;
|
|
777
783
|
}
|
|
@@ -940,6 +946,9 @@ video {
|
|
|
940
946
|
--tw-divide-opacity: 1;
|
|
941
947
|
border-color: rgb(17 24 39 / var(--tw-divide-opacity));
|
|
942
948
|
}
|
|
949
|
+
.justify-self-end {
|
|
950
|
+
justify-self: end;
|
|
951
|
+
}
|
|
943
952
|
.overflow-hidden {
|
|
944
953
|
overflow: hidden;
|
|
945
954
|
}
|
|
@@ -1012,6 +1021,12 @@ video {
|
|
|
1012
1021
|
.border-t-0 {
|
|
1013
1022
|
border-top-width: 0px;
|
|
1014
1023
|
}
|
|
1024
|
+
.border-r {
|
|
1025
|
+
border-right-width: 1px;
|
|
1026
|
+
}
|
|
1027
|
+
.border-l {
|
|
1028
|
+
border-left-width: 1px;
|
|
1029
|
+
}
|
|
1015
1030
|
.border-b {
|
|
1016
1031
|
border-bottom-width: 1px;
|
|
1017
1032
|
}
|
|
@@ -1169,6 +1184,14 @@ video {
|
|
|
1169
1184
|
padding-top: 0px;
|
|
1170
1185
|
padding-bottom: 0px;
|
|
1171
1186
|
}
|
|
1187
|
+
.py-4 {
|
|
1188
|
+
padding-top: 1rem;
|
|
1189
|
+
padding-bottom: 1rem;
|
|
1190
|
+
}
|
|
1191
|
+
.px-1 {
|
|
1192
|
+
padding-left: 0.25rem;
|
|
1193
|
+
padding-right: 0.25rem;
|
|
1194
|
+
}
|
|
1172
1195
|
.py-1 {
|
|
1173
1196
|
padding-top: 0.25rem;
|
|
1174
1197
|
padding-bottom: 0.25rem;
|
|
@@ -1189,10 +1212,6 @@ video {
|
|
|
1189
1212
|
padding-left: 0.75rem;
|
|
1190
1213
|
padding-right: 0.75rem;
|
|
1191
1214
|
}
|
|
1192
|
-
.py-4 {
|
|
1193
|
-
padding-top: 1rem;
|
|
1194
|
-
padding-bottom: 1rem;
|
|
1195
|
-
}
|
|
1196
1215
|
.py-5 {
|
|
1197
1216
|
padding-top: 1.25rem;
|
|
1198
1217
|
padding-bottom: 1.25rem;
|
|
@@ -1253,6 +1272,10 @@ video {
|
|
|
1253
1272
|
font-size: 1.875rem;
|
|
1254
1273
|
line-height: 2.25rem;
|
|
1255
1274
|
}
|
|
1275
|
+
.text-lg {
|
|
1276
|
+
font-size: 1.125rem;
|
|
1277
|
+
line-height: 1.75rem;
|
|
1278
|
+
}
|
|
1256
1279
|
.font-medium {
|
|
1257
1280
|
font-weight: 500;
|
|
1258
1281
|
}
|
|
@@ -1292,10 +1315,6 @@ video {
|
|
|
1292
1315
|
--tw-text-opacity: 1;
|
|
1293
1316
|
color: rgb(107 114 128 / var(--tw-text-opacity));
|
|
1294
1317
|
}
|
|
1295
|
-
.text-blue-600 {
|
|
1296
|
-
--tw-text-opacity: 1;
|
|
1297
|
-
color: rgb(37 99 235 / var(--tw-text-opacity));
|
|
1298
|
-
}
|
|
1299
1318
|
.text-blue-700 {
|
|
1300
1319
|
--tw-text-opacity: 1;
|
|
1301
1320
|
color: rgb(29 78 216 / var(--tw-text-opacity));
|
|
@@ -1316,6 +1335,10 @@ video {
|
|
|
1316
1335
|
--tw-text-opacity: 1;
|
|
1317
1336
|
color: rgb(255 255 255 / var(--tw-text-opacity));
|
|
1318
1337
|
}
|
|
1338
|
+
.text-blue-600 {
|
|
1339
|
+
--tw-text-opacity: 1;
|
|
1340
|
+
color: rgb(37 99 235 / var(--tw-text-opacity));
|
|
1341
|
+
}
|
|
1319
1342
|
.text-red-600 {
|
|
1320
1343
|
--tw-text-opacity: 1;
|
|
1321
1344
|
color: rgb(220 38 38 / var(--tw-text-opacity));
|
|
@@ -1447,6 +1470,9 @@ body {
|
|
|
1447
1470
|
--tw-content: '';
|
|
1448
1471
|
content: var(--tw-content);
|
|
1449
1472
|
}
|
|
1473
|
+
.hover\:cursor-pointer:hover {
|
|
1474
|
+
cursor: pointer;
|
|
1475
|
+
}
|
|
1450
1476
|
.hover\:bg-gray-200:hover {
|
|
1451
1477
|
--tw-bg-opacity: 1;
|
|
1452
1478
|
background-color: rgb(229 231 235 / var(--tw-bg-opacity));
|
|
@@ -1626,10 +1652,6 @@ body {
|
|
|
1626
1652
|
--tw-text-opacity: 1;
|
|
1627
1653
|
color: rgb(156 163 175 / var(--tw-text-opacity));
|
|
1628
1654
|
}
|
|
1629
|
-
.dark .dark\:text-blue-500 {
|
|
1630
|
-
--tw-text-opacity: 1;
|
|
1631
|
-
color: rgb(59 130 246 / var(--tw-text-opacity));
|
|
1632
|
-
}
|
|
1633
1655
|
.dark .dark\:text-blue-800 {
|
|
1634
1656
|
--tw-text-opacity: 1;
|
|
1635
1657
|
color: rgb(30 64 175 / var(--tw-text-opacity));
|
|
@@ -1658,6 +1680,10 @@ body {
|
|
|
1658
1680
|
--tw-text-opacity: 1;
|
|
1659
1681
|
color: rgb(229 231 235 / var(--tw-text-opacity));
|
|
1660
1682
|
}
|
|
1683
|
+
.dark .dark\:text-blue-500 {
|
|
1684
|
+
--tw-text-opacity: 1;
|
|
1685
|
+
color: rgb(59 130 246 / var(--tw-text-opacity));
|
|
1686
|
+
}
|
|
1661
1687
|
.dark .dark\:text-gray-500 {
|
|
1662
1688
|
--tw-text-opacity: 1;
|
|
1663
1689
|
color: rgb(107 114 128 / var(--tw-text-opacity));
|
package/tailwind.config.js
CHANGED
|
@@ -7,6 +7,24 @@ module.exports = {
|
|
|
7
7
|
plex: ["IBM Plex Sans Arabic"]
|
|
8
8
|
},
|
|
9
9
|
extend: {
|
|
10
|
+
transitionProperty: {
|
|
11
|
+
height: "height"
|
|
12
|
+
},
|
|
13
|
+
keyframes: {
|
|
14
|
+
collapse: {
|
|
15
|
+
"0%,100%": { transform: "scaleY(0)" },
|
|
16
|
+
"10%": { transform: "scaleY(0)" },
|
|
17
|
+
"20%": { transform: "scaleY(0)" },
|
|
18
|
+
"30%": { transform: "scaleY(0)" },
|
|
19
|
+
"40%": { transform: "scaleY(0)" },
|
|
20
|
+
"50%": { transform: "scaleY(0)" },
|
|
21
|
+
"60%": { transform: "scaleY(0)" },
|
|
22
|
+
// "100%": { transform: "scaleY(1)" },
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
animation: {
|
|
26
|
+
collapsing: "collapse"
|
|
27
|
+
},
|
|
10
28
|
colors: {
|
|
11
29
|
primary: {
|
|
12
30
|
200: "#C4DEFD",
|