@sikka/hawa 0.0.50 → 0.0.52

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.
Files changed (33) hide show
  1. package/es/index.es.js +1 -1
  2. package/lib/index.js +1 -1
  3. package/package.json +1 -1
  4. package/src/blocks/Account/UserProfileForm.js +2 -3
  5. package/src/blocks/Account/UserSettingsForm.js +2 -3
  6. package/src/blocks/Misc/NotFound.js +8 -23
  7. package/src/blocks/Payment/ChargeWalletForm.js +5 -12
  8. package/src/blocks/Payment/CheckoutForm.js +185 -195
  9. package/src/blocks/Payment/Confirmation.js +31 -74
  10. package/src/blocks/Payment/CreditCardForm.js +3 -4
  11. package/src/blocks/Payment/Form/CForm.js +3 -4
  12. package/src/blocks/Payment/Form/PaymentMethod.js +2 -9
  13. package/src/blocks/Payment/Gateway/Wallet.js +145 -145
  14. package/src/blocks/Payment/PayWithWallet.js +6 -13
  15. package/src/blocks/Payment/SelectPayment.js +2 -3
  16. package/src/blocks/Pricing/PricingPlans.js +4 -5
  17. package/src/elements/DraggableCard.js +18 -28
  18. package/src/elements/HawaCheckbox.js +0 -2
  19. package/src/elements/HawaItemCard.js +0 -1
  20. package/src/elements/HawaLogoButton.js +1 -1
  21. package/src/elements/HawaPanelTabs.js +116 -22
  22. package/src/elements/HawaPricingCard.js +102 -120
  23. package/src/elements/HawaSelect.js +17 -7
  24. package/src/elements/HawaSettingsRow.js +4 -5
  25. package/storybook-static/iframe.html +1 -1
  26. package/storybook-static/main.c2f37ee9.iframe.bundle.js +1 -0
  27. package/storybook-static/project.json +1 -1
  28. package/storybook-static/vendors~main.db6a4c38.iframe.bundle.js +76 -0
  29. package/storybook-static/{vendors~main.c0e24dea.iframe.bundle.js.LICENSE.txt → vendors~main.db6a4c38.iframe.bundle.js.LICENSE.txt} +0 -0
  30. package/storybook-static/vendors~main.db6a4c38.iframe.bundle.js.map +1 -0
  31. package/storybook-static/main.c82b0a52.iframe.bundle.js +0 -1
  32. package/storybook-static/vendors~main.c0e24dea.iframe.bundle.js +0 -76
  33. package/storybook-static/vendors~main.c0e24dea.iframe.bundle.js.map +0 -1
@@ -1,73 +1,37 @@
1
1
  import React from "react";
2
2
  import { HawaButton, HawaTable } from "../../elements";
3
- import Container from "@mui/material/Container";
4
- import Typography from "@mui/material/Typography";
5
- import Divider from "@mui/material/Divider";
6
3
  import PropTypes from "prop-types";
7
4
 
8
5
  export const ConfirmationPage = (props) => {
9
6
  let isArabic = props.lang === "ar";
10
7
 
11
8
  return (
12
- <div
13
- style={{
14
- display: "flex",
15
- flexDirection: "column",
16
- justifyContent: "center",
17
- alignItems: "center"
18
- }}
19
- >
20
- <Container maxWidth="sm" style={{ direction: isArabic ? "rtl" : "ltr" }}>
21
- <Typography
22
- align="center"
23
- variant="h3"
24
- fontWeight={400}
25
- style={{ marginBottom: 10 }}
26
- >
27
- {props.confirmationTitle}
28
- </Typography>
29
- <Divider variant="middle" />
30
-
31
- <Typography
32
- align="center"
33
- variant="body1"
34
- // fontWeight={500}
35
- style={{ marginBottom: 10 }}
36
- >
9
+ <div className="flex flex-col divide-gray-300 bg-blue-300 divide-y rounded-xl p-4">
10
+ <div className="text-3xl font-bold text-center py-5">
11
+ {props.confirmationTitle}
12
+ </div>
13
+ <div className="py-5">
14
+ <div className="text-center mb-2">
37
15
  {props.texts.successMessage} <strong>{props.userEmail}</strong>
38
- </Typography>
39
- <Typography align="center" variant="body1">
40
- {props.texts.yourOrderNumber}
41
- </Typography>
42
- <Typography
43
- align="center"
44
- variant="body1"
45
- fontWeight={700}
46
- style={{ marginBottom: 10 }}
47
- >
48
- {props.orderNumber}
49
- </Typography>
50
- <Divider variant="middle" />
51
- {props.products && (
52
- <>
53
- <Typography
54
- align="center"
55
- variant="h5"
56
- fontWeight={500}
57
- style={{ marginBottom: 10 }}
58
- >
59
- {props.texts.orderDetails}
60
- </Typography>
16
+ </div>
17
+ <div className="text-center">{props.texts.yourOrderNumber}</div>
18
+ <div className="font-bold text-center">{props.orderNumber}</div>
19
+ </div>
61
20
 
62
- <HawaTable
63
- lang={props.lang}
64
- columns={["Product", "Price"]}
65
- rows={props.products}
66
- end={["Total", props.total]}
67
- />
68
- <Divider variant="middle" />
69
- </>
21
+ <div className="py-5">
22
+ <div className="text-xl font-semibold mb-3 text-center">
23
+ {props.texts.orderDetails}
24
+ </div>
25
+ {props.products && (
26
+ <HawaTable
27
+ lang={props.lang}
28
+ columns={["Product", "Price"]}
29
+ rows={props.products}
30
+ end={["Total", props.total]}
31
+ />
70
32
  )}
33
+ </div>
34
+ <div className="flex flex-col py-5 justify-center items-center">
71
35
  <HawaButton fullWidth onClick={props.handlePrint}>
72
36
  {props.texts.print}
73
37
  </HawaButton>
@@ -77,23 +41,16 @@ export const ConfirmationPage = (props) => {
77
41
  <HawaButton fullWidth onClick={props.handleHome}>
78
42
  {props.texts.homePage}
79
43
  </HawaButton>
80
- <Typography align="center" variant="body2" style={{ marginTop: 10 }}>
44
+ <div className="mt-5 mb-5 text-center text-sm">
81
45
  {props.texts.fasterPaymentNote}
82
- </Typography>
83
- </Container>
84
- <a
85
- style={{
86
- marginTop: 10,
87
- paddingTop: 10,
88
- padding: 5,
89
- cursor: "pointer"
90
- }}
91
- onClick={props.handleRefundPolicyLink}
92
- >
93
- <Typography align="center" variant="caption" fontWeight={500}>
46
+ </div>
47
+ <a
48
+ className="w-fit text-center cursor-pointer text-xs font-normal"
49
+ onClick={props.handleRefundPolicyLink}
50
+ >
94
51
  {props.texts.refundPolicy}
95
- </Typography>
96
- </a>
52
+ </a>
53
+ </div>
97
54
  </div>
98
55
  );
99
56
  };
@@ -1,7 +1,6 @@
1
1
  import React from "react";
2
2
  import { HawaButton, HawaTextField } from "../../elements";
3
- import { Controller, FormProvider, useForm } from "react-hook-form";
4
- import Container from "@mui/material/Container";
3
+ import { Controller, useForm } from "react-hook-form";
5
4
 
6
5
  export const CreditCardForm = (props) => {
7
6
  const methods = useForm();
@@ -12,7 +11,7 @@ export const CreditCardForm = (props) => {
12
11
  } = methods;
13
12
 
14
13
  return (
15
- <Container maxWidth="xs">
14
+ <div className="flex flex-col bg-blue-300 rounded-xl p-4">
16
15
  <form onSubmit={handleSubmit(props.handle)}>
17
16
  <HawaTextField
18
17
  fullWidth
@@ -86,6 +85,6 @@ export const CreditCardForm = (props) => {
86
85
  {"Pay with Credit Card"}
87
86
  </HawaButton>
88
87
  </form>
89
- </Container>
88
+ </div>
90
89
  );
91
90
  };
@@ -1,6 +1,5 @@
1
1
  import React, { useEffect, useState, useRef } from "react";
2
2
  import sha256 from "crypto-js/sha256";
3
- import CircularProgress from "@mui/material/CircularProgress";
4
3
  import useTranslation from "next-translate/useTranslation";
5
4
  import axios from "axios";
6
5
  import { HawaButton } from "../../../elements";
@@ -310,15 +309,15 @@ export default function CForm({
310
309
  fullWidth
311
310
  onClick={handlePayfortForm}
312
311
  >
313
- {loading ? (
312
+ {/* {loading ? (
314
313
  <CircularProgress
315
314
  variant="indeterminate"
316
315
  style={{ color: "white", display: "none" }}
317
316
  size={25}
318
317
  />
319
- ) : (
318
+ ) : ( */}
320
319
  <span className="pay-new-btn-txt">{t("pay-now")}</span>
321
- )}
320
+ {/* )} */}
322
321
  </HawaButton>
323
322
  </div>
324
323
  </div>
@@ -1,6 +1,6 @@
1
1
  import useTranslation from "next-translate/useTranslation";
2
- import Chip from "@mui/material/Chip";
3
2
  import PropTypes from "prop-types";
3
+ import { HawaChip } from "../../../elements";
4
4
 
5
5
  export const PaymentMethod = (props) => {
6
6
  const { t } = useTranslation("common");
@@ -106,14 +106,7 @@ const PaymentMethodButton = (props) => {
106
106
  }}
107
107
  >
108
108
  {props.methodLabel}
109
- {props.chip ? (
110
- <Chip
111
- size="small"
112
- color="primary"
113
- label={props.chip}
114
- style={{ marginRight: 10, marginLeft: 10 }}
115
- />
116
- ) : null}
109
+ {props.chip ? <HawaChip label="test" /> : null}x
117
110
  </div>
118
111
  </button>
119
112
  );
@@ -1,148 +1,148 @@
1
- import useTranslation from "next-translate/useTranslation";
2
- import Grid from "@mui/material/Grid";
3
- import Paper from "@mui/material/Paper";
4
- import CircularProgress from "@mui/material/CircularProgress";
5
- import { makeStyles } from "@mui/material/styles";
1
+ // import useTranslation from "next-translate/useTranslation";
2
+ // import Grid from "@mui/material/Grid";
3
+ // import Paper from "@mui/material/Paper";
4
+ // import CircularProgress from "@mui/material/CircularProgress";
5
+ // import { makeStyles } from "@mui/material/styles";
6
6
 
7
- const useStyles = makeStyles((theme) => ({
8
- root: {
9
- flexGrow: 1
10
- },
11
- paper: {
12
- padding: theme.spacing(2),
13
- textAlign: "center",
14
- color: theme.palette.text.secondary
15
- }
16
- }));
7
+ // const useStyles = makeStyles((theme) => ({
8
+ // root: {
9
+ // flexGrow: 1
10
+ // },
11
+ // paper: {
12
+ // padding: theme.spacing(2),
13
+ // textAlign: "center",
14
+ // color: theme.palette.text.secondary
15
+ // }
16
+ // }));
17
17
 
18
- const Wallet = (props) => {
19
- const { t } = useTranslation("common");
20
- const classes = useStyles();
21
- return (
22
- <div className="block-pay-content" style={{ padding: 20 }}>
23
- <div key="Payment">
24
- <>
25
- <Grid
26
- container
27
- spacing={3}
28
- alignContent={"center"}
29
- alignItems={"center"}
30
- style={{ width: "100%", margin: 0 }}
31
- >
32
- <Grid item xs={4}>
33
- <Paper
34
- className={classes.paper}
35
- style={{
36
- boxShadow: "none",
37
- fontWeight: "bold"
38
- }}
39
- >
40
- {t("payment-made")} <br />
41
- {props.amount} {t(props.SelectedCurrency)}
42
- </Paper>
43
- </Grid>
44
- <Grid
45
- item
46
- style={{
47
- padding: 0,
48
- margin: "-5px"
49
- }}
50
- >
51
- <Paper
52
- className={classes.paper}
53
- style={{
54
- backgroundColor: "transparent",
55
- boxShadow: "none",
56
- fontSize: "18px",
57
- fontWeight: "bold",
58
- padding: 0
59
- }}
60
- >
61
- -
62
- </Paper>
63
- </Grid>
64
- <Grid item xs={4}>
65
- <Paper
66
- className={classes.paper}
67
- style={{
68
- boxShadow: "none",
69
- fontWeight: "bold"
70
- }}
71
- >
72
- {t("amount-in-wallet")} <br />
73
- {props.total_wallet.toFixed(2)} {t(props.SelectedCurrency)}
74
- </Paper>
75
- </Grid>
76
- <Grid
77
- item
78
- style={{
79
- padding: 0,
80
- margin: "-5px"
81
- }}
82
- >
83
- <Paper
84
- className={classes.paper}
85
- style={{
86
- backgroundColor: "transparent",
87
- boxShadow: "none",
88
- fontSize: "18px",
89
- fontWeight: "bold",
90
- padding: 0
91
- }}
92
- >
93
- =
94
- </Paper>
95
- </Grid>
96
- <Grid item xs={4}>
97
- <Paper
98
- className={classes.paper}
99
- style={{
100
- boxShadow: "none",
101
- fontWeight: "bold"
102
- }}
103
- >
104
- {t("left-amount-wallet")} <br />
105
- {props.leftAmount.toFixed(2)} {t(props.SelectedCurrency)}
106
- </Paper>
107
- </Grid>
108
- <Grid item xs={12}>
109
- <Paper
110
- className={classes.paper}
111
- style={{
112
- boxShadow: "none",
113
- fontWeight: "bold"
114
- }}
115
- >
116
- {t("remaining-amount")}: {props.remainingAmount.toFixed(2)}{" "}
117
- {t(props.SelectedCurrency)}
118
- </Paper>
119
- </Grid>
120
- {!props.leftAmount && (
121
- <Grid item xs={12}>
122
- <button
123
- variant="contained"
124
- color="primary"
125
- fullWidth
126
- type="submit"
127
- onClick={(e) => props.handleWalletPayNow(e)}
128
- >
129
- {props.loading ? (
130
- <CircularProgress
131
- variant="indeterminate"
132
- style={{ color: "white" }}
133
- size={25}
134
- />
135
- ) : (
136
- t("pay-now")
137
- )}
138
- </button>
139
- </Grid>
140
- )}
141
- </Grid>
142
- </>
143
- </div>
144
- </div>
145
- );
146
- };
18
+ // const Wallet = (props) => {
19
+ // const { t } = useTranslation("common");
20
+ // const classes = useStyles();
21
+ // return (
22
+ // <div className="block-pay-content" style={{ padding: 20 }}>
23
+ // <div key="Payment">
24
+ // <>
25
+ // <Grid
26
+ // container
27
+ // spacing={3}
28
+ // alignContent={"center"}
29
+ // alignItems={"center"}
30
+ // style={{ width: "100%", margin: 0 }}
31
+ // >
32
+ // <Grid item xs={4}>
33
+ // <Paper
34
+ // className={classes.paper}
35
+ // style={{
36
+ // boxShadow: "none",
37
+ // fontWeight: "bold"
38
+ // }}
39
+ // >
40
+ // {t("payment-made")} <br />
41
+ // {props.amount} {t(props.SelectedCurrency)}
42
+ // </Paper>
43
+ // </Grid>
44
+ // <Grid
45
+ // item
46
+ // style={{
47
+ // padding: 0,
48
+ // margin: "-5px"
49
+ // }}
50
+ // >
51
+ // <Paper
52
+ // className={classes.paper}
53
+ // style={{
54
+ // backgroundColor: "transparent",
55
+ // boxShadow: "none",
56
+ // fontSize: "18px",
57
+ // fontWeight: "bold",
58
+ // padding: 0
59
+ // }}
60
+ // >
61
+ // -
62
+ // </Paper>
63
+ // </Grid>
64
+ // <Grid item xs={4}>
65
+ // <Paper
66
+ // className={classes.paper}
67
+ // style={{
68
+ // boxShadow: "none",
69
+ // fontWeight: "bold"
70
+ // }}
71
+ // >
72
+ // {t("amount-in-wallet")} <br />
73
+ // {props.total_wallet.toFixed(2)} {t(props.SelectedCurrency)}
74
+ // </Paper>
75
+ // </Grid>
76
+ // <Grid
77
+ // item
78
+ // style={{
79
+ // padding: 0,
80
+ // margin: "-5px"
81
+ // }}
82
+ // >
83
+ // <Paper
84
+ // className={classes.paper}
85
+ // style={{
86
+ // backgroundColor: "transparent",
87
+ // boxShadow: "none",
88
+ // fontSize: "18px",
89
+ // fontWeight: "bold",
90
+ // padding: 0
91
+ // }}
92
+ // >
93
+ // =
94
+ // </Paper>
95
+ // </Grid>
96
+ // <Grid item xs={4}>
97
+ // <Paper
98
+ // className={classes.paper}
99
+ // style={{
100
+ // boxShadow: "none",
101
+ // fontWeight: "bold"
102
+ // }}
103
+ // >
104
+ // {t("left-amount-wallet")} <br />
105
+ // {props.leftAmount.toFixed(2)} {t(props.SelectedCurrency)}
106
+ // </Paper>
107
+ // </Grid>
108
+ // <Grid item xs={12}>
109
+ // <Paper
110
+ // className={classes.paper}
111
+ // style={{
112
+ // boxShadow: "none",
113
+ // fontWeight: "bold"
114
+ // }}
115
+ // >
116
+ // {t("remaining-amount")}: {props.remainingAmount.toFixed(2)}{" "}
117
+ // {t(props.SelectedCurrency)}
118
+ // </Paper>
119
+ // </Grid>
120
+ // {!props.leftAmount && (
121
+ // <Grid item xs={12}>
122
+ // <button
123
+ // variant="contained"
124
+ // color="primary"
125
+ // fullWidth
126
+ // type="submit"
127
+ // onClick={(e) => props.handleWalletPayNow(e)}
128
+ // >
129
+ // {props.loading ? (
130
+ // <CircularProgress
131
+ // variant="indeterminate"
132
+ // style={{ color: "white" }}
133
+ // size={25}
134
+ // />
135
+ // ) : (
136
+ // t("pay-now")
137
+ // )}
138
+ // </button>
139
+ // </Grid>
140
+ // )}
141
+ // </Grid>
142
+ // </>
143
+ // </div>
144
+ // </div>
145
+ // );
146
+ // };
147
147
 
148
- export default Wallet;
148
+ // export default Wallet;
@@ -1,23 +1,16 @@
1
1
  import React from "react";
2
- import Typography from "@mui/material/Typography";
3
- import Container from "@mui/material/Container";
4
2
  import { HawaButton } from "../../elements";
5
3
 
6
4
  export const PayWithWallet = (props) => {
7
5
  return (
8
- <Container maxWidth="xs">
9
- <Typography align="center">Wallet Balance</Typography>
10
- <Typography align="center" variant="h1">
6
+ <div className="flex flex-col bg-blue-300 rounded-xl p-4">
7
+ <div className="text-5xl font-extrabold text-center">
11
8
  {props.walletBalance || "0"}
12
- <Typography>{props.currency || "SAR"}</Typography>
13
- </Typography>
14
- <HawaButton
15
- type="submit"
16
- fullWidth
17
- onClick={props.handlePayWithWallet}
18
- >
9
+ <div className="text-sm font-normal">{props.currency || "SAR"}</div>
10
+ </div>
11
+ <HawaButton type="submit" fullWidth onClick={props.handlePayWithWallet}>
19
12
  {"Pay Now"}
20
13
  </HawaButton>
21
- </Container>
14
+ </div>
22
15
  );
23
16
  };
@@ -1,11 +1,10 @@
1
1
  import React from "react";
2
2
  import PropTypes from "prop-types";
3
3
  import { HawaTypography, HawaLogoButton } from "../../elements";
4
- import Container from "@mui/material/Container";
5
4
 
6
5
  export const SelectPayment = (props) => {
7
6
  return (
8
- <Container maxWidth="xs">
7
+ <div className="flex flex-col bg-blue-300 rounded-xl p-4">
9
8
  <HawaTypography align="center">Choose Payment Method</HawaTypography>
10
9
  {props.viaWallet && (
11
10
  <HawaLogoButton
@@ -56,7 +55,7 @@ export const SelectPayment = (props) => {
56
55
  onClick={props.handleApplePay}
57
56
  />
58
57
  )}
59
- </Container>
58
+ </div>
60
59
  );
61
60
  };
62
61
 
@@ -1,5 +1,4 @@
1
1
  import React, { useState } from "react";
2
- import Container from "@mui/material/Container";
3
2
  import { HawaPricingCard, HawaPanelTabs } from "../../elements";
4
3
  import PropTypes from "prop-types";
5
4
 
@@ -7,7 +6,7 @@ export const PricingPlans = (props) => {
7
6
  const [currentCurrency, setCurrentCurrency] = useState("sar");
8
7
  const [currentCycle, setCurrentCycle] = useState("monthly");
9
8
  return (
10
- <Container style={{ width: "fit-content" }} variant="plain">
9
+ <div>
11
10
  <div
12
11
  style={{
13
12
  display: "flex",
@@ -41,7 +40,7 @@ export const PricingPlans = (props) => {
41
40
  />
42
41
  </div>
43
42
 
44
- <Container variant="pricing">
43
+ <div className="flex flex-row">
45
44
  {props.plans.map((plan) => {
46
45
  return (
47
46
  <HawaPricingCard
@@ -52,8 +51,8 @@ export const PricingPlans = (props) => {
52
51
  />
53
52
  );
54
53
  })}
55
- </Container>
56
- </Container>
54
+ </div>
55
+ </div>
57
56
  );
58
57
  };
59
58
 
@@ -1,36 +1,26 @@
1
- import { MoreVert } from "@mui/icons-material";
2
- import { Container, Stack } from "@mui/material";
3
1
  import React from "react";
4
2
 
5
3
  export const DraggableCard = (props) => {
6
4
  return (
7
- <Stack
8
- variant="card"
9
- direction="row"
10
- maxWidth={props.maxWidth}
11
- style={{ paddingLeft: 5 }}
12
- >
13
- <div
14
- style={{
15
- // backgroundColor: "blue",
16
- display: "flex",
17
- alignItems: "center",
18
- // paddingRight: 5,
19
- borderRight: "1px solid grey",
20
- marginRight: 20
21
- }}
5
+ <div className="flex flex-row bg-blue-300 rounded-xl p-4">
6
+ <button
7
+ id="dropdownMenuIconButton"
8
+ data-dropdown-toggle="dropdownDots"
9
+ class="inline-flex items-center p-2 text-sm font-medium text-center text-gray-900 bg-white rounded-lg hover:bg-gray-100 focus:ring-4 focus:outline-none dark:text-white focus:ring-gray-50 dark:bg-gray-800 dark:hover:bg-gray-700 dark:focus:ring-gray-600"
10
+ type="button"
22
11
  >
23
- <MoreVert />
24
- </div>
12
+ <svg
13
+ class="w-6 h-6"
14
+ aria-hidden="true"
15
+ fill="currentColor"
16
+ viewBox="0 0 20 20"
17
+ xmlns="http://www.w3.org/2000/svg"
18
+ >
19
+ <path d="M10 6a2 2 0 110-4 2 2 0 010 4zM10 12a2 2 0 110-4 2 2 0 010 4zM10 18a2 2 0 110-4 2 2 0 010 4z"></path>
20
+ </svg>
21
+ </button>
25
22
 
26
- <div
27
- style={{
28
- // backgroundColor: "red",
29
- width: "100%"
30
- }}
31
- >
32
- {props.children}
33
- </div>
34
- </Stack>
23
+ <div className="p-4">{props.children}</div>
24
+ </div>
35
25
  );
36
26
  };
@@ -1,6 +1,4 @@
1
1
  import React from "react";
2
- import FormControlLabel from "@mui/material/FormControlLabel";
3
- import Checkbox from "@mui/material/Checkbox";
4
2
 
5
3
  export const HawaCheckbox = (props) => {
6
4
  console.log("props : ", props);
@@ -1,5 +1,4 @@
1
1
  import React from "react";
2
- import Container from "@mui/material/Container";
3
2
  import PropTypes from "prop-types";
4
3
 
5
4
  export const HawaItemCard = (props) => {