@blimu/react 0.6.0

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 (516) hide show
  1. package/README.md +552 -0
  2. package/dist/_virtual/index.cjs +2 -0
  3. package/dist/_virtual/index.cjs.map +1 -0
  4. package/dist/_virtual/index.js +6 -0
  5. package/dist/_virtual/index.js.map +1 -0
  6. package/dist/_virtual/index2.cjs +2 -0
  7. package/dist/_virtual/index2.cjs.map +1 -0
  8. package/dist/_virtual/index2.js +5 -0
  9. package/dist/_virtual/index2.js.map +1 -0
  10. package/dist/_virtual/use-sync-external-store-shim.development.cjs +2 -0
  11. package/dist/_virtual/use-sync-external-store-shim.development.cjs.map +1 -0
  12. package/dist/_virtual/use-sync-external-store-shim.development.js +5 -0
  13. package/dist/_virtual/use-sync-external-store-shim.development.js.map +1 -0
  14. package/dist/_virtual/use-sync-external-store-shim.production.cjs +2 -0
  15. package/dist/_virtual/use-sync-external-store-shim.production.cjs.map +1 -0
  16. package/dist/_virtual/use-sync-external-store-shim.production.js +5 -0
  17. package/dist/_virtual/use-sync-external-store-shim.production.js.map +1 -0
  18. package/dist/client/auth.service.cjs +2 -0
  19. package/dist/client/auth.service.cjs.map +1 -0
  20. package/dist/client/auth.service.d.ts +50 -0
  21. package/dist/client/auth.service.d.ts.map +1 -0
  22. package/dist/client/auth.service.js +153 -0
  23. package/dist/client/auth.service.js.map +1 -0
  24. package/dist/client/auth.service.test-service.d.ts +39 -0
  25. package/dist/client/auth.service.test-service.d.ts.map +1 -0
  26. package/dist/client/external-store.cjs +2 -0
  27. package/dist/client/external-store.cjs.map +1 -0
  28. package/dist/client/external-store.d.ts +20 -0
  29. package/dist/client/external-store.d.ts.map +1 -0
  30. package/dist/client/external-store.js +13 -0
  31. package/dist/client/external-store.js.map +1 -0
  32. package/dist/client/runtime-client.cjs +2 -0
  33. package/dist/client/runtime-client.cjs.map +1 -0
  34. package/dist/client/runtime-client.d.ts +49 -0
  35. package/dist/client/runtime-client.d.ts.map +1 -0
  36. package/dist/client/runtime-client.js +103 -0
  37. package/dist/client/runtime-client.js.map +1 -0
  38. package/dist/components/index.d.ts +11 -0
  39. package/dist/components/index.d.ts.map +1 -0
  40. package/dist/components/members-list.cjs +2 -0
  41. package/dist/components/members-list.cjs.map +1 -0
  42. package/dist/components/members-list.d.ts +70 -0
  43. package/dist/components/members-list.d.ts.map +1 -0
  44. package/dist/components/members-list.js +111 -0
  45. package/dist/components/members-list.js.map +1 -0
  46. package/dist/components/redirect-to-sign-in.cjs +2 -0
  47. package/dist/components/redirect-to-sign-in.cjs.map +1 -0
  48. package/dist/components/redirect-to-sign-in.d.ts +39 -0
  49. package/dist/components/redirect-to-sign-in.d.ts.map +1 -0
  50. package/dist/components/redirect-to-sign-in.js +27 -0
  51. package/dist/components/redirect-to-sign-in.js.map +1 -0
  52. package/dist/components/sign-in-button/styles.d.ts +7 -0
  53. package/dist/components/sign-in-button/styles.d.ts.map +1 -0
  54. package/dist/components/sign-in-button.cjs +2 -0
  55. package/dist/components/sign-in-button.cjs.map +1 -0
  56. package/dist/components/sign-in-button.d.ts +47 -0
  57. package/dist/components/sign-in-button.d.ts.map +1 -0
  58. package/dist/components/sign-in-button.js +33 -0
  59. package/dist/components/sign-in-button.js.map +1 -0
  60. package/dist/components/ui/avatar.cjs +2 -0
  61. package/dist/components/ui/avatar.cjs.map +1 -0
  62. package/dist/components/ui/avatar.d.ts +7 -0
  63. package/dist/components/ui/avatar.d.ts.map +1 -0
  64. package/dist/components/ui/avatar.js +43 -0
  65. package/dist/components/ui/avatar.js.map +1 -0
  66. package/dist/components/ui/badge.d.ts +10 -0
  67. package/dist/components/ui/badge.d.ts.map +1 -0
  68. package/dist/components/ui/dropdown-menu.cjs +2 -0
  69. package/dist/components/ui/dropdown-menu.cjs.map +1 -0
  70. package/dist/components/ui/dropdown-menu.d.ts +28 -0
  71. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  72. package/dist/components/ui/dropdown-menu.js +130 -0
  73. package/dist/components/ui/dropdown-menu.js.map +1 -0
  74. package/dist/components/ui/popover.d.ts +8 -0
  75. package/dist/components/ui/popover.d.ts.map +1 -0
  76. package/dist/components/ui/separator.d.ts +5 -0
  77. package/dist/components/ui/separator.d.ts.map +1 -0
  78. package/dist/components/user-avatar/styles.d.ts +7 -0
  79. package/dist/components/user-avatar/styles.d.ts.map +1 -0
  80. package/dist/components/user-avatar.cjs +2 -0
  81. package/dist/components/user-avatar.cjs.map +1 -0
  82. package/dist/components/user-avatar.d.ts +41 -0
  83. package/dist/components/user-avatar.d.ts.map +1 -0
  84. package/dist/components/user-avatar.js +23 -0
  85. package/dist/components/user-avatar.js.map +1 -0
  86. package/dist/components/user-button/styles.cjs +2 -0
  87. package/dist/components/user-button/styles.cjs.map +1 -0
  88. package/dist/components/user-button/styles.d.ts +17 -0
  89. package/dist/components/user-button/styles.d.ts.map +1 -0
  90. package/dist/components/user-button/styles.js +39 -0
  91. package/dist/components/user-button/styles.js.map +1 -0
  92. package/dist/components/user-button/user-button.cjs +2 -0
  93. package/dist/components/user-button/user-button.cjs.map +1 -0
  94. package/dist/components/user-button/user-button.d.ts +15 -0
  95. package/dist/components/user-button/user-button.d.ts.map +1 -0
  96. package/dist/components/user-button/user-button.js +93 -0
  97. package/dist/components/user-button/user-button.js.map +1 -0
  98. package/dist/components.cjs +2 -0
  99. package/dist/components.cjs.map +1 -0
  100. package/dist/components.js +13 -0
  101. package/dist/components.js.map +1 -0
  102. package/dist/hooks/index.d.ts +7 -0
  103. package/dist/hooks/index.d.ts.map +1 -0
  104. package/dist/hooks/use-auth.cjs +2 -0
  105. package/dist/hooks/use-auth.cjs.map +1 -0
  106. package/dist/hooks/use-auth.d.ts +92 -0
  107. package/dist/hooks/use-auth.d.ts.map +1 -0
  108. package/dist/hooks/use-auth.js +41 -0
  109. package/dist/hooks/use-auth.js.map +1 -0
  110. package/dist/hooks/use-client.cjs +2 -0
  111. package/dist/hooks/use-client.cjs.map +1 -0
  112. package/dist/hooks/use-client.d.ts +27 -0
  113. package/dist/hooks/use-client.d.ts.map +1 -0
  114. package/dist/hooks/use-client.js +9 -0
  115. package/dist/hooks/use-client.js.map +1 -0
  116. package/dist/hooks/use-members.cjs +2 -0
  117. package/dist/hooks/use-members.cjs.map +1 -0
  118. package/dist/hooks/use-members.d.ts +50 -0
  119. package/dist/hooks/use-members.d.ts.map +1 -0
  120. package/dist/hooks/use-members.js +49 -0
  121. package/dist/hooks/use-members.js.map +1 -0
  122. package/dist/hooks/use-store.cjs +2 -0
  123. package/dist/hooks/use-store.cjs.map +1 -0
  124. package/dist/hooks/use-store.d.ts +24 -0
  125. package/dist/hooks/use-store.d.ts.map +1 -0
  126. package/dist/hooks/use-store.js +18 -0
  127. package/dist/hooks/use-store.js.map +1 -0
  128. package/dist/hooks.cjs +2 -0
  129. package/dist/hooks.cjs.map +1 -0
  130. package/dist/hooks.js +14 -0
  131. package/dist/hooks.js.map +1 -0
  132. package/dist/index.cjs +2 -0
  133. package/dist/index.cjs.map +1 -0
  134. package/dist/index.d.ts +13 -0
  135. package/dist/index.d.ts.map +1 -0
  136. package/dist/index.js +38 -0
  137. package/dist/index.js.map +1 -0
  138. package/dist/lib/utils.cjs +2 -0
  139. package/dist/lib/utils.cjs.map +1 -0
  140. package/dist/lib/utils.d.ts +7 -0
  141. package/dist/lib/utils.d.ts.map +1 -0
  142. package/dist/lib/utils.js +9 -0
  143. package/dist/lib/utils.js.map +1 -0
  144. package/dist/lib/variants.cjs +2 -0
  145. package/dist/lib/variants.cjs.map +1 -0
  146. package/dist/lib/variants.d.ts +37 -0
  147. package/dist/lib/variants.d.ts.map +1 -0
  148. package/dist/lib/variants.js +46 -0
  149. package/dist/lib/variants.js.map +1 -0
  150. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.cjs +2 -0
  151. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.cjs.map +1 -0
  152. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +528 -0
  153. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -0
  154. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs +2 -0
  155. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs.map +1 -0
  156. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +403 -0
  157. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -0
  158. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs +2 -0
  159. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.map +1 -0
  160. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +209 -0
  161. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +1 -0
  162. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs +2 -0
  163. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs.map +1 -0
  164. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs +2 -0
  165. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs.map +1 -0
  166. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +137 -0
  167. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -0
  168. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +131 -0
  169. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -0
  170. package/dist/node_modules/@radix-ui/primitive/dist/index.cjs +2 -0
  171. package/dist/node_modules/@radix-ui/primitive/dist/index.cjs.map +1 -0
  172. package/dist/node_modules/@radix-ui/primitive/dist/index.js +10 -0
  173. package/dist/node_modules/@radix-ui/primitive/dist/index.js.map +1 -0
  174. package/dist/node_modules/@radix-ui/react-arrow/dist/index.cjs +2 -0
  175. package/dist/node_modules/@radix-ui/react-arrow/dist/index.cjs.map +1 -0
  176. package/dist/node_modules/@radix-ui/react-arrow/dist/index.js +25 -0
  177. package/dist/node_modules/@radix-ui/react-arrow/dist/index.js.map +1 -0
  178. package/dist/node_modules/@radix-ui/react-avatar/dist/index.cjs +2 -0
  179. package/dist/node_modules/@radix-ui/react-avatar/dist/index.cjs.map +1 -0
  180. package/dist/node_modules/@radix-ui/react-avatar/dist/index.js +76 -0
  181. package/dist/node_modules/@radix-ui/react-avatar/dist/index.js.map +1 -0
  182. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.cjs +2 -0
  183. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.cjs.map +1 -0
  184. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.js +56 -0
  185. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.js.map +1 -0
  186. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.cjs +2 -0
  187. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.cjs.map +1 -0
  188. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.js +33 -0
  189. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.js.map +1 -0
  190. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.cjs +2 -0
  191. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.cjs.map +1 -0
  192. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.js +59 -0
  193. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -0
  194. package/dist/node_modules/@radix-ui/react-collection/dist/index.cjs +2 -0
  195. package/dist/node_modules/@radix-ui/react-collection/dist/index.cjs.map +1 -0
  196. package/dist/node_modules/@radix-ui/react-collection/dist/index.js +51 -0
  197. package/dist/node_modules/@radix-ui/react-collection/dist/index.js.map +1 -0
  198. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.cjs +2 -0
  199. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.cjs.map +1 -0
  200. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js +30 -0
  201. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +1 -0
  202. package/dist/node_modules/@radix-ui/react-context/dist/index.cjs +2 -0
  203. package/dist/node_modules/@radix-ui/react-context/dist/index.cjs.map +1 -0
  204. package/dist/node_modules/@radix-ui/react-context/dist/index.js +54 -0
  205. package/dist/node_modules/@radix-ui/react-context/dist/index.js.map +1 -0
  206. package/dist/node_modules/@radix-ui/react-direction/dist/index.cjs +2 -0
  207. package/dist/node_modules/@radix-ui/react-direction/dist/index.cjs.map +1 -0
  208. package/dist/node_modules/@radix-ui/react-direction/dist/index.js +11 -0
  209. package/dist/node_modules/@radix-ui/react-direction/dist/index.js.map +1 -0
  210. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs +2 -0
  211. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs.map +1 -0
  212. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +128 -0
  213. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +1 -0
  214. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.cjs +2 -0
  215. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.cjs.map +1 -0
  216. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.js +215 -0
  217. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.js.map +1 -0
  218. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.cjs +2 -0
  219. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.cjs.map +1 -0
  220. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js +18 -0
  221. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js.map +1 -0
  222. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.cjs +2 -0
  223. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.cjs.map +1 -0
  224. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js +137 -0
  225. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +1 -0
  226. package/dist/node_modules/@radix-ui/react-id/dist/index.cjs +2 -0
  227. package/dist/node_modules/@radix-ui/react-id/dist/index.cjs.map +1 -0
  228. package/dist/node_modules/@radix-ui/react-id/dist/index.js +14 -0
  229. package/dist/node_modules/@radix-ui/react-id/dist/index.js.map +1 -0
  230. package/dist/node_modules/@radix-ui/react-menu/dist/index.cjs +2 -0
  231. package/dist/node_modules/@radix-ui/react-menu/dist/index.cjs.map +1 -0
  232. package/dist/node_modules/@radix-ui/react-menu/dist/index.js +609 -0
  233. package/dist/node_modules/@radix-ui/react-menu/dist/index.js.map +1 -0
  234. package/dist/node_modules/@radix-ui/react-popper/dist/index.cjs +2 -0
  235. package/dist/node_modules/@radix-ui/react-popper/dist/index.cjs.map +1 -0
  236. package/dist/node_modules/@radix-ui/react-popper/dist/index.js +220 -0
  237. package/dist/node_modules/@radix-ui/react-popper/dist/index.js.map +1 -0
  238. package/dist/node_modules/@radix-ui/react-portal/dist/index.cjs +2 -0
  239. package/dist/node_modules/@radix-ui/react-portal/dist/index.cjs.map +1 -0
  240. package/dist/node_modules/@radix-ui/react-portal/dist/index.js +16 -0
  241. package/dist/node_modules/@radix-ui/react-portal/dist/index.js.map +1 -0
  242. package/dist/node_modules/@radix-ui/react-presence/dist/index.cjs +2 -0
  243. package/dist/node_modules/@radix-ui/react-presence/dist/index.cjs.map +1 -0
  244. package/dist/node_modules/@radix-ui/react-presence/dist/index.js +71 -0
  245. package/dist/node_modules/@radix-ui/react-presence/dist/index.js.map +1 -0
  246. package/dist/node_modules/@radix-ui/react-primitive/dist/index.cjs +2 -0
  247. package/dist/node_modules/@radix-ui/react-primitive/dist/index.cjs.map +1 -0
  248. package/dist/node_modules/@radix-ui/react-primitive/dist/index.js +37 -0
  249. package/dist/node_modules/@radix-ui/react-primitive/dist/index.js.map +1 -0
  250. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.cjs +2 -0
  251. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.cjs.map +1 -0
  252. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.js +184 -0
  253. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.js.map +1 -0
  254. package/dist/node_modules/@radix-ui/react-slot/dist/index.cjs +2 -0
  255. package/dist/node_modules/@radix-ui/react-slot/dist/index.cjs.map +1 -0
  256. package/dist/node_modules/@radix-ui/react-slot/dist/index.js +50 -0
  257. package/dist/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -0
  258. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.cjs +2 -0
  259. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.cjs.map +1 -0
  260. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +11 -0
  261. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +1 -0
  262. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs +2 -0
  263. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs.map +1 -0
  264. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +53 -0
  265. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +1 -0
  266. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.cjs +2 -0
  267. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.cjs.map +1 -0
  268. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +15 -0
  269. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +1 -0
  270. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.cjs +2 -0
  271. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.cjs.map +1 -0
  272. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.js +16 -0
  273. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.js.map +1 -0
  274. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs +2 -0
  275. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs.map +1 -0
  276. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +7 -0
  277. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +1 -0
  278. package/dist/node_modules/@radix-ui/react-use-size/dist/index.cjs +2 -0
  279. package/dist/node_modules/@radix-ui/react-use-size/dist/index.cjs.map +1 -0
  280. package/dist/node_modules/@radix-ui/react-use-size/dist/index.js +28 -0
  281. package/dist/node_modules/@radix-ui/react-use-size/dist/index.js.map +1 -0
  282. package/dist/node_modules/aria-hidden/dist/es2015/index.cjs +2 -0
  283. package/dist/node_modules/aria-hidden/dist/es2015/index.cjs.map +1 -0
  284. package/dist/node_modules/aria-hidden/dist/es2015/index.js +53 -0
  285. package/dist/node_modules/aria-hidden/dist/es2015/index.js.map +1 -0
  286. package/dist/node_modules/class-variance-authority/dist/index.cjs +2 -0
  287. package/dist/node_modules/class-variance-authority/dist/index.cjs.map +1 -0
  288. package/dist/node_modules/class-variance-authority/dist/index.js +36 -0
  289. package/dist/node_modules/class-variance-authority/dist/index.js.map +1 -0
  290. package/dist/node_modules/clsx/dist/clsx.cjs +2 -0
  291. package/dist/node_modules/clsx/dist/clsx.cjs.map +1 -0
  292. package/dist/node_modules/clsx/dist/clsx.js +18 -0
  293. package/dist/node_modules/clsx/dist/clsx.js.map +1 -0
  294. package/dist/node_modules/get-nonce/dist/es2015/index.cjs +2 -0
  295. package/dist/node_modules/get-nonce/dist/es2015/index.cjs.map +1 -0
  296. package/dist/node_modules/get-nonce/dist/es2015/index.js +8 -0
  297. package/dist/node_modules/get-nonce/dist/es2015/index.js.map +1 -0
  298. package/dist/node_modules/js-cookie/dist/js.cookie.cjs +2 -0
  299. package/dist/node_modules/js-cookie/dist/js.cookie.cjs.map +1 -0
  300. package/dist/node_modules/js-cookie/dist/js.cookie.js +74 -0
  301. package/dist/node_modules/js-cookie/dist/js.cookie.js.map +1 -0
  302. package/dist/node_modules/jwt-decode/build/esm/index.cjs +2 -0
  303. package/dist/node_modules/jwt-decode/build/esm/index.cjs.map +1 -0
  304. package/dist/node_modules/jwt-decode/build/esm/index.js +53 -0
  305. package/dist/node_modules/jwt-decode/build/esm/index.js.map +1 -0
  306. package/dist/node_modules/lucide-react/dist/esm/Icon.cjs +2 -0
  307. package/dist/node_modules/lucide-react/dist/esm/Icon.cjs.map +1 -0
  308. package/dist/node_modules/lucide-react/dist/esm/Icon.js +36 -0
  309. package/dist/node_modules/lucide-react/dist/esm/Icon.js.map +1 -0
  310. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.cjs +2 -0
  311. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.cjs.map +1 -0
  312. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js +22 -0
  313. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js.map +1 -0
  314. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.cjs +2 -0
  315. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.cjs.map +1 -0
  316. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js +15 -0
  317. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js.map +1 -0
  318. package/dist/node_modules/lucide-react/dist/esm/icons/check.cjs +2 -0
  319. package/dist/node_modules/lucide-react/dist/esm/icons/check.cjs.map +1 -0
  320. package/dist/node_modules/lucide-react/dist/esm/icons/check.js +7 -0
  321. package/dist/node_modules/lucide-react/dist/esm/icons/check.js.map +1 -0
  322. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs +2 -0
  323. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs.map +1 -0
  324. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.js +7 -0
  325. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.js.map +1 -0
  326. package/dist/node_modules/lucide-react/dist/esm/icons/circle.cjs +2 -0
  327. package/dist/node_modules/lucide-react/dist/esm/icons/circle.cjs.map +1 -0
  328. package/dist/node_modules/lucide-react/dist/esm/icons/circle.js +7 -0
  329. package/dist/node_modules/lucide-react/dist/esm/icons/circle.js.map +1 -0
  330. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.cjs +2 -0
  331. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.cjs.map +1 -0
  332. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.js +11 -0
  333. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.js.map +1 -0
  334. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.cjs +2 -0
  335. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.cjs.map +1 -0
  336. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.js +19 -0
  337. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.js.map +1 -0
  338. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.cjs +2 -0
  339. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.cjs.map +1 -0
  340. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js +12 -0
  341. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js.map +1 -0
  342. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.cjs +5 -0
  343. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.cjs.map +1 -0
  344. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +116 -0
  345. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js.map +1 -0
  346. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.cjs +2 -0
  347. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.cjs.map +1 -0
  348. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js +32 -0
  349. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js.map +1 -0
  350. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.cjs +2 -0
  351. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.cjs.map +1 -0
  352. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +17 -0
  353. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js.map +1 -0
  354. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.cjs +2 -0
  355. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.cjs.map +1 -0
  356. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +69 -0
  357. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -0
  358. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.cjs +2 -0
  359. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.cjs.map +1 -0
  360. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js +6 -0
  361. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js.map +1 -0
  362. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.cjs +2 -0
  363. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.cjs.map +1 -0
  364. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js +8 -0
  365. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js.map +1 -0
  366. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.cjs +39 -0
  367. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.cjs.map +1 -0
  368. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js +72 -0
  369. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js.map +1 -0
  370. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.cjs +2 -0
  371. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.cjs.map +1 -0
  372. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js +8 -0
  373. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js.map +1 -0
  374. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.cjs +2 -0
  375. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.cjs.map +1 -0
  376. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js +26 -0
  377. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js.map +1 -0
  378. package/dist/node_modules/react-style-singleton/dist/es2015/component.cjs +2 -0
  379. package/dist/node_modules/react-style-singleton/dist/es2015/component.cjs.map +1 -0
  380. package/dist/node_modules/react-style-singleton/dist/es2015/component.js +12 -0
  381. package/dist/node_modules/react-style-singleton/dist/es2015/component.js.map +1 -0
  382. package/dist/node_modules/react-style-singleton/dist/es2015/hook.cjs +2 -0
  383. package/dist/node_modules/react-style-singleton/dist/es2015/hook.cjs.map +1 -0
  384. package/dist/node_modules/react-style-singleton/dist/es2015/hook.js +16 -0
  385. package/dist/node_modules/react-style-singleton/dist/es2015/hook.js.map +1 -0
  386. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.cjs +2 -0
  387. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.cjs.map +1 -0
  388. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js +31 -0
  389. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js.map +1 -0
  390. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs +2 -0
  391. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs.map +1 -0
  392. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +2766 -0
  393. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
  394. package/dist/node_modules/tailwindcss/dist/plugin.cjs +2 -0
  395. package/dist/node_modules/tailwindcss/dist/plugin.cjs.map +1 -0
  396. package/dist/node_modules/tailwindcss/dist/plugin.js +14 -0
  397. package/dist/node_modules/tailwindcss/dist/plugin.js.map +1 -0
  398. package/dist/node_modules/tslib/tslib.es6.cjs +2 -0
  399. package/dist/node_modules/tslib/tslib.es6.cjs.map +1 -0
  400. package/dist/node_modules/tslib/tslib.es6.js +28 -0
  401. package/dist/node_modules/tslib/tslib.es6.js.map +1 -0
  402. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.cjs +2 -0
  403. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.cjs.map +1 -0
  404. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js +7 -0
  405. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js.map +1 -0
  406. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.cjs +2 -0
  407. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.cjs.map +1 -0
  408. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +27 -0
  409. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js.map +1 -0
  410. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.cjs +2 -0
  411. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.cjs.map +1 -0
  412. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js +26 -0
  413. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js.map +1 -0
  414. package/dist/node_modules/use-sidecar/dist/es2015/exports.cjs +2 -0
  415. package/dist/node_modules/use-sidecar/dist/es2015/exports.cjs.map +1 -0
  416. package/dist/node_modules/use-sidecar/dist/es2015/exports.js +19 -0
  417. package/dist/node_modules/use-sidecar/dist/es2015/exports.js.map +1 -0
  418. package/dist/node_modules/use-sidecar/dist/es2015/medium.cjs +2 -0
  419. package/dist/node_modules/use-sidecar/dist/es2015/medium.cjs.map +1 -0
  420. package/dist/node_modules/use-sidecar/dist/es2015/medium.js +68 -0
  421. package/dist/node_modules/use-sidecar/dist/es2015/medium.js.map +1 -0
  422. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.cjs +2 -0
  423. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.cjs.map +1 -0
  424. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +59 -0
  425. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -0
  426. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.cjs +2 -0
  427. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.cjs.map +1 -0
  428. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +47 -0
  429. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js.map +1 -0
  430. package/dist/node_modules/use-sync-external-store/shim/index.cjs +2 -0
  431. package/dist/node_modules/use-sync-external-store/shim/index.cjs.map +1 -0
  432. package/dist/node_modules/use-sync-external-store/shim/index.js +11 -0
  433. package/dist/node_modules/use-sync-external-store/shim/index.js.map +1 -0
  434. package/dist/providers/auth/auth.context.cjs +2 -0
  435. package/dist/providers/auth/auth.context.cjs.map +1 -0
  436. package/dist/providers/auth/auth.context.d.ts +3 -0
  437. package/dist/providers/auth/auth.context.d.ts.map +1 -0
  438. package/dist/providers/auth/auth.context.js +6 -0
  439. package/dist/providers/auth/auth.context.js.map +1 -0
  440. package/dist/providers/auth/auth.hook.cjs +2 -0
  441. package/dist/providers/auth/auth.hook.cjs.map +1 -0
  442. package/dist/providers/auth/auth.hook.d.ts +7 -0
  443. package/dist/providers/auth/auth.hook.d.ts.map +1 -0
  444. package/dist/providers/auth/auth.hook.js +12 -0
  445. package/dist/providers/auth/auth.hook.js.map +1 -0
  446. package/dist/providers/auth/auth.provider.cjs +2 -0
  447. package/dist/providers/auth/auth.provider.cjs.map +1 -0
  448. package/dist/providers/auth/auth.provider.d.ts +7 -0
  449. package/dist/providers/auth/auth.provider.d.ts.map +1 -0
  450. package/dist/providers/auth/auth.provider.js +29 -0
  451. package/dist/providers/auth/auth.provider.js.map +1 -0
  452. package/dist/providers/blimu/blimu.context.cjs +2 -0
  453. package/dist/providers/blimu/blimu.context.cjs.map +1 -0
  454. package/dist/providers/blimu/blimu.context.d.ts +27 -0
  455. package/dist/providers/blimu/blimu.context.d.ts.map +1 -0
  456. package/dist/providers/blimu/blimu.context.js +6 -0
  457. package/dist/providers/blimu/blimu.context.js.map +1 -0
  458. package/dist/providers/blimu/blimu.hook.cjs +2 -0
  459. package/dist/providers/blimu/blimu.hook.cjs.map +1 -0
  460. package/dist/providers/blimu/blimu.hook.d.ts +19 -0
  461. package/dist/providers/blimu/blimu.hook.d.ts.map +1 -0
  462. package/dist/providers/blimu/blimu.hook.js +12 -0
  463. package/dist/providers/blimu/blimu.hook.js.map +1 -0
  464. package/dist/providers/blimu/blimu.provider.cjs +2 -0
  465. package/dist/providers/blimu/blimu.provider.cjs.map +1 -0
  466. package/dist/providers/blimu/blimu.provider.d.ts +47 -0
  467. package/dist/providers/blimu/blimu.provider.d.ts.map +1 -0
  468. package/dist/providers/blimu/blimu.provider.js +67 -0
  469. package/dist/providers/blimu/blimu.provider.js.map +1 -0
  470. package/dist/providers/index.d.ts +7 -0
  471. package/dist/providers/index.d.ts.map +1 -0
  472. package/dist/providers/theme/index.d.ts +4 -0
  473. package/dist/providers/theme/index.d.ts.map +1 -0
  474. package/dist/providers/theme/theme.context.cjs +2 -0
  475. package/dist/providers/theme/theme.context.cjs.map +1 -0
  476. package/dist/providers/theme/theme.context.d.ts +8 -0
  477. package/dist/providers/theme/theme.context.d.ts.map +1 -0
  478. package/dist/providers/theme/theme.context.js +6 -0
  479. package/dist/providers/theme/theme.context.js.map +1 -0
  480. package/dist/providers/theme/theme.hook.cjs +2 -0
  481. package/dist/providers/theme/theme.hook.cjs.map +1 -0
  482. package/dist/providers/theme/theme.hook.d.ts +18 -0
  483. package/dist/providers/theme/theme.hook.d.ts.map +1 -0
  484. package/dist/providers/theme/theme.hook.js +12 -0
  485. package/dist/providers/theme/theme.hook.js.map +1 -0
  486. package/dist/providers/theme/theme.provider.cjs +2 -0
  487. package/dist/providers/theme/theme.provider.cjs.map +1 -0
  488. package/dist/providers/theme/theme.provider.d.ts +28 -0
  489. package/dist/providers/theme/theme.provider.d.ts.map +1 -0
  490. package/dist/providers/theme/theme.provider.js +68 -0
  491. package/dist/providers/theme/theme.provider.js.map +1 -0
  492. package/dist/providers.cjs +2 -0
  493. package/dist/providers.cjs.map +1 -0
  494. package/dist/providers.js +13 -0
  495. package/dist/providers.js.map +1 -0
  496. package/dist/styles/styles.css +1351 -0
  497. package/dist/styles/tw-styles.css +120 -0
  498. package/dist/tailwind.plugin.cjs +2 -0
  499. package/dist/tailwind.plugin.cjs.map +1 -0
  500. package/dist/tailwind.plugin.d.ts +19 -0
  501. package/dist/tailwind.plugin.d.ts.map +1 -0
  502. package/dist/tailwind.plugin.js +200 -0
  503. package/dist/tailwind.plugin.js.map +1 -0
  504. package/dist/types/index.cjs +2 -0
  505. package/dist/types/index.cjs.map +1 -0
  506. package/dist/types/index.d.ts +128 -0
  507. package/dist/types/index.d.ts.map +1 -0
  508. package/dist/types/index.js +12 -0
  509. package/dist/types/index.js.map +1 -0
  510. package/dist/utils/publishable-key.cjs +2 -0
  511. package/dist/utils/publishable-key.cjs.map +1 -0
  512. package/dist/utils/publishable-key.d.ts +38 -0
  513. package/dist/utils/publishable-key.d.ts.map +1 -0
  514. package/dist/utils/publishable-key.js +38 -0
  515. package/dist/utils/publishable-key.js.map +1 -0
  516. package/package.json +128 -0
@@ -0,0 +1,130 @@
1
+ import { jsx as a, jsxs as i } from "react/jsx-runtime";
2
+ import * as n from "react";
3
+ import { Root as w, Trigger as N, Portal as h, Content as l, Label as m, Separator as c, Item as u, SubTrigger as p, SubContent as f, CheckboxItem as b, ItemIndicator as g, RadioItem as x } from "../../node_modules/@radix-ui/react-dropdown-menu/dist/index.js";
4
+ import { cn as d } from "../../lib/utils.js";
5
+ import y from "../../node_modules/lucide-react/dist/esm/icons/chevron-right.js";
6
+ import R from "../../node_modules/lucide-react/dist/esm/icons/check.js";
7
+ import v from "../../node_modules/lucide-react/dist/esm/icons/circle.js";
8
+ const E = w, F = N, C = n.forwardRef(({ className: e, inset: t, children: o, ...r }, s) => /* @__PURE__ */ i(
9
+ p,
10
+ {
11
+ ref: s,
12
+ className: d(
13
+ "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",
14
+ t && "pl-8",
15
+ e
16
+ ),
17
+ ...r,
18
+ children: [
19
+ o,
20
+ /* @__PURE__ */ a(y, { className: "ml-auto h-3.5 w-3.5" })
21
+ ]
22
+ }
23
+ ));
24
+ C.displayName = p.displayName;
25
+ const I = n.forwardRef(({ className: e, ...t }, o) => /* @__PURE__ */ a(
26
+ f,
27
+ {
28
+ ref: o,
29
+ style: {
30
+ backgroundColor: "var(--blimu-popover)"
31
+ },
32
+ className: d(
33
+ "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",
34
+ e
35
+ ),
36
+ ...t
37
+ }
38
+ ));
39
+ I.displayName = f.displayName;
40
+ const D = n.forwardRef(({ className: e, sideOffset: t = 4, ...o }, r) => /* @__PURE__ */ a(h, { children: /* @__PURE__ */ a(
41
+ l,
42
+ {
43
+ ref: r,
44
+ sideOffset: t,
45
+ className: d(
46
+ "z-50 min-w-[8rem] overflow-hidden rounded-blimu border border-blimu-border text-blimu-popover-foreground shadow-md p-1",
47
+ "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",
48
+ e
49
+ ),
50
+ ...o
51
+ }
52
+ ) }));
53
+ D.displayName = l.displayName;
54
+ const M = n.forwardRef(({ className: e, inset: t, ...o }, r) => /* @__PURE__ */ a(
55
+ u,
56
+ {
57
+ ref: r,
58
+ className: d(
59
+ "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",
60
+ t && "pl-8",
61
+ e
62
+ ),
63
+ ...o
64
+ }
65
+ ));
66
+ M.displayName = u.displayName;
67
+ const S = n.forwardRef(({ className: e, children: t, checked: o, ...r }, s) => /* @__PURE__ */ i(
68
+ b,
69
+ {
70
+ ref: s,
71
+ className: d(
72
+ "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",
73
+ e
74
+ ),
75
+ checked: o,
76
+ ...r,
77
+ children: [
78
+ /* @__PURE__ */ a("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ a(g, { children: /* @__PURE__ */ a(R, { className: "h-3.5 w-3.5" }) }) }),
79
+ t
80
+ ]
81
+ }
82
+ ));
83
+ S.displayName = b.displayName;
84
+ const z = n.forwardRef(({ className: e, children: t, ...o }, r) => /* @__PURE__ */ i(
85
+ x,
86
+ {
87
+ ref: r,
88
+ className: d(
89
+ "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",
90
+ e
91
+ ),
92
+ ...o,
93
+ children: [
94
+ /* @__PURE__ */ a("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ a(g, { children: /* @__PURE__ */ a(v, { className: "h-2.5 w-2.5 fill-current" }) }) }),
95
+ t
96
+ ]
97
+ }
98
+ ));
99
+ z.displayName = x.displayName;
100
+ const k = n.forwardRef(({ className: e, inset: t, ...o }, r) => /* @__PURE__ */ a(
101
+ m,
102
+ {
103
+ ref: r,
104
+ className: d("px-2 py-1.5 text-sm font-semibold", t && "pl-8", e),
105
+ ...o
106
+ }
107
+ ));
108
+ k.displayName = m.displayName;
109
+ const T = n.forwardRef(({ className: e, ...t }, o) => /* @__PURE__ */ a(
110
+ c,
111
+ {
112
+ ref: o,
113
+ className: d("-mx-1 my-1 h-px bg-blimu-border", e),
114
+ ...t
115
+ }
116
+ ));
117
+ T.displayName = c.displayName;
118
+ export {
119
+ E as DropdownMenu,
120
+ S as DropdownMenuCheckboxItem,
121
+ D as DropdownMenuContent,
122
+ M as DropdownMenuItem,
123
+ k as DropdownMenuLabel,
124
+ z as DropdownMenuRadioItem,
125
+ T as DropdownMenuSeparator,
126
+ I as DropdownMenuSubContent,
127
+ C as DropdownMenuSubTrigger,
128
+ F as DropdownMenuTrigger
129
+ };
130
+ //# sourceMappingURL=dropdown-menu.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
3
+ declare function Popover({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Root>): React.JSX.Element;
4
+ declare function PopoverTrigger({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Trigger>): React.JSX.Element;
5
+ declare function PopoverContent({ className, align, sideOffset, ...props }: React.ComponentProps<typeof PopoverPrimitive.Content>): React.JSX.Element;
6
+ declare function PopoverAnchor({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Anchor>): React.JSX.Element;
7
+ export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor };
8
+ //# sourceMappingURL=popover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../src/components/ui/popover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAI5D,iBAAS,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,qBAEhF;AAED,iBAAS,cAAc,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,qBAE1F;AAED,iBAAS,cAAc,CAAC,EACtB,SAAS,EACT,KAAgB,EAChB,UAAc,EACd,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,qBAevD;AAED,iBAAS,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,MAAM,CAAC,qBAExF;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import * as React from 'react';
2
+ import * as SeparatorPrimitive from '@radix-ui/react-separator';
3
+ declare function Separator({ className, orientation, decorative, ...props }: React.ComponentProps<typeof SeparatorPrimitive.Root>): React.JSX.Element;
4
+ export { Separator };
5
+ //# sourceMappingURL=separator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"separator.d.ts","sourceRoot":"","sources":["../../../src/components/ui/separator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAIhE,iBAAS,SAAS,CAAC,EACjB,SAAS,EACT,WAA0B,EAC1B,UAAiB,EACjB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,qBAatD;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { avatarVariants } from '../../lib/variants';
2
+ /**
3
+ * UserAvatar uses the base avatarVariants from lib/variants
4
+ */
5
+ export { avatarVariants };
6
+ export type { AvatarVariants } from '../../lib/variants';
7
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/components/user-avatar/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,2 @@
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;
2
+ //# sourceMappingURL=user-avatar.cjs.map
@@ -0,0 +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"}
@@ -0,0 +1,41 @@
1
+ import * as React from 'react';
2
+ import { Avatar } from './ui/avatar';
3
+ import { type AvatarVariants } from '../lib/variants';
4
+ export interface UserAvatarProps extends React.ComponentPropsWithoutRef<typeof Avatar> {
5
+ /**
6
+ * Image source URL
7
+ */
8
+ src?: string;
9
+ /**
10
+ * Alt text for the image
11
+ */
12
+ alt?: string;
13
+ /**
14
+ * Fallback text or initials to display when image is not available
15
+ */
16
+ fallback?: string;
17
+ /**
18
+ * Size variant
19
+ * @default "default"
20
+ */
21
+ size?: AvatarVariants['size'];
22
+ /**
23
+ * Custom className
24
+ */
25
+ className?: string;
26
+ }
27
+ /**
28
+ * UserAvatar component that displays a user's profile picture with fallback
29
+ *
30
+ * @example
31
+ * ```tsx
32
+ * <UserAvatar
33
+ * src="/avatar.jpg"
34
+ * alt="John Doe"
35
+ * fallback="JD"
36
+ * size="lg"
37
+ * />
38
+ * ```
39
+ */
40
+ export declare function UserAvatar({ src, alt, fallback, size, className, ...props }: UserAvatarProps): React.JSX.Element;
41
+ //# sourceMappingURL=user-avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-avatar.d.ts","sourceRoot":"","sources":["../../src/components/user-avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAA+B,MAAM,aAAa,CAAC;AAElE,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtE,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,MAAM,CAAC;IACpF;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAE9B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,EACzB,GAAG,EACH,GAAG,EACH,QAAQ,EACR,IAAgB,EAChB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,eAAe,qBAmBjB"}
@@ -0,0 +1,23 @@
1
+ import { jsxs as n, jsx as r } from "react/jsx-runtime";
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
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 })
18
+ ] });
19
+ }
20
+ export {
21
+ j as UserAvatar
22
+ };
23
+ //# sourceMappingURL=user-avatar.js.map
@@ -0,0 +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;"}
@@ -0,0 +1,2 @@
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;
2
+ //# sourceMappingURL=styles.cjs.map
@@ -0,0 +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"}
@@ -0,0 +1,17 @@
1
+ import { type VariantProps } from 'class-variance-authority';
2
+ /**
3
+ * UserButton trigger variant styles
4
+ */
5
+ export declare const userButtonTriggerVariants: (props?: ({
6
+ variant?: "default" | "outline" | "ghost" | null | undefined;
7
+ size?: "sm" | "lg" | "default" | null | undefined;
8
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
+ export type UserButtonTriggerVariants = VariantProps<typeof userButtonTriggerVariants>;
10
+ /**
11
+ * UserButton dropdown content styles
12
+ */
13
+ export declare const userButtonContentVariants: (props?: ({
14
+ variant?: "default" | null | undefined;
15
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
16
+ export type UserButtonContentVariants = VariantProps<typeof userButtonContentVariants>;
17
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/components/user-button/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;8EAoBrC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,YAAY,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAEvF;;GAEG;AACH,eAAO,MAAM,yBAAyB;;8EAYrC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,YAAY,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { cva as e } from "../../node_modules/class-variance-authority/dist/index.js";
2
+ const r = e(
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
+ {
5
+ variants: {
6
+ variant: {
7
+ default: "bg-transparent",
8
+ outline: "border border-blimu-input bg-blimu-background",
9
+ ghost: "hover:bg-blimu-accent hover:text-blimu-accent-foreground"
10
+ },
11
+ size: {
12
+ default: "h-10 min-w-[2.5rem]",
13
+ sm: "h-8 min-w-[2rem]",
14
+ lg: "h-12 min-w-[3rem]"
15
+ }
16
+ },
17
+ defaultVariants: {
18
+ variant: "default",
19
+ size: "default"
20
+ }
21
+ }
22
+ ), n = e(
23
+ "z-50 min-w-[260px] overflow-hidden rounded-blimu border border-blimu-border bg-blimu-popover text-blimu-popover-foreground shadow-md",
24
+ {
25
+ variants: {
26
+ variant: {
27
+ default: ""
28
+ }
29
+ },
30
+ defaultVariants: {
31
+ variant: "default"
32
+ }
33
+ }
34
+ );
35
+ export {
36
+ n as userButtonContentVariants,
37
+ r as userButtonTriggerVariants
38
+ };
39
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +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;"}
@@ -0,0 +1,2 @@
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;
2
+ //# sourceMappingURL=user-button.cjs.map
@@ -0,0 +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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"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import type { BlimuComponentProps } from '../../types';
3
+ import { type UserButtonTriggerVariants } from './styles';
4
+ export interface UserButtonProps extends BlimuComponentProps, UserButtonTriggerVariants {
5
+ /** Callback when user clicks "Manage account" */
6
+ onManageAccount?: () => void;
7
+ /** Show user name in trigger button */
8
+ showNameInTrigger?: boolean;
9
+ /** Show user email in trigger button */
10
+ showEmailInTrigger?: boolean;
11
+ /** Avatar position when text is shown in trigger */
12
+ avatarPos?: 'start' | 'end';
13
+ }
14
+ export declare function UserButton({ className, classes, onManageAccount, variant, size, showNameInTrigger, showEmailInTrigger, avatarPos, }?: UserButtonProps): React.JSX.Element | null;
15
+ //# sourceMappingURL=user-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-button.d.ts","sourceRoot":"","sources":["../../../src/components/user-button/user-button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAGL,KAAK,yBAAyB,EAC/B,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,eAAgB,SAAQ,mBAAmB,EAAE,yBAAyB;IACrF,iDAAiD;IACjD,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,uCAAuC;IACvC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,wCAAwC;IACxC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oDAAoD;IACpD,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;CAC7B;AAED,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,OAAO,EACP,eAAe,EACf,OAAO,EACP,IAAI,EACJ,iBAAyB,EACzB,kBAA0B,EAC1B,SAAmB,GACpB,GAAE,eAAoB,4BAiItB"}
@@ -0,0 +1,93 @@
1
+ import { jsx as e, jsxs as r, Fragment as d } from "react/jsx-runtime";
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"
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)
21
+ return null;
22
+ const v = m || s, o = /* @__PURE__ */ e(u, { className: n("w-8 h-8", a?.avatar), children: /* @__PURE__ */ e(
23
+ p,
24
+ {
25
+ className: n(
26
+ "bg-blimu-muted text-blimu-muted-foreground text-sm font-medium",
27
+ a?.avatarFallback
28
+ ),
29
+ children: l
30
+ }
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 })
34
+ ] });
35
+ return /* @__PURE__ */ r(y, { children: [
36
+ /* @__PURE__ */ e(M, { asChild: !0, children: /* @__PURE__ */ e(
37
+ "button",
38
+ {
39
+ className: n(
40
+ A({ variant: h, size: N }),
41
+ "flex items-center gap-2",
42
+ x,
43
+ a?.trigger
44
+ ),
45
+ children: g === "start" ? /* @__PURE__ */ r(d, { children: [
46
+ o,
47
+ c
48
+ ] }) : /* @__PURE__ */ r(d, { children: [
49
+ c,
50
+ o
51
+ ] })
52
+ }
53
+ ) }),
54
+ /* @__PURE__ */ r(
55
+ D,
56
+ {
57
+ className: n(k(), "w-64 p-0", a?.popover),
58
+ align: "end",
59
+ sideOffset: 8,
60
+ 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 })
66
+ ] })
67
+ ] }) }),
68
+ /* @__PURE__ */ e(f, { className: "m-0" }),
69
+ /* @__PURE__ */ e("div", { className: "py-1.5 space-y-2", children: /* @__PURE__ */ r(
70
+ C,
71
+ {
72
+ onClick: b,
73
+ className: n("flex items-center gap-3 text-sm cursor-pointer", a?.signOutButton),
74
+ children: [
75
+ /* @__PURE__ */ e(F, { className: "w-4 h-4 text-blimu-muted-foreground" }),
76
+ /* @__PURE__ */ e("span", { children: "Sign out" })
77
+ ]
78
+ }
79
+ ) }),
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" })
84
+ ] }) })
85
+ ]
86
+ }
87
+ )
88
+ ] });
89
+ }
90
+ export {
91
+ G as UserButton
92
+ };
93
+ //# sourceMappingURL=user-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-button.js","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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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./components/redirect-to-sign-in.cjs"),t=require("./components/user-button/user-button.cjs"),r=require("./components/user-avatar.cjs"),n=require("./components/sign-in-button.cjs"),i=require("./components/members-list.cjs");exports.RedirectToSignIn=e.RedirectToSignIn;exports.UserButton=t.UserButton;exports.UserAvatar=r.UserAvatar;exports.SignInButton=n.SignInButton;exports.MembersList=i.MembersList;
2
+ //# sourceMappingURL=components.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { RedirectToSignIn as t } from "./components/redirect-to-sign-in.js";
2
+ import { UserButton as m } from "./components/user-button/user-button.js";
3
+ import { UserAvatar as f } from "./components/user-avatar.js";
4
+ import { SignInButton as x } from "./components/sign-in-button.js";
5
+ import { MembersList as s } from "./components/members-list.js";
6
+ export {
7
+ s as MembersList,
8
+ t as RedirectToSignIn,
9
+ x as SignInButton,
10
+ f as UserAvatar,
11
+ m as UserButton
12
+ };
13
+ //# sourceMappingURL=components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -0,0 +1,7 @@
1
+ export { useBlimu } from '../providers/blimu/blimu.hook';
2
+ export { useAuth, useUser } from './use-auth';
3
+ export { useClient } from './use-client';
4
+ export { useStore } from './use-store';
5
+ export { useMembers } from './use-members';
6
+ export type { ResourceMember, UseMembersOptions, UseMembersResult } from './use-members';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react"),i=require("../providers/auth/auth.hook.cjs"),t=require("../types/index.cjs");function r(){const e=i.useAuthContext(),{state:s}=e,u=a.useMemo(()=>({isIdle:t.AuthStateGuards.isIdle(s),isLoading:t.AuthStateGuards.isLoading(s),isAuthenticated:t.AuthStateGuards.isAuthenticated(s),isUnauthenticated:t.AuthStateGuards.isUnauthenticated(s),isReady:t.AuthStateGuards.isReady(s),isError:t.AuthStateGuards.isError(s)}),[s]);return{...e,...u}}function n(){const{state:e}=i.useAuthContext(),s=t.AuthStateGuards.isAuthenticated(e)?e.user:null,u=a.useMemo(()=>({isIdle:t.AuthStateGuards.isIdle(e),isLoading:t.AuthStateGuards.isLoading(e),isAuthenticated:t.AuthStateGuards.isAuthenticated(e),isUnauthenticated:t.AuthStateGuards.isUnauthenticated(e),isError:t.AuthStateGuards.isError(e)}),[e]);return{user:s,...u}}exports.useAuth=r;exports.useUser=n;
2
+ //# sourceMappingURL=use-auth.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-auth.cjs","sources":["../../src/hooks/use-auth.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { useAuthContext } from '../providers/auth/auth.hook';\nimport { AuthStateGuards } from '../types';\n\n/**\n * Hook for accessing authentication state and actions\n *\n * Provides a type-safe interface to authentication state with discriminated union states\n * and convenient boolean properties for common checks.\n *\n * @example Using boolean properties\n * ```tsx\n * function MyComponent() {\n * const { isAuthenticated, isLoading, login, logout } = useAuth();\n *\n * if (isLoading) {\n * return <Spinner />;\n * }\n *\n * if (isAuthenticated) {\n * return (\n * <div>\n * <p>Welcome!</p>\n * <button onClick={logout}>Logout</button>\n * </div>\n * );\n * }\n *\n * return <LoginForm onLogin={login} />;\n * }\n * ```\n *\n * @example Using discriminated union state for advanced cases\n * ```tsx\n * function AuthStatus() {\n * const { state, isError } = useAuth();\n *\n * if (isError && state.status === 'error') {\n * return <div>Error: {state.error}</div>;\n * }\n *\n * return <div>Status: {state.status}</div>;\n * }\n * ```\n */\nexport function useAuth() {\n const context = useAuthContext();\n const { state } = context;\n\n const booleanState = useMemo(\n () => ({\n isIdle: AuthStateGuards.isIdle(state),\n isLoading: AuthStateGuards.isLoading(state),\n isAuthenticated: AuthStateGuards.isAuthenticated(state),\n isUnauthenticated: AuthStateGuards.isUnauthenticated(state),\n isReady: AuthStateGuards.isReady(state),\n isError: AuthStateGuards.isError(state),\n }),\n [state],\n );\n\n return {\n ...context,\n ...booleanState,\n };\n}\n\n/**\n * Hook for getting current user information with auth state\n *\n * Returns the user object if authenticated (null otherwise) along with boolean state properties.\n *\n * @example\n * ```tsx\n * function UserProfile() {\n * const { user, isAuthenticated, isLoading } = useUser();\n *\n * if (isLoading) {\n * return <Spinner />;\n * }\n *\n * if (!isAuthenticated || !user) {\n * return <div>Not authenticated</div>;\n * }\n *\n * return (\n * <div>\n * <h1>{user.firstName} {user.lastName}</h1>\n * <p>{user.email}</p>\n * </div>\n * );\n * }\n * ```\n */\nexport function useUser() {\n const { state } = useAuthContext();\n\n const user = AuthStateGuards.isAuthenticated(state) ? state.user : null;\n\n const booleanState = useMemo(\n () => ({\n isIdle: AuthStateGuards.isIdle(state),\n isLoading: AuthStateGuards.isLoading(state),\n isAuthenticated: AuthStateGuards.isAuthenticated(state),\n isUnauthenticated: AuthStateGuards.isUnauthenticated(state),\n isError: AuthStateGuards.isError(state),\n }),\n [state],\n );\n\n return {\n user,\n ...booleanState,\n };\n}\n"],"names":["useAuth","context","useAuthContext","state","booleanState","useMemo","AuthStateGuards","useUser","user"],"mappings":"sLA8CO,SAASA,GAAU,CACxB,MAAMC,EAAUC,EAAAA,eAAA,EACV,CAAE,MAAAC,GAAUF,EAEZG,EAAeC,EAAAA,QACnB,KAAO,CACL,OAAQC,EAAAA,gBAAgB,OAAOH,CAAK,EACpC,UAAWG,EAAAA,gBAAgB,UAAUH,CAAK,EAC1C,gBAAiBG,EAAAA,gBAAgB,gBAAgBH,CAAK,EACtD,kBAAmBG,EAAAA,gBAAgB,kBAAkBH,CAAK,EAC1D,QAASG,EAAAA,gBAAgB,QAAQH,CAAK,EACtC,QAASG,EAAAA,gBAAgB,QAAQH,CAAK,CAAA,GAExC,CAACA,CAAK,CAAA,EAGR,MAAO,CACL,GAAGF,EACH,GAAGG,CAAA,CAEP,CA6BO,SAASG,GAAU,CACxB,KAAM,CAAE,MAAAJ,CAAA,EAAUD,iBAAA,EAEZM,EAAOF,EAAAA,gBAAgB,gBAAgBH,CAAK,EAAIA,EAAM,KAAO,KAE7DC,EAAeC,EAAAA,QACnB,KAAO,CACL,OAAQC,EAAAA,gBAAgB,OAAOH,CAAK,EACpC,UAAWG,EAAAA,gBAAgB,UAAUH,CAAK,EAC1C,gBAAiBG,EAAAA,gBAAgB,gBAAgBH,CAAK,EACtD,kBAAmBG,EAAAA,gBAAgB,kBAAkBH,CAAK,EAC1D,QAASG,EAAAA,gBAAgB,QAAQH,CAAK,CAAA,GAExC,CAACA,CAAK,CAAA,EAGR,MAAO,CACL,KAAAK,EACA,GAAGJ,CAAA,CAEP"}