@sikka/hawa 0.1.85 → 0.1.87
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/README.md +1 -1
- package/dist/index.d.mts +22 -2
- package/dist/index.d.ts +22 -2
- package/dist/index.js +814 -743
- package/dist/index.mjs +600 -531
- package/dist/styles.css +31 -65
- package/package.json +1 -1
- package/src/blocks/AuthForms/AppLanding.tsx +17 -7
- package/src/blocks/AuthForms/SignInForm.tsx +1 -1
- package/src/blocks/AuthForms/SignUpForm.tsx +1 -1
- package/src/blocks/Payment/CreditCardForm.tsx +20 -19
- package/src/elements/ActionCard.tsx +64 -0
- package/src/elements/Carousel.tsx +5 -155
- package/src/elements/DropdownMenu.tsx +5 -0
- package/src/elements/index.ts +2 -0
- package/src/layout/Footer.tsx +50 -13
- package/src/styles.css +31 -65
|
@@ -89,6 +89,7 @@ const DropdownMenuItem = React.forwardRef<
|
|
|
89
89
|
}
|
|
90
90
|
>(({ className, inset, ...props }, ref) => (
|
|
91
91
|
<DropdownMenuPrimitive.Item
|
|
92
|
+
disabled={props.disabled}
|
|
92
93
|
ref={ref}
|
|
93
94
|
className={cn(
|
|
94
95
|
"relative flex cursor-pointer select-none items-center justify-between rounded-sm px-2 py-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
@@ -238,6 +239,7 @@ export type SubItem = {
|
|
|
238
239
|
icon?: any
|
|
239
240
|
action?: () => void
|
|
240
241
|
highlighted?: boolean
|
|
242
|
+
disabled?: boolean
|
|
241
243
|
}
|
|
242
244
|
|
|
243
245
|
export type MenuItemType = {
|
|
@@ -249,6 +251,7 @@ export type MenuItemType = {
|
|
|
249
251
|
action?: () => void
|
|
250
252
|
highlighted?: boolean
|
|
251
253
|
subitems?: SubItem[] // Note the use of the optional modifier
|
|
254
|
+
disabled?: boolean
|
|
252
255
|
}
|
|
253
256
|
interface DropdownMenuProps {
|
|
254
257
|
trigger?: any
|
|
@@ -306,6 +309,7 @@ export const DropdownMenu: React.FC<DropdownMenuProps> = ({
|
|
|
306
309
|
<DropdownMenuSubContent>
|
|
307
310
|
{item.subitems.map((subitem, subIndex) => (
|
|
308
311
|
<DropdownMenuItem
|
|
312
|
+
disabled={subitem.disabled}
|
|
309
313
|
className="flex flex-row gap-2"
|
|
310
314
|
onSelect={() => subitem.action()}
|
|
311
315
|
key={subIndex}
|
|
@@ -319,6 +323,7 @@ export const DropdownMenu: React.FC<DropdownMenuProps> = ({
|
|
|
319
323
|
</DropdownMenuSub>
|
|
320
324
|
) : (
|
|
321
325
|
<DropdownMenuItem
|
|
326
|
+
disabled={item.disabled}
|
|
322
327
|
className="flex flex-row gap-2"
|
|
323
328
|
key={index}
|
|
324
329
|
onSelect={(e) => {
|
package/src/elements/index.ts
CHANGED
package/src/layout/Footer.tsx
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { BsInstagram, BsTwitter } from "react-icons/bs"
|
|
2
2
|
import { FaSnapchatGhost, FaTiktok } from "react-icons/fa"
|
|
3
|
+
import { Button } from "../elements"
|
|
4
|
+
import { cn } from "../util"
|
|
3
5
|
|
|
4
6
|
type FooterTypes = {
|
|
5
7
|
logoText?: string
|
|
6
8
|
logoURL?: string
|
|
9
|
+
copyRights?: string
|
|
10
|
+
variation?: "default" | "minimal"
|
|
7
11
|
socialLinks?: {
|
|
8
12
|
twitter?: string
|
|
9
13
|
instagram?: string
|
|
@@ -19,12 +23,45 @@ type FooterTypes = {
|
|
|
19
23
|
}[]
|
|
20
24
|
}
|
|
21
25
|
|
|
22
|
-
export const Footer: React.FunctionComponent<FooterTypes> = ({
|
|
26
|
+
export const Footer: React.FunctionComponent<FooterTypes> = ({
|
|
27
|
+
variation = "default",
|
|
28
|
+
...props
|
|
29
|
+
}) => {
|
|
30
|
+
let variationStyles = {
|
|
31
|
+
default: "rounded border",
|
|
32
|
+
minimal: "border-t",
|
|
33
|
+
}
|
|
23
34
|
return (
|
|
24
|
-
<div
|
|
25
|
-
{
|
|
26
|
-
|
|
27
|
-
|
|
35
|
+
<div
|
|
36
|
+
className={cn(
|
|
37
|
+
"flex w-full flex-row items-center justify-between gap-8 rounded bg-background p-4",
|
|
38
|
+
variationStyles[variation]
|
|
39
|
+
)}
|
|
40
|
+
>
|
|
41
|
+
<div className="flex flex-col items-center gap-2">
|
|
42
|
+
<div className="flex flex-row items-center gap-2">
|
|
43
|
+
{props.logoURL && (
|
|
44
|
+
<div>
|
|
45
|
+
<img className="h-8" src={props.logoURL} />
|
|
46
|
+
</div>
|
|
47
|
+
)}
|
|
48
|
+
{props.logoText && (
|
|
49
|
+
<div>
|
|
50
|
+
<div className="text-2xl font-bold text-primary">
|
|
51
|
+
{props.logoText}
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
)}
|
|
55
|
+
</div>
|
|
56
|
+
{props.copyRights && props.footerLinks && (
|
|
57
|
+
<div className="text-xs text-muted-foreground">
|
|
58
|
+
© {props.copyRights} {new Date().getFullYear()}
|
|
59
|
+
</div>
|
|
60
|
+
)}
|
|
61
|
+
</div>
|
|
62
|
+
{props.copyRights && !props.footerLinks && (
|
|
63
|
+
<div className="text-xs text-muted-foreground">
|
|
64
|
+
© {props.copyRights} {new Date().getFullYear()}
|
|
28
65
|
</div>
|
|
29
66
|
)}
|
|
30
67
|
{props.footerLinks?.map((pagesSection) => (
|
|
@@ -45,24 +82,24 @@ export const Footer: React.FunctionComponent<FooterTypes> = ({ ...props }) => {
|
|
|
45
82
|
{props.socialLinks && (
|
|
46
83
|
<div className="flex flex-row gap-2">
|
|
47
84
|
{props.socialLinks.twitter && (
|
|
48
|
-
<
|
|
85
|
+
<Button size="smallIcon" variant="ghost">
|
|
49
86
|
<BsTwitter />
|
|
50
|
-
</
|
|
87
|
+
</Button>
|
|
51
88
|
)}
|
|
52
89
|
{props.socialLinks.instagram && (
|
|
53
|
-
<
|
|
90
|
+
<Button size="smallIcon" variant="ghost">
|
|
54
91
|
<BsInstagram />
|
|
55
|
-
</
|
|
92
|
+
</Button>
|
|
56
93
|
)}
|
|
57
94
|
{props.socialLinks.tiktok && (
|
|
58
|
-
<
|
|
95
|
+
<Button size="smallIcon" variant="ghost">
|
|
59
96
|
<FaTiktok />
|
|
60
|
-
</
|
|
97
|
+
</Button>
|
|
61
98
|
)}
|
|
62
99
|
{props.socialLinks.snapchat && (
|
|
63
|
-
<
|
|
100
|
+
<Button size="smallIcon" variant="ghost">
|
|
64
101
|
<FaSnapchatGhost />
|
|
65
|
-
</
|
|
102
|
+
</Button>
|
|
66
103
|
)}
|
|
67
104
|
</div>
|
|
68
105
|
)}
|
package/src/styles.css
CHANGED
|
@@ -758,6 +758,9 @@ video {
|
|
|
758
758
|
.bottom-14 {
|
|
759
759
|
bottom: 3.5rem;
|
|
760
760
|
}
|
|
761
|
+
.bottom-2 {
|
|
762
|
+
bottom: 0.5rem;
|
|
763
|
+
}
|
|
761
764
|
.bottom-4 {
|
|
762
765
|
bottom: 1rem;
|
|
763
766
|
}
|
|
@@ -1075,9 +1078,6 @@ video {
|
|
|
1075
1078
|
.hidden {
|
|
1076
1079
|
display: none;
|
|
1077
1080
|
}
|
|
1078
|
-
.aspect-\[2\/3\] {
|
|
1079
|
-
aspect-ratio: 2/3;
|
|
1080
|
-
}
|
|
1081
1081
|
.aspect-square {
|
|
1082
1082
|
aspect-ratio: 1 / 1;
|
|
1083
1083
|
}
|
|
@@ -1096,9 +1096,6 @@ video {
|
|
|
1096
1096
|
.h-11 {
|
|
1097
1097
|
height: 2.75rem;
|
|
1098
1098
|
}
|
|
1099
|
-
.h-12 {
|
|
1100
|
-
height: 3rem;
|
|
1101
|
-
}
|
|
1102
1099
|
.h-14 {
|
|
1103
1100
|
height: 3.5rem;
|
|
1104
1101
|
}
|
|
@@ -1180,6 +1177,9 @@ video {
|
|
|
1180
1177
|
.h-\[32px\] {
|
|
1181
1178
|
height: 32px;
|
|
1182
1179
|
}
|
|
1180
|
+
.h-\[400px\] {
|
|
1181
|
+
height: 400px;
|
|
1182
|
+
}
|
|
1183
1183
|
.h-\[calc\(100\%-3\.5rem\)\] {
|
|
1184
1184
|
height: calc(100% - 3.5rem);
|
|
1185
1185
|
}
|
|
@@ -1228,6 +1228,9 @@ video {
|
|
|
1228
1228
|
.min-h-\[80px\] {
|
|
1229
1229
|
min-height: 80px;
|
|
1230
1230
|
}
|
|
1231
|
+
.min-h-screen {
|
|
1232
|
+
min-height: 100vh;
|
|
1233
|
+
}
|
|
1231
1234
|
.w-0 {
|
|
1232
1235
|
width: 0px;
|
|
1233
1236
|
}
|
|
@@ -1309,6 +1312,9 @@ video {
|
|
|
1309
1312
|
.w-\[1\.2rem\] {
|
|
1310
1313
|
width: 1.2rem;
|
|
1311
1314
|
}
|
|
1315
|
+
.w-\[1000px\] {
|
|
1316
|
+
width: 1000px;
|
|
1317
|
+
}
|
|
1312
1318
|
.w-\[12px\] {
|
|
1313
1319
|
width: 12px;
|
|
1314
1320
|
}
|
|
@@ -1345,15 +1351,9 @@ video {
|
|
|
1345
1351
|
.w-\[42px\] {
|
|
1346
1352
|
width: 42px;
|
|
1347
1353
|
}
|
|
1348
|
-
.w-\[500px\] {
|
|
1349
|
-
width: 500px;
|
|
1350
|
-
}
|
|
1351
1354
|
.w-\[64px\] {
|
|
1352
1355
|
width: 64px;
|
|
1353
1356
|
}
|
|
1354
|
-
.w-\[90\%\] {
|
|
1355
|
-
width: 90%;
|
|
1356
|
-
}
|
|
1357
1357
|
.w-\[calc\(1\%\)\] {
|
|
1358
1358
|
width: calc(1%);
|
|
1359
1359
|
}
|
|
@@ -1576,19 +1576,6 @@ video {
|
|
|
1576
1576
|
.snap-x {
|
|
1577
1577
|
scroll-snap-type: x var(--tw-scroll-snap-strictness);
|
|
1578
1578
|
}
|
|
1579
|
-
.snap-mandatory {
|
|
1580
|
-
--tw-scroll-snap-strictness: mandatory;
|
|
1581
|
-
}
|
|
1582
|
-
.snap-start {
|
|
1583
|
-
scroll-snap-align: start;
|
|
1584
|
-
}
|
|
1585
|
-
.snap-always {
|
|
1586
|
-
scroll-snap-stop: always;
|
|
1587
|
-
}
|
|
1588
|
-
.scroll-px-10 {
|
|
1589
|
-
scroll-padding-left: 2.5rem;
|
|
1590
|
-
scroll-padding-right: 2.5rem;
|
|
1591
|
-
}
|
|
1592
1579
|
.appearance-none {
|
|
1593
1580
|
-webkit-appearance: none;
|
|
1594
1581
|
-moz-appearance: none;
|
|
@@ -1769,15 +1756,9 @@ video {
|
|
|
1769
1756
|
.overflow-y-clip {
|
|
1770
1757
|
overflow-y: clip;
|
|
1771
1758
|
}
|
|
1772
|
-
.overflow-x-scroll {
|
|
1773
|
-
overflow-x: scroll;
|
|
1774
|
-
}
|
|
1775
1759
|
.overflow-y-scroll {
|
|
1776
1760
|
overflow-y: scroll;
|
|
1777
1761
|
}
|
|
1778
|
-
.scroll-smooth {
|
|
1779
|
-
scroll-behavior: smooth;
|
|
1780
|
-
}
|
|
1781
1762
|
.truncate {
|
|
1782
1763
|
overflow: hidden;
|
|
1783
1764
|
text-overflow: ellipsis;
|
|
@@ -2027,10 +2008,6 @@ video {
|
|
|
2027
2008
|
--tw-bg-opacity: 1;
|
|
2028
2009
|
background-color: rgb(219 234 254 / var(--tw-bg-opacity));
|
|
2029
2010
|
}
|
|
2030
|
-
.bg-blue-200 {
|
|
2031
|
-
--tw-bg-opacity: 1;
|
|
2032
|
-
background-color: rgb(191 219 254 / var(--tw-bg-opacity));
|
|
2033
|
-
}
|
|
2034
2011
|
.bg-blue-300 {
|
|
2035
2012
|
--tw-bg-opacity: 1;
|
|
2036
2013
|
background-color: rgb(147 197 253 / var(--tw-bg-opacity));
|
|
@@ -2117,10 +2094,6 @@ video {
|
|
|
2117
2094
|
--tw-bg-opacity: 1;
|
|
2118
2095
|
background-color: rgb(220 252 231 / var(--tw-bg-opacity));
|
|
2119
2096
|
}
|
|
2120
|
-
.bg-green-300 {
|
|
2121
|
-
--tw-bg-opacity: 1;
|
|
2122
|
-
background-color: rgb(134 239 172 / var(--tw-bg-opacity));
|
|
2123
|
-
}
|
|
2124
2097
|
.bg-green-500 {
|
|
2125
2098
|
--tw-bg-opacity: 1;
|
|
2126
2099
|
background-color: rgb(34 197 94 / var(--tw-bg-opacity));
|
|
@@ -2138,10 +2111,6 @@ video {
|
|
|
2138
2111
|
.bg-muted {
|
|
2139
2112
|
background-color: hsl(var(--muted));
|
|
2140
2113
|
}
|
|
2141
|
-
.bg-orange-100 {
|
|
2142
|
-
--tw-bg-opacity: 1;
|
|
2143
|
-
background-color: rgb(255 237 213 / var(--tw-bg-opacity));
|
|
2144
|
-
}
|
|
2145
2114
|
.bg-orange-400 {
|
|
2146
2115
|
--tw-bg-opacity: 1;
|
|
2147
2116
|
background-color: rgb(251 146 60 / var(--tw-bg-opacity));
|
|
@@ -2188,10 +2157,6 @@ video {
|
|
|
2188
2157
|
--tw-bg-opacity: 1;
|
|
2189
2158
|
background-color: rgb(127 29 29 / var(--tw-bg-opacity));
|
|
2190
2159
|
}
|
|
2191
|
-
.bg-rose-100 {
|
|
2192
|
-
--tw-bg-opacity: 1;
|
|
2193
|
-
background-color: rgb(255 228 230 / var(--tw-bg-opacity));
|
|
2194
|
-
}
|
|
2195
2160
|
.bg-secondary {
|
|
2196
2161
|
background-color: hsl(var(--secondary));
|
|
2197
2162
|
}
|
|
@@ -2236,16 +2201,14 @@ video {
|
|
|
2236
2201
|
.bg-opacity-80 {
|
|
2237
2202
|
--tw-bg-opacity: 0.8;
|
|
2238
2203
|
}
|
|
2239
|
-
.bg-gradient-to-t {
|
|
2240
|
-
background-image: linear-gradient(to top, var(--tw-gradient-stops));
|
|
2241
|
-
}
|
|
2242
2204
|
.bg-none {
|
|
2243
2205
|
background-image: none;
|
|
2244
2206
|
}
|
|
2245
|
-
.
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2207
|
+
.bg-cover {
|
|
2208
|
+
background-size: cover;
|
|
2209
|
+
}
|
|
2210
|
+
.bg-center {
|
|
2211
|
+
background-position: center;
|
|
2249
2212
|
}
|
|
2250
2213
|
.fill-current {
|
|
2251
2214
|
fill: currentColor;
|
|
@@ -2716,9 +2679,6 @@ video {
|
|
|
2716
2679
|
--tw-text-opacity: 1;
|
|
2717
2680
|
color: rgb(255 255 255 / var(--tw-text-opacity));
|
|
2718
2681
|
}
|
|
2719
|
-
.text-white\/50 {
|
|
2720
|
-
color: rgb(255 255 255 / 0.5);
|
|
2721
|
-
}
|
|
2722
2682
|
.text-yellow-700 {
|
|
2723
2683
|
--tw-text-opacity: 1;
|
|
2724
2684
|
color: rgb(161 98 7 / var(--tw-text-opacity));
|
|
@@ -2918,6 +2878,9 @@ video {
|
|
|
2918
2878
|
.duration-300 {
|
|
2919
2879
|
transition-duration: 300ms;
|
|
2920
2880
|
}
|
|
2881
|
+
.duration-500 {
|
|
2882
|
+
transition-duration: 500ms;
|
|
2883
|
+
}
|
|
2921
2884
|
.will-change-\[opacity\2c transform\] {
|
|
2922
2885
|
will-change: opacity,transform;
|
|
2923
2886
|
}
|
|
@@ -2968,6 +2931,9 @@ video {
|
|
|
2968
2931
|
.duration-300 {
|
|
2969
2932
|
animation-duration: 300ms;
|
|
2970
2933
|
}
|
|
2934
|
+
.duration-500 {
|
|
2935
|
+
animation-duration: 500ms;
|
|
2936
|
+
}
|
|
2971
2937
|
.delay-100 {
|
|
2972
2938
|
animation-delay: 100ms;
|
|
2973
2939
|
}
|
|
@@ -3269,6 +3235,10 @@ body {
|
|
|
3269
3235
|
--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
|
|
3270
3236
|
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
3271
3237
|
}
|
|
3238
|
+
.hover\:drop-shadow-2xl:hover {
|
|
3239
|
+
--tw-drop-shadow: drop-shadow(0 25px 25px rgb(0 0 0 / 0.15));
|
|
3240
|
+
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
|
|
3241
|
+
}
|
|
3272
3242
|
.hover\:drop-shadow-lg:hover {
|
|
3273
3243
|
--tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / 0.04)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1));
|
|
3274
3244
|
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
|
|
@@ -4049,10 +4019,6 @@ body {
|
|
|
4049
4019
|
display: flex;
|
|
4050
4020
|
}
|
|
4051
4021
|
|
|
4052
|
-
.sm\:w-\[44\%\] {
|
|
4053
|
-
width: 44%;
|
|
4054
|
-
}
|
|
4055
|
-
|
|
4056
4022
|
.sm\:columns-2 {
|
|
4057
4023
|
-moz-columns: 2;
|
|
4058
4024
|
columns: 2;
|
|
@@ -4164,10 +4130,6 @@ body {
|
|
|
4164
4130
|
width: 12rem;
|
|
4165
4131
|
}
|
|
4166
4132
|
|
|
4167
|
-
.md\:w-\[30\%\] {
|
|
4168
|
-
width: 30%;
|
|
4169
|
-
}
|
|
4170
|
-
|
|
4171
4133
|
.md\:w-full {
|
|
4172
4134
|
width: 100%;
|
|
4173
4135
|
}
|
|
@@ -4197,6 +4159,10 @@ body {
|
|
|
4197
4159
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
4198
4160
|
}
|
|
4199
4161
|
|
|
4162
|
+
.md\:grid-cols-3 {
|
|
4163
|
+
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
4164
|
+
}
|
|
4165
|
+
|
|
4200
4166
|
.md\:flex-row {
|
|
4201
4167
|
flex-direction: row;
|
|
4202
4168
|
}
|