@sikka/hawa 0.26.27 → 0.26.29

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 (364) hide show
  1. package/dist/tooltip/index.js +1 -0
  2. package/dist/tooltip/index.js.map +1 -0
  3. package/dist/tooltip/index.mjs +1 -0
  4. package/dist/tooltip/index.mjs.map +1 -0
  5. package/package.json +1 -1
  6. package/dist/Chip-H5BnuDdx.d.ts +0 -36
  7. package/dist/Chip-hr2gRBJ-.d.mts +0 -36
  8. package/dist/DropdownMenu-EUL-D3I3.d.mts +0 -95
  9. package/dist/DropdownMenu-SPisqCzV.d.ts +0 -95
  10. package/dist/Radio-K1WGpnGA.d.ts +0 -75
  11. package/dist/Radio-hsrLKNxE.d.mts +0 -75
  12. package/dist/Toast-VBd4UvlM.d.mts +0 -26
  13. package/dist/Toast-pOd4uGZz.d.ts +0 -26
  14. package/dist/accordion/index.d.mts +0 -51
  15. package/dist/accordion/index.d.ts +0 -51
  16. package/dist/accordion/index.js +0 -271
  17. package/dist/accordion/index.mjs +0 -227
  18. package/dist/alert/index.d.mts +0 -29
  19. package/dist/alert/index.d.ts +0 -29
  20. package/dist/alert/index.js +0 -442
  21. package/dist/alert/index.mjs +0 -402
  22. package/dist/appLayout/index.d.mts +0 -126
  23. package/dist/appLayout/index.d.ts +0 -126
  24. package/dist/appLayout/index.js +0 -1326
  25. package/dist/appLayout/index.mjs +0 -1286
  26. package/dist/appMenubar/index.d.mts +0 -33
  27. package/dist/appMenubar/index.d.ts +0 -33
  28. package/dist/appMenubar/index.js +0 -281
  29. package/dist/appMenubar/index.mjs +0 -224
  30. package/dist/appStores/index.d.mts +0 -8
  31. package/dist/appStores/index.d.ts +0 -8
  32. package/dist/appStores/index.js +0 -75
  33. package/dist/appStores/index.mjs +0 -38
  34. package/dist/appTabs/index.d.mts +0 -18
  35. package/dist/appTabs/index.d.ts +0 -18
  36. package/dist/appTabs/index.js +0 -92
  37. package/dist/appTabs/index.mjs +0 -50
  38. package/dist/appTopbar/index.d.mts +0 -44
  39. package/dist/appTopbar/index.d.ts +0 -44
  40. package/dist/appTopbar/index.js +0 -483
  41. package/dist/appTopbar/index.mjs +0 -441
  42. package/dist/avatar/index.d.mts +0 -16
  43. package/dist/avatar/index.d.ts +0 -16
  44. package/dist/avatar/index.js +0 -162
  45. package/dist/avatar/index.mjs +0 -122
  46. package/dist/backToTop/index.d.mts +0 -15
  47. package/dist/backToTop/index.d.ts +0 -15
  48. package/dist/backToTop/index.js +0 -398
  49. package/dist/backToTop/index.mjs +0 -358
  50. package/dist/badge/index.d.mts +0 -13
  51. package/dist/badge/index.d.ts +0 -13
  52. package/dist/badge/index.js +0 -127
  53. package/dist/badge/index.mjs +0 -84
  54. package/dist/blocks/auth/index.d.mts +0 -202
  55. package/dist/blocks/auth/index.d.ts +0 -202
  56. package/dist/blocks/auth/index.js +0 -4197
  57. package/dist/blocks/auth/index.mjs +0 -3389
  58. package/dist/blocks/feedback/index.d.mts +0 -74
  59. package/dist/blocks/feedback/index.d.ts +0 -74
  60. package/dist/blocks/feedback/index.js +0 -1544
  61. package/dist/blocks/feedback/index.mjs +0 -558
  62. package/dist/blocks/index.d.mts +0 -480
  63. package/dist/blocks/index.d.ts +0 -480
  64. package/dist/blocks/index.js +0 -6700
  65. package/dist/blocks/index.mjs +0 -2550
  66. package/dist/blocks/misc/index.d.mts +0 -90
  67. package/dist/blocks/misc/index.d.ts +0 -90
  68. package/dist/blocks/misc/index.js +0 -1186
  69. package/dist/blocks/misc/index.mjs +0 -387
  70. package/dist/blocks/pricing/index.d.mts +0 -93
  71. package/dist/blocks/pricing/index.d.ts +0 -93
  72. package/dist/blocks/pricing/index.js +0 -1528
  73. package/dist/blocks/pricing/index.mjs +0 -677
  74. package/dist/breadcrumb/index.d.mts +0 -14
  75. package/dist/breadcrumb/index.d.ts +0 -14
  76. package/dist/breadcrumb/index.js +0 -63
  77. package/dist/breadcrumb/index.mjs +0 -26
  78. package/dist/button/index.d.mts +0 -16
  79. package/dist/button/index.d.ts +0 -16
  80. package/dist/button/index.js +0 -301
  81. package/dist/button/index.mjs +0 -260
  82. package/dist/card/index.d.mts +0 -17
  83. package/dist/card/index.d.ts +0 -17
  84. package/dist/card/index.js +0 -139
  85. package/dist/card/index.mjs +0 -92
  86. package/dist/carousel/index.d.mts +0 -15
  87. package/dist/carousel/index.d.ts +0 -15
  88. package/dist/carousel/index.js +0 -193
  89. package/dist/carousel/index.mjs +0 -151
  90. package/dist/checkbox/index.d.mts +0 -20
  91. package/dist/checkbox/index.d.ts +0 -20
  92. package/dist/checkbox/index.js +0 -184
  93. package/dist/checkbox/index.mjs +0 -142
  94. package/dist/chip/index.d.mts +0 -36
  95. package/dist/chip/index.d.ts +0 -36
  96. package/dist/chip/index.js +0 -129
  97. package/dist/chip/index.mjs +0 -87
  98. package/dist/chunk-2R7F2GL7.mjs +0 -82
  99. package/dist/chunk-4EGKGSGY.mjs +0 -129
  100. package/dist/chunk-5YXZXYLH.mjs +0 -67
  101. package/dist/chunk-65TG6EVD.mjs +0 -264
  102. package/dist/chunk-D22AALLE.mjs +0 -22
  103. package/dist/chunk-D36MPDGE.mjs +0 -476
  104. package/dist/chunk-F3DQJHTG.mjs +0 -3113
  105. package/dist/chunk-FQ6WVEHW.mjs +0 -151
  106. package/dist/chunk-GVJYACGA.mjs +0 -189
  107. package/dist/chunk-JNUGOUYJ.mjs +0 -154
  108. package/dist/chunk-KMCIHW76.mjs +0 -150
  109. package/dist/chunk-MQUAGP7K.mjs +0 -1098
  110. package/dist/chunk-NMS5LCSQ.mjs +0 -195
  111. package/dist/chunk-OY66MBXP.mjs +0 -163
  112. package/dist/chunk-R4HAAT6R.mjs +0 -131
  113. package/dist/chunk-SJ2Z6ZOG.mjs +0 -442
  114. package/dist/chunk-TGZRVRLP.mjs +0 -107
  115. package/dist/chunk-TWNGV3RE.mjs +0 -10
  116. package/dist/chunk-WUHNPHD5.mjs +0 -0
  117. package/dist/chunk-ZFXKCRJC.mjs +0 -11
  118. package/dist/chunk-ZS3FB3PO.mjs +0 -12
  119. package/dist/codeBlock/index.d.mts +0 -24
  120. package/dist/codeBlock/index.d.ts +0 -24
  121. package/dist/codeBlock/index.js +0 -517
  122. package/dist/codeBlock/index.mjs +0 -432
  123. package/dist/collapsible/index.d.mts +0 -8
  124. package/dist/collapsible/index.d.ts +0 -8
  125. package/dist/collapsible/index.js +0 -49
  126. package/dist/collapsible/index.mjs +0 -12
  127. package/dist/colorPicker/index.d.mts +0 -34
  128. package/dist/colorPicker/index.d.ts +0 -34
  129. package/dist/colorPicker/index.js +0 -276
  130. package/dist/colorPicker/index.mjs +0 -170
  131. package/dist/combobox/index.d.mts +0 -41
  132. package/dist/combobox/index.d.ts +0 -41
  133. package/dist/combobox/index.js +0 -749
  134. package/dist/combobox/index.mjs +0 -295
  135. package/dist/command/index.d.mts +0 -48
  136. package/dist/command/index.d.ts +0 -48
  137. package/dist/command/index.js +0 -485
  138. package/dist/command/index.mjs +0 -22
  139. package/dist/commonTypes-2IGtJ5cq.d.mts +0 -3
  140. package/dist/commonTypes-2IGtJ5cq.d.ts +0 -3
  141. package/dist/commonTypes-2k6FnHw5.d.mts +0 -4
  142. package/dist/commonTypes-2k6FnHw5.d.ts +0 -4
  143. package/dist/commonTypes-3k5cNB1s.d.mts +0 -4
  144. package/dist/commonTypes-3k5cNB1s.d.ts +0 -4
  145. package/dist/commonTypes-CKtkuNFH.d.mts +0 -11
  146. package/dist/commonTypes-CKtkuNFH.d.ts +0 -11
  147. package/dist/commonTypes-GhKAraJw.d.mts +0 -4
  148. package/dist/commonTypes-GhKAraJw.d.ts +0 -4
  149. package/dist/commonTypes-MxCJyrHv.d.mts +0 -8
  150. package/dist/commonTypes-MxCJyrHv.d.ts +0 -8
  151. package/dist/commonTypes-PBumfOBg.d.mts +0 -3
  152. package/dist/commonTypes-PBumfOBg.d.ts +0 -3
  153. package/dist/commonTypes-WPhcN3Vr.d.mts +0 -5
  154. package/dist/commonTypes-WPhcN3Vr.d.ts +0 -5
  155. package/dist/commonTypes-_11epZYh.d.mts +0 -4
  156. package/dist/commonTypes-_11epZYh.d.ts +0 -4
  157. package/dist/commonTypes-ko_NGEoT.d.mts +0 -3
  158. package/dist/commonTypes-ko_NGEoT.d.ts +0 -3
  159. package/dist/copyrights/index.d.mts +0 -17
  160. package/dist/copyrights/index.d.ts +0 -17
  161. package/dist/copyrights/index.js +0 -45
  162. package/dist/copyrights/index.mjs +0 -8
  163. package/dist/count/index.d.mts +0 -11
  164. package/dist/count/index.d.ts +0 -11
  165. package/dist/count/index.js +0 -45
  166. package/dist/count/index.mjs +0 -8
  167. package/dist/dataTable/index.d.mts +0 -41
  168. package/dist/dataTable/index.d.ts +0 -41
  169. package/dist/dataTable/index.js +0 -1313
  170. package/dist/dataTable/index.mjs +0 -1281
  171. package/dist/destroyableCard/index.d.mts +0 -12
  172. package/dist/destroyableCard/index.d.ts +0 -12
  173. package/dist/destroyableCard/index.js +0 -203
  174. package/dist/destroyableCard/index.mjs +0 -163
  175. package/dist/dialog/index.d.mts +0 -57
  176. package/dist/dialog/index.d.ts +0 -57
  177. package/dist/dialog/index.js +0 -368
  178. package/dist/dialog/index.mjs +0 -314
  179. package/dist/docsLayout/index.d.mts +0 -37
  180. package/dist/docsLayout/index.d.ts +0 -37
  181. package/dist/docsLayout/index.js +0 -927
  182. package/dist/docsLayout/index.mjs +0 -887
  183. package/dist/docsSidebar/index.d.mts +0 -11
  184. package/dist/docsSidebar/index.d.ts +0 -11
  185. package/dist/docsSidebar/index.js +0 -111
  186. package/dist/docsSidebar/index.mjs +0 -69
  187. package/dist/dropdownMenu/index.d.mts +0 -96
  188. package/dist/dropdownMenu/index.d.ts +0 -96
  189. package/dist/dropdownMenu/index.js +0 -420
  190. package/dist/dropdownMenu/index.mjs +0 -362
  191. package/dist/elements/index.d.mts +0 -788
  192. package/dist/elements/index.d.ts +0 -788
  193. package/dist/elements/index.js +0 -7832
  194. package/dist/elements/index.mjs +0 -3415
  195. package/dist/fileDropzone/index.d.mts +0 -37
  196. package/dist/fileDropzone/index.d.ts +0 -37
  197. package/dist/fileDropzone/index.js +0 -665
  198. package/dist/fileDropzone/index.mjs +0 -625
  199. package/dist/fileUploader/index.d.mts +0 -5
  200. package/dist/fileUploader/index.d.ts +0 -5
  201. package/dist/fileUploader/index.js +0 -62
  202. package/dist/fileUploader/index.mjs +0 -25
  203. package/dist/glow/index.d.mts +0 -16
  204. package/dist/glow/index.d.ts +0 -16
  205. package/dist/glow/index.js +0 -155
  206. package/dist/glow/index.mjs +0 -117
  207. package/dist/hooks/index.d.mts +0 -108
  208. package/dist/hooks/index.d.ts +0 -108
  209. package/dist/hooks/index.js +0 -459
  210. package/dist/hooks/index.mjs +0 -255
  211. package/dist/index.d.mts +0 -1932
  212. package/dist/index.d.ts +0 -1932
  213. package/dist/index.js +0 -12123
  214. package/dist/index.mjs +0 -11908
  215. package/dist/input/index.d.mts +0 -43
  216. package/dist/input/index.d.ts +0 -43
  217. package/dist/input/index.js +0 -293
  218. package/dist/input/index.mjs +0 -158
  219. package/dist/interfaceSettings/index.d.mts +0 -18
  220. package/dist/interfaceSettings/index.d.ts +0 -18
  221. package/dist/interfaceSettings/index.js +0 -420
  222. package/dist/interfaceSettings/index.mjs +0 -283
  223. package/dist/label/index.d.mts +0 -13
  224. package/dist/label/index.d.ts +0 -13
  225. package/dist/label/index.js +0 -142
  226. package/dist/label/index.mjs +0 -102
  227. package/dist/layout/index.d.mts +0 -256
  228. package/dist/layout/index.d.ts +0 -256
  229. package/dist/layout/index.js +0 -2627
  230. package/dist/layout/index.mjs +0 -1393
  231. package/dist/loading/index.d.mts +0 -15
  232. package/dist/loading/index.d.ts +0 -15
  233. package/dist/loading/index.js +0 -225
  234. package/dist/loading/index.mjs +0 -183
  235. package/dist/logos/index.d.mts +0 -27
  236. package/dist/logos/index.d.ts +0 -27
  237. package/dist/logos/index.js +0 -244
  238. package/dist/logos/index.mjs +0 -207
  239. package/dist/navbar/index.d.mts +0 -17
  240. package/dist/navbar/index.d.ts +0 -17
  241. package/dist/navbar/index.js +0 -166
  242. package/dist/navbar/index.mjs +0 -126
  243. package/dist/navigationMenu/index.d.mts +0 -39
  244. package/dist/navigationMenu/index.d.ts +0 -39
  245. package/dist/navigationMenu/index.js +0 -221
  246. package/dist/navigationMenu/index.mjs +0 -169
  247. package/dist/pagination/index.d.mts +0 -11
  248. package/dist/pagination/index.d.ts +0 -11
  249. package/dist/pagination/index.js +0 -160
  250. package/dist/pagination/index.mjs +0 -118
  251. package/dist/passwordInput/index.d.mts +0 -13
  252. package/dist/passwordInput/index.d.ts +0 -13
  253. package/dist/passwordInput/index.js +0 -577
  254. package/dist/passwordInput/index.mjs +0 -534
  255. package/dist/phoneInput/index.d.mts +0 -23
  256. package/dist/phoneInput/index.d.ts +0 -23
  257. package/dist/phoneInput/index.js +0 -2085
  258. package/dist/phoneInput/index.mjs +0 -2045
  259. package/dist/pinInput/index.d.mts +0 -20
  260. package/dist/pinInput/index.d.ts +0 -20
  261. package/dist/pinInput/index.js +0 -131
  262. package/dist/pinInput/index.mjs +0 -89
  263. package/dist/popover/index.d.mts +0 -23
  264. package/dist/popover/index.d.ts +0 -23
  265. package/dist/popover/index.js +0 -112
  266. package/dist/popover/index.mjs +0 -68
  267. package/dist/progress/index.d.mts +0 -6
  268. package/dist/progress/index.d.ts +0 -6
  269. package/dist/progress/index.js +0 -71
  270. package/dist/progress/index.mjs +0 -29
  271. package/dist/progressCircle/index.d.mts +0 -16
  272. package/dist/progressCircle/index.d.ts +0 -16
  273. package/dist/progressCircle/index.js +0 -159
  274. package/dist/progressCircle/index.mjs +0 -117
  275. package/dist/radio/index.d.mts +0 -39
  276. package/dist/radio/index.d.ts +0 -39
  277. package/dist/radio/index.js +0 -331
  278. package/dist/radio/index.mjs +0 -291
  279. package/dist/scrollArea/index.d.mts +0 -10
  280. package/dist/scrollArea/index.d.ts +0 -10
  281. package/dist/scrollArea/index.js +0 -90
  282. package/dist/scrollArea/index.mjs +0 -47
  283. package/dist/scrollIndicator/index.d.mts +0 -9
  284. package/dist/scrollIndicator/index.d.ts +0 -9
  285. package/dist/scrollIndicator/index.js +0 -80
  286. package/dist/scrollIndicator/index.mjs +0 -43
  287. package/dist/select/index.d.mts +0 -50
  288. package/dist/select/index.d.ts +0 -50
  289. package/dist/select/index.js +0 -325
  290. package/dist/select/index.mjs +0 -285
  291. package/dist/separator/index.d.mts +0 -10
  292. package/dist/separator/index.d.ts +0 -10
  293. package/dist/separator/index.js +0 -66
  294. package/dist/separator/index.mjs +0 -24
  295. package/dist/sheet/index.d.mts +0 -30
  296. package/dist/sheet/index.d.ts +0 -30
  297. package/dist/sheet/index.js +0 -201
  298. package/dist/sheet/index.mjs +0 -150
  299. package/dist/sidebar/index.d.mts +0 -48
  300. package/dist/sidebar/index.d.ts +0 -48
  301. package/dist/sidebar/index.js +0 -341
  302. package/dist/sidebar/index.mjs +0 -298
  303. package/dist/signature/index.d.mts +0 -27
  304. package/dist/signature/index.d.ts +0 -27
  305. package/dist/signature/index.js +0 -261
  306. package/dist/signature/index.mjs +0 -219
  307. package/dist/simpleTable/index.d.mts +0 -30
  308. package/dist/simpleTable/index.d.ts +0 -30
  309. package/dist/simpleTable/index.js +0 -253
  310. package/dist/simpleTable/index.mjs +0 -217
  311. package/dist/skeleton/index.d.mts +0 -10
  312. package/dist/skeleton/index.d.ts +0 -10
  313. package/dist/skeleton/index.js +0 -75
  314. package/dist/skeleton/index.mjs +0 -33
  315. package/dist/slider/index.d.mts +0 -6
  316. package/dist/slider/index.d.ts +0 -6
  317. package/dist/slider/index.js +0 -66
  318. package/dist/slider/index.mjs +0 -24
  319. package/dist/sortButton/index.d.mts +0 -10
  320. package/dist/sortButton/index.d.ts +0 -10
  321. package/dist/sortButton/index.js +0 -336
  322. package/dist/sortButton/index.mjs +0 -42
  323. package/dist/splitButton/index.d.mts +0 -52
  324. package/dist/splitButton/index.d.ts +0 -52
  325. package/dist/splitButton/index.js +0 -692
  326. package/dist/splitButton/index.mjs +0 -400
  327. package/dist/stats/index.d.mts +0 -19
  328. package/dist/stats/index.d.ts +0 -19
  329. package/dist/stats/index.js +0 -191
  330. package/dist/stats/index.mjs +0 -154
  331. package/dist/stopPropagationWrapper/index.d.mts +0 -5
  332. package/dist/stopPropagationWrapper/index.d.ts +0 -5
  333. package/dist/stopPropagationWrapper/index.js +0 -48
  334. package/dist/stopPropagationWrapper/index.mjs +0 -11
  335. package/dist/switch/index.d.mts +0 -12
  336. package/dist/switch/index.d.ts +0 -12
  337. package/dist/switch/index.js +0 -125
  338. package/dist/switch/index.mjs +0 -83
  339. package/dist/table/index.d.mts +0 -21
  340. package/dist/table/index.d.ts +0 -21
  341. package/dist/table/index.js +0 -172
  342. package/dist/table/index.mjs +0 -123
  343. package/dist/tabs/index.d.mts +0 -33
  344. package/dist/tabs/index.d.ts +0 -33
  345. package/dist/tabs/index.js +0 -200
  346. package/dist/tabs/index.mjs +0 -157
  347. package/dist/textTypes-559CaoOV.d.mts +0 -88
  348. package/dist/textTypes-559CaoOV.d.ts +0 -88
  349. package/dist/textarea/index.d.mts +0 -27
  350. package/dist/textarea/index.d.ts +0 -27
  351. package/dist/textarea/index.js +0 -229
  352. package/dist/textarea/index.mjs +0 -189
  353. package/dist/toast/index.d.mts +0 -26
  354. package/dist/toast/index.d.ts +0 -26
  355. package/dist/toast/index.js +0 -197
  356. package/dist/toast/index.mjs +0 -19
  357. package/dist/toaster/index.d.mts +0 -9
  358. package/dist/toaster/index.d.ts +0 -9
  359. package/dist/toaster/index.js +0 -350
  360. package/dist/toaster/index.mjs +0 -181
  361. package/dist/types/index.d.mts +0 -115
  362. package/dist/types/index.d.ts +0 -115
  363. package/dist/types/index.js +0 -18
  364. package/dist/types/index.mjs +0 -0
@@ -1,1286 +0,0 @@
1
- import {
2
- cn
3
- } from "../chunk-TWNGV3RE.mjs";
4
-
5
- // layout/appLayout/AppLayout.tsx
6
- import React7, { useEffect, useRef, useState } from "react";
7
-
8
- // elements/button/Button.tsx
9
- import * as React2 from "react";
10
- import { cva } from "class-variance-authority";
11
-
12
- // elements/loading/Loading.tsx
13
- import React from "react";
14
- var Loading = ({
15
- design = "spinner",
16
- size = "sm",
17
- themeMode = "light",
18
- color,
19
- ...props
20
- }) => {
21
- let sizeStyles = {
22
- button: "hawa-h-4 hawa-w-4",
23
- xs: "hawa-h-1 hawa-w-1",
24
- sm: "hawa-h-6 hawa-w-6",
25
- normal: "hawa-h-8 hawa-w-8",
26
- lg: "hawa-h-14 hawa-w-14",
27
- xl: "hawa-h-24 hawa-w-24"
28
- };
29
- let animationStyles = {
30
- pulse: "hawa-animate-in hawa-fade-in hawa-duration-1000",
31
- bounce: "hawa-animate-bounce"
32
- };
33
- switch (design.split("-")[0]) {
34
- case "dots":
35
- return /* @__PURE__ */ React.createElement(
36
- "div",
37
- {
38
- className: cn("hawa-flex hawa-flex-row hawa-gap-2", props.className)
39
- },
40
- /* @__PURE__ */ React.createElement(
41
- "div",
42
- {
43
- className: cn(
44
- "hawa-animate-bounce hawa-rounded-full hawa-delay-100 hawa-repeat-infinite",
45
- size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
46
- animationStyles[design.split("-")[1]],
47
- color ? color : "hawa-bg-primary"
48
- )
49
- }
50
- ),
51
- /* @__PURE__ */ React.createElement(
52
- "div",
53
- {
54
- className: cn(
55
- "hawa-animate-bounce hawa-rounded-full hawa-delay-200 hawa-repeat-infinite",
56
- size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
57
- animationStyles[design.split("-")[1]],
58
- color ? color : "hawa-bg-primary"
59
- )
60
- }
61
- ),
62
- /* @__PURE__ */ React.createElement(
63
- "div",
64
- {
65
- className: cn(
66
- "hawa-animate-bounce hawa-rounded-full hawa-delay-300 hawa-repeat-infinite",
67
- size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
68
- animationStyles[design.split("-")[1]],
69
- color ? color : "hawa-bg-primary"
70
- )
71
- }
72
- )
73
- );
74
- case "square":
75
- return /* @__PURE__ */ React.createElement(
76
- "svg",
77
- {
78
- className: cn("squircle-container", sizeStyles[size]),
79
- viewBox: "0 0 35 35",
80
- height: "35",
81
- width: "35"
82
- },
83
- /* @__PURE__ */ React.createElement(
84
- "rect",
85
- {
86
- className: "squircle-track",
87
- x: "2.5",
88
- y: "2.5",
89
- fill: "none",
90
- strokeWidth: "5px",
91
- width: "32.5",
92
- height: "32.5"
93
- }
94
- ),
95
- /* @__PURE__ */ React.createElement(
96
- "rect",
97
- {
98
- className: "square-car",
99
- x: "2.5",
100
- y: "2.5",
101
- fill: "none",
102
- strokeWidth: "5px",
103
- width: "32.5",
104
- height: "32.5",
105
- pathLength: "100"
106
- }
107
- )
108
- );
109
- case "squircle":
110
- return /* @__PURE__ */ React.createElement(
111
- "svg",
112
- {
113
- className: cn("squircle-container", sizeStyles[size]),
114
- x: "0px",
115
- y: "0px",
116
- viewBox: "0 0 37 37",
117
- height: "37",
118
- width: "37",
119
- preserveAspectRatio: "xMidYMid meet"
120
- },
121
- /* @__PURE__ */ React.createElement(
122
- "path",
123
- {
124
- className: "squircle-track",
125
- fill: "none",
126
- strokeWidth: "5",
127
- pathLength: "100",
128
- d: "M0.37 18.5 C0.37 5.772 5.772 0.37 18.5 0.37 S36.63 5.772 36.63 18.5 S31.228 36.63 18.5 36.63 S0.37 31.228 0.37 18.5"
129
- }
130
- ),
131
- /* @__PURE__ */ React.createElement(
132
- "path",
133
- {
134
- className: "squircle-car",
135
- fill: "none",
136
- strokeWidth: "5",
137
- pathLength: "100",
138
- d: "M0.37 18.5 C0.37 5.772 5.772 0.37 18.5 0.37 S36.63 5.772 36.63 18.5 S31.228 36.63 18.5 36.63 S0.37 31.228 0.37 18.5"
139
- }
140
- )
141
- );
142
- case "progress":
143
- return /* @__PURE__ */ React.createElement("div", { className: "progress-loading" });
144
- case "orbit":
145
- return /* @__PURE__ */ React.createElement("div", { className: "orbit-container" });
146
- default:
147
- return /* @__PURE__ */ React.createElement(
148
- "svg",
149
- {
150
- className: cn("circle-container", sizeStyles[size]),
151
- viewBox: "0 0 40 40",
152
- height: "40",
153
- width: "40"
154
- },
155
- /* @__PURE__ */ React.createElement(
156
- "circle",
157
- {
158
- className: cn("circle-track", {
159
- "hawa-stroke-primary-foreground": themeMode === "dark",
160
- "hawa-stroke-primary": themeMode === "light"
161
- }),
162
- cx: "20",
163
- cy: "20",
164
- r: "17.5",
165
- pathLength: "100",
166
- strokeWidth: "5px",
167
- fill: "none"
168
- }
169
- ),
170
- /* @__PURE__ */ React.createElement(
171
- "circle",
172
- {
173
- className: cn("circle-car", {
174
- "hawa-stroke-primary-foreground": themeMode === "dark",
175
- "hawa-stroke-primary": themeMode === "light"
176
- }),
177
- cx: "20",
178
- cy: "20",
179
- r: "17.5",
180
- pathLength: "100",
181
- strokeWidth: "5px",
182
- fill: "none"
183
- }
184
- )
185
- );
186
- }
187
- };
188
-
189
- // elements/button/Button.tsx
190
- var buttonVariants = cva(
191
- "hawa-inline-flex hawa-items-center hawa-select-none hawa-rounded-md hawa-text-sm hawa-font-medium hawa-ring-offset-background hawa-transition-colors focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2 disabled:hawa-pointer-events-none disabled:hawa-opacity-50",
192
- {
193
- variants: {
194
- variant: {
195
- default: "hawa-bg-primary hawa-text-primary-foreground hover:hawa-bg-primary/90",
196
- light: "hawa-bg-primary/20 hawa-text-primary hover:hawa-bg-primary/40",
197
- destructive: "hawa-bg-destructive hawa-text-destructive-foreground hover:hawa-bg-destructive/90",
198
- outline: "hawa-border hawa-border-input hawa-bg-transparent hover:hawa-bg-accent hover:hawa-text-accent-foreground",
199
- secondary: "hawa-bg-secondary hawa-text-secondary-foreground hover:hawa-bg-secondary/80",
200
- ghost: "hover:hawa-bg-accent hover:hawa-text-accent-foreground",
201
- link: "hawa-text-primary hawa-underline-offset-4 hover:hawa-underline",
202
- combobox: "hawa-bg-background hawa-border",
203
- neoBrutalism: "neo-brutalism"
204
- // "hawa-cursor-pointer hawa-transition-all hawa-uppercase hawa-font-mono dark:hawa-bg-black hawa-font-bold hawa-py-2 hawa-px-4 hawa-rounded hawa-border-2 hawa-border-primary hawa-shadow-color-primary hawa-transition-[hawa-transform_50ms, hawa-box-shadow_50ms] active:hawa-translate-x-0.5 active:hawa-translate-y-0.5 active:hawa-shadow-color-primary-active shadow-color-primary active:shadow-color-primary-active",
205
- },
206
- size: {
207
- default: "hawa-h-10 hawa-px-4 hawa-py-2",
208
- heightless: "hawa-px-4 hawa-py-4",
209
- xs: "hawa-h-fit hawa-min-h-[25px] hawa-py-1 hawa-text-[10px] hawa-px-2 ",
210
- sm: "hawa-h-9 hawa-text-[11px] hawa-rounded-md hawa-px-3",
211
- lg: "hawa-h-11 hawa-rounded-md hawa-px-8",
212
- xl: "hawa-h-14 hawa-rounded-md hawa-px-10",
213
- icon: "hawa-h-10 hawa-w-10",
214
- smallIcon: "hawa-h-7 hawa-w-7"
215
- }
216
- },
217
- defaultVariants: {
218
- variant: "default",
219
- size: "default"
220
- }
221
- }
222
- );
223
- var Button = React2.forwardRef(
224
- ({
225
- className,
226
- variant,
227
- size,
228
- asChild = false,
229
- centered = true,
230
- isLoading,
231
- children,
232
- ...props
233
- }, ref) => {
234
- const Comp = "button";
235
- const loadingColor = variant === "outline" || variant === "ghost" || variant === "neoBrutalism" ? "hawa-bg-primary" : "hawa-bg-primary-foreground";
236
- return /* @__PURE__ */ React2.createElement(
237
- Comp,
238
- {
239
- className: cn(
240
- buttonVariants({ variant, size, className }),
241
- centered && "hawa-justify-center"
242
- // "hawa-bg-red-500"
243
- ),
244
- ref,
245
- ...props
246
- },
247
- isLoading ? /* @__PURE__ */ React2.createElement(
248
- Loading,
249
- {
250
- design: size === "icon" || size === "smallIcon" ? "spinner" : "dots-pulse",
251
- themeMode: variant === "outline" ? "light" : "dark",
252
- color: loadingColor,
253
- size: size === "sm" || size === "xs" ? "xs" : "button"
254
- }
255
- ) : children
256
- );
257
- }
258
- );
259
- Button.displayName = "Button";
260
-
261
- // elements/dropdownMenu/DropdownMenu.tsx
262
- import * as React3 from "react";
263
- import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
264
- var DropdownMenuRoot = DropdownMenuPrimitive.Root;
265
- var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
266
- var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
267
- var DropdownMenuSub = DropdownMenuPrimitive.Sub;
268
- var DropdownMenuSubTrigger = React3.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ React3.createElement(
269
- DropdownMenuPrimitive.SubTrigger,
270
- {
271
- ref,
272
- className: cn(
273
- "hawa-flex hawa-cursor-default hawa-select-none hawa-items-center hawa-justify-between hawa-rounded-sm hawa-text-sm hawa-outline-none focus:hawa-bg-accent data-[state=open]:hawa-bg-accent",
274
- inset && "hawa-pl-8",
275
- className
276
- ),
277
- ...props
278
- },
279
- /* @__PURE__ */ React3.createElement("div", { className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-2" }, children),
280
- " ",
281
- /* @__PURE__ */ React3.createElement(
282
- "svg",
283
- {
284
- "aria-label": "Chevron Right Icon",
285
- stroke: "currentColor",
286
- fill: "currentColor",
287
- strokeWidth: "0",
288
- viewBox: "0 0 16 16",
289
- height: "1em",
290
- width: "1em",
291
- className: cn(props.dir === "rtl" ? "hawa-rotate-180" : "")
292
- },
293
- /* @__PURE__ */ React3.createElement(
294
- "path",
295
- {
296
- fillRule: "evenodd",
297
- d: "M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"
298
- }
299
- )
300
- )
301
- ));
302
- DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
303
- var DropdownMenuSubContent = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React3.createElement(
304
- DropdownMenuPrimitive.SubContent,
305
- {
306
- ref,
307
- className: cn(
308
- "hawa-z-50 hawa-min-w-[8rem] hawa-gap-1 hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-p-1 hawa-text-popover-foreground hawa-shadow-lg data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=open]:hawa-fade-in-0 data-[state=closed]:hawa-zoom-out-95 data-[state=open]:hawa-zoom-in-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2",
309
- className
310
- ),
311
- ...props
312
- }
313
- ));
314
- DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
315
- var DropdownMenuContent = React3.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ React3.createElement(DropdownMenuPrimitive.Portal, null, /* @__PURE__ */ React3.createElement(
316
- DropdownMenuPrimitive.Content,
317
- {
318
- ref,
319
- sideOffset,
320
- className: cn(
321
- "hawa-z-50 hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-p-1 hawa-text-popover-foreground hawa-shadow-md data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=open]:hawa-fade-in-0 data-[state=closed]:hawa-zoom-out-95 data-[state=open]:hawa-zoom-in-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2",
322
- className
323
- ),
324
- ...props
325
- }
326
- )));
327
- DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
328
- var DropdownMenuItem = React3.forwardRef(({ className, inset, badged, slug, ...props }, ref) => {
329
- return /* @__PURE__ */ React3.createElement("a", { href: slug }, /* @__PURE__ */ React3.createElement(
330
- DropdownMenuPrimitive.Item,
331
- {
332
- disabled: props.disabled,
333
- ref,
334
- className: cn(
335
- "hawa-relative hawa-flex hawa-cursor-pointer hawa-select-none hawa-items-center hawa-justify-between hawa-rounded-sm hawa-text-sm hawa-outline-none hawa-transition-colors focus:hawa-text-accent-foreground data-[disabled]:hawa-pointer-events-none data-[disabled]:hawa-opacity-50",
336
- inset && "hawa-pl-8",
337
- props.end && Array.isArray(props.children) && props.children[1] && "hawa-gap-6",
338
- className
339
- ),
340
- ...props
341
- },
342
- /* @__PURE__ */ React3.createElement("div", { className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-2 " }, props.children),
343
- props.end && props.end,
344
- !props.end && props.shortcut && /* @__PURE__ */ React3.createElement(DropdownMenuShortcut, null, props.shortcut),
345
- !props.end && badged && /* @__PURE__ */ React3.createElement("div", { className: "hawa-h-3 hawa-w-3 hawa-rounded-full hawa-bg-red-500" })
346
- ));
347
- });
348
- DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
349
- var DropdownMenuCheckboxItem = React3.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ React3.createElement(
350
- DropdownMenuPrimitive.CheckboxItem,
351
- {
352
- ref,
353
- className: cn(
354
- "hawa-relative hawa-flex hawa-cursor-default hawa-select-none hawa-items-center hawa-rounded-sm hawa-py-1.5 hawa-pl-8 hawa-pr-2 hawa-text-sm hawa-outline-none hawa-transition-colors focus:hawa-bg-accent focus:hawa-text-accent-foreground data-[disabled]:hawa-pointer-events-none data-[disabled]:hawa-opacity-50",
355
- className
356
- ),
357
- checked,
358
- ...props
359
- },
360
- /* @__PURE__ */ React3.createElement("span", { className: "hawa-absolute hawa-left-2 hawa-flex hawa-h-3.5 hawa-w-3.5 hawa-items-center hawa-justify-center" }, /* @__PURE__ */ React3.createElement(DropdownMenuPrimitive.ItemIndicator, null, /* @__PURE__ */ React3.createElement(
361
- "svg",
362
- {
363
- "aria-label": "Check Mark",
364
- stroke: "currentColor",
365
- fill: "currentColor",
366
- strokeWidth: "0",
367
- viewBox: "0 0 512 512",
368
- height: "0.60em",
369
- width: "0.60em"
370
- },
371
- /* @__PURE__ */ React3.createElement("path", { d: "M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z" })
372
- ), " ")),
373
- children
374
- ));
375
- DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
376
- var DropdownMenuRadioItem = React3.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React3.createElement(
377
- DropdownMenuPrimitive.RadioItem,
378
- {
379
- ref,
380
- className: cn(
381
- "hawa-relative hawa-flex hawa-cursor-pointer hawa-select-none hawa-items-center hawa-rounded-sm hawa-py-1.5 hawa-pl-8 hawa-pr-2 hawa-text-sm hawa-outline-none hawa-transition-colors focus:hawa-bg-accent focus:hawa-text-accent-foreground data-[disabled]:hawa-pointer-events-none data-[disabled]:hawa-opacity-50",
382
- className
383
- ),
384
- ...props
385
- },
386
- /* @__PURE__ */ React3.createElement("span", { className: "hawa-absolute hawa-left-2 hawa-flex hawa-h-3.5 hawa-w-3.5 hawa-items-center hawa-justify-center" }, /* @__PURE__ */ React3.createElement(DropdownMenuPrimitive.ItemIndicator, null, /* @__PURE__ */ React3.createElement(
387
- "svg",
388
- {
389
- xmlns: "http://www.w3.org/2000/svg",
390
- width: "24",
391
- "aria-label": "Circle",
392
- height: "24",
393
- viewBox: "0 0 24 24",
394
- fill: "none",
395
- stroke: "currentColor",
396
- strokeWidth: "2",
397
- strokeLinecap: "round",
398
- strokeLinejoin: "round",
399
- className: "hawa-h-2 hawa-w-2 hawa-fill-current"
400
- },
401
- /* @__PURE__ */ React3.createElement("circle", { cx: "12", cy: "12", r: "10" })
402
- ))),
403
- children
404
- ));
405
- DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
406
- var DropdownMenuLabel = React3.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ React3.createElement(
407
- DropdownMenuPrimitive.Label,
408
- {
409
- ref,
410
- className: cn(
411
- "hawa-px-2 hawa-py-1.5 hawa-text-sm hawa-font-semibold",
412
- inset && "hawa-pl-8",
413
- className
414
- ),
415
- ...props
416
- }
417
- ));
418
- DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
419
- var DropdownMenuSeparator = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React3.createElement(
420
- DropdownMenuPrimitive.Separator,
421
- {
422
- ref,
423
- className: cn("hawa--mx-1 hawa-my-1 hawa-h-px hawa-bg-muted", className),
424
- ...props
425
- }
426
- ));
427
- DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
428
- var DropdownMenuShortcut = ({
429
- className,
430
- ...props
431
- }) => {
432
- return /* @__PURE__ */ React3.createElement(
433
- "span",
434
- {
435
- className: cn(
436
- "hawa-text-xs hawa-tracking-widest hawa-opacity-60",
437
- className
438
- ),
439
- ...props
440
- }
441
- );
442
- };
443
- DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
444
- var DropdownMenu = ({
445
- trigger,
446
- items,
447
- direction,
448
- sideOffset,
449
- side,
450
- className,
451
- triggerClassname,
452
- align,
453
- alignOffset,
454
- onItemSelect,
455
- size = "default",
456
- width = "default",
457
- header,
458
- onOpenChange,
459
- open
460
- }) => {
461
- const widthStyles = {
462
- default: "hawa-min-w-[8rem]",
463
- sm: "hawa-w-fit",
464
- lg: "hawa-w-[200px]",
465
- parent: "ddm-w-parent"
466
- };
467
- const sizeStyles = {
468
- default: "hawa-px-2 hawa-py-3 ",
469
- sm: "hawa-text-xs hawa-px-1.5 hawa-py-1.5 "
470
- };
471
- return /* @__PURE__ */ React3.createElement(
472
- DropdownMenuRoot,
473
- {
474
- onOpenChange,
475
- open,
476
- modal: false,
477
- dir: direction
478
- },
479
- /* @__PURE__ */ React3.createElement(DropdownMenuTrigger, { asChild: true, className: triggerClassname }, trigger),
480
- /* @__PURE__ */ React3.createElement(DropdownMenuPortal, null, /* @__PURE__ */ React3.createElement(
481
- DropdownMenuContent,
482
- {
483
- side,
484
- sideOffset,
485
- className: cn(
486
- className,
487
- widthStyles[width],
488
- "hawa-flex hawa-flex-col hawa-gap-1"
489
- ),
490
- align,
491
- alignOffset
492
- },
493
- header && header,
494
- items && items.map((item, index) => {
495
- if (item.itemType === "separator") {
496
- return /* @__PURE__ */ React3.createElement(DropdownMenuSeparator, { key: index });
497
- } else if (item.itemType === "label") {
498
- return /* @__PURE__ */ React3.createElement(DropdownMenuLabel, { key: index }, item.label);
499
- } else if (item.itemType === "custom") {
500
- return /* @__PURE__ */ React3.createElement("div", { key: index }, item.content);
501
- } else {
502
- return item.subitems ? /* @__PURE__ */ React3.createElement(DropdownMenuSub, { key: index }, /* @__PURE__ */ React3.createElement(
503
- DropdownMenuSubTrigger,
504
- {
505
- className: cn(sizeStyles[size]),
506
- dir: direction
507
- },
508
- item.icon && item.icon,
509
- item.label && item.label
510
- ), /* @__PURE__ */ React3.createElement(DropdownMenuPortal, null, /* @__PURE__ */ React3.createElement(DropdownMenuSubContent, null, item.subitems.map((subitem, subIndex) => /* @__PURE__ */ React3.createElement(
511
- DropdownMenuItem,
512
- {
513
- slug: subitem.slug,
514
- onMouseDown: (event) => {
515
- if (event.button === 1 || event.button === 0 && event.ctrlKey) {
516
- event.preventDefault();
517
- if (subitem.onMiddleClick) {
518
- subitem.onMiddleClick(item.value);
519
- }
520
- }
521
- },
522
- key: subIndex,
523
- className: cn(
524
- sizeStyles[size],
525
- !item.icon && !item.label ? "hawa-px-0 hawa-py-0 focus:hawa-bg-transparent" : "focus:hawa-bg-accent"
526
- ),
527
- disabled: subitem.disabled,
528
- onSelect: () => {
529
- subitem.action && subitem.action();
530
- if (onItemSelect) {
531
- onItemSelect(subitem.value);
532
- }
533
- }
534
- },
535
- subitem.icon && subitem.icon,
536
- subitem.label && subitem.label
537
- ))))) : /* @__PURE__ */ React3.createElement(
538
- DropdownMenuItem,
539
- {
540
- slug: item.slug,
541
- key: index,
542
- disabled: item.disabled,
543
- onMouseDown: (event) => {
544
- if (event.button === 1 || event.button === 0 && event.ctrlKey) {
545
- event.preventDefault();
546
- if (item.onMiddleClick) {
547
- item.onMiddleClick(item.value);
548
- }
549
- }
550
- },
551
- onClick: (event) => {
552
- if (item.onClick) {
553
- item.onClick(item.value);
554
- }
555
- },
556
- onSelect: (e) => {
557
- if (item.presist) {
558
- e.preventDefault();
559
- }
560
- if (item.action) {
561
- item.action();
562
- if (onItemSelect) {
563
- onItemSelect(item.value);
564
- }
565
- } else {
566
- if (onItemSelect) {
567
- onItemSelect(item.value);
568
- }
569
- }
570
- },
571
- end: item.end,
572
- shortcut: item.shortcut,
573
- badged: item.badged,
574
- className: cn(
575
- sizeStyles[size],
576
- !item.icon && !item.label ? "hawa-px-0 hawa-py-0 focus:hawa-bg-transparent " : "focus:hawa-bg-accent ",
577
- item.presist && "focus:hawa-bg-transparent"
578
- )
579
- },
580
- item.icon && item.icon,
581
- item.label && item.label
582
- );
583
- }
584
- })
585
- ))
586
- );
587
- };
588
-
589
- // elements/tooltip/Tooltip.tsx
590
- import React4 from "react";
591
- import * as TooltipPrimitive from "@radix-ui/react-tooltip";
592
- var TooltipContent = React4.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ React4.createElement(
593
- TooltipPrimitive.Content,
594
- {
595
- ref,
596
- sideOffset,
597
- className: cn(
598
- "hawa-z-50 hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-text-popover-foreground hawa-shadow-md hawa-animate-in hawa-fade-in-0 hawa-zoom-in-95 data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=closed]:hawa-zoom-out-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2",
599
- className
600
- ),
601
- ...props
602
- }
603
- ));
604
- TooltipContent.displayName = TooltipPrimitive.Content.displayName;
605
- var TooltipArrow = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React4.createElement(TooltipPrimitive.Arrow, { ref, className: cn(className), ...props }));
606
- TooltipArrow.displayName = TooltipPrimitive.Arrow.displayName;
607
- var Tooltip = ({
608
- side,
609
- open,
610
- content,
611
- children,
612
- defaultOpen,
613
- onOpenChange,
614
- triggerProps,
615
- contentProps,
616
- providerProps,
617
- delayDuration = 300,
618
- ...props
619
- }) => {
620
- return /* @__PURE__ */ React4.createElement(
621
- TooltipPrimitive.TooltipProvider,
622
- {
623
- delayDuration,
624
- ...providerProps
625
- },
626
- /* @__PURE__ */ React4.createElement(
627
- TooltipPrimitive.Root,
628
- {
629
- open,
630
- defaultOpen,
631
- onOpenChange,
632
- ...props
633
- },
634
- /* @__PURE__ */ React4.createElement(TooltipPrimitive.Trigger, { ...triggerProps }, children),
635
- /* @__PURE__ */ React4.createElement(TooltipContent, { side, align: "center", ...contentProps }, content)
636
- )
637
- );
638
- };
639
-
640
- // layout/sidebar/Sidebar.tsx
641
- import * as React6 from "react";
642
- import * as AccordionPrimitive from "@radix-ui/react-accordion";
643
-
644
- // elements/chip/Chip.tsx
645
- import React5 from "react";
646
- var Chip = React5.forwardRef(
647
- ({
648
- label,
649
- size = "normal",
650
- icon,
651
- color,
652
- radius = "inherit",
653
- dotType,
654
- ...rest
655
- }, ref) => {
656
- let defaultStyles = "hawa-flex hawa-flex-row hawa-w-fit hawa-gap-1 hawa-items-center hawa-px-2.5 hawa-py-1 hawa-font-bold ";
657
- let radiusStyles = {
658
- inherit: " hawa-rounded",
659
- full: "hawa-rounded-full",
660
- none: "hawa-rounded-none"
661
- };
662
- let sizeStyles = {
663
- small: "hawa-h-[15px] hawa-leading-4 hawa-px-0 hawa-py-0 hawa-text-[9px] hawa-gap-0.5 ",
664
- normal: "hawa-h-fit hawa-text-xs",
665
- large: "hawa-text-base"
666
- };
667
- let dotStyles = {
668
- small: "hawa-flex hawa-h-1 hawa-w-1 hawa-rounded-full",
669
- normal: "hawa-flex hawa-h-2 hawa-w-2 hawa-rounded-full",
670
- large: "hawa-flex hawa-h-3 hawa-w-3 hawa-rounded-full"
671
- };
672
- let dotTypeStyles = {
673
- available: "hawa-bg-green-500",
674
- unavailable: "hawa-bg-red-500"
675
- };
676
- let colorStyles = {
677
- green: "hawa-bg-green-100 hawa-text-green-500 dark:hawa-bg-green-400 dark:hawa-text-green-800",
678
- blue: "hawa-bg-blue-100 hawa-text-blue-500 dark:hawa-bg-blue-400 dark:hawa-text-blue-100",
679
- red: "hawa-bg-red-100 hawa-text-red-500 dark:hawa-bg-red-400 dark:hawa-text-red-100",
680
- yellow: "hawa-bg-yellow-100 hawa-text-yellow-600 dark:hawa-bg-yellow-400 dark:hawa-text-yellow-800",
681
- orange: "hawa-bg-orange-100 hawa-text-orange-500 dark:hawa-bg-orange-400 dark:hawa-text-orange-100",
682
- purple: "hawa-bg-purple-100 hawa-text-purple-500 dark:hawa-bg-purple-400 dark:hawa-text-purple-100",
683
- cyan: "hawa-bg-cyan-100 hawa-text-cyan-800 dark:hawa-bg-cyan-400 dark:hawa-text-cyan-800",
684
- hyper: "hawa-text-white hawa-bg-gradient-to-tl hawa-from-pink-500 hawa-via-red-500 hawa-to-yellow-500 ",
685
- oceanic: "hawa-text-white hawa-bg-gradient-to-bl hawa-from-green-300 hawa-via-blue-500 hawa-to-purple-600"
686
- };
687
- if (label) {
688
- return /* @__PURE__ */ React5.createElement(
689
- "span",
690
- {
691
- ...rest,
692
- ref,
693
- className: cn(
694
- defaultStyles,
695
- sizeStyles[size],
696
- radiusStyles[radius],
697
- color ? colorStyles[color] : "hawa-border hawa-bg-none"
698
- )
699
- },
700
- dotType && /* @__PURE__ */ React5.createElement(
701
- "span",
702
- {
703
- className: cn(dotStyles[size], dotTypeStyles[dotType])
704
- }
705
- ),
706
- icon && icon,
707
- label
708
- );
709
- } else {
710
- return /* @__PURE__ */ React5.createElement(
711
- "span",
712
- {
713
- ...rest,
714
- ref,
715
- className: cn(
716
- "hawa-h-2 hawa-w-2 hawa-rounded-full",
717
- color ? colorStyles[color] : "hawa-border hawa-bg-none"
718
- )
719
- }
720
- );
721
- }
722
- }
723
- );
724
-
725
- // layout/sidebar/Sidebar.tsx
726
- var Accordion = AccordionPrimitive.Root;
727
- var triggerStyles = "hawa-flex hawa-flex-1 hawa-items-center hawa-duration-75 hawa-select-none hawa-cursor-pointer hawa-rounded hawa-justify-between hawa-p-2 hawa-px-3 hawa-font-medium hawa-transition-all [&[data-state=open]>svg]:hawa--rotate-90";
728
- var AccordionItem = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React6.createElement(AccordionPrimitive.Item, { ref, className: cn(className), ...props }));
729
- AccordionItem.displayName = "AccordionItem";
730
- var AccordionTrigger = React6.forwardRef(({ className, showArrow, children, ...props }, ref) => /* @__PURE__ */ React6.createElement(AccordionPrimitive.Header, { className: "flex" }, /* @__PURE__ */ React6.createElement(
731
- AccordionPrimitive.Trigger,
732
- {
733
- ref,
734
- className: cn(triggerStyles, className),
735
- ...props
736
- },
737
- children,
738
- showArrow && /* @__PURE__ */ React6.createElement(
739
- "svg",
740
- {
741
- "aria-label": "Chevron Right Icon",
742
- stroke: "currentColor",
743
- fill: "currentColor",
744
- viewBox: "0 0 16 16",
745
- height: "1em",
746
- width: "1em",
747
- className: "hawa-icon hawa-shrink-0 hawa-rotate-90 hawa-transition-transform hawa-duration-200"
748
- },
749
- /* @__PURE__ */ React6.createElement("path", { d: "M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z" })
750
- )
751
- )));
752
- AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
753
- var AccordionContent = React6.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React6.createElement(
754
- AccordionPrimitive.Content,
755
- {
756
- ref,
757
- className: cn(
758
- "hawa-overflow-hidden hawa-text-sm hawa-transition-all data-[state=closed]:hawa-animate-accordion-up data-[state=open]:hawa-animate-accordion-down",
759
- className
760
- ),
761
- ...props
762
- },
763
- /* @__PURE__ */ React6.createElement("div", null, children)
764
- ));
765
- AccordionContent.displayName = AccordionPrimitive.Content.displayName;
766
- var SidebarGroup = ({
767
- title,
768
- items,
769
- selectedItem,
770
- openedItem,
771
- setOpenedItem,
772
- onItemClick,
773
- onSubItemClick,
774
- direction,
775
- isOpen
776
- }) => {
777
- return /* @__PURE__ */ React6.createElement("div", { className: "hawa-m-2" }, title && /* @__PURE__ */ React6.createElement("h3", { className: "hawa-mb-1 hawa-font-bold" }, title), /* @__PURE__ */ React6.createElement("ul", { className: "hawa-flex hawa-flex-col hawa-gap-2" }, /* @__PURE__ */ React6.createElement(
778
- Accordion,
779
- {
780
- value: openedItem,
781
- type: "single",
782
- onValueChange: (e) => {
783
- setOpenedItem(e);
784
- },
785
- collapsible: true,
786
- className: "hawa-flex hawa-flex-col hawa-gap-1"
787
- },
788
- items.map((item, idx) => /* @__PURE__ */ React6.createElement(
789
- SidebarItem,
790
- {
791
- isOpen,
792
- selectedItem,
793
- key: idx,
794
- direction,
795
- item,
796
- onItemClick,
797
- onSubItemClick
798
- }
799
- ))
800
- )));
801
- };
802
- var SidebarItem = ({
803
- item,
804
- onItemClick,
805
- onSubItemClick,
806
- direction,
807
- isOpen = true,
808
- ...props
809
- }) => {
810
- const getSelectedStyle = (value) => {
811
- return props.selectedItem === value ? "hawa-bg-primary/90 hawa-text-primary-foreground hawa-cursor-default" : "hover:hawa-bg-primary/10";
812
- };
813
- if (item.subitems) {
814
- return /* @__PURE__ */ React6.createElement(
815
- AccordionItem,
816
- {
817
- value: item.value,
818
- className: "hawa-overflow-x-clip ",
819
- dir: direction
820
- },
821
- /* @__PURE__ */ React6.createElement(
822
- AccordionTrigger,
823
- {
824
- className: cn(
825
- "hawa-w-full hawa-overflow-x-clip",
826
- props.selectedItem === item.value ? "hawa-cursor-default hawa-bg-primary hawa-text-primary-foreground" : "hawa-h-10 hover:hawa-bg-primary/10",
827
- item.subitems && item.subitems.some(
828
- (subitem) => props.selectedItem === subitem.value
829
- ) ? "hawa-bg-primary/80 hawa-text-primary-foreground hover:hawa-bg-primary/80" : ""
830
- ),
831
- showArrow: isOpen
832
- },
833
- /* @__PURE__ */ React6.createElement(
834
- "div",
835
- {
836
- className: cn(
837
- "hawa-flex hawa-h-fit hawa-w-fit hawa-flex-row hawa-items-center hawa-gap-2"
838
- )
839
- },
840
- item.icon && item.icon,
841
- /* @__PURE__ */ React6.createElement(
842
- "span",
843
- {
844
- className: cn(
845
- "hawa-transition-all ",
846
- isOpen ? "hawa-opacity-100" : "hawa-opacity-0"
847
- )
848
- },
849
- item.label
850
- )
851
- )
852
- ),
853
- item.subitems && /* @__PURE__ */ React6.createElement(AccordionContent, { className: "hawa-mt-1 hawa-h-full hawa-rounded" }, /* @__PURE__ */ React6.createElement(
854
- "div",
855
- {
856
- className: cn(
857
- "hawa-flex hawa-h-full hawa-flex-col hawa-gap-2 hawa-bg-foreground/5 hawa-p-1"
858
- )
859
- },
860
- item.subitems.map((subitem, idx) => /* @__PURE__ */ React6.createElement(
861
- "a",
862
- {
863
- href: subitem.slug,
864
- key: idx,
865
- onMouseDown: (e) => {
866
- if (subitem.onMouseDown) {
867
- subitem.onMouseDown(e);
868
- }
869
- },
870
- onClick: (e) => {
871
- e.stopPropagation();
872
- if (subitem.onClick) {
873
- subitem.onClick(e);
874
- }
875
- if (onSubItemClick) {
876
- onSubItemClick([item.value, subitem.value]);
877
- }
878
- },
879
- className: cn(
880
- "hawa-flex hawa-h-full hawa-cursor-pointer hawa-flex-row hawa-items-center hawa-gap-2 hawa-overflow-x-clip hawa-whitespace-nowrap hawa-rounded hawa-p-2 hawa-transition-all",
881
- // bg-foreground/10
882
- getSelectedStyle(subitem.value)
883
- )
884
- },
885
- subitem.icon && subitem.icon,
886
- subitem.label
887
- ))
888
- ))
889
- );
890
- } else {
891
- return /* @__PURE__ */ React6.createElement(
892
- "a",
893
- {
894
- href: item.slug,
895
- dir: direction,
896
- onMouseDown: (e) => {
897
- if (item.onMouseDown) {
898
- item.onMouseDown(e);
899
- }
900
- },
901
- onClick: (e) => {
902
- if (item.onClick) {
903
- item.onClick(e);
904
- }
905
- if (onItemClick) {
906
- onItemClick([item.value]);
907
- }
908
- },
909
- className: cn(
910
- triggerStyles,
911
- getSelectedStyle(item.value),
912
- "hawa-overflow-x-clip "
913
- )
914
- },
915
- /* @__PURE__ */ React6.createElement("div", { className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-2" }, item.icon && item.icon, /* @__PURE__ */ React6.createElement(
916
- "span",
917
- {
918
- className: cn(
919
- "hawa-flex hawa-flex-row hawa-items-center hawa-gap-2 hawa-whitespace-nowrap hawa-transition-all",
920
- isOpen ? "hawa-opacity-100" : "hawa-opacity-0"
921
- )
922
- },
923
- item.label,
924
- " ",
925
- item.badge && /* @__PURE__ */ React6.createElement(Chip, { label: item.badge.label, color: "hyper", size: "small" })
926
- ))
927
- );
928
- }
929
- };
930
-
931
- // layout/appLayout/AppLayout.tsx
932
- var AppLayout = ({
933
- profileMenuWidth = "default",
934
- DrawerFooterActions,
935
- design = "default",
936
- direction = "ltr",
937
- drawerSize = "md",
938
- currentPage,
939
- clickedItem,
940
- setKeepOpen,
941
- keepOpen,
942
- ...props
943
- }) => {
944
- var _a, _b;
945
- let closeDrawerWidth = 56;
946
- let openDrawerWidth = 200;
947
- let drawerSizeStyle = {
948
- opened: {
949
- sm: "100",
950
- md: openDrawerWidth,
951
- lg: "250"
952
- },
953
- closed: {
954
- sm: closeDrawerWidth,
955
- md: closeDrawerWidth,
956
- lg: closeDrawerWidth
957
- }
958
- };
959
- const ref = useRef(null);
960
- const isRTL = direction === "rtl";
961
- const [openedSidebarItem, setOpenedSidebarItem] = useState("");
962
- const [size, setSize] = useState(1200);
963
- const [openSideMenu, setOpenSideMenu] = useState(true);
964
- const drawerSizeCondition = size > 600 ? drawerSizeStyle[keepOpen ? "opened" : "closed"][drawerSize] : 0;
965
- useEffect(() => {
966
- if (typeof window !== "undefined") {
967
- const resize = () => {
968
- setSize(window.innerWidth);
969
- };
970
- resize();
971
- window.addEventListener("resize", resize);
972
- return () => {
973
- window.removeEventListener("resize", resize);
974
- };
975
- }
976
- }, []);
977
- useEffect(() => {
978
- if (size > 600) {
979
- setOpenSideMenu(keepOpen);
980
- } else {
981
- setOpenSideMenu(false);
982
- }
983
- }, [size]);
984
- useEffect(() => {
985
- const handleClickOutside = (event) => {
986
- if (ref.current && !ref.current.contains(event.target) && !keepOpen) {
987
- setOpenSideMenu(false);
988
- }
989
- };
990
- document.addEventListener("click", handleClickOutside, true);
991
- return () => {
992
- document.removeEventListener("click", handleClickOutside, true);
993
- };
994
- }, [keepOpen]);
995
- return /* @__PURE__ */ React7.createElement("div", { className: "hawa-fixed hawa-left-0" }, props.topBar && /* @__PURE__ */ React7.createElement(
996
- "div",
997
- {
998
- className: cn(
999
- "hawa-fixed hawa-left-0 hawa-right-0 hawa-top-0 hawa-z-0 hawa-flex hawa-h-14 hawa-w-full hawa-items-center hawa-justify-between hawa-bg-primary-foreground hawa-p-2",
1000
- isRTL ? "hawa-flex-row-reverse" : "hawa-flex-row"
1001
- )
1002
- },
1003
- size > 600 ? /* @__PURE__ */ React7.createElement(
1004
- "div",
1005
- {
1006
- className: cn(
1007
- "dark:hawa-text-white",
1008
- isRTL ? [
1009
- size > 600 ? "hawa-mr-14" : "hawa-mr-2",
1010
- keepOpen ? "hawa-mr-40" : ""
1011
- ] : [
1012
- size > 600 ? "hawa-ml-14" : "hawa-ml-2",
1013
- keepOpen ? "hawa-ml-40" : ""
1014
- ]
1015
- ),
1016
- style: isRTL ? {
1017
- marginRight: `${drawerSizeStyle[keepOpen ? "opened" : "closed"][drawerSize]}px`
1018
- } : {
1019
- marginLeft: `${drawerSizeStyle[keepOpen ? "opened" : "closed"][drawerSize]}px`
1020
- }
1021
- },
1022
- props.pageTitle
1023
- ) : (
1024
- // Mobile Drawer Menu Button
1025
- /* @__PURE__ */ React7.createElement(
1026
- "div",
1027
- {
1028
- dir: direction,
1029
- className: "hawa-flex hawa-items-center hawa-justify-center hawa-gap-0.5"
1030
- },
1031
- /* @__PURE__ */ React7.createElement(
1032
- "div",
1033
- {
1034
- onClick: () => setOpenSideMenu(true),
1035
- className: "hawa-z-40 hawa-mx-1 hawa-cursor-pointer hawa-rounded hawa-p-2 hawa-transition-all hover:hawa-bg-gray-100"
1036
- },
1037
- /* @__PURE__ */ React7.createElement(MenuIcon, null)
1038
- ),
1039
- props.pageTitle ? /* @__PURE__ */ React7.createElement("div", { className: "hawa-text-sm" }, props.pageTitle) : /* @__PURE__ */ React7.createElement("div", null)
1040
- )
1041
- ),
1042
- /* @__PURE__ */ React7.createElement(
1043
- "div",
1044
- {
1045
- className: cn(
1046
- "hawa-flex hawa-gap-2 dark:hawa-text-white",
1047
- isRTL ? "hawa-flex-row-reverse" : "hawa-flex-row"
1048
- )
1049
- },
1050
- size > 600 ? /* @__PURE__ */ React7.createElement(
1051
- "div",
1052
- {
1053
- className: isRTL ? "hawa-text-left hawa-text-xs" : "hawa-text-right hawa-text-xs"
1054
- },
1055
- /* @__PURE__ */ React7.createElement("div", { className: "hawa-font-bold" }, props.username),
1056
- " ",
1057
- /* @__PURE__ */ React7.createElement("div", null, props.email)
1058
- ) : null,
1059
- /* @__PURE__ */ React7.createElement(
1060
- DropdownMenu,
1061
- {
1062
- triggerClassname: "hawa-mx-2",
1063
- align: "end",
1064
- alignOffset: 8,
1065
- side: "bottom",
1066
- sideOffset: 5,
1067
- width: profileMenuWidth,
1068
- direction: isRTL ? "rtl" : "ltr",
1069
- items: props.profileMenuItems,
1070
- onItemSelect: (e) => console.log("selecting item ", e),
1071
- trigger: /* @__PURE__ */ React7.createElement("div", { className: "hawa-relative hawa-h-8 hawa-w-8 hawa-cursor-pointer hawa-overflow-clip hawa-rounded hawa-ring-1 hawa-ring-primary/30 dark:hawa-bg-gray-600" }, props.avatarImage ? /* @__PURE__ */ React7.createElement("img", { src: props.avatarImage, alt: "User Avatar" }) : /* @__PURE__ */ React7.createElement(
1072
- "svg",
1073
- {
1074
- "aria-label": "Avatar Icon",
1075
- className: "hawa-absolute hawa--left-1 hawa-h-10 hawa-w-10 hawa-text-gray-400",
1076
- fill: "currentColor",
1077
- viewBox: "0 0 20 20"
1078
- },
1079
- /* @__PURE__ */ React7.createElement(
1080
- "path",
1081
- {
1082
- fillRule: "evenodd",
1083
- d: "M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z",
1084
- clipRule: "evenodd"
1085
- }
1086
- )
1087
- ))
1088
- }
1089
- )
1090
- )
1091
- ), /* @__PURE__ */ React7.createElement(
1092
- "div",
1093
- {
1094
- className: cn(
1095
- "hawa-fixed hawa-z-0 hawa-flex hawa-flex-col hawa-justify-between hawa-overflow-x-clip hawa-transition-all",
1096
- isRTL ? "hawa-right-0 hawa-top-0 hawa-h-14" : "hawa-left-0 hawa-top-0 hawa-h-14",
1097
- "hawa-h-[calc(100dvh)]"
1098
- ),
1099
- style: {
1100
- width: size > 600 ? openSideMenu ? `${drawerSizeStyle["opened"][drawerSize]}px` : `${drawerSizeStyle["closed"][drawerSize]}px` : openSideMenu ? `${drawerSizeStyle["opened"][drawerSize]}px` : "0px"
1101
- },
1102
- onMouseEnter: () => {
1103
- setOpenSideMenu(true);
1104
- },
1105
- onMouseLeave: () => {
1106
- if (size > 600) {
1107
- if (keepOpen) {
1108
- setOpenSideMenu(true);
1109
- } else {
1110
- setOpenedSidebarItem("");
1111
- setOpenSideMenu(false);
1112
- }
1113
- } else {
1114
- setOpenSideMenu(false);
1115
- }
1116
- },
1117
- ref
1118
- },
1119
- /* @__PURE__ */ React7.createElement(
1120
- "div",
1121
- {
1122
- onClick: props.onLogoClick,
1123
- dir: direction,
1124
- className: cn(
1125
- "hawa-fixed hawa-z-50 hawa-mb-2 hawa-flex hawa-h-14 hawa-w-full hawa-flex-row hawa-items-center hawa-justify-center hawa-bg-primary-foreground hawa-transition-all",
1126
- props.onLogoClick && "hawa-cursor-pointer"
1127
- ),
1128
- style: {
1129
- width: size > 600 ? `${openSideMenu ? openDrawerWidth : 56}px` : `${openSideMenu ? openDrawerWidth : 0}px`
1130
- }
1131
- },
1132
- openSideMenu && props.header && props.header,
1133
- !props.header && /* @__PURE__ */ React7.createElement(
1134
- "img",
1135
- {
1136
- className: cn(
1137
- "hawa-h-9 hawa-opacity-0 hawa-transition-all",
1138
- !openSideMenu ? "hawa-invisible hawa-opacity-0" : "hawa-visible hawa-opacity-100"
1139
- ),
1140
- src: props.logoLink
1141
- }
1142
- ),
1143
- size > 600 ? /* @__PURE__ */ React7.createElement(
1144
- "img",
1145
- {
1146
- className: cn(
1147
- "hawa-fixed hawa-h-9 hawa-transition-all",
1148
- isRTL ? "hawa-right-2.5 hawa-top-2.5" : "hawa-left-2.5 hawa-top-2.5",
1149
- openSideMenu ? "hawa-invisible hawa-opacity-0" : "hawa-visible hawa-opacity-100"
1150
- ),
1151
- src: props.logoSymbol
1152
- }
1153
- ) : null
1154
- ),
1155
- /* @__PURE__ */ React7.createElement(
1156
- "div",
1157
- {
1158
- className: cn(
1159
- "hawa-fixed hawa-bottom-14 hawa-top-14 hawa-bg-primary-foreground hawa-p-0 hawa-py-2 hawa-transition-all",
1160
- openSideMenu ? "hawa-overflow-auto" : "hawa-overflow-hidden"
1161
- ),
1162
- style: {
1163
- width: size > 600 ? `${openSideMenu ? openDrawerWidth : drawerSizeCondition}px` : `${openSideMenu ? openDrawerWidth : 0}px`
1164
- }
1165
- },
1166
- /* @__PURE__ */ React7.createElement(
1167
- SidebarGroup,
1168
- {
1169
- direction,
1170
- onItemClick: (values) => {
1171
- if (clickedItem) {
1172
- clickedItem(values);
1173
- }
1174
- },
1175
- onSubItemClick: (values) => {
1176
- if (clickedItem) {
1177
- clickedItem(values);
1178
- }
1179
- },
1180
- selectedItem: currentPage,
1181
- openedItem: openedSidebarItem,
1182
- setOpenedItem: (e) => setOpenedSidebarItem(e),
1183
- isOpen: keepOpen || openSideMenu,
1184
- items: props.drawerItems
1185
- }
1186
- )
1187
- ),
1188
- /* @__PURE__ */ React7.createElement(
1189
- "div",
1190
- {
1191
- className: cn(
1192
- "hawa-fixed hawa-flex hawa-h-14 hawa-items-center hawa-justify-center hawa-gap-2 hawa-overflow-clip hawa-bg-primary-foreground hawa-transition-all",
1193
- direction === "rtl" ? "hawa-flex-row-reverse" : "hawa-flex-row",
1194
- "hawa-bottom-0"
1195
- ),
1196
- style: {
1197
- width: size > 600 ? `${openSideMenu ? openDrawerWidth : 56}px` : `${openSideMenu ? openDrawerWidth : 0}px`
1198
- }
1199
- },
1200
- DrawerFooterActions && openSideMenu ? /* @__PURE__ */ React7.createElement(React7.Fragment, null, DrawerFooterActions) : null,
1201
- size > 600 && openSideMenu ? /* @__PURE__ */ React7.createElement(
1202
- Tooltip,
1203
- {
1204
- side: "left",
1205
- delayDuration: 500,
1206
- content: keepOpen ? ((_a = props.texts) == null ? void 0 : _a.collapseSidebar) || "Collapse Sidebar" : ((_b = props.texts) == null ? void 0 : _b.expandSidebar) || "Expand Sidebar",
1207
- triggerProps: { asChild: true }
1208
- },
1209
- /* @__PURE__ */ React7.createElement(
1210
- Button,
1211
- {
1212
- variant: "outline",
1213
- onClick: () => {
1214
- const newKeepOpenState = !keepOpen;
1215
- if (props.onDrawerExpand) {
1216
- props.onDrawerExpand(newKeepOpenState);
1217
- }
1218
- setKeepOpen(newKeepOpenState);
1219
- },
1220
- size: "smallIcon"
1221
- },
1222
- /* @__PURE__ */ React7.createElement(
1223
- "svg",
1224
- {
1225
- className: cn(
1226
- "hawa-h-6 hawa-w-6 hawa-shrink-0 hawa-text-primary hawa-transition-all disabled:hawa-bg-gray-200 ",
1227
- keepOpen ? isRTL ? "hawa--rotate-90" : "hawa-rotate-90" : isRTL ? "hawa-rotate-90" : "hawa--rotate-90"
1228
- ),
1229
- fill: "currentColor",
1230
- viewBox: "0 0 20 20"
1231
- },
1232
- /* @__PURE__ */ React7.createElement(
1233
- "path",
1234
- {
1235
- fillRule: "evenodd",
1236
- d: "M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z",
1237
- clipRule: "evenodd"
1238
- }
1239
- )
1240
- )
1241
- )
1242
- ) : null
1243
- )
1244
- ), /* @__PURE__ */ React7.createElement(
1245
- "div",
1246
- {
1247
- className: "hawa-fixed -hawa-z-10 hawa-overflow-y-auto hawa-transition-all",
1248
- style: isRTL ? {
1249
- height: `calc(100% - ${props.topBar ? "56" : "0"}px)`,
1250
- width: `calc(100% - ${drawerSizeCondition}px)`,
1251
- left: "0px",
1252
- top: props.topBar ? "56px" : "0px"
1253
- } : {
1254
- height: `calc(100% - ${props.topBar ? "56" : "0"}px)`,
1255
- width: `calc(100% - ${drawerSizeCondition}px)`,
1256
- left: `${drawerSizeCondition}px`,
1257
- top: props.topBar ? "56px" : "0px"
1258
- }
1259
- },
1260
- props.children
1261
- ));
1262
- };
1263
- var MenuIcon = () => /* @__PURE__ */ React7.createElement(
1264
- "svg",
1265
- {
1266
- "aria-label": "Menu Button",
1267
- stroke: "currentColor",
1268
- fill: "currentColor",
1269
- strokeWidth: 0,
1270
- viewBox: "0 0 20 20",
1271
- "aria-hidden": "true",
1272
- height: "1.6em",
1273
- width: "1.6em"
1274
- },
1275
- /* @__PURE__ */ React7.createElement(
1276
- "path",
1277
- {
1278
- fillRule: "evenodd",
1279
- clipRule: "evenodd",
1280
- d: "M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z"
1281
- }
1282
- )
1283
- );
1284
- export {
1285
- AppLayout
1286
- };