@sikka/hawa 0.0.95 → 0.0.97

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 (174) hide show
  1. package/dist/styles.css +279 -211
  2. package/es/index.es.js +1 -1
  3. package/lib/index.js +1 -1
  4. package/package.json +19 -6
  5. package/rollup.config.js +14 -2
  6. package/src/blocks/Account/{UserProfileForm.js → UserProfileForm.tsx} +42 -41
  7. package/src/blocks/Account/UserSettingsForm.tsx +28 -0
  8. package/src/blocks/Account/index.ts +2 -0
  9. package/src/blocks/AuthForms/AppLanding.tsx +33 -0
  10. package/src/blocks/AuthForms/CodeConfirmation.tsx +59 -0
  11. package/src/blocks/AuthForms/{NewPasswordForm.js → NewPasswordForm.tsx} +49 -53
  12. package/src/blocks/AuthForms/{ResetPasswordForm.js → ResetPasswordForm.tsx} +35 -38
  13. package/src/blocks/AuthForms/{SignInForm.js → SignInForm.tsx} +73 -65
  14. package/src/blocks/AuthForms/SignInPhone.tsx +68 -0
  15. package/src/blocks/AuthForms/{SignUpForm.js → SignUpForm.tsx} +88 -82
  16. package/src/blocks/AuthForms/index.ts +7 -0
  17. package/src/blocks/Misc/NotFound.tsx +28 -0
  18. package/src/blocks/Misc/index.ts +1 -0
  19. package/src/blocks/Payment/ChargeWalletForm.tsx +70 -0
  20. package/src/blocks/Payment/{CheckoutForm.js → CheckoutForm.tsx} +82 -81
  21. package/src/blocks/Payment/Confirmation.tsx +96 -0
  22. package/src/blocks/Payment/{CreditCardForm.js → CreditCardForm.tsx} +48 -33
  23. package/src/blocks/Payment/PayWithWallet.tsx +29 -0
  24. package/src/blocks/Payment/{SelectPayment.js → SelectPayment.tsx} +33 -29
  25. package/src/blocks/Payment/{index.js → index.ts} +0 -0
  26. package/src/blocks/Pricing/{ComparingPlans.js → ComparingPlans.tsx} +51 -53
  27. package/src/blocks/Pricing/PricingPlans.tsx +72 -0
  28. package/src/blocks/Pricing/{index.js → index.ts} +0 -0
  29. package/src/blocks/{index.js → index.ts} +0 -0
  30. package/{countries.js → src/countries.ts} +245 -245
  31. package/src/elements/{AutoCompleteField.js → AutoCompleteField.tsx} +16 -9
  32. package/src/elements/{DragDropImages.js → DragDropImages.tsx} +78 -53
  33. package/src/elements/DraggableCard.tsx +29 -0
  34. package/src/elements/{HawaAccordian.js → HawaAccordian.tsx} +27 -23
  35. package/src/elements/HawaAdCard.tsx +48 -0
  36. package/src/elements/HawaAlert.tsx +30 -0
  37. package/src/elements/HawaButton.tsx +120 -0
  38. package/src/elements/HawaCheckbox.tsx +37 -0
  39. package/src/elements/HawaChip.tsx +12 -0
  40. package/src/elements/HawaColorPicker.tsx +38 -0
  41. package/src/elements/{HawaCopyrights.js → HawaCopyrights.tsx} +15 -8
  42. package/src/elements/HawaDrawer.tsx +84 -0
  43. package/src/elements/{HawaDrawerItem.js → HawaDrawerItem.tsx} +12 -7
  44. package/src/elements/{HawaItemCard.js → HawaItemCard.tsx} +35 -36
  45. package/src/elements/{HawaLogoButton.js → HawaLogoButton.tsx} +52 -56
  46. package/src/elements/HawaMenu.tsx +75 -0
  47. package/src/elements/{HawaModal.js → HawaModal.tsx} +30 -21
  48. package/src/elements/{HawaPanelTabs.js → HawaPanelTabs.tsx} +27 -27
  49. package/src/elements/HawaPhoneInput.tsx +112 -0
  50. package/src/elements/{HawaPricingCard.js → HawaPricingCard.tsx} +86 -47
  51. package/src/elements/HawaRadio.tsx +34 -0
  52. package/src/elements/HawaRange.tsx +47 -0
  53. package/src/elements/HawaSearchBar.tsx +9 -0
  54. package/src/elements/{HawaSelect.js → HawaSelect.tsx} +74 -31
  55. package/src/elements/HawaSettingsRow.tsx +56 -0
  56. package/src/elements/HawaSnackbar.tsx +73 -0
  57. package/src/elements/HawaSwitch.tsx +25 -0
  58. package/src/elements/{HawaTable.js → HawaTable.tsx} +33 -31
  59. package/src/elements/{HawaTabs.js → HawaTabs.tsx} +17 -12
  60. package/src/elements/HawaTextField.tsx +71 -0
  61. package/src/elements/HawaTooltip.tsx +35 -0
  62. package/src/elements/HawaTypography.tsx +11 -0
  63. package/src/elements/{TabPanel.js → TabPanel.tsx} +10 -5
  64. package/src/elements/{index.js → index.ts} +7 -4
  65. package/src/index.ts +3 -0
  66. package/src/layout/Box.tsx +5 -0
  67. package/src/layout/HawaBottomAppBar.tsx +54 -0
  68. package/src/layout/HawaContainer.tsx +24 -0
  69. package/src/layout/{HawaLayout.js → HawaLayout.tsx} +54 -49
  70. package/src/layout/{index.js → index.ts} +0 -0
  71. package/src/styles.css +279 -211
  72. package/src/{util.js → util.ts} +0 -0
  73. package/storybook-static/229.a3257e00.iframe.bundle.js +1 -0
  74. package/storybook-static/229.d6fb4f8f665962cef844.manager.bundle.js +1 -0
  75. package/storybook-static/295.67c251ec00675ab59b60.manager.bundle.js +1 -0
  76. package/storybook-static/51.786e9bbba427ee454dc0.manager.bundle.js +2 -0
  77. package/storybook-static/{0.1104ca18.iframe.bundle.js.LICENSE.txt → 51.786e9bbba427ee454dc0.manager.bundle.js.LICENSE.txt} +0 -0
  78. package/storybook-static/51.acbbdb95.iframe.bundle.js +2 -0
  79. package/storybook-static/{0.cf71f8aa82edef0a7186.manager.bundle.js.LICENSE.txt → 51.acbbdb95.iframe.bundle.js.LICENSE.txt} +0 -0
  80. package/storybook-static/551.67cd309b0648b0a52636.manager.bundle.js +1 -0
  81. package/storybook-static/551.c82ea8f1.iframe.bundle.js +1 -0
  82. package/storybook-static/701.bcf1e718.iframe.bundle.js +1 -0
  83. package/storybook-static/733.8d2de9f8.iframe.bundle.js +2 -0
  84. package/storybook-static/{vendors~main.a40572d0.iframe.bundle.js.LICENSE.txt → 733.8d2de9f8.iframe.bundle.js.LICENSE.txt} +0 -10
  85. package/storybook-static/767.2f9c96fa3338c8d16078.manager.bundle.js +2 -0
  86. package/storybook-static/{vendors~main.d13ba71108048897ea4a.manager.bundle.js.LICENSE.txt → 767.2f9c96fa3338c8d16078.manager.bundle.js.LICENSE.txt} +0 -10
  87. package/storybook-static/807.14b8bfa7.iframe.bundle.js +2 -0
  88. package/storybook-static/{5.5b799f3fbf64cec8e51a.manager.bundle.js.LICENSE.txt → 807.14b8bfa7.iframe.bundle.js.LICENSE.txt} +0 -0
  89. package/storybook-static/807.4f52b2d047c5e8c5872f.manager.bundle.js +2 -0
  90. package/storybook-static/{6.6023eba1.iframe.bundle.js.LICENSE.txt → 807.4f52b2d047c5e8c5872f.manager.bundle.js.LICENSE.txt} +0 -0
  91. package/storybook-static/897.386c170cbd1467abc7ca.manager.bundle.js +2 -0
  92. package/storybook-static/{8.f9b98ef3e089be1a16d6.manager.bundle.js.LICENSE.txt → 897.386c170cbd1467abc7ca.manager.bundle.js.LICENSE.txt} +0 -0
  93. package/storybook-static/897.d9a35fd0.iframe.bundle.js +2 -0
  94. package/storybook-static/{9.63a5cf7a.iframe.bundle.js.LICENSE.txt → 897.d9a35fd0.iframe.bundle.js.LICENSE.txt} +0 -0
  95. package/storybook-static/935.07c1b6ea.iframe.bundle.js +1 -0
  96. package/storybook-static/935.0b4e9c201c33f3e66e81.manager.bundle.js +1 -0
  97. package/storybook-static/iframe.html +1 -1
  98. package/storybook-static/index.html +1 -1
  99. package/storybook-static/main.051275cac7b0dc69501c.manager.bundle.js +1 -0
  100. package/storybook-static/main.71507dcb.iframe.bundle.js +1 -0
  101. package/storybook-static/project.json +1 -1
  102. package/storybook-static/runtime~main.25eae181fe0f96887a15.manager.bundle.js +1 -0
  103. package/storybook-static/runtime~main.4d0bf318.iframe.bundle.js +1 -0
  104. package/tailwind.config.js +16 -1
  105. package/tsconfig.json +25 -0
  106. package/src/blocks/Account/UserSettingsForm.js +0 -17
  107. package/src/blocks/Account/index.js +0 -2
  108. package/src/blocks/AuthForms/AppLanding.js +0 -40
  109. package/src/blocks/AuthForms/CodeConfirmation.js +0 -78
  110. package/src/blocks/AuthForms/SignInPhone.js +0 -38
  111. package/src/blocks/AuthForms/index.js +0 -7
  112. package/src/blocks/Misc/NotFound.js +0 -32
  113. package/src/blocks/Misc/index.js +0 -1
  114. package/src/blocks/Payment/ChargeWalletForm.js +0 -81
  115. package/src/blocks/Payment/Confirmation.js +0 -104
  116. package/src/blocks/Payment/Form/CForm.js +0 -316
  117. package/src/blocks/Payment/Form/Card.js +0 -242
  118. package/src/blocks/Payment/Form/PaymentMethod.js +0 -118
  119. package/src/blocks/Payment/Gateway/GooglePay.js +0 -251
  120. package/src/blocks/Payment/Gateway/Payfort.js +0 -90
  121. package/src/blocks/Payment/Gateway/Paypal.js +0 -138
  122. package/src/blocks/Payment/Gateway/Wallet.js +0 -148
  123. package/src/blocks/Payment/PayWithWallet.js +0 -20
  124. package/src/blocks/Pricing/PricingPlans.js +0 -88
  125. package/src/elements/DraggableCard.js +0 -24
  126. package/src/elements/HawaAlert.js +0 -41
  127. package/src/elements/HawaButton.js +0 -62
  128. package/src/elements/HawaCheckbox.js +0 -28
  129. package/src/elements/HawaChip.js +0 -9
  130. package/src/elements/HawaColorPicker.js +0 -57
  131. package/src/elements/HawaDrawer.js +0 -68
  132. package/src/elements/HawaMenu.js +0 -71
  133. package/src/elements/HawaPhoneInput.js +0 -106
  134. package/src/elements/HawaRadio.js +0 -31
  135. package/src/elements/HawaRange.js +0 -54
  136. package/src/elements/HawaSearchBar.js +0 -15
  137. package/src/elements/HawaSettingsRow.js +0 -34
  138. package/src/elements/HawaSnackbar.js +0 -44
  139. package/src/elements/HawaSwitch.js +0 -21
  140. package/src/elements/HawaTextField.js +0 -34
  141. package/src/elements/HawaTooltip.js +0 -19
  142. package/src/elements/HawaTypography.js +0 -5
  143. package/src/elements/PinInput.js +0 -141
  144. package/src/elements/SelectedField.js +0 -46
  145. package/src/index.js +0 -3
  146. package/src/layout/Box.js +0 -5
  147. package/src/layout/HawaAppLayout.js +0 -245
  148. package/src/layout/HawaAppLayout2.js +0 -254
  149. package/src/layout/HawaBottomAppBar.js +0 -76
  150. package/src/layout/HawaContainer.js +0 -8
  151. package/storybook-static/0.1104ca18.iframe.bundle.js +0 -3
  152. package/storybook-static/0.1104ca18.iframe.bundle.js.map +0 -1
  153. package/storybook-static/0.cf71f8aa82edef0a7186.manager.bundle.js +0 -2
  154. package/storybook-static/1.7e6ec5c45ae5b70c5149.manager.bundle.js +0 -1
  155. package/storybook-static/1.e3eafd38.iframe.bundle.js +0 -1
  156. package/storybook-static/2.3841b1a5.iframe.bundle.js +0 -1
  157. package/storybook-static/5.5b799f3fbf64cec8e51a.manager.bundle.js +0 -2
  158. package/storybook-static/6.6023eba1.iframe.bundle.js +0 -3
  159. package/storybook-static/6.6023eba1.iframe.bundle.js.map +0 -1
  160. package/storybook-static/6.b34ce31193a7fa1dd965.manager.bundle.js +0 -1
  161. package/storybook-static/7.632f8551.iframe.bundle.js +0 -1
  162. package/storybook-static/7.72879af713f755a7aa7e.manager.bundle.js +0 -1
  163. package/storybook-static/8.9a8f8b69.iframe.bundle.js +0 -1
  164. package/storybook-static/8.f9b98ef3e089be1a16d6.manager.bundle.js +0 -2
  165. package/storybook-static/9.1e1335092fade49cc986.manager.bundle.js +0 -1
  166. package/storybook-static/9.63a5cf7a.iframe.bundle.js +0 -3
  167. package/storybook-static/9.63a5cf7a.iframe.bundle.js.map +0 -1
  168. package/storybook-static/main.4bd27e4e7faa098302d1.manager.bundle.js +0 -1
  169. package/storybook-static/main.ea9904c2.iframe.bundle.js +0 -1
  170. package/storybook-static/runtime~main.67ec6e92.iframe.bundle.js +0 -1
  171. package/storybook-static/runtime~main.a58df7ba92d01c5088d3.manager.bundle.js +0 -1
  172. package/storybook-static/vendors~main.a40572d0.iframe.bundle.js +0 -3
  173. package/storybook-static/vendors~main.a40572d0.iframe.bundle.js.map +0 -1
  174. package/storybook-static/vendors~main.d13ba71108048897ea4a.manager.bundle.js +0 -2
@@ -1,13 +1,38 @@
1
- import React from "react";
2
- import PropTypes from "prop-types";
3
- import { HawaTypography, HawaLogoButton } from "../../elements";
4
- import { HawaContainer } from "../../layout";
1
+ import React from "react"
2
+ import { HawaTypography, HawaLogoButton } from "../../elements"
3
+ import { HawaContainer } from "../../layout"
5
4
 
6
- export const SelectPayment = (props) => {
5
+ type SelectPaymentTypes = {
6
+ viaMada: boolean
7
+ viaWallet: boolean
8
+ viaSTCPay: boolean
9
+ viaPayPal: boolean
10
+ viaApplePay: boolean
11
+ viaCreditCard: boolean
12
+ viaGooglePay: boolean
13
+ madaLabel: string
14
+ stcPayLabel: string
15
+ paypalLabel: string
16
+ walletLabel: string
17
+ applePayLabel: string
18
+ visaMasterLabel: string
19
+ googlePayLabel: string
20
+ handleMada: any
21
+ handleWallet: any
22
+ handleSTCPay: any
23
+ handlePayPal: any
24
+ handleApplePay: any
25
+ handleCreditCard: any
26
+ handleGooglePay: any
27
+ }
28
+
29
+ export const SelectPayment: React.FunctionComponent<SelectPaymentTypes> = (
30
+ props
31
+ ) => {
7
32
  return (
8
33
  <HawaContainer>
9
34
  {/* // <div className="flex flex-col w-1/3 bg-blue-300 rounded-xl p-4"> */}
10
- <HawaTypography align="center">Choose Payment Method</HawaTypography>
35
+ <HawaTypography>Choose Payment Method</HawaTypography>
11
36
  {props.viaWallet && (
12
37
  <HawaLogoButton
13
38
  logo="wallet"
@@ -58,26 +83,5 @@ export const SelectPayment = (props) => {
58
83
  />
59
84
  )}
60
85
  </HawaContainer>
61
- );
62
- };
63
-
64
- SelectPayment.propTypes = {
65
- viaMada: PropTypes.bool,
66
- viaWallet: PropTypes.bool,
67
- viaSTCPay: PropTypes.bool,
68
- viaPayPal: PropTypes.bool,
69
- viaApplePay: PropTypes.bool,
70
- viaCreditCard: PropTypes.bool,
71
- madaLabel: PropTypes.string,
72
- stcPayLabel: PropTypes.string,
73
- paypalLabel: PropTypes.string,
74
- walletLabel: PropTypes.string,
75
- applePayLabel: PropTypes.string,
76
- visaMasterLabel: PropTypes.string,
77
- handleMada: PropTypes.func,
78
- handleWallet: PropTypes.func,
79
- handleSTCPay: PropTypes.func,
80
- handlePayPal: PropTypes.func,
81
- handleApplePay: PropTypes.func,
82
- handleCreditCard: PropTypes.func
83
- };
86
+ )
87
+ }
File without changes
@@ -1,10 +1,9 @@
1
- import React, { useState } from "react";
2
- import { HawaPricingCard, HawaPanelTabs, HawaTabs } from "../../elements";
3
- import PropTypes from "prop-types";
1
+ import React, { useState } from "react"
2
+ import { HawaPricingCard, HawaPanelTabs, HawaTabs } from "../../elements"
4
3
 
5
4
  const CheckMark = () => (
6
5
  <svg
7
- className="w-5 h-5 text-green-500"
6
+ className="h-5 w-5 text-green-500"
8
7
  aria-hidden="true"
9
8
  fill="currentColor"
10
9
  viewBox="0 0 20 20"
@@ -16,11 +15,11 @@ const CheckMark = () => (
16
15
  clip-rule="evenodd"
17
16
  ></path>
18
17
  </svg>
19
- );
18
+ )
20
19
 
21
20
  const UncheckMark = () => (
22
21
  <svg
23
- className="w-5 h-5 text-red-500"
22
+ className="h-5 w-5 text-red-500"
24
23
  aria-hidden="true"
25
24
  fill="currentColor"
26
25
  viewBox="0 0 20 20"
@@ -32,37 +31,58 @@ const UncheckMark = () => (
32
31
  clip-rule="evenodd"
33
32
  ></path>
34
33
  </svg>
35
- );
34
+ )
36
35
 
37
- export const ComparingPlans = (props) => {
38
- const [currentCurrency, setCurrentCurrency] = useState("sar");
39
- const [currentCycle, setCurrentCycle] = useState("monthly");
36
+ type ComparingPlansTypes = {
37
+ plans: any
38
+ // plans: PropTypes.arrayOf(
39
+ // PropTypes.shape({
40
+ // title: PropTypes.string,
41
+ // title_ar: PropTypes.string,
42
+ // subtitle: PropTypes.string,
43
+ // subtitle_ar: PropTypes.string,
44
+ // price: PropTypes.number,
45
+ // currency: PropTypes.string,
46
+ // cycleText: PropTypes.string,
47
+ // buttonText: PropTypes.string,
48
+ // features: PropTypes.array,
49
+ // features_ar: PropTypes.array,
50
+ // selectedPlan: PropTypes.bool,
51
+ // })
52
+ // ),
53
+ lang: any
54
+ }
55
+ export const ComparingPlans: React.FunctionComponent<ComparingPlansTypes> = (
56
+ props
57
+ ) => {
58
+ const [currentCurrency, setCurrentCurrency] = useState("sar")
59
+ const [currentCycle, setCurrentCycle] = useState("monthly")
40
60
  let cycleOptions = [
41
61
  { label: `Monthly`, value: `monthly` },
42
62
  { label: `3 Months`, value: `3-months` },
43
63
  { label: `6 Months`, value: `6-months` },
44
- { label: `Annually`, value: `annually` }
45
- ];
64
+ { label: `Annually`, value: `annually` },
65
+ ]
46
66
  let currencyOptions = [
47
67
  { label: `USD`, value: `usd` },
48
- { label: `SAR`, value: `sar` }
49
- ];
68
+ { label: `SAR`, value: `sar` },
69
+ ]
50
70
  let activeTabStyle =
51
- "inline-block py-3 px-4 text-white bg-blue-600 rounded-lg active";
71
+ "inline-block py-3 px-4 text-white bg-blue-600 rounded-lg active"
52
72
  let inactiveTabStyle =
53
- "inline-block py-3 px-4 rounded-lg hover:text-gray-900 hover:bg-gray-100 dark:hover:bg-gray-800 dark:hover:text-white";
73
+ "inline-block py-3 px-4 rounded-lg hover:text-gray-900 hover:bg-gray-100 dark:hover:bg-gray-800 dark:hover:text-white"
54
74
  return (
55
- <div id="detailed-pricing" className="overflow-x-auto w-full">
56
- <div className="overflow-hidden min-w-max">
57
- <div className="grid grid-cols-4 gap-x-16 p-4 text-sm font-medium text-gray-900 bg-gray-100 border-t border-b border-gray-200 dark:bg-gray-800 dark:border-gray-700 dark:text-white">
75
+ <div id="detailed-pricing" className="w-full overflow-x-auto">
76
+ <div className="min-w-max overflow-hidden">
77
+ <div className="grid grid-cols-4 gap-x-16 border-t border-b border-gray-200 bg-gray-100 p-4 text-sm font-medium text-gray-900 dark:border-gray-700 dark:bg-gray-800 dark:text-white">
58
78
  <div className="flex items-center"></div>
59
- {props.plans.map((plan) => (
79
+ {props.plans.map((plan: any) => (
60
80
  <div>{plan.title}</div>
61
81
  ))}
62
82
  </div>
63
- {props.plans.map((plan) => {
83
+ {props.plans.map(() => {
64
84
  return (
65
- <div className="grid grid-cols-4 gap-x-16 py-5 px-4 text-sm text-gray-700 border-b border-gray-200 dark:border-gray-700">
85
+ <div className="grid grid-cols-4 gap-x-16 border-b border-gray-200 py-5 px-4 text-sm text-gray-700 dark:border-gray-700">
66
86
  <div className="text-gray-500 dark:text-gray-400">
67
87
  Basic components (
68
88
  <a href="#" className="text-blue-600 hover:underline">
@@ -74,9 +94,9 @@ export const ComparingPlans = (props) => {
74
94
  <CheckMark />
75
95
  <CheckMark />
76
96
  </div>
77
- );
97
+ )
78
98
  })}
79
- <div className="grid grid-cols-4 gap-x-16 py-5 px-4 text-sm text-gray-700 border-b border-gray-200 dark:border-gray-700">
99
+ <div className="grid grid-cols-4 gap-x-16 border-b border-gray-200 py-5 px-4 text-sm text-gray-700 dark:border-gray-700">
80
100
  <div className="text-gray-500 dark:text-gray-400">
81
101
  Application UI (
82
102
  <a href="#" className="text-blue-600 hover:underline">
@@ -88,7 +108,7 @@ export const ComparingPlans = (props) => {
88
108
  <CheckMark />
89
109
  <UncheckMark />
90
110
  </div>
91
- <div className="grid grid-cols-4 gap-x-16 py-5 px-4 text-sm text-gray-700 border-b border-gray-200 dark:border-gray-700">
111
+ <div className="grid grid-cols-4 gap-x-16 border-b border-gray-200 py-5 px-4 text-sm text-gray-700 dark:border-gray-700">
92
112
  <div className="text-gray-500 dark:text-gray-400">
93
113
  Marketing UI pre-order
94
114
  </div>
@@ -96,12 +116,12 @@ export const ComparingPlans = (props) => {
96
116
  <CheckMark />
97
117
  <UncheckMark />
98
118
  </div>
99
- <div className="grid grid-cols-4 gap-x-16 py-5 px-4 text-sm text-gray-700 border-b border-gray-200 dark:border-gray-700">
119
+ <div className="grid grid-cols-4 gap-x-16 border-b border-gray-200 py-5 px-4 text-sm text-gray-700 dark:border-gray-700">
100
120
  <div className="text-gray-500 dark:text-gray-400"></div>
101
121
  <div>
102
122
  <a
103
123
  href="#"
104
- className="text-white block w-full bg-blue-600 hover:bg-blue-700 focus:ring-4 focus:ring-blue-200 font-medium rounded-lg text-sm px-4 py-2.5 text-center dark:focus:ring-blue-900"
124
+ className="block w-full rounded-lg bg-blue-600 px-4 py-2.5 text-center text-sm font-medium text-white hover:bg-blue-700 focus:ring-4 focus:ring-blue-200 dark:focus:ring-blue-900"
105
125
  >
106
126
  Buy now
107
127
  </a>
@@ -109,7 +129,7 @@ export const ComparingPlans = (props) => {
109
129
  <div>
110
130
  <a
111
131
  href="#"
112
- className="text-white block w-full bg-blue-600 hover:bg-blue-700 focus:ring-4 focus:ring-blue-200 font-medium rounded-lg text-sm px-4 py-2.5 text-center dark:focus:ring-blue-900"
132
+ className="block w-full rounded-lg bg-blue-600 px-4 py-2.5 text-center text-sm font-medium text-white hover:bg-blue-700 focus:ring-4 focus:ring-blue-200 dark:focus:ring-blue-900"
113
133
  >
114
134
  Buy now
115
135
  </a>
@@ -117,7 +137,7 @@ export const ComparingPlans = (props) => {
117
137
  <div>
118
138
  <a
119
139
  href="#"
120
- className="text-white block w-full bg-blue-600 hover:bg-blue-700 focus:ring-4 focus:ring-blue-200 font-medium rounded-lg text-sm px-4 py-2.5 text-center dark:focus:ring-blue-900"
140
+ className="block w-full rounded-lg bg-blue-600 px-4 py-2.5 text-center text-sm font-medium text-white hover:bg-blue-700 focus:ring-4 focus:ring-blue-200 dark:focus:ring-blue-900"
121
141
  >
122
142
  Buy now
123
143
  </a>
@@ -125,27 +145,5 @@ export const ComparingPlans = (props) => {
125
145
  </div>
126
146
  </div>
127
147
  </div>
128
- );
129
- };
130
-
131
- ComparingPlans.propTypes = {
132
- /**
133
- * An array of the pricing plans
134
- */
135
- plans: PropTypes.arrayOf(
136
- PropTypes.shape({
137
- title: PropTypes.string,
138
- title_ar: PropTypes.string,
139
- subtitle: PropTypes.string,
140
- subtitle_ar: PropTypes.string,
141
- price: PropTypes.number,
142
- currency: PropTypes.string,
143
- cycleText: PropTypes.string,
144
- buttonText: PropTypes.string,
145
- features: PropTypes.array,
146
- features_ar: PropTypes.array,
147
- selectedPlan: PropTypes.bool
148
- })
149
- ),
150
- lang: PropTypes.string
151
- };
148
+ )
149
+ }
@@ -0,0 +1,72 @@
1
+ import React, { useState } from "react"
2
+ import { HawaPricingCard, HawaTabs } from "../../elements"
3
+
4
+ type PricingPlansTypes = {
5
+ plans: any
6
+ // plans: PropTypes.arrayOf(
7
+ // PropTypes.shape({
8
+ // title: PropTypes.string,
9
+ // title_ar: PropTypes.string,
10
+ // subtitle: PropTypes.string,
11
+ // subtitle_ar: PropTypes.string,
12
+ // price: PropTypes.number,
13
+ // currency: PropTypes.string,
14
+ // cycleText: PropTypes.string,
15
+ // buttonText: PropTypes.string,
16
+ // features: PropTypes.array,
17
+ // features_ar: PropTypes.array,
18
+ // selectedPlan: PropTypes.bool,
19
+ // })
20
+ // ),
21
+ lang: any
22
+ }
23
+ export const PricingPlans: React.FunctionComponent<PricingPlansTypes> = (
24
+ props
25
+ ) => {
26
+ const [currentCurrency, setCurrentCurrency] = useState("sar")
27
+ const [currentCycle, setCurrentCycle] = useState("monthly")
28
+ let cycleOptions = [
29
+ { label: `Monthly`, value: `monthly` },
30
+ { label: `3 Months`, value: `3-months` },
31
+ { label: `6 Months`, value: `6-months` },
32
+ { label: `Annually`, value: `annually` },
33
+ ]
34
+ let currencyOptions = [
35
+ { label: `USD`, value: `usd` },
36
+ { label: `SAR`, value: `sar` },
37
+ ]
38
+ let activeTabStyle =
39
+ "inline-block py-3 px-4 text-white bg-blue-600 rounded-lg active"
40
+ let inactiveTabStyle =
41
+ "inline-block py-3 px-4 rounded-lg hover:text-gray-900 hover:bg-gray-100 dark:hover:bg-gray-800 dark:hover:text-white"
42
+ return (
43
+ <div>
44
+ <div className="mb-2 flex w-full justify-between">
45
+ <HawaTabs
46
+ defaultValue={currentCycle}
47
+ options={cycleOptions}
48
+ onChangeTab={(e: any) => setCurrentCycle(e)}
49
+ />
50
+ <HawaTabs
51
+ defaultValue={currentCurrency}
52
+ options={currencyOptions}
53
+ onChangeTab={(e: any) => setCurrentCurrency(e)}
54
+ />
55
+ </div>
56
+
57
+ <div className="flex flex-row justify-between">
58
+ {props.plans.map((plan: any) => {
59
+ return (
60
+ <HawaPricingCard
61
+ size="large"
62
+ lang={props.lang}
63
+ {...plan}
64
+ currency={currentCurrency}
65
+ cycleText={currentCycle}
66
+ />
67
+ )
68
+ })}
69
+ </div>
70
+ </div>
71
+ )
72
+ }
File without changes
File without changes