@sikka/hawa 0.1.1 → 0.1.2-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 (389) hide show
  1. package/README.md +21 -43
  2. package/dist/index.css +1385 -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 -3511
  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 -14
  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/Newsletter.d.ts +0 -12
  30. package/es/blocks/Misc/NoPermission.d.ts +0 -10
  31. package/es/blocks/Misc/NotFound.d.ts +0 -11
  32. package/es/blocks/Misc/Testimonial.d.ts +0 -6
  33. package/es/blocks/Misc/index.d.ts +0 -6
  34. package/es/blocks/Payment/ChargeWalletForm.d.ts +0 -12
  35. package/es/blocks/Payment/CheckoutForm.d.ts +0 -27
  36. package/es/blocks/Payment/Confirmation.d.ts +0 -38
  37. package/es/blocks/Payment/CreditCardForm.d.ts +0 -7
  38. package/es/blocks/Payment/PayWithWallet.d.ts +0 -8
  39. package/es/blocks/Payment/SelectPayment.d.ts +0 -26
  40. package/es/blocks/Payment/index.d.ts +0 -6
  41. package/es/blocks/Pricing/ComparingPlans.d.ts +0 -39
  42. package/es/blocks/Pricing/HorizontalPricing.d.ts +0 -47
  43. package/es/blocks/Pricing/PricingPlans.d.ts +0 -47
  44. package/es/blocks/Pricing/index.d.ts +0 -3
  45. package/es/blocks/Referral/ReferralAccount.d.ts +0 -7
  46. package/es/blocks/Referral/ReferralSettlement.d.ts +0 -8
  47. package/es/blocks/Referral/ReferralStats.d.ts +0 -8
  48. package/es/blocks/Referral/index.d.ts +0 -3
  49. package/es/blocks/index.d.ts +0 -6
  50. package/es/countries.d.ts +0 -2
  51. package/es/elements/ArrowCarousel.d.ts +0 -13
  52. package/es/elements/AutoCompleteField.d.ts +0 -8
  53. package/es/elements/BackToTop.d.ts +0 -10
  54. package/es/elements/Breadcrumb.d.ts +0 -12
  55. package/es/elements/Button.d.ts +0 -12
  56. package/es/elements/Card.d.ts +0 -10
  57. package/es/elements/DragDropImages.d.ts +0 -28
  58. package/es/elements/DraggableCard.d.ts +0 -6
  59. package/es/elements/FloatingComment.d.ts +0 -32
  60. package/es/elements/FloatingCommentExec.d.ts +0 -4
  61. package/es/elements/FloatingCommentSlate.d.ts +0 -19
  62. package/es/elements/HawaAccordion.d.ts +0 -11
  63. package/es/elements/HawaAdCard.d.ts +0 -10
  64. package/es/elements/HawaAlert.d.ts +0 -23
  65. package/es/elements/HawaButton.d.ts +0 -21
  66. package/es/elements/HawaCardInput.d.ts +0 -25
  67. package/es/elements/HawaCheckbox.d.ts +0 -11
  68. package/es/elements/HawaChip.d.ts +0 -17
  69. package/es/elements/HawaCodeBlock.d.ts +0 -15
  70. package/es/elements/HawaColorPicker.d.ts +0 -9
  71. package/es/elements/HawaCopyrights.d.ts +0 -15
  72. package/es/elements/HawaDatepicker.d.ts +0 -4
  73. package/es/elements/HawaDropdownMenu.d.ts +0 -7
  74. package/es/elements/HawaIconCount.d.ts +0 -9
  75. package/es/elements/HawaInlineCode.d.ts +0 -6
  76. package/es/elements/HawaItemCard.d.ts +0 -32
  77. package/es/elements/HawaLandingCard.d.ts +0 -18
  78. package/es/elements/HawaLoading.d.ts +0 -8
  79. package/es/elements/HawaLogoButton.d.ts +0 -10
  80. package/es/elements/HawaMenu.d.ts +0 -24
  81. package/es/elements/HawaModal.d.ts +0 -21
  82. package/es/elements/HawaPanelTabs.d.ts +0 -13
  83. package/es/elements/HawaPhoneInput.d.ts +0 -11
  84. package/es/elements/HawaPinInput.d.ts +0 -10
  85. package/es/elements/HawaPricingCard.d.ts +0 -21
  86. package/es/elements/HawaRadio.d.ts +0 -16
  87. package/es/elements/HawaRange.d.ts +0 -12
  88. package/es/elements/HawaSearchBar.d.ts +0 -4
  89. package/es/elements/HawaSelect.d.ts +0 -23
  90. package/es/elements/HawaSettingsRow.d.ts +0 -44
  91. package/es/elements/HawaSnackbar.d.ts +0 -19
  92. package/es/elements/HawaStats.d.ts +0 -14
  93. package/es/elements/HawaStepper.d.ts +0 -8
  94. package/es/elements/HawaStoreButtons.d.ts +0 -7
  95. package/es/elements/HawaSwitch.d.ts +0 -7
  96. package/es/elements/HawaTable.d.ts +0 -45
  97. package/es/elements/HawaTabs.d.ts +0 -13
  98. package/es/elements/HawaTextField.d.ts +0 -31
  99. package/es/elements/HawaTooltip.d.ts +0 -12
  100. package/es/elements/HawaTypography.d.ts +0 -7
  101. package/es/elements/Icons.d.ts +0 -19
  102. package/es/elements/Input.d.ts +0 -5
  103. package/es/elements/InvoiceAccordion.d.ts +0 -31
  104. package/es/elements/Label.d.ts +0 -5
  105. package/es/elements/SubsectionList.d.ts +0 -19
  106. package/es/elements/TabPanel.d.ts +0 -8
  107. package/es/elements/Timeline.d.ts +0 -13
  108. package/es/elements/UsageCard.d.ts +0 -9
  109. package/es/elements/UserFeedback.d.ts +0 -14
  110. package/es/elements/index.d.ts +0 -52
  111. package/es/hooks/index.d.ts +0 -2
  112. package/es/hooks/useBreakpoint.d.ts +0 -2
  113. package/es/hooks/useDiscloser.d.ts +0 -7
  114. package/es/hooks/useHover.d.ts +0 -3
  115. package/es/hooks/useScrollPosition.d.ts +0 -2
  116. package/es/hooks/useTable.d.ts +0 -5
  117. package/es/index.d.ts +0 -4
  118. package/es/index.es.js +0 -16
  119. package/es/layout/AppSidebar.d.ts +0 -11
  120. package/es/layout/Banner.d.ts +0 -14
  121. package/es/layout/Box.d.ts +0 -2
  122. package/es/layout/Footer.d.ts +0 -20
  123. package/es/layout/HawaAppLayout.d.ts +0 -31
  124. package/es/layout/HawaAppLayoutSimplified.d.ts +0 -33
  125. package/es/layout/HawaBottomAppBar.d.ts +0 -8
  126. package/es/layout/HawaContainer.d.ts +0 -10
  127. package/es/layout/HawaGrid.d.ts +0 -6
  128. package/es/layout/HawaSiteLayout.d.ts +0 -23
  129. package/es/layout/index.d.ts +0 -10
  130. package/es/stories/ElementsStories/Breadcrumb.stories.d.ts +0 -6
  131. package/es/stories/ManualStories/BlocksIntroduction.stories.d.ts +0 -21
  132. package/es/stories/ManualStories/Customization.stories.d.ts +0 -21
  133. package/es/stories/ManualStories/ElementsIntroduction.stories.d.ts +0 -21
  134. package/es/stories/ManualStories/Installation.stories.d.ts +0 -21
  135. package/es/stories/ManualStories/LayoutIntroduction.stories.d.ts +0 -21
  136. package/es/stories/ManualStories/Overview.stories.d.ts +0 -22
  137. package/es/stories/ManualStories/Usage.stories.d.ts +0 -21
  138. package/es/util.d.ts +0 -10
  139. package/lib/blocks/Account/HawaApiBox.d.ts +0 -8
  140. package/lib/blocks/Account/UserProfileForm.d.ts +0 -8
  141. package/lib/blocks/Account/UserSettingsForm.d.ts +0 -9
  142. package/lib/blocks/Account/index.d.ts +0 -2
  143. package/lib/blocks/AuthForms/AppLanding.d.ts +0 -14
  144. package/lib/blocks/AuthForms/CodeConfirmation.d.ts +0 -22
  145. package/lib/blocks/AuthForms/NewPasswordForm.d.ts +0 -18
  146. package/lib/blocks/AuthForms/ResetPasswordForm.d.ts +0 -18
  147. package/lib/blocks/AuthForms/SignInBlock.d.ts +0 -2
  148. package/lib/blocks/AuthForms/SignInForm.d.ts +0 -51
  149. package/lib/blocks/AuthForms/SignInPhone.d.ts +0 -13
  150. package/lib/blocks/AuthForms/SignUpForm.d.ts +0 -55
  151. package/lib/blocks/AuthForms/index.d.ts +0 -8
  152. package/lib/blocks/Misc/EmptyState.d.ts +0 -11
  153. package/lib/blocks/Misc/LeadGenerator.d.ts +0 -12
  154. package/lib/blocks/Misc/Newsletter.d.ts +0 -12
  155. package/lib/blocks/Misc/NoPermission.d.ts +0 -10
  156. package/lib/blocks/Misc/NotFound.d.ts +0 -11
  157. package/lib/blocks/Misc/Testimonial.d.ts +0 -6
  158. package/lib/blocks/Misc/index.d.ts +0 -6
  159. package/lib/blocks/Payment/ChargeWalletForm.d.ts +0 -12
  160. package/lib/blocks/Payment/CheckoutForm.d.ts +0 -27
  161. package/lib/blocks/Payment/Confirmation.d.ts +0 -38
  162. package/lib/blocks/Payment/CreditCardForm.d.ts +0 -7
  163. package/lib/blocks/Payment/PayWithWallet.d.ts +0 -8
  164. package/lib/blocks/Payment/SelectPayment.d.ts +0 -26
  165. package/lib/blocks/Payment/index.d.ts +0 -6
  166. package/lib/blocks/Pricing/ComparingPlans.d.ts +0 -39
  167. package/lib/blocks/Pricing/HorizontalPricing.d.ts +0 -47
  168. package/lib/blocks/Pricing/PricingPlans.d.ts +0 -47
  169. package/lib/blocks/Pricing/index.d.ts +0 -3
  170. package/lib/blocks/Referral/ReferralAccount.d.ts +0 -7
  171. package/lib/blocks/Referral/ReferralSettlement.d.ts +0 -8
  172. package/lib/blocks/Referral/ReferralStats.d.ts +0 -8
  173. package/lib/blocks/Referral/index.d.ts +0 -3
  174. package/lib/blocks/index.d.ts +0 -6
  175. package/lib/countries.d.ts +0 -2
  176. package/lib/elements/ArrowCarousel.d.ts +0 -13
  177. package/lib/elements/AutoCompleteField.d.ts +0 -8
  178. package/lib/elements/BackToTop.d.ts +0 -10
  179. package/lib/elements/Breadcrumb.d.ts +0 -12
  180. package/lib/elements/Button.d.ts +0 -12
  181. package/lib/elements/Card.d.ts +0 -10
  182. package/lib/elements/DragDropImages.d.ts +0 -28
  183. package/lib/elements/DraggableCard.d.ts +0 -6
  184. package/lib/elements/FloatingComment.d.ts +0 -32
  185. package/lib/elements/FloatingCommentExec.d.ts +0 -4
  186. package/lib/elements/FloatingCommentSlate.d.ts +0 -19
  187. package/lib/elements/HawaAccordion.d.ts +0 -11
  188. package/lib/elements/HawaAdCard.d.ts +0 -10
  189. package/lib/elements/HawaAlert.d.ts +0 -23
  190. package/lib/elements/HawaButton.d.ts +0 -21
  191. package/lib/elements/HawaCardInput.d.ts +0 -25
  192. package/lib/elements/HawaCheckbox.d.ts +0 -11
  193. package/lib/elements/HawaChip.d.ts +0 -17
  194. package/lib/elements/HawaCodeBlock.d.ts +0 -15
  195. package/lib/elements/HawaColorPicker.d.ts +0 -9
  196. package/lib/elements/HawaCopyrights.d.ts +0 -15
  197. package/lib/elements/HawaDatepicker.d.ts +0 -4
  198. package/lib/elements/HawaDropdownMenu.d.ts +0 -7
  199. package/lib/elements/HawaIconCount.d.ts +0 -9
  200. package/lib/elements/HawaInlineCode.d.ts +0 -6
  201. package/lib/elements/HawaItemCard.d.ts +0 -32
  202. package/lib/elements/HawaLandingCard.d.ts +0 -18
  203. package/lib/elements/HawaLoading.d.ts +0 -8
  204. package/lib/elements/HawaLogoButton.d.ts +0 -10
  205. package/lib/elements/HawaMenu.d.ts +0 -24
  206. package/lib/elements/HawaModal.d.ts +0 -21
  207. package/lib/elements/HawaPanelTabs.d.ts +0 -13
  208. package/lib/elements/HawaPhoneInput.d.ts +0 -11
  209. package/lib/elements/HawaPinInput.d.ts +0 -10
  210. package/lib/elements/HawaPricingCard.d.ts +0 -21
  211. package/lib/elements/HawaRadio.d.ts +0 -16
  212. package/lib/elements/HawaRange.d.ts +0 -12
  213. package/lib/elements/HawaSearchBar.d.ts +0 -4
  214. package/lib/elements/HawaSelect.d.ts +0 -23
  215. package/lib/elements/HawaSettingsRow.d.ts +0 -44
  216. package/lib/elements/HawaSnackbar.d.ts +0 -19
  217. package/lib/elements/HawaStats.d.ts +0 -14
  218. package/lib/elements/HawaStepper.d.ts +0 -8
  219. package/lib/elements/HawaStoreButtons.d.ts +0 -7
  220. package/lib/elements/HawaSwitch.d.ts +0 -7
  221. package/lib/elements/HawaTable.d.ts +0 -45
  222. package/lib/elements/HawaTabs.d.ts +0 -13
  223. package/lib/elements/HawaTextField.d.ts +0 -31
  224. package/lib/elements/HawaTooltip.d.ts +0 -12
  225. package/lib/elements/HawaTypography.d.ts +0 -7
  226. package/lib/elements/Icons.d.ts +0 -19
  227. package/lib/elements/Input.d.ts +0 -5
  228. package/lib/elements/InvoiceAccordion.d.ts +0 -31
  229. package/lib/elements/Label.d.ts +0 -5
  230. package/lib/elements/SubsectionList.d.ts +0 -19
  231. package/lib/elements/TabPanel.d.ts +0 -8
  232. package/lib/elements/Timeline.d.ts +0 -13
  233. package/lib/elements/UsageCard.d.ts +0 -9
  234. package/lib/elements/UserFeedback.d.ts +0 -14
  235. package/lib/elements/index.d.ts +0 -52
  236. package/lib/hooks/index.d.ts +0 -2
  237. package/lib/hooks/useBreakpoint.d.ts +0 -2
  238. package/lib/hooks/useDiscloser.d.ts +0 -7
  239. package/lib/hooks/useHover.d.ts +0 -3
  240. package/lib/hooks/useScrollPosition.d.ts +0 -2
  241. package/lib/hooks/useTable.d.ts +0 -5
  242. package/lib/index.d.ts +0 -4
  243. package/lib/index.js +0 -16
  244. package/lib/layout/AppSidebar.d.ts +0 -11
  245. package/lib/layout/Banner.d.ts +0 -14
  246. package/lib/layout/Box.d.ts +0 -2
  247. package/lib/layout/Footer.d.ts +0 -20
  248. package/lib/layout/HawaAppLayout.d.ts +0 -31
  249. package/lib/layout/HawaAppLayoutSimplified.d.ts +0 -33
  250. package/lib/layout/HawaBottomAppBar.d.ts +0 -8
  251. package/lib/layout/HawaContainer.d.ts +0 -10
  252. package/lib/layout/HawaGrid.d.ts +0 -6
  253. package/lib/layout/HawaSiteLayout.d.ts +0 -23
  254. package/lib/layout/index.d.ts +0 -10
  255. package/lib/stories/ElementsStories/Breadcrumb.stories.d.ts +0 -6
  256. package/lib/stories/ManualStories/BlocksIntroduction.stories.d.ts +0 -21
  257. package/lib/stories/ManualStories/Customization.stories.d.ts +0 -21
  258. package/lib/stories/ManualStories/ElementsIntroduction.stories.d.ts +0 -21
  259. package/lib/stories/ManualStories/Installation.stories.d.ts +0 -21
  260. package/lib/stories/ManualStories/LayoutIntroduction.stories.d.ts +0 -21
  261. package/lib/stories/ManualStories/Overview.stories.d.ts +0 -22
  262. package/lib/stories/ManualStories/Usage.stories.d.ts +0 -21
  263. package/lib/util.d.ts +0 -10
  264. package/postcss.config.js +0 -6
  265. package/rollup.config.js +0 -61
  266. package/src/blocks/Account/HawaApiBox.tsx +0 -12
  267. package/src/blocks/Account/UserProfileForm.tsx +0 -113
  268. package/src/blocks/Account/UserSettingsForm.tsx +0 -27
  269. package/src/blocks/Account/index.ts +0 -2
  270. package/src/blocks/AuthForms/AppLanding.tsx +0 -34
  271. package/src/blocks/AuthForms/CodeConfirmation.tsx +0 -71
  272. package/src/blocks/AuthForms/NewPasswordForm.tsx +0 -101
  273. package/src/blocks/AuthForms/ResetPasswordForm.tsx +0 -89
  274. package/src/blocks/AuthForms/SignInBlock.tsx +0 -60
  275. package/src/blocks/AuthForms/SignInForm.tsx +0 -230
  276. package/src/blocks/AuthForms/SignInPhone.tsx +0 -56
  277. package/src/blocks/AuthForms/SignUpForm.tsx +0 -342
  278. package/src/blocks/AuthForms/index.ts +0 -8
  279. package/src/blocks/Misc/EmptyState.tsx +0 -43
  280. package/src/blocks/Misc/LeadGenerator.tsx +0 -44
  281. package/src/blocks/Misc/Newsletter.tsx +0 -50
  282. package/src/blocks/Misc/NoPermission.tsx +0 -40
  283. package/src/blocks/Misc/NotFound.tsx +0 -34
  284. package/src/blocks/Misc/Testimonial.tsx +0 -44
  285. package/src/blocks/Misc/index.ts +0 -6
  286. package/src/blocks/Payment/ChargeWalletForm.tsx +0 -82
  287. package/src/blocks/Payment/CheckoutForm.tsx +0 -260
  288. package/src/blocks/Payment/Confirmation.tsx +0 -94
  289. package/src/blocks/Payment/CreditCardForm.tsx +0 -109
  290. package/src/blocks/Payment/PayWithWallet.tsx +0 -26
  291. package/src/blocks/Payment/SelectPayment.tsx +0 -84
  292. package/src/blocks/Payment/index.ts +0 -6
  293. package/src/blocks/Pricing/ComparingPlans.tsx +0 -154
  294. package/src/blocks/Pricing/HorizontalPricing.tsx +0 -148
  295. package/src/blocks/Pricing/PricingPlans.tsx +0 -81
  296. package/src/blocks/Pricing/index.ts +0 -3
  297. package/src/blocks/Referral/ReferralAccount.tsx +0 -65
  298. package/src/blocks/Referral/ReferralSettlement.tsx +0 -170
  299. package/src/blocks/Referral/ReferralStats.tsx +0 -85
  300. package/src/blocks/Referral/index.ts +0 -3
  301. package/src/blocks/index.ts +0 -6
  302. package/src/countries.ts +0 -1940
  303. package/src/elements/ArrowCarousel.tsx +0 -94
  304. package/src/elements/AutoCompleteField.tsx +0 -37
  305. package/src/elements/BackToTop.tsx +0 -129
  306. package/src/elements/Breadcrumb.tsx +0 -41
  307. package/src/elements/Button.tsx +0 -77
  308. package/src/elements/Card.tsx +0 -87
  309. package/src/elements/DragDropImages.tsx +0 -251
  310. package/src/elements/DraggableCard.tsx +0 -27
  311. package/src/elements/FloatingComment.tsx +0 -1107
  312. package/src/elements/FloatingCommentExec.tsx +0 -106
  313. package/src/elements/FloatingCommentSlate.tsx +0 -149
  314. package/src/elements/HawaAccordion.tsx +0 -57
  315. package/src/elements/HawaAdCard.tsx +0 -49
  316. package/src/elements/HawaAlert.tsx +0 -195
  317. package/src/elements/HawaButton.tsx +0 -241
  318. package/src/elements/HawaCardInput.tsx +0 -318
  319. package/src/elements/HawaCheckbox.tsx +0 -54
  320. package/src/elements/HawaChip.tsx +0 -59
  321. package/src/elements/HawaCodeBlock.tsx +0 -156
  322. package/src/elements/HawaColorPicker.tsx +0 -40
  323. package/src/elements/HawaCopyrights.tsx +0 -30
  324. package/src/elements/HawaDatepicker.tsx +0 -23
  325. package/src/elements/HawaDropdownMenu.tsx +0 -267
  326. package/src/elements/HawaIconCount.tsx +0 -17
  327. package/src/elements/HawaInlineCode.tsx +0 -9
  328. package/src/elements/HawaItemCard.tsx +0 -157
  329. package/src/elements/HawaLandingCard.tsx +0 -68
  330. package/src/elements/HawaLoading.tsx +0 -83
  331. package/src/elements/HawaLogoButton.tsx +0 -154
  332. package/src/elements/HawaMenu.tsx +0 -226
  333. package/src/elements/HawaModal.tsx +0 -89
  334. package/src/elements/HawaPanelTabs.tsx +0 -57
  335. package/src/elements/HawaPhoneInput.tsx +0 -171
  336. package/src/elements/HawaPinInput.tsx +0 -78
  337. package/src/elements/HawaPricingCard.tsx +0 -107
  338. package/src/elements/HawaRadio.tsx +0 -180
  339. package/src/elements/HawaRange.tsx +0 -49
  340. package/src/elements/HawaSearchBar.tsx +0 -7
  341. package/src/elements/HawaSelect.tsx +0 -209
  342. package/src/elements/HawaSettingsRow.tsx +0 -74
  343. package/src/elements/HawaSnackbar.tsx +0 -137
  344. package/src/elements/HawaStats.tsx +0 -72
  345. package/src/elements/HawaStepper.tsx +0 -109
  346. package/src/elements/HawaStoreButtons.tsx +0 -129
  347. package/src/elements/HawaSwitch.tsx +0 -41
  348. package/src/elements/HawaTable.tsx +0 -587
  349. package/src/elements/HawaTabs.tsx +0 -143
  350. package/src/elements/HawaTextField.tsx +0 -148
  351. package/src/elements/HawaTooltip.tsx +0 -137
  352. package/src/elements/HawaTypography.tsx +0 -9
  353. package/src/elements/Icons.tsx +0 -145
  354. package/src/elements/Input.tsx +0 -25
  355. package/src/elements/InvoiceAccordion.tsx +0 -155
  356. package/src/elements/Label.tsx +0 -26
  357. package/src/elements/SubsectionList.tsx +0 -77
  358. package/src/elements/TabPanel.tsx +0 -25
  359. package/src/elements/Timeline.tsx +0 -35
  360. package/src/elements/UsageCard.tsx +0 -45
  361. package/src/elements/UserFeedback.tsx +0 -126
  362. package/src/elements/index.ts +0 -55
  363. package/src/hooks/index.ts +0 -2
  364. package/src/hooks/useBreakpoint.ts +0 -24
  365. package/src/hooks/useDiscloser.ts +0 -21
  366. package/src/hooks/useHover.ts +0 -25
  367. package/src/hooks/useScrollPosition.ts +0 -30
  368. package/src/hooks/useTable.ts +0 -159
  369. package/src/index.ts +0 -4
  370. package/src/layout/AppSidebar.tsx +0 -39
  371. package/src/layout/Banner.tsx +0 -122
  372. package/src/layout/Box.tsx +0 -5
  373. package/src/layout/Footer.tsx +0 -71
  374. package/src/layout/HawaAppLayout.tsx +0 -527
  375. package/src/layout/HawaAppLayoutSimplified.tsx +0 -568
  376. package/src/layout/HawaBottomAppBar.tsx +0 -55
  377. package/src/layout/HawaContainer.tsx +0 -43
  378. package/src/layout/HawaGrid.tsx +0 -15
  379. package/src/layout/HawaSiteLayout.tsx +0 -159
  380. package/src/layout/index.ts +0 -10
  381. package/src/styles.css +0 -3511
  382. package/src/tailwind.css +0 -179
  383. package/src/translations/ar.json +0 -30
  384. package/src/translations/en.json +0 -29
  385. package/src/translations/i18n.js +0 -15
  386. package/src/util.ts +0 -149
  387. package/tailwind.config.js +0 -227
  388. package/tools/build-styles.js +0 -17
  389. 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
- }