@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,157 +0,0 @@
1
- import React, { useEffect, useState, FC } from "react"
2
- import clsx from "clsx"
3
- import { HawaMenu } from "./HawaMenu"
4
- import { HawaButton } from "./HawaButton"
5
-
6
- interface ItemCardTypes {
7
- headerActions?: THeaderActions[][]
8
- header?: any
9
- content?: any
10
- /** a URL for the image of the card */
11
- cardImage?: string
12
- /** a function that fires when the card is clicked anywhere */
13
- onCardClick?: any
14
- /** a React node with HawaIconCount children to have counters at the bottom of the card */
15
- counts?: JSX.Element
16
- /** The action buttons on the bottom right of the card */
17
- actions?: JSX.Element
18
- /** The orientation of the card */
19
- orientation?: "horizontal" | "vertical"
20
- /** Enabling this blurs the image on hover and shows an action button */
21
- clickableImage?: boolean
22
- /** The function of the action button on the image of the card */
23
- clickableImageAction?: () => void
24
- /** The text of the action button on the image of the card */
25
- clickableImageActionText: string
26
- /** The icon of the action button on the image of the card */
27
- clickableImageActionIcon?: any
28
- }
29
-
30
- type THeaderActions = {
31
- icon?: JSX.Element
32
- label: string
33
- action?: (e: any) => void
34
- isButton?: boolean
35
- }
36
- export const HawaItemCard: FC<ItemCardTypes> = ({
37
- actions,
38
- counts,
39
- content,
40
- headerActions,
41
- clickableImage,
42
- clickableImageAction,
43
- clickableImageActionText,
44
- clickableImageActionIcon,
45
- header,
46
- cardImage,
47
- orientation = "vertical",
48
- ...props
49
- }) => {
50
- let defaultStyle =
51
- "block rounded border border-gray-200 bg-white shadow-sm hover:shadow-lg transition-all dark:border-gray-700 dark:bg-gray-800 "
52
-
53
- let orientationStyles = {
54
- vertical: "max-w-sm",
55
- horizontal: "flex flex-row w-full",
56
- }
57
- let imageStyles = {
58
- vertical: "h-auto max-h-56 w-full rounded-t-lg object-cover",
59
- horizontal:
60
- // "h-auto w-full rounded-l-lg object-cover md:h-auto md:w-48 md:rounded-none md:rounded-l-lg",
61
- // "h-full w-full rounded-l-lg object-cover md:w-48 md:rounded-none md:rounded-l-lg",
62
- "h-full w-48 rounded-l object-cover",
63
- }
64
- let headerActionsButtonStyle =
65
- "inline-block rounded p-1 text-sm text-gray-500 hover:bg-gray-100 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:text-gray-400 dark:hover:bg-gray-700 dark:focus:ring-gray-700"
66
-
67
- const [openActionHeader, setOpenActionHeader] = useState(false)
68
-
69
- function handleOpenActionHeader() {
70
- setOpenActionHeader(!openActionHeader)
71
- }
72
-
73
- useEffect((): any => {
74
- window.onclick = () => {
75
- if (openActionHeader) {
76
- setOpenActionHeader(false)
77
- }
78
- }
79
- return () => (window.onclick = null)
80
- }, [openActionHeader])
81
-
82
- return (
83
- <div
84
- className={clsx(defaultStyle, orientationStyles[orientation])}
85
- {...props}
86
- >
87
- {cardImage && (
88
- <div className="group relative overflow-clip">
89
- <img
90
- src={"https://via.placeholder.com/50"}
91
- className={clsx(
92
- imageStyles[orientation],
93
- clickableImage
94
- ? "overflow-clip transition-all group-hover:blur-lg"
95
- : ""
96
- )}
97
- />
98
- {clickableImage && (
99
- <div className="absolute left-0 top-0 flex h-full w-full items-center justify-center opacity-0 transition-all group-hover:opacity-100 ">
100
- <HawaButton
101
- startIcon={clickableImageActionIcon}
102
- variant="outlined"
103
- onClick={clickableImageAction}
104
- >
105
- {clickableImageActionText}
106
- </HawaButton>
107
- </div>
108
- )}
109
- </div>
110
- )}
111
- <div className="relative w-full p-6">
112
- {headerActions && (
113
- <div className="max-h- bg-red absolute right-0 top-0 flex justify-end pr-3 pt-3">
114
- <HawaMenu position="top-right" menuItems={headerActions}>
115
- <div
116
- className={clsx(headerActionsButtonStyle)}
117
- onClick={handleOpenActionHeader}
118
- >
119
- <span className="sr-only">Open dropdown</span>
120
- <svg
121
- className="h-6 w-6"
122
- aria-hidden="true"
123
- fill="currentColor"
124
- viewBox="0 0 20 20"
125
- >
126
- <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>
127
- </svg>
128
- </div>
129
- </HawaMenu>
130
- </div>
131
- )}
132
-
133
- {header && (
134
- <h5 className="mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white">
135
- {header}
136
- </h5>
137
- )}
138
- {content && (
139
- <p className="w-full font-normal text-gray-700 dark:text-gray-400">
140
- {content}
141
- </p>
142
- )}
143
- {actions || counts ? (
144
- <div
145
- className={clsx(
146
- "mt-3 flex items-center rounded-b-lg dark:text-white ",
147
- actions && counts ? "justify-between" : "justify-end"
148
- )}
149
- >
150
- {counts}
151
- {actions}
152
- </div>
153
- ) : null}
154
- </div>
155
- </div>
156
- )
157
- }
@@ -1,68 +0,0 @@
1
- import clsx from "clsx"
2
- import React, { FC } from "react"
3
-
4
- type LandingCardTypes = {
5
- orientation: "vertical" | "horizontal"
6
- title: string
7
- description: string
8
- imageURL: string
9
- handleHide: any
10
- texts?: {
11
- titleTip?: string
12
- title?: string
13
- description?: string
14
- linkText?: string
15
- }
16
- buttonLink?: string
17
- className?: any
18
- }
19
- export const HawaLandingCard: FC<LandingCardTypes> = ({
20
- orientation = "horizontal",
21
- ...props
22
- }) => {
23
- let cardStyles = {
24
- horizontal:
25
- "flex max-w-xl rounded border-gray-200 bg-gray-100 shadow-md dark:border-gray-700 dark:bg-gray-800 ",
26
- vertical:
27
- "flex max-w-xs rounded border-gray-200 bg-gray-100 shadow-md dark:border-gray-700 dark:bg-gray-800 ",
28
- }
29
-
30
- let imageStyles = {
31
- horizontal: "w-8 h-8 rounded",
32
- vertical: "w-14 h-14 rounded",
33
- }
34
-
35
- return (
36
- <div
37
- className={clsx(
38
- cardStyles[orientation],
39
- "flex flex-col p-10",
40
- "relative overflow-hidden dark:text-white",
41
- props.className
42
- )}
43
- {...props}
44
- >
45
- {props.texts?.titleTip && (
46
- <div className="text-sm text-red-600">{props.texts?.titleTip}</div>
47
- )}
48
- {props.imageURL && (
49
- <img
50
- className="absolute -bottom-10 -right-10 h-40 w-auto "
51
- src={props.imageURL}
52
- />
53
- )}
54
-
55
- {props.texts?.title && (
56
- <div className="mt-2 text-lg font-medium">{props.texts?.title} </div>
57
- )}
58
- {props.texts?.description && (
59
- <div className="z-10 mt-4 text-sm">{props.texts?.description}</div>
60
- )}
61
- {props.texts?.linkText && (
62
- <div className="z-10 mt-6 text-sm underline underline-offset-8">
63
- {props.texts?.linkText}
64
- </div>
65
- )}
66
- </div>
67
- )
68
- }
@@ -1,83 +0,0 @@
1
- import React, { FC } from "react"
2
- import clsx from "clsx"
3
-
4
- type LoadingTypes = {
5
- size?: "button" | "sm" | "normal" | "lg" | "xl"
6
- design?: "spinner" | "dots-bounce" | "dots-pulse" | "pulse" | "spinner-dots"
7
- color?: any
8
- }
9
-
10
- export const HawaLoading: FC<LoadingTypes> = ({
11
- design = "spinner",
12
- size = "sm",
13
- color,
14
- ...props
15
- }) => {
16
- let sizeStyles = {
17
- button: "h-4 w-4",
18
- sm: "h-6 w-6",
19
- normal: "h-8 w-8",
20
- lg: "h-14 w-14",
21
- xl: "h-24 w-24",
22
- }
23
-
24
- let animationStyles = {
25
- pulse: "animate-in fade-in duration-1000",
26
- bounce: "animate-bounce",
27
- }
28
- switch (design.split("-")[0]) {
29
- case "dots":
30
- return (
31
- <div className="flex flex-row gap-2">
32
- <div
33
- className={clsx(
34
- "animate-bounce rounded-full delay-100 repeat-infinite",
35
- size === "button" ? "h-2 w-2" : sizeStyles[size],
36
- animationStyles[design.split("-")[1]],
37
- color ? color : "bg-primary-foreground"
38
- )}
39
- ></div>
40
- <div
41
- className={clsx(
42
- "animate-bounce rounded-full delay-200 repeat-infinite",
43
- size === "button" ? "h-2 w-2" : sizeStyles[size],
44
- animationStyles[design.split("-")[1]],
45
-
46
- color ? color : "bg-primary-foreground"
47
- )}
48
- ></div>
49
- <div
50
- className={clsx(
51
- "animate-bounce rounded-full delay-300 repeat-infinite",
52
- size === "button" ? "h-2 w-2" : sizeStyles[size],
53
- animationStyles[design.split("-")[1]],
54
-
55
- color ? color : "bg-primary-foreground"
56
- )}
57
- ></div>
58
- </div>
59
- )
60
-
61
- default:
62
- return (
63
- <div className="flex flex-row gap-x-3">
64
- <div aria-label="Loading..." role="status">
65
- <svg
66
- className={clsx(sizeStyles[size], "animate-spin")}
67
- viewBox="3 3 18 18"
68
- >
69
- <path
70
- className="fill-gray-200"
71
- d="M12 5C8.13401 5 5 8.13401 5 12C5 15.866 8.13401 19 12 19C15.866 19 19 15.866 19 12C19 8.13401 15.866 5 12 5ZM3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12Z"
72
- ></path>
73
- <path
74
- // className="fill-buttonPrimary-500 "
75
- className={color ? color : "fill-buttonPrimary-500"}
76
- d="M16.9497 7.05015C14.2161 4.31648 9.78392 4.31648 7.05025 7.05015C6.65973 7.44067 6.02656 7.44067 5.63604 7.05015C5.24551 6.65962 5.24551 6.02646 5.63604 5.63593C9.15076 2.12121 14.8492 2.12121 18.364 5.63593C18.7545 6.02646 18.7545 6.65962 18.364 7.05015C17.9734 7.44067 17.3403 7.44067 16.9497 7.05015Z"
77
- ></path>
78
- </svg>
79
- </div>
80
- </div>
81
- )
82
- }
83
- }
@@ -1,154 +0,0 @@
1
- import React, { FC } from "react"
2
-
3
- type LogoButtonTypes = {
4
- lang?: any
5
- logo?:
6
- | "google"
7
- | "github"
8
- | "twitter"
9
- | "wallet"
10
- | "googlepay"
11
- | "applepay"
12
- | "stcpay"
13
- | "visa/master"
14
- | "paypal"
15
- | "mada"
16
- onClick?: any
17
- buttonText?: any
18
- direction?: "rtl" | "ltr"
19
- }
20
- export const HawaLogoButton: FC<LogoButtonTypes> = (props) => {
21
- let isArabic = props.lang === "ar"
22
- let logoElement: any = ""
23
- switch (props.logo?.toLowerCase()) {
24
- case "google":
25
- logoElement = (
26
- <img
27
- src={
28
- "https://upload.wikimedia.org/wikipedia/commons/5/53/Google_%22G%22_Logo.svg"
29
- }
30
- className="h-6"
31
- />
32
- )
33
- break
34
- case "github":
35
- logoElement = (
36
- <svg width="32px" height="32px" viewBox="0 0 32 32" className="h-7 w-7">
37
- <path d="M16 0.396c-8.839 0-16 7.167-16 16 0 7.073 4.584 13.068 10.937 15.183 0.803 0.151 1.093-0.344 1.093-0.772 0-0.38-0.009-1.385-0.015-2.719-4.453 0.964-5.391-2.151-5.391-2.151-0.729-1.844-1.781-2.339-1.781-2.339-1.448-0.989 0.115-0.968 0.115-0.968 1.604 0.109 2.448 1.645 2.448 1.645 1.427 2.448 3.744 1.74 4.661 1.328 0.14-1.031 0.557-1.74 1.011-2.135-3.552-0.401-7.287-1.776-7.287-7.907 0-1.751 0.62-3.177 1.645-4.297-0.177-0.401-0.719-2.031 0.141-4.235 0 0 1.339-0.427 4.4 1.641 1.281-0.355 2.641-0.532 4-0.541 1.36 0.009 2.719 0.187 4 0.541 3.043-2.068 4.381-1.641 4.381-1.641 0.859 2.204 0.317 3.833 0.161 4.235 1.015 1.12 1.635 2.547 1.635 4.297 0 6.145-3.74 7.5-7.296 7.891 0.556 0.479 1.077 1.464 1.077 2.959 0 2.14-0.020 3.864-0.020 4.385 0 0.416 0.28 0.916 1.104 0.755 6.4-2.093 10.979-8.093 10.979-15.156 0-8.833-7.161-16-16-16z" />
38
- </svg>
39
- )
40
- break
41
- case "twitter":
42
- logoElement = (
43
- <svg
44
- version="1.1"
45
- x="0px"
46
- y="0px"
47
- className="h-5 w-5"
48
- viewBox="0 0 512.002 512.002"
49
- >
50
- <path
51
- // style="fill:#73A1FB;"
52
- d="M500.398,94.784c-8.043,3.567-16.313,6.578-24.763,9.023c10.004-11.314,17.631-24.626,22.287-39.193
53
- c1.044-3.265-0.038-6.839-2.722-8.975c-2.681-2.137-6.405-2.393-9.356-0.644c-17.945,10.643-37.305,18.292-57.605,22.764
54
- c-20.449-19.981-48.222-31.353-76.934-31.353c-60.606,0-109.913,49.306-109.913,109.91c0,4.773,0.302,9.52,0.9,14.201
55
- c-75.206-6.603-145.124-43.568-193.136-102.463c-1.711-2.099-4.347-3.231-7.046-3.014c-2.7,0.211-5.127,1.734-6.491,4.075
56
- c-9.738,16.709-14.886,35.82-14.886,55.265c0,26.484,9.455,51.611,26.158,71.246c-5.079-1.759-10.007-3.957-14.711-6.568
57
- c-2.525-1.406-5.607-1.384-8.116,0.054c-2.51,1.439-4.084,4.084-4.151,6.976c-0.012,0.487-0.012,0.974-0.012,1.468
58
- c0,39.531,21.276,75.122,53.805,94.52c-2.795-0.279-5.587-0.684-8.362-1.214c-2.861-0.547-5.802,0.456-7.731,2.638
59
- c-1.932,2.18-2.572,5.219-1.681,7.994c12.04,37.591,43.039,65.24,80.514,73.67c-31.082,19.468-66.626,29.665-103.939,29.665
60
- c-7.786,0-15.616-0.457-23.279-1.364c-3.807-0.453-7.447,1.795-8.744,5.416c-1.297,3.622,0.078,7.66,3.316,9.736
61
- c47.935,30.735,103.361,46.98,160.284,46.98c111.903,0,181.907-52.769,220.926-97.037c48.657-55.199,76.562-128.261,76.562-200.451
62
- c0-3.016-0.046-6.061-0.139-9.097c19.197-14.463,35.724-31.967,49.173-52.085c2.043-3.055,1.822-7.094-0.545-9.906
63
- C507.7,94.204,503.76,93.294,500.398,94.784z"
64
- />
65
- </svg>
66
- )
67
- break
68
- case "mada":
69
- logoElement = (
70
- <img
71
- src="https://sikka-images.s3.ap-southeast-1.amazonaws.com/payments/mada.png"
72
- className="h-6"
73
- />
74
- )
75
- break
76
- case "stcpay":
77
- logoElement = (
78
- <img
79
- src="https://sikka-images.s3.ap-southeast-1.amazonaws.com/payments/stc-pay.png"
80
- // height={20}
81
- className="h-6"
82
- />
83
- )
84
- break
85
- case "visa/master":
86
- logoElement = (
87
- <img
88
- src="https://sikka-images.s3.ap-southeast-1.amazonaws.com/payments/visa-master.png"
89
- className="h-6"
90
- />
91
- )
92
- break
93
- case "paypal":
94
- logoElement = (
95
- <img
96
- src="https://sikka-images.s3.ap-southeast-1.amazonaws.com/payments/paypal.png"
97
- className="h-6"
98
- />
99
- )
100
- break
101
- case "googlepay":
102
- logoElement = (
103
- <img
104
- src="https://sikka-images.s3.ap-southeast-1.amazonaws.com/payments/google-pay.png"
105
- className="h-6"
106
- />
107
- )
108
- break
109
- case "applepay":
110
- logoElement = (
111
- <img
112
- src="https://sikka-images.s3.ap-southeast-1.amazonaws.com/payments/apple-pay.png"
113
- className="h-11"
114
- />
115
- )
116
- break
117
- case "wallet":
118
- logoElement = (
119
- <svg version="1.1" viewBox="0 0 223 223" className="h-6 w-6">
120
- <g>
121
- <path
122
- d="M223,94.5c0-6.075-4.925-11-11-11h-63c-6.075,0-11,4.925-11,11v33c0,6.075,4.925,11,11,11h63c6.075,0,11-4.925,11-11V94.5z
123
- M169.515,123.967c-7.082,0-12.823-5.741-12.823-12.823c0-7.082,5.741-12.823,12.823-12.823c7.082,0,12.823,5.741,12.823,12.823
124
- C182.338,118.225,176.597,123.967,169.515,123.967z"
125
- />
126
- <path
127
- d="M123.509,68.5H205v-33c0-8.271-6.395-15-14.667-15h-175C7.062,20.5,0,27.229,0,35.5v152c0,8.271,7.062,15,15.333,15h175
128
- c8.271,0,14.667-6.729,14.667-15v-34h-81.342L123.509,68.5z"
129
- />
130
- </g>
131
- </svg>
132
- )
133
- break
134
- default:
135
- break
136
- }
137
-
138
- return (
139
- <button
140
- dir={props.direction}
141
- // style={{ direction: isArabic ? "rtl" : "ltr" }}
142
- onClick={props.onClick}
143
- className="my-2 flex h-11 w-full flex-row justify-center rounded border bg-white align-middle transition-all hover:ring-1 hover:ring-buttonPrimary-500 hover:brightness-90"
144
- >
145
- <div className="flex h-full flex-row items-center justify-end">
146
- {logoElement}
147
- </div>
148
- <div style={{ width: 10 }} />
149
- <div className="flex h-full flex-col items-start justify-center dark:text-black">
150
- {props.buttonText}
151
- </div>
152
- </button>
153
- )
154
- }
@@ -1,226 +0,0 @@
1
- import React, { ReactNode, useEffect, useRef, useState, FC } from "react"
2
- import clsx from "clsx"
3
-
4
- // TODO: add width to decrease width
5
-
6
- interface TMenuTypes {
7
- menuItems: MenuItems[][]
8
- withHeader?: boolean
9
- headerTitle?: string
10
- headerSubtitle?: string
11
- direction?: "rtl" | "ltr"
12
- anchor?: any
13
- children?: ReactNode
14
- position?:
15
- | "left-top"
16
- | "left-bottom"
17
- | "right-top"
18
- | "right-bottom"
19
- | "top-right"
20
- | "top-left"
21
- | "bottom-right"
22
- | "bottom-left"
23
- onClickOutside?: any
24
- actionedItem?: any
25
- size?: "small" | "normal" | "large"
26
- }
27
-
28
- type MenuItems = {
29
- icon?: JSX.Element
30
- disabled?: boolean
31
- label: string
32
- action?: (e: any) => void
33
- isButton?: boolean
34
- element?: any
35
- }
36
-
37
- export const HawaMenu: FC<TMenuTypes> = ({
38
- menuItems,
39
- withHeader,
40
- direction = "ltr",
41
- headerTitle,
42
- headerSubtitle,
43
- size = "normal",
44
- children,
45
- onClickOutside,
46
- actionedItem,
47
- position = "top-right",
48
- }) => {
49
- const [menuOpened, setMenuOpened] = useState(false)
50
- const childrenRef = useRef(null)
51
- const [childrenHeight, setChildrenHeight] = useState(null)
52
- const [childrenWidth, setChildrenWidth] = useState(null)
53
- const menuRef = useRef(null)
54
- const [menuWidth, setMenuWidth] = useState(null)
55
- const [menuHeight, setMenuHeight] = useState(null)
56
-
57
- useEffect(() => {
58
- setMenuHeight(menuRef.current?.getBoundingClientRect().height)
59
- setMenuWidth(menuRef.current?.getBoundingClientRect().width)
60
- setChildrenHeight(childrenRef.current?.getBoundingClientRect().height)
61
- setChildrenWidth(childrenRef.current?.getBoundingClientRect().width)
62
-
63
- const handleClickOutside = (event) => {
64
- if (menuRef.current && !menuRef.current.contains(event.target)) {
65
- setMenuOpened(false)
66
- }
67
- }
68
- document.addEventListener("click", handleClickOutside, true)
69
- return () => {
70
- document.removeEventListener("click", handleClickOutside, true)
71
- }
72
- }, [onClickOutside])
73
-
74
- let defaultStyles =
75
- "border-none absolute ring-offset-1 absolute z-10 w-44 divide-y divide-gray-100 overflow-y-clip rounded bg-gray-50 shadow-lg transition-all dark:bg-gray-700"
76
- let sizeStyles = {
77
- small: "text-[11px] p-1 px-4 m-0",
78
- normal: "py-2 px-4",
79
- large: "",
80
- }
81
- let menuCoordinates
82
- let spacing = 5
83
- switch (position) {
84
- case "top-right":
85
- menuCoordinates =
86
- direction === "rtl"
87
- ? `${menuWidth - childrenWidth}px, -${
88
- menuHeight + childrenHeight + spacing
89
- }px`
90
- : `0px, -${menuHeight + childrenHeight + spacing}px`
91
- break
92
- case "top-left":
93
- menuCoordinates =
94
- direction === "rtl"
95
- ? `${0}px, -${menuHeight + childrenHeight + spacing}px`
96
- : `-${menuWidth - childrenWidth}px, -${
97
- menuHeight + childrenHeight + spacing
98
- }px`
99
- break
100
- case "bottom-right":
101
- menuCoordinates =
102
- direction === "rtl"
103
- ? `-${0}px, ${spacing}px`
104
- : `-${childrenWidth - menuWidth}px, ${spacing}px`
105
-
106
- break
107
- case "bottom-left":
108
- menuCoordinates =
109
- direction === "rtl"
110
- ? `0px, ${spacing}px`
111
- : `-${menuWidth - childrenWidth}px,${spacing}px`
112
- break
113
- case "right-bottom":
114
- menuCoordinates =
115
- direction === "rtl"
116
- ? `${menuWidth + spacing}px, -${childrenHeight}px`
117
- : `${childrenWidth + spacing}px, -${childrenHeight}px`
118
- break
119
- case "right-top":
120
- menuCoordinates =
121
- direction === "rtl"
122
- ? `${menuWidth + spacing}px, -${menuHeight}px`
123
- : `${childrenWidth + spacing}px, -${menuHeight}px`
124
- break
125
- case "left-bottom":
126
- menuCoordinates =
127
- direction === "rtl"
128
- ? `-${childrenWidth + spacing}px, -${childrenHeight}px`
129
- : `-${menuWidth + spacing}px, -${childrenHeight}px`
130
- break
131
- case "left-top":
132
- menuCoordinates =
133
- direction === "rtl"
134
- ? `-${childrenWidth + spacing}px, -${menuHeight}px`
135
- : `-${menuWidth + spacing}px, -${menuHeight}px`
136
- break
137
-
138
- default:
139
- menuCoordinates = `-${menuWidth / 2}px, -${
140
- childrenHeight + menuHeight / 2
141
- }px`
142
-
143
- break
144
- }
145
- return (
146
- <div
147
- onClick={() => {
148
- if (menuOpened) setMenuOpened(false)
149
- else setMenuOpened(true)
150
- }}
151
- >
152
- <div ref={childrenRef}>{children}</div>
153
-
154
- <div
155
- ref={menuRef}
156
- style={{
157
- position: "absolute",
158
- width: "max-content",
159
- transform: `translate(${menuCoordinates})`,
160
- maxWidth: "200px",
161
- }}
162
- className={clsx(
163
- defaultStyles,
164
- menuOpened ? "opacity-100" : "invisible opacity-0"
165
- )}
166
- >
167
- {withHeader && (
168
- <div className="px-4 py-3 text-xs text-gray-900 dark:text-white">
169
- <div>{headerTitle}</div>
170
- <div className="truncate font-medium">{headerSubtitle}</div>
171
- </div>
172
- )}
173
- {menuItems?.map((group, o) => {
174
- return (
175
- <ul
176
- key={o}
177
- className="bg-layout-1200 flex flex-col gap-1 p-1 text-gray-700 dark:text-gray-200"
178
- >
179
- {group?.map((item, indx) => {
180
- return item.element ? (
181
- <li
182
- key={indx}
183
- className="cursor-pointer items-center rounded hover:bg-gray-200 rtl:flex-row-reverse dark:hover:bg-gray-600 dark:hover:text-white"
184
- >
185
- {item.element}
186
- </li>
187
- ) : (
188
- <li
189
- key={indx}
190
- onClick={() => {
191
- if (item.disabled) {
192
- console.log("button is disabled")
193
- } else {
194
- item?.action(actionedItem)
195
- }
196
- }}
197
- className={clsx(
198
- "transition-all",
199
- item.isButton
200
- ? "flex cursor-pointer flex-row items-center rounded-inner bg-buttonPrimary-500 px-4 py-2 text-white hover:bg-buttonPrimary-700 rtl:flex-row-reverse"
201
- : item.disabled
202
- ? "text-gray-300"
203
- : " flex cursor-pointer flex-row items-center rounded-inner hover:bg-gray-200 rtl:flex-row-reverse dark:hover:bg-gray-600 dark:hover:text-white ",
204
- sizeStyles[size]
205
- )}
206
- >
207
- {item.icon && (
208
- <div
209
- className={
210
- size === "small" ? "mr-1 rtl:ml-1" : "mr-2 rtl:ml-2"
211
- }
212
- >
213
- {item.icon}
214
- </div>
215
- )}
216
- {item.label}
217
- </li>
218
- )
219
- })}
220
- </ul>
221
- )
222
- })}
223
- </div>
224
- </div>
225
- )
226
- }