@sikka/hawa 0.1.2 → 0.1.3-next

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 (386) hide show
  1. package/README.md +21 -43
  2. package/dist/index.css +1064 -0
  3. package/dist/index.d.mts +15 -0
  4. package/dist/index.d.ts +15 -0
  5. package/dist/index.js +246 -0
  6. package/dist/index.mjs +157 -0
  7. package/package.json +48 -115
  8. package/.github/workflows/hawa-actions.yml +0 -112
  9. package/.github/workflows/hawa-publish-push.yml +0 -74
  10. package/.github/workflows/hawa-publish.yml +0 -48
  11. package/.prettierrc +0 -28
  12. package/_config.yml +0 -1
  13. package/dist/styles.css +0 -3532
  14. package/es/blocks/Account/HawaApiBox.d.ts +0 -8
  15. package/es/blocks/Account/UserProfileForm.d.ts +0 -8
  16. package/es/blocks/Account/UserSettingsForm.d.ts +0 -9
  17. package/es/blocks/Account/index.d.ts +0 -2
  18. package/es/blocks/AuthForms/AppLanding.d.ts +0 -15
  19. package/es/blocks/AuthForms/CodeConfirmation.d.ts +0 -22
  20. package/es/blocks/AuthForms/NewPasswordForm.d.ts +0 -18
  21. package/es/blocks/AuthForms/ResetPasswordForm.d.ts +0 -18
  22. package/es/blocks/AuthForms/SignInBlock.d.ts +0 -2
  23. package/es/blocks/AuthForms/SignInForm.d.ts +0 -51
  24. package/es/blocks/AuthForms/SignInPhone.d.ts +0 -13
  25. package/es/blocks/AuthForms/SignUpForm.d.ts +0 -55
  26. package/es/blocks/AuthForms/index.d.ts +0 -8
  27. package/es/blocks/Misc/EmptyState.d.ts +0 -11
  28. package/es/blocks/Misc/LeadGenerator.d.ts +0 -12
  29. package/es/blocks/Misc/NoPermission.d.ts +0 -10
  30. package/es/blocks/Misc/NotFound.d.ts +0 -11
  31. package/es/blocks/Misc/Testimonial.d.ts +0 -6
  32. package/es/blocks/Misc/index.d.ts +0 -5
  33. package/es/blocks/Payment/ChargeWalletForm.d.ts +0 -12
  34. package/es/blocks/Payment/CheckoutForm.d.ts +0 -27
  35. package/es/blocks/Payment/Confirmation.d.ts +0 -38
  36. package/es/blocks/Payment/CreditCardForm.d.ts +0 -7
  37. package/es/blocks/Payment/PayWithWallet.d.ts +0 -8
  38. package/es/blocks/Payment/SelectPayment.d.ts +0 -26
  39. package/es/blocks/Payment/index.d.ts +0 -6
  40. package/es/blocks/Pricing/ComparingPlans.d.ts +0 -39
  41. package/es/blocks/Pricing/HorizontalPricing.d.ts +0 -47
  42. package/es/blocks/Pricing/PricingPlans.d.ts +0 -47
  43. package/es/blocks/Pricing/index.d.ts +0 -3
  44. package/es/blocks/Referral/ReferralAccount.d.ts +0 -7
  45. package/es/blocks/Referral/ReferralSettlement.d.ts +0 -8
  46. package/es/blocks/Referral/ReferralStats.d.ts +0 -8
  47. package/es/blocks/Referral/index.d.ts +0 -3
  48. package/es/blocks/index.d.ts +0 -6
  49. package/es/countries.d.ts +0 -2
  50. package/es/elements/ArrowCarousel.d.ts +0 -13
  51. package/es/elements/AutoCompleteField.d.ts +0 -8
  52. package/es/elements/BackToTop.d.ts +0 -10
  53. package/es/elements/Breadcrumb.d.ts +0 -12
  54. package/es/elements/Button.d.ts +0 -12
  55. package/es/elements/Card.d.ts +0 -10
  56. package/es/elements/DragDropImages.d.ts +0 -28
  57. package/es/elements/DraggableCard.d.ts +0 -6
  58. package/es/elements/FloatingComment.d.ts +0 -32
  59. package/es/elements/FloatingCommentExec.d.ts +0 -4
  60. package/es/elements/FloatingCommentSlate.d.ts +0 -19
  61. package/es/elements/HawaAccordion.d.ts +0 -11
  62. package/es/elements/HawaAdCard.d.ts +0 -10
  63. package/es/elements/HawaAlert.d.ts +0 -23
  64. package/es/elements/HawaButton.d.ts +0 -21
  65. package/es/elements/HawaCardInput.d.ts +0 -25
  66. package/es/elements/HawaCheckbox.d.ts +0 -11
  67. package/es/elements/HawaChip.d.ts +0 -17
  68. package/es/elements/HawaCodeBlock.d.ts +0 -15
  69. package/es/elements/HawaColorPicker.d.ts +0 -9
  70. package/es/elements/HawaCopyrights.d.ts +0 -15
  71. package/es/elements/HawaDatepicker.d.ts +0 -4
  72. package/es/elements/HawaDropdownMenu.d.ts +0 -7
  73. package/es/elements/HawaIconCount.d.ts +0 -9
  74. package/es/elements/HawaInlineCode.d.ts +0 -6
  75. package/es/elements/HawaItemCard.d.ts +0 -32
  76. package/es/elements/HawaLandingCard.d.ts +0 -18
  77. package/es/elements/HawaLoading.d.ts +0 -8
  78. package/es/elements/HawaLogoButton.d.ts +0 -10
  79. package/es/elements/HawaMenu.d.ts +0 -24
  80. package/es/elements/HawaModal.d.ts +0 -21
  81. package/es/elements/HawaPanelTabs.d.ts +0 -13
  82. package/es/elements/HawaPhoneInput.d.ts +0 -11
  83. package/es/elements/HawaPinInput.d.ts +0 -10
  84. package/es/elements/HawaPricingCard.d.ts +0 -21
  85. package/es/elements/HawaRadio.d.ts +0 -16
  86. package/es/elements/HawaRange.d.ts +0 -12
  87. package/es/elements/HawaSearchBar.d.ts +0 -4
  88. package/es/elements/HawaSelect.d.ts +0 -23
  89. package/es/elements/HawaSettingsRow.d.ts +0 -44
  90. package/es/elements/HawaSnackbar.d.ts +0 -19
  91. package/es/elements/HawaStats.d.ts +0 -14
  92. package/es/elements/HawaStepper.d.ts +0 -8
  93. package/es/elements/HawaStoreButtons.d.ts +0 -7
  94. package/es/elements/HawaSwitch.d.ts +0 -7
  95. package/es/elements/HawaTable.d.ts +0 -45
  96. package/es/elements/HawaTabs.d.ts +0 -13
  97. package/es/elements/HawaTextField.d.ts +0 -31
  98. package/es/elements/HawaTooltip.d.ts +0 -12
  99. package/es/elements/HawaTypography.d.ts +0 -7
  100. package/es/elements/Icons.d.ts +0 -19
  101. package/es/elements/Input.d.ts +0 -5
  102. package/es/elements/InvoiceAccordion.d.ts +0 -31
  103. package/es/elements/Label.d.ts +0 -5
  104. package/es/elements/SubsectionList.d.ts +0 -19
  105. package/es/elements/TabPanel.d.ts +0 -8
  106. package/es/elements/Timeline.d.ts +0 -13
  107. package/es/elements/UsageCard.d.ts +0 -9
  108. package/es/elements/UserFeedback.d.ts +0 -14
  109. package/es/elements/index.d.ts +0 -52
  110. package/es/hooks/index.d.ts +0 -2
  111. package/es/hooks/useBreakpoint.d.ts +0 -2
  112. package/es/hooks/useDiscloser.d.ts +0 -7
  113. package/es/hooks/useHover.d.ts +0 -3
  114. package/es/hooks/useScrollPosition.d.ts +0 -2
  115. package/es/hooks/useTable.d.ts +0 -5
  116. package/es/index.d.ts +0 -4
  117. package/es/index.es.js +0 -16
  118. package/es/layout/AppSidebar.d.ts +0 -11
  119. package/es/layout/Banner.d.ts +0 -14
  120. package/es/layout/Box.d.ts +0 -2
  121. package/es/layout/Footer.d.ts +0 -20
  122. package/es/layout/HawaAppLayout.d.ts +0 -31
  123. package/es/layout/HawaAppLayoutSimplified.d.ts +0 -33
  124. package/es/layout/HawaBottomAppBar.d.ts +0 -8
  125. package/es/layout/HawaContainer.d.ts +0 -10
  126. package/es/layout/HawaGrid.d.ts +0 -6
  127. package/es/layout/HawaSiteLayout.d.ts +0 -23
  128. package/es/layout/index.d.ts +0 -10
  129. package/es/stories/ElementsStories/Breadcrumb.stories.d.ts +0 -6
  130. package/es/stories/ManualStories/BlocksIntroduction.stories.d.ts +0 -21
  131. package/es/stories/ManualStories/Customization.stories.d.ts +0 -21
  132. package/es/stories/ManualStories/ElementsIntroduction.stories.d.ts +0 -21
  133. package/es/stories/ManualStories/Installation.stories.d.ts +0 -21
  134. package/es/stories/ManualStories/LayoutIntroduction.stories.d.ts +0 -21
  135. package/es/stories/ManualStories/Overview.stories.d.ts +0 -22
  136. package/es/stories/ManualStories/Usage.stories.d.ts +0 -21
  137. package/es/util.d.ts +0 -10
  138. package/lib/blocks/Account/HawaApiBox.d.ts +0 -8
  139. package/lib/blocks/Account/UserProfileForm.d.ts +0 -8
  140. package/lib/blocks/Account/UserSettingsForm.d.ts +0 -9
  141. package/lib/blocks/Account/index.d.ts +0 -2
  142. package/lib/blocks/AuthForms/AppLanding.d.ts +0 -15
  143. package/lib/blocks/AuthForms/CodeConfirmation.d.ts +0 -22
  144. package/lib/blocks/AuthForms/NewPasswordForm.d.ts +0 -18
  145. package/lib/blocks/AuthForms/ResetPasswordForm.d.ts +0 -18
  146. package/lib/blocks/AuthForms/SignInBlock.d.ts +0 -2
  147. package/lib/blocks/AuthForms/SignInForm.d.ts +0 -51
  148. package/lib/blocks/AuthForms/SignInPhone.d.ts +0 -13
  149. package/lib/blocks/AuthForms/SignUpForm.d.ts +0 -55
  150. package/lib/blocks/AuthForms/index.d.ts +0 -8
  151. package/lib/blocks/Misc/EmptyState.d.ts +0 -11
  152. package/lib/blocks/Misc/LeadGenerator.d.ts +0 -12
  153. package/lib/blocks/Misc/NoPermission.d.ts +0 -10
  154. package/lib/blocks/Misc/NotFound.d.ts +0 -11
  155. package/lib/blocks/Misc/Testimonial.d.ts +0 -6
  156. package/lib/blocks/Misc/index.d.ts +0 -5
  157. package/lib/blocks/Payment/ChargeWalletForm.d.ts +0 -12
  158. package/lib/blocks/Payment/CheckoutForm.d.ts +0 -27
  159. package/lib/blocks/Payment/Confirmation.d.ts +0 -38
  160. package/lib/blocks/Payment/CreditCardForm.d.ts +0 -7
  161. package/lib/blocks/Payment/PayWithWallet.d.ts +0 -8
  162. package/lib/blocks/Payment/SelectPayment.d.ts +0 -26
  163. package/lib/blocks/Payment/index.d.ts +0 -6
  164. package/lib/blocks/Pricing/ComparingPlans.d.ts +0 -39
  165. package/lib/blocks/Pricing/HorizontalPricing.d.ts +0 -47
  166. package/lib/blocks/Pricing/PricingPlans.d.ts +0 -47
  167. package/lib/blocks/Pricing/index.d.ts +0 -3
  168. package/lib/blocks/Referral/ReferralAccount.d.ts +0 -7
  169. package/lib/blocks/Referral/ReferralSettlement.d.ts +0 -8
  170. package/lib/blocks/Referral/ReferralStats.d.ts +0 -8
  171. package/lib/blocks/Referral/index.d.ts +0 -3
  172. package/lib/blocks/index.d.ts +0 -6
  173. package/lib/countries.d.ts +0 -2
  174. package/lib/elements/ArrowCarousel.d.ts +0 -13
  175. package/lib/elements/AutoCompleteField.d.ts +0 -8
  176. package/lib/elements/BackToTop.d.ts +0 -10
  177. package/lib/elements/Breadcrumb.d.ts +0 -12
  178. package/lib/elements/Button.d.ts +0 -12
  179. package/lib/elements/Card.d.ts +0 -10
  180. package/lib/elements/DragDropImages.d.ts +0 -28
  181. package/lib/elements/DraggableCard.d.ts +0 -6
  182. package/lib/elements/FloatingComment.d.ts +0 -32
  183. package/lib/elements/FloatingCommentExec.d.ts +0 -4
  184. package/lib/elements/FloatingCommentSlate.d.ts +0 -19
  185. package/lib/elements/HawaAccordion.d.ts +0 -11
  186. package/lib/elements/HawaAdCard.d.ts +0 -10
  187. package/lib/elements/HawaAlert.d.ts +0 -23
  188. package/lib/elements/HawaButton.d.ts +0 -21
  189. package/lib/elements/HawaCardInput.d.ts +0 -25
  190. package/lib/elements/HawaCheckbox.d.ts +0 -11
  191. package/lib/elements/HawaChip.d.ts +0 -17
  192. package/lib/elements/HawaCodeBlock.d.ts +0 -15
  193. package/lib/elements/HawaColorPicker.d.ts +0 -9
  194. package/lib/elements/HawaCopyrights.d.ts +0 -15
  195. package/lib/elements/HawaDatepicker.d.ts +0 -4
  196. package/lib/elements/HawaDropdownMenu.d.ts +0 -7
  197. package/lib/elements/HawaIconCount.d.ts +0 -9
  198. package/lib/elements/HawaInlineCode.d.ts +0 -6
  199. package/lib/elements/HawaItemCard.d.ts +0 -32
  200. package/lib/elements/HawaLandingCard.d.ts +0 -18
  201. package/lib/elements/HawaLoading.d.ts +0 -8
  202. package/lib/elements/HawaLogoButton.d.ts +0 -10
  203. package/lib/elements/HawaMenu.d.ts +0 -24
  204. package/lib/elements/HawaModal.d.ts +0 -21
  205. package/lib/elements/HawaPanelTabs.d.ts +0 -13
  206. package/lib/elements/HawaPhoneInput.d.ts +0 -11
  207. package/lib/elements/HawaPinInput.d.ts +0 -10
  208. package/lib/elements/HawaPricingCard.d.ts +0 -21
  209. package/lib/elements/HawaRadio.d.ts +0 -16
  210. package/lib/elements/HawaRange.d.ts +0 -12
  211. package/lib/elements/HawaSearchBar.d.ts +0 -4
  212. package/lib/elements/HawaSelect.d.ts +0 -23
  213. package/lib/elements/HawaSettingsRow.d.ts +0 -44
  214. package/lib/elements/HawaSnackbar.d.ts +0 -19
  215. package/lib/elements/HawaStats.d.ts +0 -14
  216. package/lib/elements/HawaStepper.d.ts +0 -8
  217. package/lib/elements/HawaStoreButtons.d.ts +0 -7
  218. package/lib/elements/HawaSwitch.d.ts +0 -7
  219. package/lib/elements/HawaTable.d.ts +0 -45
  220. package/lib/elements/HawaTabs.d.ts +0 -13
  221. package/lib/elements/HawaTextField.d.ts +0 -31
  222. package/lib/elements/HawaTooltip.d.ts +0 -12
  223. package/lib/elements/HawaTypography.d.ts +0 -7
  224. package/lib/elements/Icons.d.ts +0 -19
  225. package/lib/elements/Input.d.ts +0 -5
  226. package/lib/elements/InvoiceAccordion.d.ts +0 -31
  227. package/lib/elements/Label.d.ts +0 -5
  228. package/lib/elements/SubsectionList.d.ts +0 -19
  229. package/lib/elements/TabPanel.d.ts +0 -8
  230. package/lib/elements/Timeline.d.ts +0 -13
  231. package/lib/elements/UsageCard.d.ts +0 -9
  232. package/lib/elements/UserFeedback.d.ts +0 -14
  233. package/lib/elements/index.d.ts +0 -52
  234. package/lib/hooks/index.d.ts +0 -2
  235. package/lib/hooks/useBreakpoint.d.ts +0 -2
  236. package/lib/hooks/useDiscloser.d.ts +0 -7
  237. package/lib/hooks/useHover.d.ts +0 -3
  238. package/lib/hooks/useScrollPosition.d.ts +0 -2
  239. package/lib/hooks/useTable.d.ts +0 -5
  240. package/lib/index.d.ts +0 -4
  241. package/lib/index.js +0 -16
  242. package/lib/layout/AppSidebar.d.ts +0 -11
  243. package/lib/layout/Banner.d.ts +0 -14
  244. package/lib/layout/Box.d.ts +0 -2
  245. package/lib/layout/Footer.d.ts +0 -20
  246. package/lib/layout/HawaAppLayout.d.ts +0 -31
  247. package/lib/layout/HawaAppLayoutSimplified.d.ts +0 -33
  248. package/lib/layout/HawaBottomAppBar.d.ts +0 -8
  249. package/lib/layout/HawaContainer.d.ts +0 -10
  250. package/lib/layout/HawaGrid.d.ts +0 -6
  251. package/lib/layout/HawaSiteLayout.d.ts +0 -23
  252. package/lib/layout/index.d.ts +0 -10
  253. package/lib/stories/ElementsStories/Breadcrumb.stories.d.ts +0 -6
  254. package/lib/stories/ManualStories/BlocksIntroduction.stories.d.ts +0 -21
  255. package/lib/stories/ManualStories/Customization.stories.d.ts +0 -21
  256. package/lib/stories/ManualStories/ElementsIntroduction.stories.d.ts +0 -21
  257. package/lib/stories/ManualStories/Installation.stories.d.ts +0 -21
  258. package/lib/stories/ManualStories/LayoutIntroduction.stories.d.ts +0 -21
  259. package/lib/stories/ManualStories/Overview.stories.d.ts +0 -22
  260. package/lib/stories/ManualStories/Usage.stories.d.ts +0 -21
  261. package/lib/util.d.ts +0 -10
  262. package/postcss.config.js +0 -6
  263. package/rollup.config.js +0 -61
  264. package/src/blocks/Account/HawaApiBox.tsx +0 -12
  265. package/src/blocks/Account/UserProfileForm.tsx +0 -118
  266. package/src/blocks/Account/UserSettingsForm.tsx +0 -21
  267. package/src/blocks/Account/index.ts +0 -2
  268. package/src/blocks/AuthForms/AppLanding.tsx +0 -89
  269. package/src/blocks/AuthForms/CodeConfirmation.tsx +0 -72
  270. package/src/blocks/AuthForms/NewPasswordForm.tsx +0 -116
  271. package/src/blocks/AuthForms/ResetPasswordForm.tsx +0 -97
  272. package/src/blocks/AuthForms/SignInBlock.tsx +0 -60
  273. package/src/blocks/AuthForms/SignInForm.tsx +0 -228
  274. package/src/blocks/AuthForms/SignInPhone.tsx +0 -57
  275. package/src/blocks/AuthForms/SignUpForm.tsx +0 -342
  276. package/src/blocks/AuthForms/index.ts +0 -8
  277. package/src/blocks/Misc/EmptyState.tsx +0 -49
  278. package/src/blocks/Misc/LeadGenerator.tsx +0 -49
  279. package/src/blocks/Misc/NoPermission.tsx +0 -44
  280. package/src/blocks/Misc/NotFound.tsx +0 -36
  281. package/src/blocks/Misc/Testimonial.tsx +0 -44
  282. package/src/blocks/Misc/index.ts +0 -5
  283. package/src/blocks/Payment/ChargeWalletForm.tsx +0 -82
  284. package/src/blocks/Payment/CheckoutForm.tsx +0 -271
  285. package/src/blocks/Payment/Confirmation.tsx +0 -94
  286. package/src/blocks/Payment/CreditCardForm.tsx +0 -108
  287. package/src/blocks/Payment/PayWithWallet.tsx +0 -26
  288. package/src/blocks/Payment/SelectPayment.tsx +0 -89
  289. package/src/blocks/Payment/index.ts +0 -6
  290. package/src/blocks/Pricing/ComparingPlans.tsx +0 -154
  291. package/src/blocks/Pricing/HorizontalPricing.tsx +0 -148
  292. package/src/blocks/Pricing/PricingPlans.tsx +0 -81
  293. package/src/blocks/Pricing/index.ts +0 -3
  294. package/src/blocks/Referral/ReferralAccount.tsx +0 -68
  295. package/src/blocks/Referral/ReferralSettlement.tsx +0 -170
  296. package/src/blocks/Referral/ReferralStats.tsx +0 -85
  297. package/src/blocks/Referral/index.ts +0 -3
  298. package/src/blocks/index.ts +0 -6
  299. package/src/countries.ts +0 -1940
  300. package/src/elements/ArrowCarousel.tsx +0 -94
  301. package/src/elements/AutoCompleteField.tsx +0 -37
  302. package/src/elements/BackToTop.tsx +0 -129
  303. package/src/elements/Breadcrumb.tsx +0 -41
  304. package/src/elements/Button.tsx +0 -77
  305. package/src/elements/Card.tsx +0 -87
  306. package/src/elements/DragDropImages.tsx +0 -251
  307. package/src/elements/DraggableCard.tsx +0 -27
  308. package/src/elements/FloatingComment.tsx +0 -1107
  309. package/src/elements/FloatingCommentExec.tsx +0 -106
  310. package/src/elements/FloatingCommentSlate.tsx +0 -149
  311. package/src/elements/HawaAccordion.tsx +0 -57
  312. package/src/elements/HawaAdCard.tsx +0 -49
  313. package/src/elements/HawaAlert.tsx +0 -195
  314. package/src/elements/HawaButton.tsx +0 -241
  315. package/src/elements/HawaCardInput.tsx +0 -318
  316. package/src/elements/HawaCheckbox.tsx +0 -54
  317. package/src/elements/HawaChip.tsx +0 -59
  318. package/src/elements/HawaCodeBlock.tsx +0 -156
  319. package/src/elements/HawaColorPicker.tsx +0 -40
  320. package/src/elements/HawaCopyrights.tsx +0 -30
  321. package/src/elements/HawaDatepicker.tsx +0 -23
  322. package/src/elements/HawaDropdownMenu.tsx +0 -267
  323. package/src/elements/HawaIconCount.tsx +0 -17
  324. package/src/elements/HawaInlineCode.tsx +0 -9
  325. package/src/elements/HawaItemCard.tsx +0 -157
  326. package/src/elements/HawaLandingCard.tsx +0 -68
  327. package/src/elements/HawaLoading.tsx +0 -83
  328. package/src/elements/HawaLogoButton.tsx +0 -154
  329. package/src/elements/HawaMenu.tsx +0 -226
  330. package/src/elements/HawaModal.tsx +0 -89
  331. package/src/elements/HawaPanelTabs.tsx +0 -57
  332. package/src/elements/HawaPhoneInput.tsx +0 -171
  333. package/src/elements/HawaPinInput.tsx +0 -78
  334. package/src/elements/HawaPricingCard.tsx +0 -107
  335. package/src/elements/HawaRadio.tsx +0 -180
  336. package/src/elements/HawaRange.tsx +0 -49
  337. package/src/elements/HawaSearchBar.tsx +0 -7
  338. package/src/elements/HawaSelect.tsx +0 -209
  339. package/src/elements/HawaSettingsRow.tsx +0 -74
  340. package/src/elements/HawaSnackbar.tsx +0 -137
  341. package/src/elements/HawaStats.tsx +0 -72
  342. package/src/elements/HawaStepper.tsx +0 -109
  343. package/src/elements/HawaStoreButtons.tsx +0 -129
  344. package/src/elements/HawaSwitch.tsx +0 -41
  345. package/src/elements/HawaTable.tsx +0 -587
  346. package/src/elements/HawaTabs.tsx +0 -143
  347. package/src/elements/HawaTextField.tsx +0 -148
  348. package/src/elements/HawaTooltip.tsx +0 -137
  349. package/src/elements/HawaTypography.tsx +0 -9
  350. package/src/elements/Icons.tsx +0 -145
  351. package/src/elements/Input.tsx +0 -25
  352. package/src/elements/InvoiceAccordion.tsx +0 -155
  353. package/src/elements/Label.tsx +0 -26
  354. package/src/elements/SubsectionList.tsx +0 -77
  355. package/src/elements/TabPanel.tsx +0 -25
  356. package/src/elements/Timeline.tsx +0 -35
  357. package/src/elements/UsageCard.tsx +0 -45
  358. package/src/elements/UserFeedback.tsx +0 -126
  359. package/src/elements/index.ts +0 -55
  360. package/src/hooks/index.ts +0 -2
  361. package/src/hooks/useBreakpoint.ts +0 -24
  362. package/src/hooks/useDiscloser.ts +0 -21
  363. package/src/hooks/useHover.ts +0 -25
  364. package/src/hooks/useScrollPosition.ts +0 -30
  365. package/src/hooks/useTable.ts +0 -159
  366. package/src/index.ts +0 -4
  367. package/src/layout/AppSidebar.tsx +0 -39
  368. package/src/layout/Banner.tsx +0 -122
  369. package/src/layout/Box.tsx +0 -5
  370. package/src/layout/Footer.tsx +0 -71
  371. package/src/layout/HawaAppLayout.tsx +0 -527
  372. package/src/layout/HawaAppLayoutSimplified.tsx +0 -568
  373. package/src/layout/HawaBottomAppBar.tsx +0 -55
  374. package/src/layout/HawaContainer.tsx +0 -43
  375. package/src/layout/HawaGrid.tsx +0 -15
  376. package/src/layout/HawaSiteLayout.tsx +0 -159
  377. package/src/layout/index.ts +0 -10
  378. package/src/styles.css +0 -3532
  379. package/src/tailwind.css +0 -179
  380. package/src/translations/ar.json +0 -30
  381. package/src/translations/en.json +0 -29
  382. package/src/translations/i18n.js +0 -15
  383. package/src/util.ts +0 -149
  384. package/tailwind.config.js +0 -227
  385. package/tools/build-styles.js +0 -17
  386. package/tsconfig.json +0 -31
@@ -1,241 +0,0 @@
1
- import React, { FC, ButtonHTMLAttributes, useState } from "react"
2
- import clsx from "clsx"
3
- import { HawaLoading } from "./HawaLoading"
4
- import { HawaTooltip } from "./HawaTooltip"
5
-
6
- interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
7
- variant?: "contained" | "outlined"
8
- feedback?: string
9
- tooltipDirection?: "rtl" | "ltr"
10
- color?: "default" | "primary" | "secondary" | "light" | "dark"
11
- width?: "full" | "normal" | "half"
12
- size?: "xs" | "small" | "medium" | "large" | "noPadding" | "full" | "icon"
13
- margins?: "none" | "1" | "2" | "3" | "4"
14
- tooltip?: string
15
- tooltipSize?: "normal" | "small" | "large"
16
- tooltipPosition?:
17
- | "left-top"
18
- | "left-bottom"
19
- | "right-top"
20
- | "right-bottom"
21
- | "top-right"
22
- | "top-left"
23
- | "bottom-right"
24
- | "bottom-left"
25
- startIcon?: any
26
- endIcon?: any
27
- isLoading?: boolean
28
- badge?: any
29
- edgeCorner?: any
30
- disabled?: boolean
31
- }
32
-
33
- const disabledSyles = "cursor-default pointer-events-none"
34
- const disabledVariantSyles = {
35
- contained: "text-gray-300 bg-gray-100",
36
- outlined: "text-gray-300 border-gray-300",
37
- }
38
- const baseStyles =
39
- "cursor-pointer justify-center items-center text-center font-medium transition-all"
40
- const sizeStyles = {
41
- icon: "h-10 w-10",
42
- xs: "px-1.5 py-2 text-[9px] h-fit",
43
- small: "text-xs px-2.5 py-1.5",
44
- medium: "text-sm leading-4 px-3 py-2 h-[2.36rem] ",
45
- default: "h-10 px-4 py-2",
46
- large: "text-sm px-4 py-2",
47
- noPadding: "p-0",
48
- full: "h-full max-h-full p-2",
49
- }
50
- const widthStyles = {
51
- full: "w-full flex justify-center px-5 py-2.5 text-center inline-flex items-center",
52
- half: "w-full text-center flex items-center justify-center h-full",
53
- normal:
54
- "w-fit dark:bg-buttonPrimary-dark dark:hover:bg-buttonPrimary-700 dark:hover:brightness-90 dark:focus:ring-buttonPrimary-500",
55
- }
56
- const containerWidthStyles = {
57
- full: "w-full flex justify-center text-center inline-flex items-center",
58
- half: "w-1/2",
59
- normal: "w-fit",
60
- }
61
- const variantStyles = {
62
- contained: "border-transparent",
63
- // outlined: "bg-transparent border",
64
- outlined:
65
- "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
66
- }
67
- const colorStyles = {
68
- contained: {
69
- default:
70
- "text-neutral-900 bg-buttonPrimary-500 hover:bg-buttonPrimary-700 bg-buttonPrimary-500 text-white",
71
- primary:
72
- "text-white bg-buttonPrimary-500 hover:bg-buttonPrimary-700 transition-all",
73
- secondary:
74
- "bg-buttonSecondary-500 hover:text-white hover:bg-buttonSecondary-700",
75
- gray: "text-neutral-900 bg-gray-200 hover:bg-gray-300",
76
- dark: "text-neutral-900 bg-gray-200 hover:bg-gray-300",
77
- },
78
- outlined: {
79
- default:
80
- "text-gray-600 border-gray-600 hover:bg-gray-200 dark:hover:bg-gray-800 dark:text-white",
81
- primary: "text-black hover:bg-gray-50 dark:text-white",
82
- secondary:
83
- " dark:text-white text-secondary-800 border-secondary-800 hover:bg-buttonSecondary-700 hover:text-white",
84
- gray: "border-gray-300 hover:bg-gray-200",
85
- dark: "border-gray-900 hover:bg-gray-700",
86
- },
87
- }
88
-
89
- export const HawaButton: FC<ButtonProps> = ({
90
- className,
91
- variant = "contained",
92
- color = "default",
93
- size = "medium",
94
- width = "normal",
95
- disabled = false,
96
- isLoading = false,
97
- tooltip,
98
- tooltipSize = "normal",
99
- tooltipPosition = "top-left",
100
- tooltipDirection = "ltr",
101
- margins = "2",
102
- children,
103
- badge,
104
- edgeCorner = false,
105
- feedback,
106
- ...props
107
- }) => {
108
- const [isClicked, setIsClicked] = useState(false)
109
- const [buttonText, setButtonText] = useState(children)
110
-
111
- const handleClick = (event) => {
112
- if (props.onClick) {
113
- props.onClick(event)
114
- }
115
- if (feedback && !isClicked) {
116
- setButtonText(feedback)
117
- setIsClicked(true)
118
- setTimeout(() => {
119
- setButtonText(children)
120
- setIsClicked(false)
121
- }, 2000)
122
- }
123
- }
124
-
125
- return (
126
- <div
127
- className={clsx(
128
- "relative",
129
- margins !== "none" ? `my-${margins}` : "m-0",
130
- containerWidthStyles[width]
131
- )}
132
- >
133
- {tooltip ? (
134
- <HawaTooltip
135
- direction={tooltipDirection}
136
- position={tooltipPosition}
137
- size={tooltipSize}
138
- content={tooltip}
139
- >
140
- <button
141
- className={
142
- disabled
143
- ? clsx(
144
- className,
145
- baseStyles,
146
- edgeCorner ? "rounded-inner" : "rounded",
147
-
148
- variantStyles[variant],
149
- sizeStyles[size],
150
- widthStyles[width],
151
- disabledSyles,
152
- disabledVariantSyles[variant]
153
- )
154
- : clsx(
155
- className,
156
- baseStyles,
157
- edgeCorner ? "rounded-inner" : "rounded",
158
-
159
- variantStyles[variant],
160
- sizeStyles[size],
161
- colorStyles[variant][color],
162
- widthStyles[width]
163
- )
164
- }
165
- disabled={disabled}
166
- onClick={props.onClick}
167
- // onClick={handleClick}
168
- >
169
- {!isLoading ? children : <HawaLoading size="button" />}
170
- </button>
171
- </HawaTooltip>
172
- ) : (
173
- <button
174
- className={
175
- disabled
176
- ? clsx(
177
- className,
178
- baseStyles,
179
- edgeCorner ? "rounded-inner" : "rounded",
180
-
181
- variantStyles[variant],
182
- sizeStyles[size],
183
- widthStyles[width],
184
- disabledSyles,
185
- disabledVariantSyles[variant]
186
- )
187
- : clsx(
188
- className,
189
- "overflow-x-clip",
190
- baseStyles,
191
- edgeCorner ? "rounded-inner" : "rounded",
192
- variantStyles[variant],
193
- sizeStyles[size],
194
- colorStyles[variant][color],
195
- widthStyles[width]
196
- )
197
- }
198
- disabled={disabled}
199
- // onClick={props.onClick}
200
- onClick={handleClick}
201
- >
202
- {!isLoading ? (
203
- <div
204
- className={clsx(
205
- " s flex flex-col-reverse items-start justify-center gap-4 transition-all",
206
- isClicked && feedback
207
- ? " -translate-y-8 pb-1 pt-1"
208
- : "translate-y-0"
209
- )}
210
- >
211
- {isClicked && feedback ? (
212
- <div className="w-full text-center">{buttonText}</div>
213
- ) : null}
214
- <div className="flex w-full select-none flex-row items-center justify-center gap-2 whitespace-nowrap">
215
- {props.startIcon && props.startIcon}
216
- {children}
217
- {props.endIcon && props.endIcon}
218
- </div>
219
- </div>
220
- ) : (
221
- <HawaLoading design="dots-pulse" color={"bg-white"} size="button" />
222
- )}
223
- </button>
224
- )}
225
- {badge && (
226
- <div
227
- className={clsx(
228
- typeof badge === "boolean"
229
- ? "h-5 w-5"
230
- : typeof badge === "string"
231
- ? "h-5 w-7"
232
- : "h-6 w-6",
233
- "absolute -right-2 -top-2 inline-flex select-none items-center justify-center rounded-full border-2 border-white bg-red-500 text-[9px] font-bold text-white dark:border-gray-900"
234
- )}
235
- >
236
- {typeof badge === "number" && badge > 100 ? "+99" : badge}
237
- </div>
238
- )}
239
- </div>
240
- )
241
- }
@@ -1,318 +0,0 @@
1
- import React, { useState } from "react"
2
- import { HawaButton } from "./HawaButton"
3
-
4
- const CARDS = {
5
- mada: "^(4(0(0861|1757|3024|6136|6996|7(197|395)|9201)|1(0621|0685|2565|7633|9593)|2(281(7|8|9)|0(132)|1(141)|6(897)|8(1|331|67(1|2|3)))|3(1361|2328|4107|9954)|4(0(533|647|795)|5564|6(393|404|672))|5(5(036|708)|7865|7997|8456)|6(2220|854(0|1|2|3))|7(4491)|8(301(0|1|2)|4783|609(4|5|6)|931(7|8|9))|93428)|5(0(4300|6968|8160)|13213|2(0058|1076|4(130|514)|9(415|741))|3(0060|0906|1095|1196|2013|5(825|989)|6023|7767|9931)|4(3(085|357)|9760)|5(4180|7606|8563|8848)|8(5265|8(8(4(5|6|7|8|9)|5(0|1))|98(2|3))|9(005|206)))|6(0(4906|5141)|36120)|9682(0(1|2|3|4|5|6|7|8|9)|1(0|1)))",
6
- visa: "^4",
7
- amex: "^(34|37)",
8
- mastercard: "^5[1-5]",
9
- discover: "^6011",
10
- unionpay: "^62",
11
- troy: "^9792",
12
- diners: "^(30[0-5]|36)",
13
- }
14
-
15
- const currentYear = new Date().getFullYear()
16
- const monthsArr = Array.from({ length: 12 }, (x, i) => {
17
- const month = i + 1
18
- return month <= 9 ? "0" + month : month
19
- })
20
- const yearsArr = Array.from({ length: 9 }, (_x, i) => currentYear + i)
21
-
22
- export const HawaCardInput = ({
23
- cardHolder,
24
- cardMonth,
25
- cardYear,
26
- cardCvv,
27
- rememberMe,
28
- onUpdateState,
29
- cardNumberRef,
30
- cardHolderRef,
31
- cardDateRef,
32
- cardCvvRef,
33
- rememberMeRef,
34
- onCardInputFocus,
35
- onCardInputBlur,
36
- children,
37
- handlePaymentPayfort,
38
- selectedPaymentMethod,
39
- isRegister,
40
- accessCode,
41
- shaRequestPassphrase,
42
- transaction,
43
- signature,
44
- isCheckout,
45
- }) => {
46
- // const token = getToken()
47
- // const router = useRouter()
48
- // const formRegister = useRef()
49
- // const [loading, setLoading] = useState(false)
50
- const [cardNumber, setCardNumber] = useState("")
51
- const [expiryDate, setExpiryDate] = useState("")
52
- const [binCardType, setBinCardType] = useState("")
53
- // const [tokenName, setTokenName] = useState("")
54
- // const [registeredCard, setRegisteredCard] = useState("")
55
- const [registerSignature, setRegisterSignature] = useState("")
56
- const [card, setCard] = useState("")
57
- // const [payfortForm, setPayfortForm] = useState("")
58
- // const classes = useStyles()
59
- // const [value, setValue] = React.useState("")
60
- // const [error, setError] = React.useState(false)
61
- // const [helperText, setHelperText] = React.useState("Choose wisely")
62
-
63
- // const { data: allCards, loading: loadingCards } = useQuery(getCards(), {
64
- // variables: { userId: token.User._id },
65
- // })
66
-
67
- // const { t, lang } = useTranslation("common")
68
-
69
- const cardType = (cardNumber) => {
70
- const number = cardNumber.replace(/\D/g, "")
71
- let re
72
- for (const [card, pattern] of Object.entries(CARDS)) {
73
- re = new RegExp(pattern)
74
- console.log("number=", number)
75
- console.log("card=", card)
76
- console.log("pattern=", pattern)
77
- console.log("res=", re.test(number))
78
- if (number.match(re) != null) {
79
- return card
80
- }
81
- }
82
-
83
- return "" // default type
84
- }
85
-
86
- // TODO: We can improve the regex check with a better approach like in the card component.
87
-
88
- const onCardNumberChange = (event) => {
89
- let { value, name } = event.target
90
- let cardNumber = value
91
- value = value.replace(/\D/g, "")
92
- if (/^3[47]\d{0,13}$/.test(value)) {
93
- cardNumber = value
94
- .replace(/(\d{4})/, "$1 ")
95
- .replace(/(\d{4}) (\d{6})/, "$1 $2 ")
96
- } else if (/^3(?:0[0-5]|[68]\d)\d{0,11}$/.test(value)) {
97
- // diner's club, 14 digits
98
- cardNumber = value
99
- .replace(/(\d{4})/, "$1 ")
100
- .replace(/(\d{4}) (\d{6})/, "$1 $2 ")
101
- } else if (/^\d{0,16}$/.test(value)) {
102
- // regular cc number, 16 digits
103
- cardNumber = value
104
- .replace(/(\d{4})/, "$1 ")
105
- .replace(/(\d{4}) (\d{4})/, "$1 $2 ")
106
- .replace(/(\d{4}) (\d{4}) (\d{4})/, "$1 $2 $3 ")
107
- }
108
-
109
- setCardNumber(cardNumber.trimRight())
110
- setBinCardType(cardType(cardNumber.trimRight()))
111
- onUpdateState(name, cardNumber)
112
- }
113
- const handleFormChange = (event) => {
114
- const { name, value } = event.target
115
- if (name === "rememberMe") {
116
- onUpdateState(name, !rememberMe)
117
- } else {
118
- onUpdateState(name, value)
119
- }
120
- }
121
-
122
- return (
123
- <div>
124
- <div>
125
- <div>{children}</div>
126
- <div>
127
- <div className="w-fit bg-red-200 p-2">
128
- <label htmlFor="cardNumber" className="relative">
129
- Card Number
130
- <input
131
- type="tel"
132
- name="cardNumber"
133
- className="mb-0 block w-full rounded border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder-gray-400 dark:focus:border-blue-500 dark:focus:ring-blue-500"
134
- autoComplete="off"
135
- onChange={onCardNumberChange}
136
- maxLength={19}
137
- ref={cardNumberRef}
138
- onFocus={(e) => onCardInputFocus(e, "cardNumber")}
139
- onBlur={onCardInputBlur}
140
- value={cardNumber}
141
- />
142
- {/* {binCardType && (
143
- <img className="bg-red-700" src={`/${binCardType}.png`} />
144
- )} */}
145
- <img
146
- className="absolute right-2 top-1/2 translate-y-1/2 bg-red-700"
147
- src={`../Assets/images/card-type/${binCardType}.png`}
148
- />
149
- </label>
150
- </div>
151
-
152
- <div className="flex w-fit flex-col bg-red-300 p-2">
153
- <label htmlFor="cardName" className="card-input__label">
154
- Card Holder{" "}
155
- </label>
156
- <input
157
- type="text"
158
- // className="card-input__input"
159
- className="mb-0 block w-full rounded border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder-gray-400 dark:focus:border-blue-500 dark:focus:ring-blue-500"
160
- autoComplete="off"
161
- name="cardHolder"
162
- onChange={handleFormChange}
163
- ref={cardHolderRef}
164
- onFocus={(e) => onCardInputFocus(e, "cardHolder")}
165
- onBlur={onCardInputBlur}
166
- />
167
- </div>
168
-
169
- <div className="flex w-fit flex-col bg-red-400 p-2">
170
- <div className="flex flex-col">
171
- <label htmlFor="cardMonth" className="card-input__label">
172
- Expiration
173
- </label>
174
- <div className="flex flex-row gap-2">
175
- <select
176
- className="rounded p-2.5"
177
- value={cardMonth}
178
- name="cardMonth"
179
- onChange={handleFormChange}
180
- ref={cardDateRef}
181
- onFocus={(e) => onCardInputFocus(e, "cardDate")}
182
- onBlur={onCardInputBlur}
183
- >
184
- <option value="" disabled>
185
- Month
186
- </option>
187
-
188
- {monthsArr.map((val, index) => (
189
- <option key={index} value={val}>
190
- {val}
191
- </option>
192
- ))}
193
- </select>
194
- <select
195
- name="cardYear"
196
- className="rounded p-2.5"
197
- value={cardYear}
198
- onChange={handleFormChange}
199
- onFocus={(e) => onCardInputFocus(e, "cardDate")}
200
- onBlur={onCardInputBlur}
201
- >
202
- <option value="" disabled>
203
- Year
204
- </option>
205
-
206
- {yearsArr.map((val, index) => (
207
- <option key={index} value={val}>
208
- {val}
209
- </option>
210
- ))}
211
- </select>
212
- </div>
213
- </div>
214
- </div>
215
- <div className="flex w-fit flex-col bg-red-500 p-2">
216
- <label htmlFor="cardCvv">CCV</label>
217
- <input
218
- type="tel"
219
- className="mb-0 block w-full rounded border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder-gray-400 dark:focus:border-blue-500 dark:focus:ring-blue-500"
220
- maxLength={4}
221
- autoComplete="off"
222
- name="cardCvv"
223
- onChange={handleFormChange}
224
- // onFocus={onCvvFocus}
225
- // onBlur={onCvvBlur}
226
- ref={cardCvvRef}
227
- />
228
- </div>
229
- {isCheckout && (
230
- <div className="card-input">
231
- <label htmlFor="rememberMe" className="card-input__label">
232
- <input
233
- type="checkbox"
234
- autoComplete="off"
235
- name="rememberMe"
236
- checked={rememberMe}
237
- onChange={handleFormChange}
238
- ref={rememberMeRef}
239
- />
240
- Store Payment Details{" "}
241
- </label>
242
- </div>
243
- )}
244
- <div className="card-input" style={{ marginTop: "20px" }}>
245
- <form
246
- onSubmit={(e) => e.preventDefault()}
247
- // ref={(ref) => setPayfortForm(ref)}
248
- id="formSendToAps"
249
- action={`${process.env.NEXT_PUBLIC_QAWAIM_PAYFORT_ENVIRONMENT_URL}`}
250
- method="POST"
251
- >
252
- <input type="hidden" name="access_code" value={accessCode} />
253
- <input
254
- type="hidden"
255
- name="merchant_identifier"
256
- value={`${process.env.NEXT_PUBLIC_QAWAIM_PAYFORT_MERCHANT_ID}`}
257
- />
258
- <input type="hidden" name="language" value={"en"} />
259
- <input
260
- type="hidden"
261
- name="card_number"
262
- value={cardNumber.replace(/\s/g, "")}
263
- />
264
- <input type="hidden" name="expiry_date" value={expiryDate} />
265
- <input
266
- type="hidden"
267
- name="signature"
268
- value={isCheckout ? signature : registerSignature}
269
- />
270
- <input type="hidden" name="card_holder_name" value={cardHolder} />
271
- <input
272
- type="hidden"
273
- name="merchant_reference"
274
- // value={isCheckout ? transaction?._id : card?._id}
275
- />
276
- <input
277
- type="hidden"
278
- name="service_command"
279
- value={isCheckout ? "TOKENIZATION" : "CREATE_TOKEN"}
280
- />
281
- <input
282
- type="hidden"
283
- name="return_url"
284
- // value={
285
- // isCheckout
286
- // ? `${process.env.NEXT_PUBLIC_QAWAIM_USER_PORTAL_URL}/aps_online/response`
287
- // : `${process.env.NEXT_PUBLIC_QAWAIM_USER_PORTAL_URL}/aps_online/register`
288
- // }
289
- />
290
- {!isCheckout && (
291
- <input
292
- type="hidden"
293
- name="currency"
294
- // value={token.User.default_currency?.toUpperCase()}
295
- />
296
- )}
297
- {isCheckout && (
298
- <>
299
- <input
300
- type="hidden"
301
- name="card_security_code"
302
- value={cardCvv}
303
- />
304
-
305
- {/* {tokenName && (
306
- <input type="hidden" name="token_name" value={tokenName} />
307
- )} */}
308
- </>
309
- )}
310
-
311
- <HawaButton>Pay</HawaButton>
312
- </form>
313
- </div>
314
- </div>
315
- </div>
316
- </div>
317
- )
318
- }
@@ -1,54 +0,0 @@
1
- import React, { useEffect, useState, FC } from "react"
2
- import clsx from "clsx"
3
-
4
- type TCheckBoxTypes = {
5
- centered?: boolean
6
- label?: any
7
- helperText?: any
8
- id: string
9
- onChange?: (e) => void
10
- val?: boolean
11
- }
12
-
13
- export const HawaCheckbox: FC<TCheckBoxTypes> = (props) => {
14
- const [isChecked, setVal] = useState(props.val)
15
-
16
- useEffect(() => {
17
- props.onChange(isChecked)
18
- }, [isChecked])
19
- return (
20
- <div
21
- className={clsx(
22
- props.centered
23
- ? "flex h-full items-center justify-center"
24
- : "flex h-full items-start "
25
- )}
26
- >
27
- <input
28
- type="checkbox"
29
- checked={isChecked}
30
- onChange={(e) => setVal(e.target.checked)}
31
- id={props.id}
32
- aria-label={props.label}
33
- className="mt-3 rounded border-gray-300 bg-gray-100 text-blue-600 focus:ring-2 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-700 dark:ring-offset-gray-800 dark:focus:ring-blue-600"
34
- />
35
- {(props.label || props.helperText) && (
36
- <div
37
- className=" flex cursor-pointer flex-col py-2"
38
- onClick={(e) => setVal(!isChecked)}
39
- >
40
- {props.label && (
41
- <label className="mx-2 text-sm font-medium text-gray-900 dark:text-gray-300">
42
- {props.label}
43
- </label>
44
- )}
45
- {props.helperText && (
46
- <p className="mx-2 mt-1 text-xs text-red-600 dark:text-red-500">
47
- {props.helperText}
48
- </p>
49
- )}
50
- </div>
51
- )}
52
- </div>
53
- )
54
- }
@@ -1,59 +0,0 @@
1
- import React, { FC } from "react"
2
- import clsx from "clsx"
3
-
4
- type TChipTypes = {
5
- /** The text inside the chip */
6
- label: string
7
- /** The small icon before the chip label */
8
- icon?: JSX.Element
9
- /** The color of the chip, must be a tailwind color */
10
- color?: string
11
- /** The size of the chip */
12
- size?: "small" | "normal" | "large"
13
- /** Enable/Disable the dot before the label of the chip */
14
- dot?: boolean
15
- /** Red/Green dot next to the label of the chip indicating online/offline or available/unavailable */
16
- dotType?: "available" | "unavailable"
17
- }
18
-
19
- export const HawaChip: FC<TChipTypes> = ({
20
- label,
21
- size = "normal",
22
- icon,
23
- color,
24
- dot,
25
- dotType = "available",
26
- }) => {
27
- let defaultStyles =
28
- "flex flex-row w-fit gap-1 items-center rounded px-2.5 py-0.5 font-bold text-blue-800 dark:bg-blue-200 dark:text-blue-800"
29
- let sizeStyles = {
30
- small: "h-full leading-4 px-1 py-0 text-[9px] gap-0.5 ",
31
- normal: "h-fit text-xs",
32
- large: "",
33
- }
34
-
35
- let dotStyles = {
36
- small: "flex h-1 w-1 rounded-full",
37
- normal: "flex h-2 w-2 rounded-full",
38
- large: "flex h-3 w-3 rounded-full",
39
- }
40
- let dotTypeStyles = {
41
- available: "bg-green-500",
42
- unavailable: "bg-red-500",
43
- }
44
- return (
45
- <span
46
- className={clsx(
47
- defaultStyles,
48
- sizeStyles[size],
49
- color ? `bg-${color}-100 text-${color}-500` : "bg-layoutPrimary-500"
50
- )}
51
- >
52
- {dot && (
53
- <span className={clsx(dotStyles[size], dotTypeStyles[dotType])}></span>
54
- )}
55
- {icon && icon}
56
- {label}
57
- </span>
58
- )
59
- }