@blimu/react 1.1.0 → 1.1.1

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 (451) hide show
  1. package/dist/_virtual/index.cjs +5 -1
  2. package/dist/_virtual/index.cjs.map +1 -1
  3. package/dist/_virtual/index.js +3 -3
  4. package/dist/_virtual/index2.cjs +4 -1
  5. package/dist/_virtual/index2.cjs.map +1 -1
  6. package/dist/_virtual/index2.js +2 -2
  7. package/dist/_virtual/use-sync-external-store-shim.development.cjs +4 -1
  8. package/dist/_virtual/use-sync-external-store-shim.development.cjs.map +1 -1
  9. package/dist/_virtual/use-sync-external-store-shim.development.js +2 -2
  10. package/dist/_virtual/use-sync-external-store-shim.production.cjs +4 -1
  11. package/dist/_virtual/use-sync-external-store-shim.production.cjs.map +1 -1
  12. package/dist/_virtual/use-sync-external-store-shim.production.js +2 -2
  13. package/dist/client/auth.service.cjs +249 -1
  14. package/dist/client/auth.service.cjs.map +1 -1
  15. package/dist/client/auth.service.js +194 -96
  16. package/dist/client/auth.service.js.map +1 -1
  17. package/dist/client/external-store.cjs +26 -1
  18. package/dist/client/external-store.cjs.map +1 -1
  19. package/dist/client/external-store.js +22 -8
  20. package/dist/client/external-store.js.map +1 -1
  21. package/dist/client/runtime-client.cjs +136 -1
  22. package/dist/client/runtime-client.cjs.map +1 -1
  23. package/dist/client/runtime-client.js +85 -51
  24. package/dist/client/runtime-client.js.map +1 -1
  25. package/dist/components/index.cjs +13 -0
  26. package/dist/components/index.cjs.map +1 -0
  27. package/dist/components/index.js +13 -0
  28. package/dist/components/index.js.map +1 -0
  29. package/dist/components/members-list.cjs +132 -1
  30. package/dist/components/members-list.cjs.map +1 -1
  31. package/dist/components/members-list.js +69 -64
  32. package/dist/components/members-list.js.map +1 -1
  33. package/dist/components/redirect-to-sign-in.cjs +34 -1
  34. package/dist/components/redirect-to-sign-in.cjs.map +1 -1
  35. package/dist/components/redirect-to-sign-in.js +28 -20
  36. package/dist/components/redirect-to-sign-in.js.map +1 -1
  37. package/dist/components/sign-in-button.cjs +36 -1
  38. package/dist/components/sign-in-button.cjs.map +1 -1
  39. package/dist/components/sign-in-button.js +25 -21
  40. package/dist/components/sign-in-button.js.map +1 -1
  41. package/dist/components/ui/avatar.cjs +42 -1
  42. package/dist/components/ui/avatar.cjs.map +1 -1
  43. package/dist/components/ui/avatar.js +23 -23
  44. package/dist/components/ui/avatar.js.map +1 -1
  45. package/dist/components/ui/dropdown-menu.cjs +148 -1
  46. package/dist/components/ui/dropdown-menu.cjs.map +1 -1
  47. package/dist/components/ui/dropdown-menu.js +83 -81
  48. package/dist/components/ui/dropdown-menu.js.map +1 -1
  49. package/dist/components/user-avatar.cjs +22 -1
  50. package/dist/components/user-avatar.cjs.map +1 -1
  51. package/dist/components/user-avatar.js +16 -16
  52. package/dist/components/user-avatar.js.map +1 -1
  53. package/dist/components/user-button/styles.cjs +39 -1
  54. package/dist/components/user-button/styles.cjs.map +1 -1
  55. package/dist/components/user-button/styles.js +6 -5
  56. package/dist/components/user-button/styles.js.map +1 -1
  57. package/dist/components/user-button/user-button.cjs +98 -1
  58. package/dist/components/user-button/user-button.cjs.map +1 -1
  59. package/dist/components/user-button/user-button.js +64 -58
  60. package/dist/components/user-button/user-button.js.map +1 -1
  61. package/dist/hooks/index.cjs +14 -0
  62. package/dist/hooks/index.cjs.map +1 -0
  63. package/dist/hooks/index.d.ts +1 -0
  64. package/dist/hooks/index.d.ts.map +1 -1
  65. package/dist/hooks/index.js +14 -0
  66. package/dist/hooks/index.js.map +1 -0
  67. package/dist/hooks/use-auth.cjs +44 -1
  68. package/dist/hooks/use-auth.cjs.map +1 -1
  69. package/dist/hooks/use-auth.d.ts +13 -15
  70. package/dist/hooks/use-auth.d.ts.map +1 -1
  71. package/dist/hooks/use-auth.js +30 -26
  72. package/dist/hooks/use-auth.js.map +1 -1
  73. package/dist/hooks/use-client.cjs +9 -1
  74. package/dist/hooks/use-client.cjs.map +1 -1
  75. package/dist/hooks/use-client.d.ts +1 -1
  76. package/dist/hooks/use-client.d.ts.map +1 -1
  77. package/dist/hooks/use-client.js +6 -5
  78. package/dist/hooks/use-client.js.map +1 -1
  79. package/dist/hooks/use-members.cjs +60 -1
  80. package/dist/hooks/use-members.cjs.map +1 -1
  81. package/dist/hooks/use-members.js +53 -41
  82. package/dist/hooks/use-members.js.map +1 -1
  83. package/dist/hooks/use-store.cjs +17 -1
  84. package/dist/hooks/use-store.cjs.map +1 -1
  85. package/dist/hooks/use-store.js +7 -7
  86. package/dist/hooks/use-store.js.map +1 -1
  87. package/dist/index.cjs +37 -1
  88. package/dist/index.cjs.map +1 -1
  89. package/dist/index.d.ts +1 -1
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.js +35 -35
  92. package/dist/lib/utils.cjs +8 -1
  93. package/dist/lib/utils.cjs.map +1 -1
  94. package/dist/lib/utils.js +5 -5
  95. package/dist/lib/utils.js.map +1 -1
  96. package/dist/lib/variants.cjs +46 -1
  97. package/dist/lib/variants.cjs.map +1 -1
  98. package/dist/lib/variants.js +6 -5
  99. package/dist/lib/variants.js.map +1 -1
  100. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.cjs +721 -1
  101. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.cjs.map +1 -1
  102. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +571 -377
  103. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -1
  104. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs +625 -1
  105. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs.map +1 -1
  106. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +539 -316
  107. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -1
  108. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs +313 -1
  109. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.map +1 -1
  110. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +261 -172
  111. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +1 -1
  112. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs +154 -1
  113. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs.map +1 -1
  114. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs +173 -1
  115. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs.map +1 -1
  116. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +144 -107
  117. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -1
  118. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +111 -87
  119. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -1
  120. package/dist/node_modules/@radix-ui/primitive/dist/index.cjs +11 -1
  121. package/dist/node_modules/@radix-ui/primitive/dist/index.cjs.map +1 -1
  122. package/dist/node_modules/@radix-ui/primitive/dist/index.js +7 -5
  123. package/dist/node_modules/@radix-ui/primitive/dist/index.js.map +1 -1
  124. package/dist/node_modules/@radix-ui/react-arrow/dist/index.cjs +42 -1
  125. package/dist/node_modules/@radix-ui/react-arrow/dist/index.cjs.map +1 -1
  126. package/dist/node_modules/@radix-ui/react-arrow/dist/index.js +17 -16
  127. package/dist/node_modules/@radix-ui/react-arrow/dist/index.js.map +1 -1
  128. package/dist/node_modules/@radix-ui/react-avatar/dist/index.cjs +140 -1
  129. package/dist/node_modules/@radix-ui/react-avatar/dist/index.cjs.map +1 -1
  130. package/dist/node_modules/@radix-ui/react-avatar/dist/index.js +105 -57
  131. package/dist/node_modules/@radix-ui/react-avatar/dist/index.js.map +1 -1
  132. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.cjs +80 -1
  133. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.cjs.map +1 -1
  134. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.js +49 -41
  135. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.js.map +1 -1
  136. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.cjs +56 -1
  137. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.cjs.map +1 -1
  138. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.js +17 -10
  139. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.js.map +1 -1
  140. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.cjs +119 -1
  141. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.cjs.map +1 -1
  142. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.js +86 -42
  143. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -1
  144. package/dist/node_modules/@radix-ui/react-collection/dist/index.cjs +70 -1
  145. package/dist/node_modules/@radix-ui/react-collection/dist/index.cjs.map +1 -1
  146. package/dist/node_modules/@radix-ui/react-collection/dist/index.js +57 -37
  147. package/dist/node_modules/@radix-ui/react-collection/dist/index.js.map +1 -1
  148. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.cjs +56 -1
  149. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.cjs.map +1 -1
  150. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js +29 -19
  151. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +1 -1
  152. package/dist/node_modules/@radix-ui/react-context/dist/index.cjs +79 -1
  153. package/dist/node_modules/@radix-ui/react-context/dist/index.cjs.map +1 -1
  154. package/dist/node_modules/@radix-ui/react-context/dist/index.js +48 -39
  155. package/dist/node_modules/@radix-ui/react-context/dist/index.js.map +1 -1
  156. package/dist/node_modules/@radix-ui/react-direction/dist/index.cjs +27 -1
  157. package/dist/node_modules/@radix-ui/react-direction/dist/index.cjs.map +1 -1
  158. package/dist/node_modules/@radix-ui/react-direction/dist/index.js +6 -6
  159. package/dist/node_modules/@radix-ui/react-direction/dist/index.js.map +1 -1
  160. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs +229 -1
  161. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs.map +1 -1
  162. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +182 -97
  163. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +1 -1
  164. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.cjs +296 -1
  165. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.cjs.map +1 -1
  166. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.js +232 -167
  167. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.js.map +1 -1
  168. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.cjs +46 -1
  169. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.cjs.map +1 -1
  170. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js +23 -11
  171. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js.map +1 -1
  172. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.cjs +224 -1
  173. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.cjs.map +1 -1
  174. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js +169 -98
  175. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +1 -1
  176. package/dist/node_modules/@radix-ui/react-id/dist/index.cjs +31 -1
  177. package/dist/node_modules/@radix-ui/react-id/dist/index.cjs.map +1 -1
  178. package/dist/node_modules/@radix-ui/react-id/dist/index.js +11 -10
  179. package/dist/node_modules/@radix-ui/react-id/dist/index.js.map +1 -1
  180. package/dist/node_modules/@radix-ui/react-menu/dist/index.cjs +845 -1
  181. package/dist/node_modules/@radix-ui/react-menu/dist/index.cjs.map +1 -1
  182. package/dist/node_modules/@radix-ui/react-menu/dist/index.js +662 -442
  183. package/dist/node_modules/@radix-ui/react-menu/dist/index.js.map +1 -1
  184. package/dist/node_modules/@radix-ui/react-popper/dist/index.cjs +308 -1
  185. package/dist/node_modules/@radix-ui/react-popper/dist/index.cjs.map +1 -1
  186. package/dist/node_modules/@radix-ui/react-popper/dist/index.js +209 -137
  187. package/dist/node_modules/@radix-ui/react-popper/dist/index.js.map +1 -1
  188. package/dist/node_modules/@radix-ui/react-portal/dist/index.cjs +34 -1
  189. package/dist/node_modules/@radix-ui/react-portal/dist/index.cjs.map +1 -1
  190. package/dist/node_modules/@radix-ui/react-portal/dist/index.js +14 -12
  191. package/dist/node_modules/@radix-ui/react-portal/dist/index.js.map +1 -1
  192. package/dist/node_modules/@radix-ui/react-presence/dist/index.cjs +145 -1
  193. package/dist/node_modules/@radix-ui/react-presence/dist/index.cjs.map +1 -1
  194. package/dist/node_modules/@radix-ui/react-presence/dist/index.js +103 -45
  195. package/dist/node_modules/@radix-ui/react-presence/dist/index.js.map +1 -1
  196. package/dist/node_modules/@radix-ui/react-primitive/dist/index.cjs +61 -1
  197. package/dist/node_modules/@radix-ui/react-primitive/dist/index.cjs.map +1 -1
  198. package/dist/node_modules/@radix-ui/react-primitive/dist/index.js +21 -14
  199. package/dist/node_modules/@radix-ui/react-primitive/dist/index.js.map +1 -1
  200. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.cjs +244 -1
  201. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.cjs.map +1 -1
  202. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.js +179 -135
  203. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.js.map +1 -1
  204. package/dist/node_modules/@radix-ui/react-slot/dist/index.cjs +105 -1
  205. package/dist/node_modules/@radix-ui/react-slot/dist/index.cjs.map +1 -1
  206. package/dist/node_modules/@radix-ui/react-slot/dist/index.js +74 -35
  207. package/dist/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -1
  208. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.cjs +28 -1
  209. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.cjs.map +1 -1
  210. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +8 -7
  211. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +1 -1
  212. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs +86 -1
  213. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs.map +1 -1
  214. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +57 -40
  215. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +1 -1
  216. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.cjs +34 -1
  217. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.cjs.map +1 -1
  218. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +13 -10
  219. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +1 -1
  220. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.cjs +15 -1
  221. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.cjs.map +1 -1
  222. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.js +8 -8
  223. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.js.map +1 -1
  224. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs +23 -1
  225. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs.map +1 -1
  226. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +3 -3
  227. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +1 -1
  228. package/dist/node_modules/@radix-ui/react-use-size/dist/index.cjs +56 -1
  229. package/dist/node_modules/@radix-ui/react-use-size/dist/index.cjs.map +1 -1
  230. package/dist/node_modules/@radix-ui/react-use-size/dist/index.js +34 -22
  231. package/dist/node_modules/@radix-ui/react-use-size/dist/index.js.map +1 -1
  232. package/dist/node_modules/aria-hidden/dist/es2015/index.cjs +122 -1
  233. package/dist/node_modules/aria-hidden/dist/es2015/index.cjs.map +1 -1
  234. package/dist/node_modules/aria-hidden/dist/es2015/index.js +111 -41
  235. package/dist/node_modules/aria-hidden/dist/es2015/index.js.map +1 -1
  236. package/dist/node_modules/class-variance-authority/dist/index.cjs +45 -1
  237. package/dist/node_modules/class-variance-authority/dist/index.cjs.map +1 -1
  238. package/dist/node_modules/class-variance-authority/dist/index.js +40 -30
  239. package/dist/node_modules/class-variance-authority/dist/index.js.map +1 -1
  240. package/dist/node_modules/clsx/dist/clsx.cjs +17 -1
  241. package/dist/node_modules/clsx/dist/clsx.cjs.map +1 -1
  242. package/dist/node_modules/clsx/dist/clsx.js +13 -13
  243. package/dist/node_modules/clsx/dist/clsx.js.map +1 -1
  244. package/dist/node_modules/get-nonce/dist/es2015/index.cjs +9 -1
  245. package/dist/node_modules/get-nonce/dist/es2015/index.cjs.map +1 -1
  246. package/dist/node_modules/get-nonce/dist/es2015/index.js +5 -3
  247. package/dist/node_modules/get-nonce/dist/es2015/index.js.map +1 -1
  248. package/dist/node_modules/js-cookie/dist/js.cookie.cjs +98 -1
  249. package/dist/node_modules/js-cookie/dist/js.cookie.cjs.map +1 -1
  250. package/dist/node_modules/js-cookie/dist/js.cookie.js +69 -43
  251. package/dist/node_modules/js-cookie/dist/js.cookie.js.map +1 -1
  252. package/dist/node_modules/jwt-decode/build/esm/index.cjs +58 -1
  253. package/dist/node_modules/jwt-decode/build/esm/index.cjs.map +1 -1
  254. package/dist/node_modules/jwt-decode/build/esm/index.js +36 -30
  255. package/dist/node_modules/jwt-decode/build/esm/index.js.map +1 -1
  256. package/dist/node_modules/lucide-react/dist/esm/Icon.cjs +34 -1
  257. package/dist/node_modules/lucide-react/dist/esm/Icon.cjs.map +1 -1
  258. package/dist/node_modules/lucide-react/dist/esm/Icon.js +25 -25
  259. package/dist/node_modules/lucide-react/dist/esm/Icon.js.map +1 -1
  260. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.cjs +21 -1
  261. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.cjs.map +1 -1
  262. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js +16 -15
  263. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js.map +1 -1
  264. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.cjs +13 -1
  265. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.cjs.map +1 -1
  266. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js +2 -2
  267. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js.map +1 -1
  268. package/dist/node_modules/lucide-react/dist/esm/icons/check.cjs +7 -1
  269. package/dist/node_modules/lucide-react/dist/esm/icons/check.cjs.map +1 -1
  270. package/dist/node_modules/lucide-react/dist/esm/icons/check.js +5 -4
  271. package/dist/node_modules/lucide-react/dist/esm/icons/check.js.map +1 -1
  272. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs +7 -1
  273. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs.map +1 -1
  274. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.js +5 -4
  275. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.js.map +1 -1
  276. package/dist/node_modules/lucide-react/dist/esm/icons/circle.cjs +7 -1
  277. package/dist/node_modules/lucide-react/dist/esm/icons/circle.cjs.map +1 -1
  278. package/dist/node_modules/lucide-react/dist/esm/icons/circle.js +5 -4
  279. package/dist/node_modules/lucide-react/dist/esm/icons/circle.js.map +1 -1
  280. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.cjs +11 -1
  281. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.cjs.map +1 -1
  282. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.js +6 -5
  283. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.js.map +1 -1
  284. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.cjs +26 -1
  285. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.cjs.map +1 -1
  286. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.js +22 -14
  287. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.js.map +1 -1
  288. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.cjs +27 -1
  289. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.cjs.map +1 -1
  290. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js +8 -8
  291. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js.map +1 -1
  292. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.cjs +197 -4
  293. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.cjs.map +1 -1
  294. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +163 -98
  295. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js.map +1 -1
  296. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.cjs +55 -1
  297. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.cjs.map +1 -1
  298. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js +31 -24
  299. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js.map +1 -1
  300. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.cjs +19 -1
  301. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.cjs.map +1 -1
  302. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +12 -9
  303. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js.map +1 -1
  304. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.cjs +102 -1
  305. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.cjs.map +1 -1
  306. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +85 -51
  307. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -1
  308. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.cjs +5 -1
  309. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.cjs.map +1 -1
  310. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js +3 -3
  311. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js.map +1 -1
  312. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.cjs +6 -1
  313. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.cjs.map +1 -1
  314. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js +5 -5
  315. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js.map +1 -1
  316. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.cjs +62 -36
  317. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.cjs.map +1 -1
  318. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js +41 -65
  319. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js.map +1 -1
  320. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.cjs +10 -1
  321. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.cjs.map +1 -1
  322. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js +8 -5
  323. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js.map +1 -1
  324. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.cjs +37 -1
  325. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.cjs.map +1 -1
  326. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js +28 -16
  327. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js.map +1 -1
  328. package/dist/node_modules/react-style-singleton/dist/es2015/component.cjs +13 -1
  329. package/dist/node_modules/react-style-singleton/dist/es2015/component.cjs.map +1 -1
  330. package/dist/node_modules/react-style-singleton/dist/es2015/component.js +9 -7
  331. package/dist/node_modules/react-style-singleton/dist/es2015/component.js.map +1 -1
  332. package/dist/node_modules/react-style-singleton/dist/es2015/hook.cjs +33 -1
  333. package/dist/node_modules/react-style-singleton/dist/es2015/hook.cjs.map +1 -1
  334. package/dist/node_modules/react-style-singleton/dist/es2015/hook.js +11 -10
  335. package/dist/node_modules/react-style-singleton/dist/es2015/hook.js.map +1 -1
  336. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.cjs +48 -1
  337. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.cjs.map +1 -1
  338. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js +35 -17
  339. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js.map +1 -1
  340. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs +3014 -1
  341. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs.map +1 -1
  342. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +804 -555
  343. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -1
  344. package/dist/node_modules/tailwindcss/dist/plugin.cjs +12 -1
  345. package/dist/node_modules/tailwindcss/dist/plugin.cjs.map +1 -1
  346. package/dist/node_modules/tailwindcss/dist/plugin.js +8 -8
  347. package/dist/node_modules/tailwindcss/dist/plugin.js.map +1 -1
  348. package/dist/node_modules/tslib/tslib.es6.cjs +38 -1
  349. package/dist/node_modules/tslib/tslib.es6.cjs.map +1 -1
  350. package/dist/node_modules/tslib/tslib.es6.js +33 -21
  351. package/dist/node_modules/tslib/tslib.es6.js.map +1 -1
  352. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.cjs +11 -1
  353. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.cjs.map +1 -1
  354. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js +8 -3
  355. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js.map +1 -1
  356. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.cjs +52 -1
  357. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.cjs.map +1 -1
  358. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +28 -19
  359. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js.map +1 -1
  360. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.cjs +29 -1
  361. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.cjs.map +1 -1
  362. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js +15 -11
  363. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js.map +1 -1
  364. package/dist/node_modules/use-sidecar/dist/es2015/exports.cjs +38 -1
  365. package/dist/node_modules/use-sidecar/dist/es2015/exports.cjs.map +1 -1
  366. package/dist/node_modules/use-sidecar/dist/es2015/exports.js +15 -12
  367. package/dist/node_modules/use-sidecar/dist/es2015/exports.js.map +1 -1
  368. package/dist/node_modules/use-sidecar/dist/es2015/medium.cjs +88 -1
  369. package/dist/node_modules/use-sidecar/dist/es2015/medium.cjs.map +1 -1
  370. package/dist/node_modules/use-sidecar/dist/es2015/medium.js +64 -43
  371. package/dist/node_modules/use-sidecar/dist/es2015/medium.js.map +1 -1
  372. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.cjs +68 -1
  373. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.cjs.map +1 -1
  374. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +49 -39
  375. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -1
  376. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.cjs +53 -1
  377. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.cjs.map +1 -1
  378. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +39 -32
  379. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js.map +1 -1
  380. package/dist/node_modules/use-sync-external-store/shim/index.cjs +17 -1
  381. package/dist/node_modules/use-sync-external-store/shim/index.cjs.map +1 -1
  382. package/dist/node_modules/use-sync-external-store/shim/index.js +14 -7
  383. package/dist/node_modules/use-sync-external-store/shim/index.js.map +1 -1
  384. package/dist/providers/auth/auth.context.cjs +5 -1
  385. package/dist/providers/auth/auth.context.cjs.map +1 -1
  386. package/dist/providers/auth/auth.context.js +3 -3
  387. package/dist/providers/auth/auth.context.js.map +1 -1
  388. package/dist/providers/auth/auth.hook.cjs +12 -1
  389. package/dist/providers/auth/auth.hook.cjs.map +1 -1
  390. package/dist/providers/auth/auth.hook.js +8 -7
  391. package/dist/providers/auth/auth.hook.js.map +1 -1
  392. package/dist/providers/auth/auth.provider.cjs +37 -1
  393. package/dist/providers/auth/auth.provider.cjs.map +1 -1
  394. package/dist/providers/auth/auth.provider.js +31 -22
  395. package/dist/providers/auth/auth.provider.js.map +1 -1
  396. package/dist/providers/blimu/blimu.context.cjs +5 -1
  397. package/dist/providers/blimu/blimu.context.cjs.map +1 -1
  398. package/dist/providers/blimu/blimu.context.js +3 -3
  399. package/dist/providers/blimu/blimu.context.js.map +1 -1
  400. package/dist/providers/blimu/blimu.hook.cjs +12 -1
  401. package/dist/providers/blimu/blimu.hook.cjs.map +1 -1
  402. package/dist/providers/blimu/blimu.hook.js +8 -7
  403. package/dist/providers/blimu/blimu.hook.js.map +1 -1
  404. package/dist/providers/blimu/blimu.provider.cjs +71 -1
  405. package/dist/providers/blimu/blimu.provider.cjs.map +1 -1
  406. package/dist/providers/blimu/blimu.provider.js +32 -27
  407. package/dist/providers/blimu/blimu.provider.js.map +1 -1
  408. package/dist/providers/index.cjs +13 -0
  409. package/dist/providers/index.cjs.map +1 -0
  410. package/dist/providers/index.js +13 -0
  411. package/dist/providers/index.js.map +1 -0
  412. package/dist/providers/theme/theme.context.cjs +5 -1
  413. package/dist/providers/theme/theme.context.cjs.map +1 -1
  414. package/dist/providers/theme/theme.context.js +3 -3
  415. package/dist/providers/theme/theme.context.js.map +1 -1
  416. package/dist/providers/theme/theme.hook.cjs +12 -1
  417. package/dist/providers/theme/theme.hook.cjs.map +1 -1
  418. package/dist/providers/theme/theme.hook.js +8 -7
  419. package/dist/providers/theme/theme.hook.js.map +1 -1
  420. package/dist/providers/theme/theme.provider.cjs +104 -1
  421. package/dist/providers/theme/theme.provider.cjs.map +1 -1
  422. package/dist/providers/theme/theme.provider.js +85 -48
  423. package/dist/providers/theme/theme.provider.js.map +1 -1
  424. package/dist/tailwind.cjs +200 -0
  425. package/dist/tailwind.cjs.map +1 -0
  426. package/dist/{tailwind.plugin.js → tailwind.js} +6 -6
  427. package/dist/tailwind.js.map +1 -0
  428. package/dist/types/index.cjs +11 -1
  429. package/dist/types/index.cjs.map +1 -1
  430. package/dist/types/index.js +8 -8
  431. package/dist/types/index.js.map +1 -1
  432. package/dist/utils/publishable-key.cjs +62 -1
  433. package/dist/utils/publishable-key.cjs.map +1 -1
  434. package/dist/utils/publishable-key.js +52 -27
  435. package/dist/utils/publishable-key.js.map +1 -1
  436. package/package.json +41 -42
  437. package/dist/components.cjs +0 -2
  438. package/dist/components.cjs.map +0 -1
  439. package/dist/components.js +0 -13
  440. package/dist/components.js.map +0 -1
  441. package/dist/hooks.cjs +0 -2
  442. package/dist/hooks.cjs.map +0 -1
  443. package/dist/hooks.js +0 -14
  444. package/dist/hooks.js.map +0 -1
  445. package/dist/providers.cjs +0 -2
  446. package/dist/providers.cjs.map +0 -1
  447. package/dist/providers.js +0 -13
  448. package/dist/providers.js.map +0 -1
  449. package/dist/tailwind.plugin.cjs +0 -2
  450. package/dist/tailwind.plugin.cjs.map +0 -1
  451. package/dist/tailwind.plugin.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-menu.js","sources":["../../../src/components/ui/dropdown-menu.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { Check, ChevronRight, Circle } from 'lucide-react';\n\nimport { cn } from '../../lib/utils';\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n 'flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm text-blimu-muted-foreground outline-none focus:bg-blimu-accent focus:text-blimu-accent-foreground data-[state=open]:bg-blimu-accent data-[state=open]:text-blimu-accent-foreground',\n inset && 'pl-8',\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto h-3.5 w-3.5\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n style={{\n backgroundColor: 'var(--blimu-popover)',\n }}\n className={cn(\n 'z-50 min-w-[8rem] overflow-hidden rounded-blimu border border-blimu-border text-blimu-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n className,\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 min-w-[8rem] overflow-hidden rounded-blimu border border-blimu-border text-blimu-popover-foreground shadow-md p-1',\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 mx-1 text-sm text-blimu-muted-foreground outline-none transition-colors focus:bg-blimu-accent focus:text-blimu-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n inset && 'pl-8',\n className,\n )}\n {...props}\n />\n));\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm text-blimu-muted-foreground outline-none transition-colors focus:bg-blimu-accent focus:text-blimu-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"h-3.5 w-3.5\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm text-blimu-muted-foreground outline-none transition-colors focus:bg-blimu-accent focus:text-blimu-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Circle className=\"h-2.5 w-2.5 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn('px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className)}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn('-mx-1 my-1 h-px bg-blimu-border', className)}\n {...props}\n />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span className={cn('ml-auto text-xs tracking-widest opacity-60', className)} {...props} />\n );\n};\nDropdownMenuShortcut.displayName = 'DropdownMenuShortcut';\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n};\n"],"names":["DropdownMenu","DropdownMenuPrimitive.Root","DropdownMenuTrigger","DropdownMenuPrimitive.Trigger","DropdownMenuSubTrigger","React","className","inset","children","props","ref","jsxs","DropdownMenuPrimitive.SubTrigger","cn","jsx","ChevronRight","DropdownMenuSubContent","DropdownMenuPrimitive.SubContent","DropdownMenuContent","sideOffset","DropdownMenuPrimitive.Portal","DropdownMenuPrimitive.Content","DropdownMenuItem","DropdownMenuPrimitive.Item","DropdownMenuCheckboxItem","checked","DropdownMenuPrimitive.CheckboxItem","DropdownMenuPrimitive.ItemIndicator","Check","DropdownMenuRadioItem","DropdownMenuPrimitive.RadioItem","Circle","DropdownMenuLabel","DropdownMenuPrimitive.Label","DropdownMenuSeparator","DropdownMenuPrimitive.Separator"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown-menu.js","sources":["../../../src/components/ui/dropdown-menu.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { Check, ChevronRight, Circle } from 'lucide-react';\n\nimport { cn } from '../../lib/utils';\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n 'flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm text-blimu-muted-foreground outline-none focus:bg-blimu-accent focus:text-blimu-accent-foreground data-[state=open]:bg-blimu-accent data-[state=open]:text-blimu-accent-foreground',\n inset && 'pl-8',\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto h-3.5 w-3.5\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n style={{\n backgroundColor: 'var(--blimu-popover)',\n }}\n className={cn(\n 'z-50 min-w-[8rem] overflow-hidden rounded-blimu border border-blimu-border text-blimu-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n className,\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 min-w-[8rem] overflow-hidden rounded-blimu border border-blimu-border text-blimu-popover-foreground shadow-md p-1',\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 mx-1 text-sm text-blimu-muted-foreground outline-none transition-colors focus:bg-blimu-accent focus:text-blimu-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n inset && 'pl-8',\n className,\n )}\n {...props}\n />\n));\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm text-blimu-muted-foreground outline-none transition-colors focus:bg-blimu-accent focus:text-blimu-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"h-3.5 w-3.5\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm text-blimu-muted-foreground outline-none transition-colors focus:bg-blimu-accent focus:text-blimu-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Circle className=\"h-2.5 w-2.5 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn('px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className)}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn('-mx-1 my-1 h-px bg-blimu-border', className)}\n {...props}\n />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span className={cn('ml-auto text-xs tracking-widest opacity-60', className)} {...props} />\n );\n};\nDropdownMenuShortcut.displayName = 'DropdownMenuShortcut';\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n};\n"],"names":["DropdownMenuPrimitive.Root","DropdownMenuPrimitive.Trigger","DropdownMenuPrimitive.SubTrigger","DropdownMenuPrimitive.SubContent","DropdownMenuPrimitive.Portal","DropdownMenuPrimitive.Content","DropdownMenuPrimitive.Item","DropdownMenuPrimitive.CheckboxItem","DropdownMenuPrimitive.ItemIndicator","DropdownMenuPrimitive.RadioItem","DropdownMenuPrimitive.Label","DropdownMenuPrimitive.Separator"],"mappings":"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"}
@@ -1,2 +1,23 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime");require("react");const t=require("./ui/avatar.cjs"),o=require("../lib/utils.cjs"),m=require("../lib/variants.cjs");function d({src:a,alt:r,fallback:s,size:i="default",className:n,...u}){const l=s||r?.split(" ").map(c=>c[0]).join("").toUpperCase().slice(0,2)||"U";return e.jsxs(t.Avatar,{className:o.cn(m.avatarVariants({size:i}),n),...u,children:[a&&e.jsx(t.AvatarImage,{src:a,alt:r}),e.jsx(t.AvatarFallback,{className:"bg-blimu-muted text-blimu-muted-foreground text-sm font-medium",children:l})]})}exports.UserAvatar=d;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ require("react");
5
+ const avatar = require("./ui/avatar.cjs");
6
+ const utils = require("../lib/utils.cjs");
7
+ const variants = require("../lib/variants.cjs");
8
+ function UserAvatar({
9
+ src,
10
+ alt,
11
+ fallback,
12
+ size = "default",
13
+ className,
14
+ ...props
15
+ }) {
16
+ const fallbackText = fallback || alt?.split(" ").map((n) => n[0]).join("").toUpperCase().slice(0, 2) || "U";
17
+ return /* @__PURE__ */ jsxRuntime.jsxs(avatar.Avatar, { className: utils.cn(variants.avatarVariants({ size }), className), ...props, children: [
18
+ src && /* @__PURE__ */ jsxRuntime.jsx(avatar.AvatarImage, { src, alt }),
19
+ /* @__PURE__ */ jsxRuntime.jsx(avatar.AvatarFallback, { className: "bg-blimu-muted text-blimu-muted-foreground text-sm font-medium", children: fallbackText })
20
+ ] });
21
+ }
22
+ exports.UserAvatar = UserAvatar;
2
23
  //# sourceMappingURL=user-avatar.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-avatar.cjs","sources":["../../src/components/user-avatar.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Avatar, AvatarFallback, AvatarImage } from './ui/avatar';\nimport { cn } from '../lib/utils';\nimport { avatarVariants, type AvatarVariants } from '../lib/variants';\n\nexport interface UserAvatarProps extends React.ComponentPropsWithoutRef<typeof Avatar> {\n /**\n * Image source URL\n */\n src?: string;\n\n /**\n * Alt text for the image\n */\n alt?: string;\n\n /**\n * Fallback text or initials to display when image is not available\n */\n fallback?: string;\n\n /**\n * Size variant\n * @default \"default\"\n */\n size?: AvatarVariants['size'];\n\n /**\n * Custom className\n */\n className?: string;\n}\n\n/**\n * UserAvatar component that displays a user's profile picture with fallback\n *\n * @example\n * ```tsx\n * <UserAvatar\n * src=\"/avatar.jpg\"\n * alt=\"John Doe\"\n * fallback=\"JD\"\n * size=\"lg\"\n * />\n * ```\n */\nexport function UserAvatar({\n src,\n alt,\n fallback,\n size = 'default',\n className,\n ...props\n}: UserAvatarProps) {\n const fallbackText =\n fallback ||\n alt\n ?.split(' ')\n .map((n) => n[0])\n .join('')\n .toUpperCase()\n .slice(0, 2) ||\n 'U';\n\n return (\n <Avatar className={cn(avatarVariants({ size }), className)} {...props}>\n {src && <AvatarImage src={src} alt={alt} />}\n <AvatarFallback className=\"bg-blimu-muted text-blimu-muted-foreground text-sm font-medium\">\n {fallbackText}\n </AvatarFallback>\n </Avatar>\n );\n}\n"],"names":["UserAvatar","src","alt","fallback","size","className","props","fallbackText","n","jsxs","Avatar","cn","avatarVariants","jsx","AvatarImage","AvatarFallback"],"mappings":"wOA+CO,SAASA,EAAW,CACzB,IAAAC,EACA,IAAAC,EACA,SAAAC,EACA,KAAAC,EAAO,UACP,UAAAC,EACA,GAAGC,CACL,EAAoB,CAClB,MAAMC,EACJJ,GACAD,GACI,MAAM,GAAG,EACV,IAAKM,GAAMA,EAAE,CAAC,CAAC,EACf,KAAK,EAAE,EACP,cACA,MAAM,EAAG,CAAC,GACb,IAEF,OACEC,EAAAA,KAACC,EAAAA,OAAA,CAAO,UAAWC,EAAAA,GAAGC,EAAAA,eAAe,CAAE,KAAAR,CAAA,CAAM,EAAGC,CAAS,EAAI,GAAGC,EAC7D,SAAA,CAAAL,GAAOY,EAAAA,IAACC,EAAAA,YAAA,CAAY,IAAAb,EAAU,IAAAC,CAAA,CAAU,EACzCW,EAAAA,IAACE,EAAAA,eAAA,CAAe,UAAU,iEACvB,SAAAR,CAAA,CACH,CAAA,EACF,CAEJ"}
1
+ {"version":3,"file":"user-avatar.cjs","sources":["../../src/components/user-avatar.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Avatar, AvatarFallback, AvatarImage } from './ui/avatar';\nimport { cn } from '../lib/utils';\nimport { avatarVariants, type AvatarVariants } from '../lib/variants';\n\nexport interface UserAvatarProps extends React.ComponentPropsWithoutRef<typeof Avatar> {\n /**\n * Image source URL\n */\n src?: string;\n\n /**\n * Alt text for the image\n */\n alt?: string;\n\n /**\n * Fallback text or initials to display when image is not available\n */\n fallback?: string;\n\n /**\n * Size variant\n * @default \"default\"\n */\n size?: AvatarVariants['size'];\n\n /**\n * Custom className\n */\n className?: string;\n}\n\n/**\n * UserAvatar component that displays a user's profile picture with fallback\n *\n * @example\n * ```tsx\n * <UserAvatar\n * src=\"/avatar.jpg\"\n * alt=\"John Doe\"\n * fallback=\"JD\"\n * size=\"lg\"\n * />\n * ```\n */\nexport function UserAvatar({\n src,\n alt,\n fallback,\n size = 'default',\n className,\n ...props\n}: UserAvatarProps) {\n const fallbackText =\n fallback ||\n alt\n ?.split(' ')\n .map((n) => n[0])\n .join('')\n .toUpperCase()\n .slice(0, 2) ||\n 'U';\n\n return (\n <Avatar className={cn(avatarVariants({ size }), className)} {...props}>\n {src && <AvatarImage src={src} alt={alt} />}\n <AvatarFallback className=\"bg-blimu-muted text-blimu-muted-foreground text-sm font-medium\">\n {fallbackText}\n </AvatarFallback>\n </Avatar>\n );\n}\n"],"names":["jsxs","Avatar","cn","avatarVariants","jsx","AvatarImage","AvatarFallback"],"mappings":";;;;;;;AA+CO,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA,GAAG;AACL,GAAoB;AAClB,QAAM,eACJ,YACA,KACI,MAAM,GAAG,EACV,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EACf,KAAK,EAAE,EACP,cACA,MAAM,GAAG,CAAC,KACb;AAEF,SACEA,2BAAAA,KAACC,OAAAA,QAAA,EAAO,WAAWC,MAAAA,GAAGC,SAAAA,eAAe,EAAE,KAAA,CAAM,GAAG,SAAS,GAAI,GAAG,OAC7D,UAAA;AAAA,IAAA,OAAOC,2BAAAA,IAACC,OAAAA,aAAA,EAAY,KAAU,IAAA,CAAU;AAAA,IACzCD,2BAAAA,IAACE,OAAAA,gBAAA,EAAe,WAAU,kEACvB,UAAA,aAAA,CACH;AAAA,EAAA,GACF;AAEJ;;"}
@@ -1,23 +1,23 @@
1
- import { jsxs as n, jsx as r } from "react/jsx-runtime";
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import "react";
3
- import { Avatar as p, AvatarImage as c, AvatarFallback as f } from "./ui/avatar.js";
4
- import { cn as u } from "../lib/utils.js";
5
- import { avatarVariants as d } from "../lib/variants.js";
6
- function j({
7
- src: t,
8
- alt: a,
9
- fallback: m,
10
- size: e = "default",
11
- className: o,
12
- ...i
3
+ import { Avatar, AvatarImage, AvatarFallback } from "./ui/avatar.js";
4
+ import { cn } from "../lib/utils.js";
5
+ import { avatarVariants } from "../lib/variants.js";
6
+ function UserAvatar({
7
+ src,
8
+ alt,
9
+ fallback,
10
+ size = "default",
11
+ className,
12
+ ...props
13
13
  }) {
14
- const s = m || a?.split(" ").map((l) => l[0]).join("").toUpperCase().slice(0, 2) || "U";
15
- return /* @__PURE__ */ n(p, { className: u(d({ size: e }), o), ...i, children: [
16
- t && /* @__PURE__ */ r(c, { src: t, alt: a }),
17
- /* @__PURE__ */ r(f, { className: "bg-blimu-muted text-blimu-muted-foreground text-sm font-medium", children: s })
14
+ const fallbackText = fallback || alt?.split(" ").map((n) => n[0]).join("").toUpperCase().slice(0, 2) || "U";
15
+ return /* @__PURE__ */ jsxs(Avatar, { className: cn(avatarVariants({ size }), className), ...props, children: [
16
+ src && /* @__PURE__ */ jsx(AvatarImage, { src, alt }),
17
+ /* @__PURE__ */ jsx(AvatarFallback, { className: "bg-blimu-muted text-blimu-muted-foreground text-sm font-medium", children: fallbackText })
18
18
  ] });
19
19
  }
20
20
  export {
21
- j as UserAvatar
21
+ UserAvatar
22
22
  };
23
23
  //# sourceMappingURL=user-avatar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-avatar.js","sources":["../../src/components/user-avatar.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Avatar, AvatarFallback, AvatarImage } from './ui/avatar';\nimport { cn } from '../lib/utils';\nimport { avatarVariants, type AvatarVariants } from '../lib/variants';\n\nexport interface UserAvatarProps extends React.ComponentPropsWithoutRef<typeof Avatar> {\n /**\n * Image source URL\n */\n src?: string;\n\n /**\n * Alt text for the image\n */\n alt?: string;\n\n /**\n * Fallback text or initials to display when image is not available\n */\n fallback?: string;\n\n /**\n * Size variant\n * @default \"default\"\n */\n size?: AvatarVariants['size'];\n\n /**\n * Custom className\n */\n className?: string;\n}\n\n/**\n * UserAvatar component that displays a user's profile picture with fallback\n *\n * @example\n * ```tsx\n * <UserAvatar\n * src=\"/avatar.jpg\"\n * alt=\"John Doe\"\n * fallback=\"JD\"\n * size=\"lg\"\n * />\n * ```\n */\nexport function UserAvatar({\n src,\n alt,\n fallback,\n size = 'default',\n className,\n ...props\n}: UserAvatarProps) {\n const fallbackText =\n fallback ||\n alt\n ?.split(' ')\n .map((n) => n[0])\n .join('')\n .toUpperCase()\n .slice(0, 2) ||\n 'U';\n\n return (\n <Avatar className={cn(avatarVariants({ size }), className)} {...props}>\n {src && <AvatarImage src={src} alt={alt} />}\n <AvatarFallback className=\"bg-blimu-muted text-blimu-muted-foreground text-sm font-medium\">\n {fallbackText}\n </AvatarFallback>\n </Avatar>\n );\n}\n"],"names":["UserAvatar","src","alt","fallback","size","className","props","fallbackText","n","jsxs","Avatar","cn","avatarVariants","jsx","AvatarImage","AvatarFallback"],"mappings":";;;;;AA+CO,SAASA,EAAW;AAAA,EACzB,KAAAC;AAAA,EACA,KAAAC;AAAA,EACA,UAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,WAAAC;AAAA,EACA,GAAGC;AACL,GAAoB;AAClB,QAAMC,IACJJ,KACAD,GACI,MAAM,GAAG,EACV,IAAI,CAACM,MAAMA,EAAE,CAAC,CAAC,EACf,KAAK,EAAE,EACP,cACA,MAAM,GAAG,CAAC,KACb;AAEF,SACE,gBAAAC,EAACC,GAAA,EAAO,WAAWC,EAAGC,EAAe,EAAE,MAAAR,EAAA,CAAM,GAAGC,CAAS,GAAI,GAAGC,GAC7D,UAAA;AAAA,IAAAL,KAAO,gBAAAY,EAACC,GAAA,EAAY,KAAAb,GAAU,KAAAC,EAAA,CAAU;AAAA,IACzC,gBAAAW,EAACE,GAAA,EAAe,WAAU,kEACvB,UAAAR,EAAA,CACH;AAAA,EAAA,GACF;AAEJ;"}
1
+ {"version":3,"file":"user-avatar.js","sources":["../../src/components/user-avatar.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Avatar, AvatarFallback, AvatarImage } from './ui/avatar';\nimport { cn } from '../lib/utils';\nimport { avatarVariants, type AvatarVariants } from '../lib/variants';\n\nexport interface UserAvatarProps extends React.ComponentPropsWithoutRef<typeof Avatar> {\n /**\n * Image source URL\n */\n src?: string;\n\n /**\n * Alt text for the image\n */\n alt?: string;\n\n /**\n * Fallback text or initials to display when image is not available\n */\n fallback?: string;\n\n /**\n * Size variant\n * @default \"default\"\n */\n size?: AvatarVariants['size'];\n\n /**\n * Custom className\n */\n className?: string;\n}\n\n/**\n * UserAvatar component that displays a user's profile picture with fallback\n *\n * @example\n * ```tsx\n * <UserAvatar\n * src=\"/avatar.jpg\"\n * alt=\"John Doe\"\n * fallback=\"JD\"\n * size=\"lg\"\n * />\n * ```\n */\nexport function UserAvatar({\n src,\n alt,\n fallback,\n size = 'default',\n className,\n ...props\n}: UserAvatarProps) {\n const fallbackText =\n fallback ||\n alt\n ?.split(' ')\n .map((n) => n[0])\n .join('')\n .toUpperCase()\n .slice(0, 2) ||\n 'U';\n\n return (\n <Avatar className={cn(avatarVariants({ size }), className)} {...props}>\n {src && <AvatarImage src={src} alt={alt} />}\n <AvatarFallback className=\"bg-blimu-muted text-blimu-muted-foreground text-sm font-medium\">\n {fallbackText}\n </AvatarFallback>\n </Avatar>\n );\n}\n"],"names":[],"mappings":";;;;;AA+CO,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA,GAAG;AACL,GAAoB;AAClB,QAAM,eACJ,YACA,KACI,MAAM,GAAG,EACV,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EACf,KAAK,EAAE,EACP,cACA,MAAM,GAAG,CAAC,KACb;AAEF,SACE,qBAAC,QAAA,EAAO,WAAW,GAAG,eAAe,EAAE,KAAA,CAAM,GAAG,SAAS,GAAI,GAAG,OAC7D,UAAA;AAAA,IAAA,OAAO,oBAAC,aAAA,EAAY,KAAU,IAAA,CAAU;AAAA,IACzC,oBAAC,gBAAA,EAAe,WAAU,kEACvB,UAAA,aAAA,CACH;AAAA,EAAA,GACF;AAEJ;"}
@@ -1,2 +1,40 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../node_modules/class-variance-authority/dist/index.cjs"),t=e.cva("inline-flex items-center justify-center rounded-full transition-colors outline-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blimu-ring focus-visible:ring-offset-2 focus-visible:ring-offset-blimu-background disabled:pointer-events-none disabled:opacity-50 hover:opacity-80 text-blimu-foreground p-1",{variants:{variant:{default:"bg-transparent",outline:"border border-blimu-input bg-blimu-background",ghost:"hover:bg-blimu-accent hover:text-blimu-accent-foreground"},size:{default:"h-10 min-w-[2.5rem]",sm:"h-8 min-w-[2rem]",lg:"h-12 min-w-[3rem]"}},defaultVariants:{variant:"default",size:"default"}}),i=e.cva("z-50 min-w-[260px] overflow-hidden rounded-blimu border border-blimu-border bg-blimu-popover text-blimu-popover-foreground shadow-md",{variants:{variant:{default:""}},defaultVariants:{variant:"default"}});exports.userButtonContentVariants=i;exports.userButtonTriggerVariants=t;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const index = require("../../node_modules/class-variance-authority/dist/index.cjs");
4
+ const userButtonTriggerVariants = index.cva(
5
+ "inline-flex items-center justify-center rounded-full transition-colors outline-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blimu-ring focus-visible:ring-offset-2 focus-visible:ring-offset-blimu-background disabled:pointer-events-none disabled:opacity-50 hover:opacity-80 text-blimu-foreground p-1",
6
+ {
7
+ variants: {
8
+ variant: {
9
+ default: "bg-transparent",
10
+ outline: "border border-blimu-input bg-blimu-background",
11
+ ghost: "hover:bg-blimu-accent hover:text-blimu-accent-foreground"
12
+ },
13
+ size: {
14
+ default: "h-10 min-w-[2.5rem]",
15
+ sm: "h-8 min-w-[2rem]",
16
+ lg: "h-12 min-w-[3rem]"
17
+ }
18
+ },
19
+ defaultVariants: {
20
+ variant: "default",
21
+ size: "default"
22
+ }
23
+ }
24
+ );
25
+ const userButtonContentVariants = index.cva(
26
+ "z-50 min-w-[260px] overflow-hidden rounded-blimu border border-blimu-border bg-blimu-popover text-blimu-popover-foreground shadow-md",
27
+ {
28
+ variants: {
29
+ variant: {
30
+ default: ""
31
+ }
32
+ },
33
+ defaultVariants: {
34
+ variant: "default"
35
+ }
36
+ }
37
+ );
38
+ exports.userButtonContentVariants = userButtonContentVariants;
39
+ exports.userButtonTriggerVariants = userButtonTriggerVariants;
2
40
  //# sourceMappingURL=styles.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.cjs","sources":["../../../src/components/user-button/styles.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\n/**\n * UserButton trigger variant styles\n */\nexport const userButtonTriggerVariants = cva(\n 'inline-flex items-center justify-center rounded-full transition-colors outline-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blimu-ring focus-visible:ring-offset-2 focus-visible:ring-offset-blimu-background disabled:pointer-events-none disabled:opacity-50 hover:opacity-80 text-blimu-foreground p-1',\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n outline: 'border border-blimu-input bg-blimu-background',\n ghost: 'hover:bg-blimu-accent hover:text-blimu-accent-foreground',\n },\n size: {\n default: 'h-10 min-w-[2.5rem]',\n sm: 'h-8 min-w-[2rem]',\n lg: 'h-12 min-w-[3rem]',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport type UserButtonTriggerVariants = VariantProps<typeof userButtonTriggerVariants>;\n\n/**\n * UserButton dropdown content styles\n */\nexport const userButtonContentVariants = cva(\n 'z-50 min-w-[260px] overflow-hidden rounded-blimu border border-blimu-border bg-blimu-popover text-blimu-popover-foreground shadow-md',\n {\n variants: {\n variant: {\n default: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nexport type UserButtonContentVariants = VariantProps<typeof userButtonContentVariants>;\n"],"names":["userButtonTriggerVariants","cva","userButtonContentVariants"],"mappings":"8JAKaA,EAA4BC,EAAAA,IACvC,uUACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,iBACT,QAAS,gDACT,MAAO,0DAAA,EAET,KAAM,CACJ,QAAS,sBACT,GAAI,mBACJ,GAAI,mBAAA,CACN,EAEF,gBAAiB,CACf,QAAS,UACT,KAAM,SAAA,CACR,CAEJ,EAOaC,EAA4BD,EAAAA,IACvC,uIACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,EAAA,CACX,EAEF,gBAAiB,CACf,QAAS,SAAA,CACX,CAEJ"}
1
+ {"version":3,"file":"styles.cjs","sources":["../../../src/components/user-button/styles.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\n/**\n * UserButton trigger variant styles\n */\nexport const userButtonTriggerVariants = cva(\n 'inline-flex items-center justify-center rounded-full transition-colors outline-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blimu-ring focus-visible:ring-offset-2 focus-visible:ring-offset-blimu-background disabled:pointer-events-none disabled:opacity-50 hover:opacity-80 text-blimu-foreground p-1',\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n outline: 'border border-blimu-input bg-blimu-background',\n ghost: 'hover:bg-blimu-accent hover:text-blimu-accent-foreground',\n },\n size: {\n default: 'h-10 min-w-[2.5rem]',\n sm: 'h-8 min-w-[2rem]',\n lg: 'h-12 min-w-[3rem]',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport type UserButtonTriggerVariants = VariantProps<typeof userButtonTriggerVariants>;\n\n/**\n * UserButton dropdown content styles\n */\nexport const userButtonContentVariants = cva(\n 'z-50 min-w-[260px] overflow-hidden rounded-blimu border border-blimu-border bg-blimu-popover text-blimu-popover-foreground shadow-md',\n {\n variants: {\n variant: {\n default: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nexport type UserButtonContentVariants = VariantProps<typeof userButtonContentVariants>;\n"],"names":["cva"],"mappings":";;;AAKO,MAAM,4BAA4BA,MAAAA;AAAAA,EACvC;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,SAAS;AAAA,QACT,OAAO;AAAA,MAAA;AAAA,MAET,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,IACN;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ;AAOO,MAAM,4BAA4BA,MAAAA;AAAAA,EACvC;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;;;"}
@@ -1,5 +1,5 @@
1
- import { cva as e } from "../../node_modules/class-variance-authority/dist/index.js";
2
- const r = e(
1
+ import { cva } from "../../node_modules/class-variance-authority/dist/index.js";
2
+ const userButtonTriggerVariants = cva(
3
3
  "inline-flex items-center justify-center rounded-full transition-colors outline-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blimu-ring focus-visible:ring-offset-2 focus-visible:ring-offset-blimu-background disabled:pointer-events-none disabled:opacity-50 hover:opacity-80 text-blimu-foreground p-1",
4
4
  {
5
5
  variants: {
@@ -19,7 +19,8 @@ const r = e(
19
19
  size: "default"
20
20
  }
21
21
  }
22
- ), n = e(
22
+ );
23
+ const userButtonContentVariants = cva(
23
24
  "z-50 min-w-[260px] overflow-hidden rounded-blimu border border-blimu-border bg-blimu-popover text-blimu-popover-foreground shadow-md",
24
25
  {
25
26
  variants: {
@@ -33,7 +34,7 @@ const r = e(
33
34
  }
34
35
  );
35
36
  export {
36
- n as userButtonContentVariants,
37
- r as userButtonTriggerVariants
37
+ userButtonContentVariants,
38
+ userButtonTriggerVariants
38
39
  };
39
40
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sources":["../../../src/components/user-button/styles.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\n/**\n * UserButton trigger variant styles\n */\nexport const userButtonTriggerVariants = cva(\n 'inline-flex items-center justify-center rounded-full transition-colors outline-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blimu-ring focus-visible:ring-offset-2 focus-visible:ring-offset-blimu-background disabled:pointer-events-none disabled:opacity-50 hover:opacity-80 text-blimu-foreground p-1',\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n outline: 'border border-blimu-input bg-blimu-background',\n ghost: 'hover:bg-blimu-accent hover:text-blimu-accent-foreground',\n },\n size: {\n default: 'h-10 min-w-[2.5rem]',\n sm: 'h-8 min-w-[2rem]',\n lg: 'h-12 min-w-[3rem]',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport type UserButtonTriggerVariants = VariantProps<typeof userButtonTriggerVariants>;\n\n/**\n * UserButton dropdown content styles\n */\nexport const userButtonContentVariants = cva(\n 'z-50 min-w-[260px] overflow-hidden rounded-blimu border border-blimu-border bg-blimu-popover text-blimu-popover-foreground shadow-md',\n {\n variants: {\n variant: {\n default: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nexport type UserButtonContentVariants = VariantProps<typeof userButtonContentVariants>;\n"],"names":["userButtonTriggerVariants","cva","userButtonContentVariants"],"mappings":";AAKO,MAAMA,IAA4BC;AAAA,EACvC;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,SAAS;AAAA,QACT,OAAO;AAAA,MAAA;AAAA,MAET,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,IACN;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ,GAOaC,IAA4BD;AAAA,EACvC;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;"}
1
+ {"version":3,"file":"styles.js","sources":["../../../src/components/user-button/styles.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\n/**\n * UserButton trigger variant styles\n */\nexport const userButtonTriggerVariants = cva(\n 'inline-flex items-center justify-center rounded-full transition-colors outline-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blimu-ring focus-visible:ring-offset-2 focus-visible:ring-offset-blimu-background disabled:pointer-events-none disabled:opacity-50 hover:opacity-80 text-blimu-foreground p-1',\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n outline: 'border border-blimu-input bg-blimu-background',\n ghost: 'hover:bg-blimu-accent hover:text-blimu-accent-foreground',\n },\n size: {\n default: 'h-10 min-w-[2.5rem]',\n sm: 'h-8 min-w-[2rem]',\n lg: 'h-12 min-w-[3rem]',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport type UserButtonTriggerVariants = VariantProps<typeof userButtonTriggerVariants>;\n\n/**\n * UserButton dropdown content styles\n */\nexport const userButtonContentVariants = cva(\n 'z-50 min-w-[260px] overflow-hidden rounded-blimu border border-blimu-border bg-blimu-popover text-blimu-popover-foreground shadow-md',\n {\n variants: {\n variant: {\n default: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nexport type UserButtonContentVariants = VariantProps<typeof userButtonContentVariants>;\n"],"names":[],"mappings":";AAKO,MAAM,4BAA4B;AAAA,EACvC;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,SAAS;AAAA,QACT,OAAO;AAAA,MAAA;AAAA,MAET,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,IACN;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ;AAOO,MAAM,4BAA4B;AAAA,EACvC;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;"}
@@ -1,2 +1,99 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime");require("react");const i=require("../ui/avatar.cjs"),r=require("../ui/dropdown-menu.cjs"),n=require("../../lib/utils.cjs"),d=require("../../hooks/use-auth.cjs"),x=require("./styles.cjs"),v=require("../../node_modules/lucide-react/dist/esm/icons/log-out.cjs");function y({className:p,classes:s,onManageAccount:w,variant:f,size:j,showNameInTrigger:l=!1,showEmailInTrigger:c=!1,avatarPos:h="start"}={}){const{logout:g}=d.useAuth(),{user:t}=d.useUser(),a=t?.firstName&&t?.lastName?`${t.firstName} ${t.lastName}`:t?.firstName||t?.email?.split("@")[0]||"User",o=a?.split(" ").map(b=>b[0]).join("").toUpperCase().slice(0,2)||"U";if(!t)return null;const N=l||c,u=e.jsx(i.Avatar,{className:n.cn("w-8 h-8",s?.avatar),children:e.jsx(i.AvatarFallback,{className:n.cn("bg-blimu-muted text-blimu-muted-foreground text-sm font-medium",s?.avatarFallback),children:o})}),m=N&&e.jsxs("div",{className:n.cn("flex flex-col items-start",s?.userInfo),children:[l&&e.jsx("span",{className:n.cn("text-sm leading-tight font-medium",s?.userName),children:a}),c&&e.jsx("span",{className:n.cn("text-xs leading-tight opacity-70",s?.userEmail),children:t.email})]});return e.jsxs(r.DropdownMenu,{children:[e.jsx(r.DropdownMenuTrigger,{asChild:!0,children:e.jsx("button",{className:n.cn(x.userButtonTriggerVariants({variant:f,size:j}),"flex items-center gap-2",p,s?.trigger),children:h==="start"?e.jsxs(e.Fragment,{children:[u,m]}):e.jsxs(e.Fragment,{children:[m,u]})})}),e.jsxs(r.DropdownMenuContent,{className:n.cn(x.userButtonContentVariants(),"w-64 p-0",s?.popover),align:"end",sideOffset:8,children:[e.jsx(r.DropdownMenuLabel,{className:"p-0 ",children:e.jsxs("div",{className:"flex items-center gap-3 p-4",children:[e.jsx(i.Avatar,{className:"size-10",children:e.jsx(i.AvatarFallback,{className:"bg-blimu-primary text-blimu-primary-foreground text-base font-medium",children:o})}),a&&e.jsxs("div",{className:"flex flex-col",children:[e.jsx("span",{className:"text-sm font-medium text-blimu-foreground",children:a}),e.jsx("span",{className:"text-xs text-blimu-muted-foreground",children:t.email})]})]})}),e.jsx(r.DropdownMenuSeparator,{className:"m-0"}),e.jsx("div",{className:"py-1.5 space-y-2",children:e.jsxs(r.DropdownMenuItem,{onClick:g,className:n.cn("flex items-center gap-3 text-sm cursor-pointer",s?.signOutButton),children:[e.jsx(v.default,{className:"w-4 h-4 text-blimu-muted-foreground"}),e.jsx("span",{children:"Sign out"})]})}),e.jsx(r.DropdownMenuSeparator,{className:"m-0"}),e.jsx("div",{className:"p-4 bg-blimu-muted/50",children:e.jsxs("div",{className:"flex justify-center items-center gap-2 text-xs text-blimu-muted-foreground",children:[e.jsx("span",{children:"Secured by"}),e.jsx("span",{className:"font-semibold text-blimu-foreground",children:"Blimu"})]})})]})]})}exports.UserButton=y;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ require("react");
5
+ const avatar = require("../ui/avatar.cjs");
6
+ const dropdownMenu = require("../ui/dropdown-menu.cjs");
7
+ const utils = require("../../lib/utils.cjs");
8
+ const useAuth = require("../../hooks/use-auth.cjs");
9
+ const styles = require("./styles.cjs");
10
+ const logOut = require("../../node_modules/lucide-react/dist/esm/icons/log-out.cjs");
11
+ function UserButton({
12
+ className,
13
+ classes,
14
+ onManageAccount,
15
+ variant,
16
+ size,
17
+ showNameInTrigger = false,
18
+ showEmailInTrigger = false,
19
+ avatarPos = "start"
20
+ } = {}) {
21
+ const { logout } = useAuth.useAuth();
22
+ const { user } = useAuth.useUser();
23
+ const displayName = user?.firstName && user?.lastName ? `${user.firstName} ${user.lastName}` : user?.firstName || user?.email?.split("@")[0] || "User";
24
+ const initials = displayName?.split(" ").map((n) => n[0]).join("").toUpperCase().slice(0, 2) || "U";
25
+ if (!user) {
26
+ return null;
27
+ }
28
+ const showText = showNameInTrigger || showEmailInTrigger;
29
+ const avatarElement = /* @__PURE__ */ jsxRuntime.jsx(avatar.Avatar, { className: utils.cn("w-8 h-8", classes?.avatar), children: /* @__PURE__ */ jsxRuntime.jsx(
30
+ avatar.AvatarFallback,
31
+ {
32
+ className: utils.cn(
33
+ "bg-blimu-muted text-blimu-muted-foreground text-sm font-medium",
34
+ classes?.avatarFallback
35
+ ),
36
+ children: initials
37
+ }
38
+ ) });
39
+ const textElement = showText && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: utils.cn("flex flex-col items-start", classes?.userInfo), children: [
40
+ showNameInTrigger && /* @__PURE__ */ jsxRuntime.jsx("span", { className: utils.cn("text-sm leading-tight font-medium", classes?.userName), children: displayName }),
41
+ showEmailInTrigger && /* @__PURE__ */ jsxRuntime.jsx("span", { className: utils.cn("text-xs leading-tight opacity-70", classes?.userEmail), children: user.email })
42
+ ] });
43
+ return /* @__PURE__ */ jsxRuntime.jsxs(dropdownMenu.DropdownMenu, { children: [
44
+ /* @__PURE__ */ jsxRuntime.jsx(dropdownMenu.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
45
+ "button",
46
+ {
47
+ className: utils.cn(
48
+ styles.userButtonTriggerVariants({ variant, size }),
49
+ "flex items-center gap-2",
50
+ className,
51
+ classes?.trigger
52
+ ),
53
+ children: avatarPos === "start" ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
54
+ avatarElement,
55
+ textElement
56
+ ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
57
+ textElement,
58
+ avatarElement
59
+ ] })
60
+ }
61
+ ) }),
62
+ /* @__PURE__ */ jsxRuntime.jsxs(
63
+ dropdownMenu.DropdownMenuContent,
64
+ {
65
+ className: utils.cn(styles.userButtonContentVariants(), "w-64 p-0", classes?.popover),
66
+ align: "end",
67
+ sideOffset: 8,
68
+ children: [
69
+ /* @__PURE__ */ jsxRuntime.jsx(dropdownMenu.DropdownMenuLabel, { className: "p-0 ", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 p-4", children: [
70
+ /* @__PURE__ */ jsxRuntime.jsx(avatar.Avatar, { className: "size-10", children: /* @__PURE__ */ jsxRuntime.jsx(avatar.AvatarFallback, { className: "bg-blimu-primary text-blimu-primary-foreground text-base font-medium", children: initials }) }),
71
+ displayName && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
72
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-blimu-foreground", children: displayName }),
73
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-blimu-muted-foreground", children: user.email })
74
+ ] })
75
+ ] }) }),
76
+ /* @__PURE__ */ jsxRuntime.jsx(dropdownMenu.DropdownMenuSeparator, { className: "m-0" }),
77
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "py-1.5 space-y-2", children: /* @__PURE__ */ jsxRuntime.jsxs(
78
+ dropdownMenu.DropdownMenuItem,
79
+ {
80
+ onClick: logout,
81
+ className: utils.cn("flex items-center gap-3 text-sm cursor-pointer", classes?.signOutButton),
82
+ children: [
83
+ /* @__PURE__ */ jsxRuntime.jsx(logOut.default, { className: "w-4 h-4 text-blimu-muted-foreground" }),
84
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Sign out" })
85
+ ]
86
+ }
87
+ ) }),
88
+ /* @__PURE__ */ jsxRuntime.jsx(dropdownMenu.DropdownMenuSeparator, { className: "m-0" }),
89
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4 bg-blimu-muted/50", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-center items-center gap-2 text-xs text-blimu-muted-foreground", children: [
90
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Secured by" }),
91
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold text-blimu-foreground", children: "Blimu" })
92
+ ] }) })
93
+ ]
94
+ }
95
+ )
96
+ ] });
97
+ }
98
+ exports.UserButton = UserButton;
2
99
  //# sourceMappingURL=user-button.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-button.cjs","sources":["../../../src/components/user-button/user-button.tsx"],"sourcesContent":["import React from 'react';\nimport { Avatar, AvatarFallback } from '@/components/ui/avatar';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '@/components/ui/dropdown-menu';\nimport { cn } from '@/lib/utils';\nimport { LogOut, Settings } from 'lucide-react';\n\nimport { useAuth, useUser } from '../../hooks/use-auth';\nimport type { BlimuComponentProps } from '../../types';\nimport {\n userButtonTriggerVariants,\n userButtonContentVariants,\n type UserButtonTriggerVariants,\n} from './styles';\n\nexport interface UserButtonProps extends BlimuComponentProps, UserButtonTriggerVariants {\n /** Callback when user clicks \"Manage account\" */\n onManageAccount?: () => void;\n /** Show user name in trigger button */\n showNameInTrigger?: boolean;\n /** Show user email in trigger button */\n showEmailInTrigger?: boolean;\n /** Avatar position when text is shown in trigger */\n avatarPos?: 'start' | 'end';\n}\n\nexport function UserButton({\n className,\n classes,\n onManageAccount,\n variant,\n size,\n showNameInTrigger = false,\n showEmailInTrigger = false,\n avatarPos = 'start',\n}: UserButtonProps = {}) {\n const { logout } = useAuth();\n const { user } = useUser();\n\n const displayName =\n user?.firstName && user?.lastName\n ? `${user.firstName} ${user.lastName}`\n : user?.firstName || user?.email?.split('@')[0] || 'User';\n\n const initials =\n displayName\n ?.split(' ')\n .map((n) => n[0])\n .join('')\n .toUpperCase()\n .slice(0, 2) || 'U';\n\n if (!user) {\n return null;\n }\n\n const showText = showNameInTrigger || showEmailInTrigger;\n\n const avatarElement = (\n <Avatar className={cn('w-8 h-8', classes?.avatar)}>\n <AvatarFallback\n className={cn(\n 'bg-blimu-muted text-blimu-muted-foreground text-sm font-medium',\n classes?.avatarFallback,\n )}\n >\n {initials}\n </AvatarFallback>\n </Avatar>\n );\n\n const textElement = showText && (\n <div className={cn('flex flex-col items-start', classes?.userInfo)}>\n {showNameInTrigger && (\n <span className={cn('text-sm leading-tight font-medium', classes?.userName)}>\n {displayName}\n </span>\n )}\n {showEmailInTrigger && (\n <span className={cn('text-xs leading-tight opacity-70', classes?.userEmail)}>\n {user.email}\n </span>\n )}\n </div>\n );\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <button\n className={cn(\n userButtonTriggerVariants({ variant, size }),\n 'flex items-center gap-2',\n className,\n classes?.trigger,\n )}\n >\n {avatarPos === 'start' ? (\n <>\n {avatarElement}\n {textElement}\n </>\n ) : (\n <>\n {textElement}\n {avatarElement}\n </>\n )}\n </button>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n className={cn(userButtonContentVariants(), 'w-64 p-0', classes?.popover)}\n align=\"end\"\n sideOffset={8}\n >\n <DropdownMenuLabel className=\"p-0 \">\n <div className=\"flex items-center gap-3 p-4\">\n <Avatar className=\"size-10\">\n <AvatarFallback className=\"bg-blimu-primary text-blimu-primary-foreground text-base font-medium\">\n {initials}\n </AvatarFallback>\n </Avatar>\n {displayName && (\n <div className=\"flex flex-col\">\n <span className=\"text-sm font-medium text-blimu-foreground\">{displayName}</span>\n <span className=\"text-xs text-blimu-muted-foreground\">{user.email}</span>\n </div>\n )}\n </div>\n </DropdownMenuLabel>\n\n <DropdownMenuSeparator className=\"m-0\" />\n <div className=\"py-1.5 space-y-2\">\n {/* <DropdownMenuItem\n onClick={onManageAccount}\n className={cn(\n 'flex items-center gap-3 text-sm cursor-pointer',\n classes?.manageAccountButton,\n )}\n >\n <Settings className=\"size-4 text-blimu-muted-foreground\" />\n <span>Manage account</span>\n </DropdownMenuItem> */}\n\n <DropdownMenuItem\n onClick={logout}\n className={cn('flex items-center gap-3 text-sm cursor-pointer', classes?.signOutButton)}\n >\n <LogOut className=\"w-4 h-4 text-blimu-muted-foreground\" />\n <span>Sign out</span>\n </DropdownMenuItem>\n </div>\n\n <DropdownMenuSeparator className=\"m-0\" />\n\n <div className=\"p-4 bg-blimu-muted/50\">\n <div className=\"flex justify-center items-center gap-2 text-xs text-blimu-muted-foreground\">\n <span>Secured by</span>\n <span className=\"font-semibold text-blimu-foreground\">Blimu</span>\n </div>\n </div>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n"],"names":["UserButton","className","classes","onManageAccount","variant","size","showNameInTrigger","showEmailInTrigger","avatarPos","logout","useAuth","user","useUser","displayName","initials","n","showText","avatarElement","Avatar","cn","jsx","AvatarFallback","textElement","jsxs","DropdownMenu","DropdownMenuTrigger","userButtonTriggerVariants","Fragment","DropdownMenuContent","userButtonContentVariants","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuItem","LogOut"],"mappings":"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"}
1
+ {"version":3,"file":"user-button.cjs","sources":["../../../src/components/user-button/user-button.tsx"],"sourcesContent":["import React from 'react';\nimport { Avatar, AvatarFallback } from '@/components/ui/avatar';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '@/components/ui/dropdown-menu';\nimport { cn } from '@/lib/utils';\nimport { LogOut, Settings } from 'lucide-react';\n\nimport { useAuth, useUser } from '../../hooks/use-auth';\nimport type { BlimuComponentProps } from '../../types';\nimport {\n userButtonTriggerVariants,\n userButtonContentVariants,\n type UserButtonTriggerVariants,\n} from './styles';\n\nexport interface UserButtonProps extends BlimuComponentProps, UserButtonTriggerVariants {\n /** Callback when user clicks \"Manage account\" */\n onManageAccount?: () => void;\n /** Show user name in trigger button */\n showNameInTrigger?: boolean;\n /** Show user email in trigger button */\n showEmailInTrigger?: boolean;\n /** Avatar position when text is shown in trigger */\n avatarPos?: 'start' | 'end';\n}\n\nexport function UserButton({\n className,\n classes,\n onManageAccount,\n variant,\n size,\n showNameInTrigger = false,\n showEmailInTrigger = false,\n avatarPos = 'start',\n}: UserButtonProps = {}) {\n const { logout } = useAuth();\n const { user } = useUser();\n\n const displayName =\n user?.firstName && user?.lastName\n ? `${user.firstName} ${user.lastName}`\n : user?.firstName || user?.email?.split('@')[0] || 'User';\n\n const initials =\n displayName\n ?.split(' ')\n .map((n) => n[0])\n .join('')\n .toUpperCase()\n .slice(0, 2) || 'U';\n\n if (!user) {\n return null;\n }\n\n const showText = showNameInTrigger || showEmailInTrigger;\n\n const avatarElement = (\n <Avatar className={cn('w-8 h-8', classes?.avatar)}>\n <AvatarFallback\n className={cn(\n 'bg-blimu-muted text-blimu-muted-foreground text-sm font-medium',\n classes?.avatarFallback,\n )}\n >\n {initials}\n </AvatarFallback>\n </Avatar>\n );\n\n const textElement = showText && (\n <div className={cn('flex flex-col items-start', classes?.userInfo)}>\n {showNameInTrigger && (\n <span className={cn('text-sm leading-tight font-medium', classes?.userName)}>\n {displayName}\n </span>\n )}\n {showEmailInTrigger && (\n <span className={cn('text-xs leading-tight opacity-70', classes?.userEmail)}>\n {user.email}\n </span>\n )}\n </div>\n );\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <button\n className={cn(\n userButtonTriggerVariants({ variant, size }),\n 'flex items-center gap-2',\n className,\n classes?.trigger,\n )}\n >\n {avatarPos === 'start' ? (\n <>\n {avatarElement}\n {textElement}\n </>\n ) : (\n <>\n {textElement}\n {avatarElement}\n </>\n )}\n </button>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n className={cn(userButtonContentVariants(), 'w-64 p-0', classes?.popover)}\n align=\"end\"\n sideOffset={8}\n >\n <DropdownMenuLabel className=\"p-0 \">\n <div className=\"flex items-center gap-3 p-4\">\n <Avatar className=\"size-10\">\n <AvatarFallback className=\"bg-blimu-primary text-blimu-primary-foreground text-base font-medium\">\n {initials}\n </AvatarFallback>\n </Avatar>\n {displayName && (\n <div className=\"flex flex-col\">\n <span className=\"text-sm font-medium text-blimu-foreground\">{displayName}</span>\n <span className=\"text-xs text-blimu-muted-foreground\">{user.email}</span>\n </div>\n )}\n </div>\n </DropdownMenuLabel>\n\n <DropdownMenuSeparator className=\"m-0\" />\n <div className=\"py-1.5 space-y-2\">\n {/* <DropdownMenuItem\n onClick={onManageAccount}\n className={cn(\n 'flex items-center gap-3 text-sm cursor-pointer',\n classes?.manageAccountButton,\n )}\n >\n <Settings className=\"size-4 text-blimu-muted-foreground\" />\n <span>Manage account</span>\n </DropdownMenuItem> */}\n\n <DropdownMenuItem\n onClick={logout}\n className={cn('flex items-center gap-3 text-sm cursor-pointer', classes?.signOutButton)}\n >\n <LogOut className=\"w-4 h-4 text-blimu-muted-foreground\" />\n <span>Sign out</span>\n </DropdownMenuItem>\n </div>\n\n <DropdownMenuSeparator className=\"m-0\" />\n\n <div className=\"p-4 bg-blimu-muted/50\">\n <div className=\"flex justify-center items-center gap-2 text-xs text-blimu-muted-foreground\">\n <span>Secured by</span>\n <span className=\"font-semibold text-blimu-foreground\">Blimu</span>\n </div>\n </div>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n"],"names":["useAuth","useUser","Avatar","cn","jsx","AvatarFallback","jsxs","DropdownMenu","DropdownMenuTrigger","userButtonTriggerVariants","Fragment","DropdownMenuContent","userButtonContentVariants","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuItem","LogOut"],"mappings":"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"}
@@ -1,86 +1,92 @@
1
- import { jsx as e, jsxs as r, Fragment as d } from "react/jsx-runtime";
1
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
2
  import "react";
3
- import { Avatar as u, AvatarFallback as p } from "../ui/avatar.js";
4
- import { DropdownMenu as y, DropdownMenuTrigger as M, DropdownMenuContent as D, DropdownMenuLabel as B, DropdownMenuSeparator as f, DropdownMenuItem as C } from "../ui/dropdown-menu.js";
5
- import { cn as n } from "../../lib/utils.js";
6
- import { useAuth as U, useUser as j } from "../../hooks/use-auth.js";
7
- import { userButtonTriggerVariants as A, userButtonContentVariants as k } from "./styles.js";
8
- import F from "../../node_modules/lucide-react/dist/esm/icons/log-out.js";
9
- function G({
10
- className: x,
11
- classes: a,
12
- onManageAccount: O,
13
- variant: h,
14
- size: N,
15
- showNameInTrigger: m = !1,
16
- showEmailInTrigger: s = !1,
17
- avatarPos: g = "start"
3
+ import { Avatar, AvatarFallback } from "../ui/avatar.js";
4
+ import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuItem } from "../ui/dropdown-menu.js";
5
+ import { cn } from "../../lib/utils.js";
6
+ import { useAuth, useUser } from "../../hooks/use-auth.js";
7
+ import { userButtonTriggerVariants, userButtonContentVariants } from "./styles.js";
8
+ import LogOut from "../../node_modules/lucide-react/dist/esm/icons/log-out.js";
9
+ function UserButton({
10
+ className,
11
+ classes,
12
+ onManageAccount,
13
+ variant,
14
+ size,
15
+ showNameInTrigger = false,
16
+ showEmailInTrigger = false,
17
+ avatarPos = "start"
18
18
  } = {}) {
19
- const { logout: b } = U(), { user: t } = j(), i = t?.firstName && t?.lastName ? `${t.firstName} ${t.lastName}` : t?.firstName || t?.email?.split("@")[0] || "User", l = i?.split(" ").map((w) => w[0]).join("").toUpperCase().slice(0, 2) || "U";
20
- if (!t)
19
+ const { logout } = useAuth();
20
+ const { user } = useUser();
21
+ const displayName = user?.firstName && user?.lastName ? `${user.firstName} ${user.lastName}` : user?.firstName || user?.email?.split("@")[0] || "User";
22
+ const initials = displayName?.split(" ").map((n) => n[0]).join("").toUpperCase().slice(0, 2) || "U";
23
+ if (!user) {
21
24
  return null;
22
- const v = m || s, o = /* @__PURE__ */ e(u, { className: n("w-8 h-8", a?.avatar), children: /* @__PURE__ */ e(
23
- p,
25
+ }
26
+ const showText = showNameInTrigger || showEmailInTrigger;
27
+ const avatarElement = /* @__PURE__ */ jsx(Avatar, { className: cn("w-8 h-8", classes?.avatar), children: /* @__PURE__ */ jsx(
28
+ AvatarFallback,
24
29
  {
25
- className: n(
30
+ className: cn(
26
31
  "bg-blimu-muted text-blimu-muted-foreground text-sm font-medium",
27
- a?.avatarFallback
32
+ classes?.avatarFallback
28
33
  ),
29
- children: l
34
+ children: initials
30
35
  }
31
- ) }), c = v && /* @__PURE__ */ r("div", { className: n("flex flex-col items-start", a?.userInfo), children: [
32
- m && /* @__PURE__ */ e("span", { className: n("text-sm leading-tight font-medium", a?.userName), children: i }),
33
- s && /* @__PURE__ */ e("span", { className: n("text-xs leading-tight opacity-70", a?.userEmail), children: t.email })
36
+ ) });
37
+ const textElement = showText && /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col items-start", classes?.userInfo), children: [
38
+ showNameInTrigger && /* @__PURE__ */ jsx("span", { className: cn("text-sm leading-tight font-medium", classes?.userName), children: displayName }),
39
+ showEmailInTrigger && /* @__PURE__ */ jsx("span", { className: cn("text-xs leading-tight opacity-70", classes?.userEmail), children: user.email })
34
40
  ] });
35
- return /* @__PURE__ */ r(y, { children: [
36
- /* @__PURE__ */ e(M, { asChild: !0, children: /* @__PURE__ */ e(
41
+ return /* @__PURE__ */ jsxs(DropdownMenu, { children: [
42
+ /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
37
43
  "button",
38
44
  {
39
- className: n(
40
- A({ variant: h, size: N }),
45
+ className: cn(
46
+ userButtonTriggerVariants({ variant, size }),
41
47
  "flex items-center gap-2",
42
- x,
43
- a?.trigger
48
+ className,
49
+ classes?.trigger
44
50
  ),
45
- children: g === "start" ? /* @__PURE__ */ r(d, { children: [
46
- o,
47
- c
48
- ] }) : /* @__PURE__ */ r(d, { children: [
49
- c,
50
- o
51
+ children: avatarPos === "start" ? /* @__PURE__ */ jsxs(Fragment, { children: [
52
+ avatarElement,
53
+ textElement
54
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
55
+ textElement,
56
+ avatarElement
51
57
  ] })
52
58
  }
53
59
  ) }),
54
- /* @__PURE__ */ r(
55
- D,
60
+ /* @__PURE__ */ jsxs(
61
+ DropdownMenuContent,
56
62
  {
57
- className: n(k(), "w-64 p-0", a?.popover),
63
+ className: cn(userButtonContentVariants(), "w-64 p-0", classes?.popover),
58
64
  align: "end",
59
65
  sideOffset: 8,
60
66
  children: [
61
- /* @__PURE__ */ e(B, { className: "p-0 ", children: /* @__PURE__ */ r("div", { className: "flex items-center gap-3 p-4", children: [
62
- /* @__PURE__ */ e(u, { className: "size-10", children: /* @__PURE__ */ e(p, { className: "bg-blimu-primary text-blimu-primary-foreground text-base font-medium", children: l }) }),
63
- i && /* @__PURE__ */ r("div", { className: "flex flex-col", children: [
64
- /* @__PURE__ */ e("span", { className: "text-sm font-medium text-blimu-foreground", children: i }),
65
- /* @__PURE__ */ e("span", { className: "text-xs text-blimu-muted-foreground", children: t.email })
67
+ /* @__PURE__ */ jsx(DropdownMenuLabel, { className: "p-0 ", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 p-4", children: [
68
+ /* @__PURE__ */ jsx(Avatar, { className: "size-10", children: /* @__PURE__ */ jsx(AvatarFallback, { className: "bg-blimu-primary text-blimu-primary-foreground text-base font-medium", children: initials }) }),
69
+ displayName && /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
70
+ /* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-blimu-foreground", children: displayName }),
71
+ /* @__PURE__ */ jsx("span", { className: "text-xs text-blimu-muted-foreground", children: user.email })
66
72
  ] })
67
73
  ] }) }),
68
- /* @__PURE__ */ e(f, { className: "m-0" }),
69
- /* @__PURE__ */ e("div", { className: "py-1.5 space-y-2", children: /* @__PURE__ */ r(
70
- C,
74
+ /* @__PURE__ */ jsx(DropdownMenuSeparator, { className: "m-0" }),
75
+ /* @__PURE__ */ jsx("div", { className: "py-1.5 space-y-2", children: /* @__PURE__ */ jsxs(
76
+ DropdownMenuItem,
71
77
  {
72
- onClick: b,
73
- className: n("flex items-center gap-3 text-sm cursor-pointer", a?.signOutButton),
78
+ onClick: logout,
79
+ className: cn("flex items-center gap-3 text-sm cursor-pointer", classes?.signOutButton),
74
80
  children: [
75
- /* @__PURE__ */ e(F, { className: "w-4 h-4 text-blimu-muted-foreground" }),
76
- /* @__PURE__ */ e("span", { children: "Sign out" })
81
+ /* @__PURE__ */ jsx(LogOut, { className: "w-4 h-4 text-blimu-muted-foreground" }),
82
+ /* @__PURE__ */ jsx("span", { children: "Sign out" })
77
83
  ]
78
84
  }
79
85
  ) }),
80
- /* @__PURE__ */ e(f, { className: "m-0" }),
81
- /* @__PURE__ */ e("div", { className: "p-4 bg-blimu-muted/50", children: /* @__PURE__ */ r("div", { className: "flex justify-center items-center gap-2 text-xs text-blimu-muted-foreground", children: [
82
- /* @__PURE__ */ e("span", { children: "Secured by" }),
83
- /* @__PURE__ */ e("span", { className: "font-semibold text-blimu-foreground", children: "Blimu" })
86
+ /* @__PURE__ */ jsx(DropdownMenuSeparator, { className: "m-0" }),
87
+ /* @__PURE__ */ jsx("div", { className: "p-4 bg-blimu-muted/50", children: /* @__PURE__ */ jsxs("div", { className: "flex justify-center items-center gap-2 text-xs text-blimu-muted-foreground", children: [
88
+ /* @__PURE__ */ jsx("span", { children: "Secured by" }),
89
+ /* @__PURE__ */ jsx("span", { className: "font-semibold text-blimu-foreground", children: "Blimu" })
84
90
  ] }) })
85
91
  ]
86
92
  }
@@ -88,6 +94,6 @@ function G({
88
94
  ] });
89
95
  }
90
96
  export {
91
- G as UserButton
97
+ UserButton
92
98
  };
93
99
  //# sourceMappingURL=user-button.js.map