@blimu/react 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. package/dist/_virtual/index.cjs +5 -1
  2. package/dist/_virtual/index.cjs.map +1 -1
  3. package/dist/_virtual/index.js +3 -3
  4. package/dist/_virtual/index2.cjs +4 -1
  5. package/dist/_virtual/index2.cjs.map +1 -1
  6. package/dist/_virtual/index2.js +2 -2
  7. package/dist/_virtual/use-sync-external-store-shim.development.cjs +4 -1
  8. package/dist/_virtual/use-sync-external-store-shim.development.cjs.map +1 -1
  9. package/dist/_virtual/use-sync-external-store-shim.development.js +2 -2
  10. package/dist/_virtual/use-sync-external-store-shim.production.cjs +4 -1
  11. package/dist/_virtual/use-sync-external-store-shim.production.cjs.map +1 -1
  12. package/dist/_virtual/use-sync-external-store-shim.production.js +2 -2
  13. package/dist/client/auth.service.cjs +249 -1
  14. package/dist/client/auth.service.cjs.map +1 -1
  15. package/dist/client/auth.service.js +194 -96
  16. package/dist/client/auth.service.js.map +1 -1
  17. package/dist/client/external-store.cjs +26 -1
  18. package/dist/client/external-store.cjs.map +1 -1
  19. package/dist/client/external-store.js +22 -8
  20. package/dist/client/external-store.js.map +1 -1
  21. package/dist/client/runtime-client.cjs +136 -1
  22. package/dist/client/runtime-client.cjs.map +1 -1
  23. package/dist/client/runtime-client.js +85 -51
  24. package/dist/client/runtime-client.js.map +1 -1
  25. package/dist/components/index.cjs +13 -0
  26. package/dist/components/index.cjs.map +1 -0
  27. package/dist/components/index.js +13 -0
  28. package/dist/components/index.js.map +1 -0
  29. package/dist/components/members-list.cjs +132 -1
  30. package/dist/components/members-list.cjs.map +1 -1
  31. package/dist/components/members-list.js +69 -64
  32. package/dist/components/members-list.js.map +1 -1
  33. package/dist/components/redirect-to-sign-in.cjs +34 -1
  34. package/dist/components/redirect-to-sign-in.cjs.map +1 -1
  35. package/dist/components/redirect-to-sign-in.js +28 -20
  36. package/dist/components/redirect-to-sign-in.js.map +1 -1
  37. package/dist/components/sign-in-button.cjs +36 -1
  38. package/dist/components/sign-in-button.cjs.map +1 -1
  39. package/dist/components/sign-in-button.js +25 -21
  40. package/dist/components/sign-in-button.js.map +1 -1
  41. package/dist/components/ui/avatar.cjs +42 -1
  42. package/dist/components/ui/avatar.cjs.map +1 -1
  43. package/dist/components/ui/avatar.js +23 -23
  44. package/dist/components/ui/avatar.js.map +1 -1
  45. package/dist/components/ui/dropdown-menu.cjs +148 -1
  46. package/dist/components/ui/dropdown-menu.cjs.map +1 -1
  47. package/dist/components/ui/dropdown-menu.js +83 -81
  48. package/dist/components/ui/dropdown-menu.js.map +1 -1
  49. package/dist/components/user-avatar.cjs +22 -1
  50. package/dist/components/user-avatar.cjs.map +1 -1
  51. package/dist/components/user-avatar.js +16 -16
  52. package/dist/components/user-avatar.js.map +1 -1
  53. package/dist/components/user-button/styles.cjs +39 -1
  54. package/dist/components/user-button/styles.cjs.map +1 -1
  55. package/dist/components/user-button/styles.js +6 -5
  56. package/dist/components/user-button/styles.js.map +1 -1
  57. package/dist/components/user-button/user-button.cjs +98 -1
  58. package/dist/components/user-button/user-button.cjs.map +1 -1
  59. package/dist/components/user-button/user-button.js +64 -58
  60. package/dist/components/user-button/user-button.js.map +1 -1
  61. package/dist/hooks/index.cjs +14 -0
  62. package/dist/hooks/index.cjs.map +1 -0
  63. package/dist/hooks/index.d.ts +1 -0
  64. package/dist/hooks/index.d.ts.map +1 -1
  65. package/dist/hooks/index.js +14 -0
  66. package/dist/hooks/index.js.map +1 -0
  67. package/dist/hooks/use-auth.cjs +44 -1
  68. package/dist/hooks/use-auth.cjs.map +1 -1
  69. package/dist/hooks/use-auth.d.ts +13 -15
  70. package/dist/hooks/use-auth.d.ts.map +1 -1
  71. package/dist/hooks/use-auth.js +30 -26
  72. package/dist/hooks/use-auth.js.map +1 -1
  73. package/dist/hooks/use-client.cjs +9 -1
  74. package/dist/hooks/use-client.cjs.map +1 -1
  75. package/dist/hooks/use-client.d.ts +1 -1
  76. package/dist/hooks/use-client.d.ts.map +1 -1
  77. package/dist/hooks/use-client.js +6 -5
  78. package/dist/hooks/use-client.js.map +1 -1
  79. package/dist/hooks/use-members.cjs +60 -1
  80. package/dist/hooks/use-members.cjs.map +1 -1
  81. package/dist/hooks/use-members.js +53 -41
  82. package/dist/hooks/use-members.js.map +1 -1
  83. package/dist/hooks/use-store.cjs +17 -1
  84. package/dist/hooks/use-store.cjs.map +1 -1
  85. package/dist/hooks/use-store.js +7 -7
  86. package/dist/hooks/use-store.js.map +1 -1
  87. package/dist/index.cjs +37 -1
  88. package/dist/index.cjs.map +1 -1
  89. package/dist/index.d.ts +1 -1
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.js +35 -35
  92. package/dist/lib/utils.cjs +8 -1
  93. package/dist/lib/utils.cjs.map +1 -1
  94. package/dist/lib/utils.js +5 -5
  95. package/dist/lib/utils.js.map +1 -1
  96. package/dist/lib/variants.cjs +46 -1
  97. package/dist/lib/variants.cjs.map +1 -1
  98. package/dist/lib/variants.js +6 -5
  99. package/dist/lib/variants.js.map +1 -1
  100. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.cjs +721 -1
  101. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.cjs.map +1 -1
  102. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +571 -377
  103. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -1
  104. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs +625 -1
  105. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs.map +1 -1
  106. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +539 -316
  107. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -1
  108. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs +313 -1
  109. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.map +1 -1
  110. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +261 -172
  111. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +1 -1
  112. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs +154 -1
  113. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs.map +1 -1
  114. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs +173 -1
  115. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs.map +1 -1
  116. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +144 -107
  117. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -1
  118. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +111 -87
  119. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -1
  120. package/dist/node_modules/@radix-ui/primitive/dist/index.cjs +11 -1
  121. package/dist/node_modules/@radix-ui/primitive/dist/index.cjs.map +1 -1
  122. package/dist/node_modules/@radix-ui/primitive/dist/index.js +7 -5
  123. package/dist/node_modules/@radix-ui/primitive/dist/index.js.map +1 -1
  124. package/dist/node_modules/@radix-ui/react-arrow/dist/index.cjs +42 -1
  125. package/dist/node_modules/@radix-ui/react-arrow/dist/index.cjs.map +1 -1
  126. package/dist/node_modules/@radix-ui/react-arrow/dist/index.js +17 -16
  127. package/dist/node_modules/@radix-ui/react-arrow/dist/index.js.map +1 -1
  128. package/dist/node_modules/@radix-ui/react-avatar/dist/index.cjs +140 -1
  129. package/dist/node_modules/@radix-ui/react-avatar/dist/index.cjs.map +1 -1
  130. package/dist/node_modules/@radix-ui/react-avatar/dist/index.js +105 -57
  131. package/dist/node_modules/@radix-ui/react-avatar/dist/index.js.map +1 -1
  132. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.cjs +80 -1
  133. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.cjs.map +1 -1
  134. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.js +49 -41
  135. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.js.map +1 -1
  136. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.cjs +56 -1
  137. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.cjs.map +1 -1
  138. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.js +17 -10
  139. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.js.map +1 -1
  140. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.cjs +119 -1
  141. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.cjs.map +1 -1
  142. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.js +86 -42
  143. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -1
  144. package/dist/node_modules/@radix-ui/react-collection/dist/index.cjs +70 -1
  145. package/dist/node_modules/@radix-ui/react-collection/dist/index.cjs.map +1 -1
  146. package/dist/node_modules/@radix-ui/react-collection/dist/index.js +57 -37
  147. package/dist/node_modules/@radix-ui/react-collection/dist/index.js.map +1 -1
  148. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.cjs +56 -1
  149. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.cjs.map +1 -1
  150. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js +29 -19
  151. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +1 -1
  152. package/dist/node_modules/@radix-ui/react-context/dist/index.cjs +79 -1
  153. package/dist/node_modules/@radix-ui/react-context/dist/index.cjs.map +1 -1
  154. package/dist/node_modules/@radix-ui/react-context/dist/index.js +48 -39
  155. package/dist/node_modules/@radix-ui/react-context/dist/index.js.map +1 -1
  156. package/dist/node_modules/@radix-ui/react-direction/dist/index.cjs +27 -1
  157. package/dist/node_modules/@radix-ui/react-direction/dist/index.cjs.map +1 -1
  158. package/dist/node_modules/@radix-ui/react-direction/dist/index.js +6 -6
  159. package/dist/node_modules/@radix-ui/react-direction/dist/index.js.map +1 -1
  160. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs +229 -1
  161. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs.map +1 -1
  162. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +182 -97
  163. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +1 -1
  164. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.cjs +296 -1
  165. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.cjs.map +1 -1
  166. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.js +232 -167
  167. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.js.map +1 -1
  168. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.cjs +46 -1
  169. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.cjs.map +1 -1
  170. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js +23 -11
  171. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js.map +1 -1
  172. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.cjs +224 -1
  173. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.cjs.map +1 -1
  174. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js +169 -98
  175. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +1 -1
  176. package/dist/node_modules/@radix-ui/react-id/dist/index.cjs +31 -1
  177. package/dist/node_modules/@radix-ui/react-id/dist/index.cjs.map +1 -1
  178. package/dist/node_modules/@radix-ui/react-id/dist/index.js +11 -10
  179. package/dist/node_modules/@radix-ui/react-id/dist/index.js.map +1 -1
  180. package/dist/node_modules/@radix-ui/react-menu/dist/index.cjs +845 -1
  181. package/dist/node_modules/@radix-ui/react-menu/dist/index.cjs.map +1 -1
  182. package/dist/node_modules/@radix-ui/react-menu/dist/index.js +662 -442
  183. package/dist/node_modules/@radix-ui/react-menu/dist/index.js.map +1 -1
  184. package/dist/node_modules/@radix-ui/react-popper/dist/index.cjs +308 -1
  185. package/dist/node_modules/@radix-ui/react-popper/dist/index.cjs.map +1 -1
  186. package/dist/node_modules/@radix-ui/react-popper/dist/index.js +209 -137
  187. package/dist/node_modules/@radix-ui/react-popper/dist/index.js.map +1 -1
  188. package/dist/node_modules/@radix-ui/react-portal/dist/index.cjs +34 -1
  189. package/dist/node_modules/@radix-ui/react-portal/dist/index.cjs.map +1 -1
  190. package/dist/node_modules/@radix-ui/react-portal/dist/index.js +14 -12
  191. package/dist/node_modules/@radix-ui/react-portal/dist/index.js.map +1 -1
  192. package/dist/node_modules/@radix-ui/react-presence/dist/index.cjs +145 -1
  193. package/dist/node_modules/@radix-ui/react-presence/dist/index.cjs.map +1 -1
  194. package/dist/node_modules/@radix-ui/react-presence/dist/index.js +103 -45
  195. package/dist/node_modules/@radix-ui/react-presence/dist/index.js.map +1 -1
  196. package/dist/node_modules/@radix-ui/react-primitive/dist/index.cjs +61 -1
  197. package/dist/node_modules/@radix-ui/react-primitive/dist/index.cjs.map +1 -1
  198. package/dist/node_modules/@radix-ui/react-primitive/dist/index.js +21 -14
  199. package/dist/node_modules/@radix-ui/react-primitive/dist/index.js.map +1 -1
  200. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.cjs +244 -1
  201. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.cjs.map +1 -1
  202. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.js +179 -135
  203. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.js.map +1 -1
  204. package/dist/node_modules/@radix-ui/react-slot/dist/index.cjs +105 -1
  205. package/dist/node_modules/@radix-ui/react-slot/dist/index.cjs.map +1 -1
  206. package/dist/node_modules/@radix-ui/react-slot/dist/index.js +74 -35
  207. package/dist/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -1
  208. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.cjs +28 -1
  209. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.cjs.map +1 -1
  210. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +8 -7
  211. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +1 -1
  212. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs +86 -1
  213. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs.map +1 -1
  214. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +57 -40
  215. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +1 -1
  216. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.cjs +34 -1
  217. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.cjs.map +1 -1
  218. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +13 -10
  219. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +1 -1
  220. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.cjs +15 -1
  221. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.cjs.map +1 -1
  222. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.js +8 -8
  223. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.js.map +1 -1
  224. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs +23 -1
  225. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs.map +1 -1
  226. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +3 -3
  227. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +1 -1
  228. package/dist/node_modules/@radix-ui/react-use-size/dist/index.cjs +56 -1
  229. package/dist/node_modules/@radix-ui/react-use-size/dist/index.cjs.map +1 -1
  230. package/dist/node_modules/@radix-ui/react-use-size/dist/index.js +34 -22
  231. package/dist/node_modules/@radix-ui/react-use-size/dist/index.js.map +1 -1
  232. package/dist/node_modules/aria-hidden/dist/es2015/index.cjs +122 -1
  233. package/dist/node_modules/aria-hidden/dist/es2015/index.cjs.map +1 -1
  234. package/dist/node_modules/aria-hidden/dist/es2015/index.js +111 -41
  235. package/dist/node_modules/aria-hidden/dist/es2015/index.js.map +1 -1
  236. package/dist/node_modules/class-variance-authority/dist/index.cjs +45 -1
  237. package/dist/node_modules/class-variance-authority/dist/index.cjs.map +1 -1
  238. package/dist/node_modules/class-variance-authority/dist/index.js +40 -30
  239. package/dist/node_modules/class-variance-authority/dist/index.js.map +1 -1
  240. package/dist/node_modules/clsx/dist/clsx.cjs +17 -1
  241. package/dist/node_modules/clsx/dist/clsx.cjs.map +1 -1
  242. package/dist/node_modules/clsx/dist/clsx.js +13 -13
  243. package/dist/node_modules/clsx/dist/clsx.js.map +1 -1
  244. package/dist/node_modules/get-nonce/dist/es2015/index.cjs +9 -1
  245. package/dist/node_modules/get-nonce/dist/es2015/index.cjs.map +1 -1
  246. package/dist/node_modules/get-nonce/dist/es2015/index.js +5 -3
  247. package/dist/node_modules/get-nonce/dist/es2015/index.js.map +1 -1
  248. package/dist/node_modules/js-cookie/dist/js.cookie.cjs +98 -1
  249. package/dist/node_modules/js-cookie/dist/js.cookie.cjs.map +1 -1
  250. package/dist/node_modules/js-cookie/dist/js.cookie.js +69 -43
  251. package/dist/node_modules/js-cookie/dist/js.cookie.js.map +1 -1
  252. package/dist/node_modules/jwt-decode/build/esm/index.cjs +58 -1
  253. package/dist/node_modules/jwt-decode/build/esm/index.cjs.map +1 -1
  254. package/dist/node_modules/jwt-decode/build/esm/index.js +36 -30
  255. package/dist/node_modules/jwt-decode/build/esm/index.js.map +1 -1
  256. package/dist/node_modules/lucide-react/dist/esm/Icon.cjs +34 -1
  257. package/dist/node_modules/lucide-react/dist/esm/Icon.cjs.map +1 -1
  258. package/dist/node_modules/lucide-react/dist/esm/Icon.js +25 -25
  259. package/dist/node_modules/lucide-react/dist/esm/Icon.js.map +1 -1
  260. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.cjs +21 -1
  261. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.cjs.map +1 -1
  262. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js +16 -15
  263. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js.map +1 -1
  264. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.cjs +13 -1
  265. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.cjs.map +1 -1
  266. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js +2 -2
  267. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js.map +1 -1
  268. package/dist/node_modules/lucide-react/dist/esm/icons/check.cjs +7 -1
  269. package/dist/node_modules/lucide-react/dist/esm/icons/check.cjs.map +1 -1
  270. package/dist/node_modules/lucide-react/dist/esm/icons/check.js +5 -4
  271. package/dist/node_modules/lucide-react/dist/esm/icons/check.js.map +1 -1
  272. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs +7 -1
  273. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs.map +1 -1
  274. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.js +5 -4
  275. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.js.map +1 -1
  276. package/dist/node_modules/lucide-react/dist/esm/icons/circle.cjs +7 -1
  277. package/dist/node_modules/lucide-react/dist/esm/icons/circle.cjs.map +1 -1
  278. package/dist/node_modules/lucide-react/dist/esm/icons/circle.js +5 -4
  279. package/dist/node_modules/lucide-react/dist/esm/icons/circle.js.map +1 -1
  280. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.cjs +11 -1
  281. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.cjs.map +1 -1
  282. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.js +6 -5
  283. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.js.map +1 -1
  284. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.cjs +26 -1
  285. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.cjs.map +1 -1
  286. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.js +22 -14
  287. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.js.map +1 -1
  288. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.cjs +27 -1
  289. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.cjs.map +1 -1
  290. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js +8 -8
  291. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js.map +1 -1
  292. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.cjs +197 -4
  293. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.cjs.map +1 -1
  294. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +163 -98
  295. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js.map +1 -1
  296. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.cjs +55 -1
  297. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.cjs.map +1 -1
  298. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js +31 -24
  299. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js.map +1 -1
  300. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.cjs +19 -1
  301. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.cjs.map +1 -1
  302. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +12 -9
  303. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js.map +1 -1
  304. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.cjs +102 -1
  305. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.cjs.map +1 -1
  306. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +85 -51
  307. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -1
  308. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.cjs +5 -1
  309. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.cjs.map +1 -1
  310. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js +3 -3
  311. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js.map +1 -1
  312. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.cjs +6 -1
  313. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.cjs.map +1 -1
  314. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js +5 -5
  315. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js.map +1 -1
  316. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.cjs +62 -36
  317. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.cjs.map +1 -1
  318. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js +41 -65
  319. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js.map +1 -1
  320. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.cjs +10 -1
  321. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.cjs.map +1 -1
  322. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js +8 -5
  323. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js.map +1 -1
  324. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.cjs +37 -1
  325. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.cjs.map +1 -1
  326. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js +28 -16
  327. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js.map +1 -1
  328. package/dist/node_modules/react-style-singleton/dist/es2015/component.cjs +13 -1
  329. package/dist/node_modules/react-style-singleton/dist/es2015/component.cjs.map +1 -1
  330. package/dist/node_modules/react-style-singleton/dist/es2015/component.js +9 -7
  331. package/dist/node_modules/react-style-singleton/dist/es2015/component.js.map +1 -1
  332. package/dist/node_modules/react-style-singleton/dist/es2015/hook.cjs +33 -1
  333. package/dist/node_modules/react-style-singleton/dist/es2015/hook.cjs.map +1 -1
  334. package/dist/node_modules/react-style-singleton/dist/es2015/hook.js +11 -10
  335. package/dist/node_modules/react-style-singleton/dist/es2015/hook.js.map +1 -1
  336. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.cjs +48 -1
  337. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.cjs.map +1 -1
  338. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js +35 -17
  339. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js.map +1 -1
  340. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs +3014 -1
  341. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs.map +1 -1
  342. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +804 -555
  343. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -1
  344. package/dist/node_modules/tailwindcss/dist/plugin.cjs +12 -1
  345. package/dist/node_modules/tailwindcss/dist/plugin.cjs.map +1 -1
  346. package/dist/node_modules/tailwindcss/dist/plugin.js +8 -8
  347. package/dist/node_modules/tailwindcss/dist/plugin.js.map +1 -1
  348. package/dist/node_modules/tslib/tslib.es6.cjs +38 -1
  349. package/dist/node_modules/tslib/tslib.es6.cjs.map +1 -1
  350. package/dist/node_modules/tslib/tslib.es6.js +33 -21
  351. package/dist/node_modules/tslib/tslib.es6.js.map +1 -1
  352. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.cjs +11 -1
  353. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.cjs.map +1 -1
  354. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js +8 -3
  355. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js.map +1 -1
  356. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.cjs +52 -1
  357. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.cjs.map +1 -1
  358. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +28 -19
  359. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js.map +1 -1
  360. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.cjs +29 -1
  361. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.cjs.map +1 -1
  362. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js +15 -11
  363. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js.map +1 -1
  364. package/dist/node_modules/use-sidecar/dist/es2015/exports.cjs +38 -1
  365. package/dist/node_modules/use-sidecar/dist/es2015/exports.cjs.map +1 -1
  366. package/dist/node_modules/use-sidecar/dist/es2015/exports.js +15 -12
  367. package/dist/node_modules/use-sidecar/dist/es2015/exports.js.map +1 -1
  368. package/dist/node_modules/use-sidecar/dist/es2015/medium.cjs +88 -1
  369. package/dist/node_modules/use-sidecar/dist/es2015/medium.cjs.map +1 -1
  370. package/dist/node_modules/use-sidecar/dist/es2015/medium.js +64 -43
  371. package/dist/node_modules/use-sidecar/dist/es2015/medium.js.map +1 -1
  372. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.cjs +68 -1
  373. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.cjs.map +1 -1
  374. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +49 -39
  375. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -1
  376. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.cjs +53 -1
  377. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.cjs.map +1 -1
  378. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +39 -32
  379. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js.map +1 -1
  380. package/dist/node_modules/use-sync-external-store/shim/index.cjs +17 -1
  381. package/dist/node_modules/use-sync-external-store/shim/index.cjs.map +1 -1
  382. package/dist/node_modules/use-sync-external-store/shim/index.js +14 -7
  383. package/dist/node_modules/use-sync-external-store/shim/index.js.map +1 -1
  384. package/dist/providers/auth/auth.context.cjs +5 -1
  385. package/dist/providers/auth/auth.context.cjs.map +1 -1
  386. package/dist/providers/auth/auth.context.js +3 -3
  387. package/dist/providers/auth/auth.context.js.map +1 -1
  388. package/dist/providers/auth/auth.hook.cjs +12 -1
  389. package/dist/providers/auth/auth.hook.cjs.map +1 -1
  390. package/dist/providers/auth/auth.hook.js +8 -7
  391. package/dist/providers/auth/auth.hook.js.map +1 -1
  392. package/dist/providers/auth/auth.provider.cjs +37 -1
  393. package/dist/providers/auth/auth.provider.cjs.map +1 -1
  394. package/dist/providers/auth/auth.provider.js +31 -22
  395. package/dist/providers/auth/auth.provider.js.map +1 -1
  396. package/dist/providers/blimu/blimu.context.cjs +5 -1
  397. package/dist/providers/blimu/blimu.context.cjs.map +1 -1
  398. package/dist/providers/blimu/blimu.context.js +3 -3
  399. package/dist/providers/blimu/blimu.context.js.map +1 -1
  400. package/dist/providers/blimu/blimu.hook.cjs +12 -1
  401. package/dist/providers/blimu/blimu.hook.cjs.map +1 -1
  402. package/dist/providers/blimu/blimu.hook.js +8 -7
  403. package/dist/providers/blimu/blimu.hook.js.map +1 -1
  404. package/dist/providers/blimu/blimu.provider.cjs +71 -1
  405. package/dist/providers/blimu/blimu.provider.cjs.map +1 -1
  406. package/dist/providers/blimu/blimu.provider.js +32 -27
  407. package/dist/providers/blimu/blimu.provider.js.map +1 -1
  408. package/dist/providers/index.cjs +13 -0
  409. package/dist/providers/index.cjs.map +1 -0
  410. package/dist/providers/index.js +13 -0
  411. package/dist/providers/index.js.map +1 -0
  412. package/dist/providers/theme/theme.context.cjs +5 -1
  413. package/dist/providers/theme/theme.context.cjs.map +1 -1
  414. package/dist/providers/theme/theme.context.js +3 -3
  415. package/dist/providers/theme/theme.context.js.map +1 -1
  416. package/dist/providers/theme/theme.hook.cjs +12 -1
  417. package/dist/providers/theme/theme.hook.cjs.map +1 -1
  418. package/dist/providers/theme/theme.hook.js +8 -7
  419. package/dist/providers/theme/theme.hook.js.map +1 -1
  420. package/dist/providers/theme/theme.provider.cjs +104 -1
  421. package/dist/providers/theme/theme.provider.cjs.map +1 -1
  422. package/dist/providers/theme/theme.provider.js +85 -48
  423. package/dist/providers/theme/theme.provider.js.map +1 -1
  424. package/dist/tailwind.cjs +200 -0
  425. package/dist/tailwind.cjs.map +1 -0
  426. package/dist/{tailwind.plugin.js → tailwind.js} +6 -6
  427. package/dist/tailwind.js.map +1 -0
  428. package/dist/types/index.cjs +11 -1
  429. package/dist/types/index.cjs.map +1 -1
  430. package/dist/types/index.js +8 -8
  431. package/dist/types/index.js.map +1 -1
  432. package/dist/utils/publishable-key.cjs +62 -1
  433. package/dist/utils/publishable-key.cjs.map +1 -1
  434. package/dist/utils/publishable-key.js +52 -27
  435. package/dist/utils/publishable-key.js.map +1 -1
  436. package/package.json +41 -42
  437. package/dist/components.cjs +0 -2
  438. package/dist/components.cjs.map +0 -1
  439. package/dist/components.js +0 -13
  440. package/dist/components.js.map +0 -1
  441. package/dist/hooks.cjs +0 -2
  442. package/dist/hooks.cjs.map +0 -1
  443. package/dist/hooks.js +0 -14
  444. package/dist/hooks.js.map +0 -1
  445. package/dist/providers.cjs +0 -2
  446. package/dist/providers.cjs.map +0 -1
  447. package/dist/providers.js +0 -13
  448. package/dist/providers.js.map +0 -1
  449. package/dist/tailwind.plugin.cjs +0 -2
  450. package/dist/tailwind.plugin.cjs.map +0 -1
  451. package/dist/tailwind.plugin.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"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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"}
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":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const blimu_hook = require("../providers/blimu/blimu.hook.cjs");
4
+ const useAuth = require("./use-auth.cjs");
5
+ const useClient = require("./use-client.cjs");
6
+ const useStore = require("./use-store.cjs");
7
+ const useMembers = require("./use-members.cjs");
8
+ exports.useBlimu = blimu_hook.useBlimu;
9
+ exports.useAuth = useAuth.useAuth;
10
+ exports.useUser = useAuth.useUser;
11
+ exports.useClient = useClient.useClient;
12
+ exports.useStore = useStore.useStore;
13
+ exports.useMembers = useMembers.useMembers;
14
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
@@ -1,5 +1,6 @@
1
1
  export { useBlimu } from '../providers/blimu/blimu.hook';
2
2
  export { useAuth, useUser } from './use-auth';
3
+ export type { UseAuthReturn } from './use-auth';
3
4
  export { useClient } from './use-client';
4
5
  export { useStore } from './use-store';
5
6
  export { useMembers } from './use-members';
@@ -1 +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"}
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,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,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,14 @@
1
+ import { useBlimu } from "../providers/blimu/blimu.hook.js";
2
+ import { useAuth, useUser } from "./use-auth.js";
3
+ import { useClient } from "./use-client.js";
4
+ import { useStore } from "./use-store.js";
5
+ import { useMembers } from "./use-members.js";
6
+ export {
7
+ useAuth,
8
+ useBlimu,
9
+ useClient,
10
+ useMembers,
11
+ useStore,
12
+ useUser
13
+ };
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -1,2 +1,45 @@
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;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const auth_hook = require("../providers/auth/auth.hook.cjs");
5
+ const types_index = require("../types/index.cjs");
6
+ function useAuth() {
7
+ const context = auth_hook.useAuthContext();
8
+ const { state } = context;
9
+ const booleanState = React.useMemo(
10
+ () => ({
11
+ isIdle: types_index.AuthStateGuards.isIdle(state),
12
+ isLoading: types_index.AuthStateGuards.isLoading(state),
13
+ isAuthenticated: types_index.AuthStateGuards.isAuthenticated(state),
14
+ isUnauthenticated: types_index.AuthStateGuards.isUnauthenticated(state),
15
+ isReady: types_index.AuthStateGuards.isReady(state),
16
+ isError: types_index.AuthStateGuards.isError(state)
17
+ }),
18
+ [state]
19
+ );
20
+ return {
21
+ ...context,
22
+ ...booleanState
23
+ };
24
+ }
25
+ function useUser() {
26
+ const { state } = auth_hook.useAuthContext();
27
+ const user = types_index.AuthStateGuards.isAuthenticated(state) ? state.user : null;
28
+ const booleanState = React.useMemo(
29
+ () => ({
30
+ isIdle: types_index.AuthStateGuards.isIdle(state),
31
+ isLoading: types_index.AuthStateGuards.isLoading(state),
32
+ isAuthenticated: types_index.AuthStateGuards.isAuthenticated(state),
33
+ isUnauthenticated: types_index.AuthStateGuards.isUnauthenticated(state),
34
+ isError: types_index.AuthStateGuards.isError(state)
35
+ }),
36
+ [state]
37
+ );
38
+ return {
39
+ user,
40
+ ...booleanState
41
+ };
42
+ }
43
+ exports.useAuth = useAuth;
44
+ exports.useUser = useUser;
2
45
  //# sourceMappingURL=use-auth.cjs.map
@@ -1 +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"}
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, type AuthContextValue } from '../types';\n\n/**\n * Return type for useAuth hook\n */\nexport type UseAuthReturn = AuthContextValue & {\n isIdle: boolean;\n isLoading: boolean;\n isAuthenticated: boolean;\n isUnauthenticated: boolean;\n isReady: boolean;\n isError: boolean;\n};\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(): UseAuthReturn {\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":["useAuthContext","useMemo","AuthStateGuards"],"mappings":";;;;;AA0DO,SAAS,UAAyB;AACvC,QAAM,UAAUA,UAAAA,eAAA;AAChB,QAAM,EAAE,UAAU;AAElB,QAAM,eAAeC,MAAAA;AAAAA,IACnB,OAAO;AAAA,MACL,QAAQC,YAAAA,gBAAgB,OAAO,KAAK;AAAA,MACpC,WAAWA,YAAAA,gBAAgB,UAAU,KAAK;AAAA,MAC1C,iBAAiBA,YAAAA,gBAAgB,gBAAgB,KAAK;AAAA,MACtD,mBAAmBA,YAAAA,gBAAgB,kBAAkB,KAAK;AAAA,MAC1D,SAASA,YAAAA,gBAAgB,QAAQ,KAAK;AAAA,MACtC,SAASA,YAAAA,gBAAgB,QAAQ,KAAK;AAAA,IAAA;AAAA,IAExC,CAAC,KAAK;AAAA,EAAA;AAGR,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,EAAA;AAEP;AA6BO,SAAS,UAAU;AACxB,QAAM,EAAE,MAAA,IAAUF,yBAAA;AAElB,QAAM,OAAOE,YAAAA,gBAAgB,gBAAgB,KAAK,IAAI,MAAM,OAAO;AAEnE,QAAM,eAAeD,MAAAA;AAAAA,IACnB,OAAO;AAAA,MACL,QAAQC,YAAAA,gBAAgB,OAAO,KAAK;AAAA,MACpC,WAAWA,YAAAA,gBAAgB,UAAU,KAAK;AAAA,MAC1C,iBAAiBA,YAAAA,gBAAgB,gBAAgB,KAAK;AAAA,MACtD,mBAAmBA,YAAAA,gBAAgB,kBAAkB,KAAK;AAAA,MAC1D,SAASA,YAAAA,gBAAgB,QAAQ,KAAK;AAAA,IAAA;AAAA,IAExC,CAAC,KAAK;AAAA,EAAA;AAGR,SAAO;AAAA,IACL;AAAA,IACA,GAAG;AAAA,EAAA;AAEP;;;"}
@@ -1,3 +1,15 @@
1
+ import { type AuthContextValue } from '../types';
2
+ /**
3
+ * Return type for useAuth hook
4
+ */
5
+ export type UseAuthReturn = AuthContextValue & {
6
+ isIdle: boolean;
7
+ isLoading: boolean;
8
+ isAuthenticated: boolean;
9
+ isUnauthenticated: boolean;
10
+ isReady: boolean;
11
+ isError: boolean;
12
+ };
1
13
  /**
2
14
  * Hook for accessing authentication state and actions
3
15
  *
@@ -39,21 +51,7 @@
39
51
  * }
40
52
  * ```
41
53
  */
42
- export declare function useAuth(): {
43
- isIdle: boolean;
44
- isLoading: boolean;
45
- isAuthenticated: boolean;
46
- isUnauthenticated: boolean;
47
- isReady: boolean;
48
- isError: boolean;
49
- state: import("..").AuthState;
50
- login: (returnUrl?: string) => void;
51
- logout: () => Promise<void>;
52
- getToken: (options: {
53
- template: "web";
54
- }) => Promise<string | null>;
55
- getAuthState: () => import("..").AuthState;
56
- };
54
+ export declare function useAuth(): UseAuthReturn;
57
55
  /**
58
56
  * Hook for getting current user information with auth state
59
57
  *
@@ -1 +1 @@
1
- {"version":3,"file":"use-auth.d.ts","sourceRoot":"","sources":["../../src/hooks/use-auth.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,OAAO;;;;;;;;qBAsEuQ,CAAC;;;;;;EAlD9R;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,OAAO;;;;;;;EAoBtB"}
1
+ {"version":3,"file":"use-auth.d.ts","sourceRoot":"","sources":["../../src/hooks/use-auth.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG;IAC7C,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,OAAO,IAAI,aAAa,CAoBvC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,OAAO;;;;;;;EAoBtB"}
@@ -1,41 +1,45 @@
1
- import { useMemo as n } from "react";
2
- import { useAuthContext as o } from "../providers/auth/auth.hook.js";
3
- import { AuthStateGuards as t } from "../types/index.js";
4
- function d() {
5
- const e = o(), { state: i } = e, s = n(
1
+ import { useMemo } from "react";
2
+ import { useAuthContext } from "../providers/auth/auth.hook.js";
3
+ import { AuthStateGuards } from "../types/index.js";
4
+ function useAuth() {
5
+ const context = useAuthContext();
6
+ const { state } = context;
7
+ const booleanState = useMemo(
6
8
  () => ({
7
- isIdle: t.isIdle(i),
8
- isLoading: t.isLoading(i),
9
- isAuthenticated: t.isAuthenticated(i),
10
- isUnauthenticated: t.isUnauthenticated(i),
11
- isReady: t.isReady(i),
12
- isError: t.isError(i)
9
+ isIdle: AuthStateGuards.isIdle(state),
10
+ isLoading: AuthStateGuards.isLoading(state),
11
+ isAuthenticated: AuthStateGuards.isAuthenticated(state),
12
+ isUnauthenticated: AuthStateGuards.isUnauthenticated(state),
13
+ isReady: AuthStateGuards.isReady(state),
14
+ isError: AuthStateGuards.isError(state)
13
15
  }),
14
- [i]
16
+ [state]
15
17
  );
16
18
  return {
17
- ...e,
18
- ...s
19
+ ...context,
20
+ ...booleanState
19
21
  };
20
22
  }
21
- function c() {
22
- const { state: e } = o(), i = t.isAuthenticated(e) ? e.user : null, s = n(
23
+ function useUser() {
24
+ const { state } = useAuthContext();
25
+ const user = AuthStateGuards.isAuthenticated(state) ? state.user : null;
26
+ const booleanState = useMemo(
23
27
  () => ({
24
- isIdle: t.isIdle(e),
25
- isLoading: t.isLoading(e),
26
- isAuthenticated: t.isAuthenticated(e),
27
- isUnauthenticated: t.isUnauthenticated(e),
28
- isError: t.isError(e)
28
+ isIdle: AuthStateGuards.isIdle(state),
29
+ isLoading: AuthStateGuards.isLoading(state),
30
+ isAuthenticated: AuthStateGuards.isAuthenticated(state),
31
+ isUnauthenticated: AuthStateGuards.isUnauthenticated(state),
32
+ isError: AuthStateGuards.isError(state)
29
33
  }),
30
- [e]
34
+ [state]
31
35
  );
32
36
  return {
33
- user: i,
34
- ...s
37
+ user,
38
+ ...booleanState
35
39
  };
36
40
  }
37
41
  export {
38
- d as useAuth,
39
- c as useUser
42
+ useAuth,
43
+ useUser
40
44
  };
41
45
  //# sourceMappingURL=use-auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-auth.js","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":";;;AA8CO,SAASA,IAAU;AACxB,QAAMC,IAAUC,EAAA,GACV,EAAE,OAAAC,MAAUF,GAEZG,IAAeC;AAAA,IACnB,OAAO;AAAA,MACL,QAAQC,EAAgB,OAAOH,CAAK;AAAA,MACpC,WAAWG,EAAgB,UAAUH,CAAK;AAAA,MAC1C,iBAAiBG,EAAgB,gBAAgBH,CAAK;AAAA,MACtD,mBAAmBG,EAAgB,kBAAkBH,CAAK;AAAA,MAC1D,SAASG,EAAgB,QAAQH,CAAK;AAAA,MACtC,SAASG,EAAgB,QAAQH,CAAK;AAAA,IAAA;AAAA,IAExC,CAACA,CAAK;AAAA,EAAA;AAGR,SAAO;AAAA,IACL,GAAGF;AAAA,IACH,GAAGG;AAAA,EAAA;AAEP;AA6BO,SAASG,IAAU;AACxB,QAAM,EAAE,OAAAJ,EAAA,IAAUD,EAAA,GAEZM,IAAOF,EAAgB,gBAAgBH,CAAK,IAAIA,EAAM,OAAO,MAE7DC,IAAeC;AAAA,IACnB,OAAO;AAAA,MACL,QAAQC,EAAgB,OAAOH,CAAK;AAAA,MACpC,WAAWG,EAAgB,UAAUH,CAAK;AAAA,MAC1C,iBAAiBG,EAAgB,gBAAgBH,CAAK;AAAA,MACtD,mBAAmBG,EAAgB,kBAAkBH,CAAK;AAAA,MAC1D,SAASG,EAAgB,QAAQH,CAAK;AAAA,IAAA;AAAA,IAExC,CAACA,CAAK;AAAA,EAAA;AAGR,SAAO;AAAA,IACL,MAAAK;AAAA,IACA,GAAGJ;AAAA,EAAA;AAEP;"}
1
+ {"version":3,"file":"use-auth.js","sources":["../../src/hooks/use-auth.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { useAuthContext } from '../providers/auth/auth.hook';\nimport { AuthStateGuards, type AuthContextValue } from '../types';\n\n/**\n * Return type for useAuth hook\n */\nexport type UseAuthReturn = AuthContextValue & {\n isIdle: boolean;\n isLoading: boolean;\n isAuthenticated: boolean;\n isUnauthenticated: boolean;\n isReady: boolean;\n isError: boolean;\n};\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(): UseAuthReturn {\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":[],"mappings":";;;AA0DO,SAAS,UAAyB;AACvC,QAAM,UAAU,eAAA;AAChB,QAAM,EAAE,UAAU;AAElB,QAAM,eAAe;AAAA,IACnB,OAAO;AAAA,MACL,QAAQ,gBAAgB,OAAO,KAAK;AAAA,MACpC,WAAW,gBAAgB,UAAU,KAAK;AAAA,MAC1C,iBAAiB,gBAAgB,gBAAgB,KAAK;AAAA,MACtD,mBAAmB,gBAAgB,kBAAkB,KAAK;AAAA,MAC1D,SAAS,gBAAgB,QAAQ,KAAK;AAAA,MACtC,SAAS,gBAAgB,QAAQ,KAAK;AAAA,IAAA;AAAA,IAExC,CAAC,KAAK;AAAA,EAAA;AAGR,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,EAAA;AAEP;AA6BO,SAAS,UAAU;AACxB,QAAM,EAAE,MAAA,IAAU,eAAA;AAElB,QAAM,OAAO,gBAAgB,gBAAgB,KAAK,IAAI,MAAM,OAAO;AAEnE,QAAM,eAAe;AAAA,IACnB,OAAO;AAAA,MACL,QAAQ,gBAAgB,OAAO,KAAK;AAAA,MACpC,WAAW,gBAAgB,UAAU,KAAK;AAAA,MAC1C,iBAAiB,gBAAgB,gBAAgB,KAAK;AAAA,MACtD,mBAAmB,gBAAgB,kBAAkB,KAAK;AAAA,MAC1D,SAAS,gBAAgB,QAAQ,KAAK;AAAA,IAAA;AAAA,IAExC,CAAC,KAAK;AAAA,EAAA;AAGR,SAAO;AAAA,IACL;AAAA,IACA,GAAG;AAAA,EAAA;AAEP;"}
@@ -1,2 +1,10 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../providers/blimu/blimu.hook.cjs");function i(){const{client:e}=t.useBlimu();return e.getClient()}exports.useClient=i;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const blimu_hook = require("../providers/blimu/blimu.hook.cjs");
4
+ function useClient() {
5
+ const { client } = blimu_hook.useBlimu();
6
+ const blimuClient = client.getClient();
7
+ return blimuClient;
8
+ }
9
+ exports.useClient = useClient;
2
10
  //# sourceMappingURL=use-client.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-client.cjs","sources":["../../src/hooks/use-client.ts"],"sourcesContent":["import { useBlimu } from '../providers/blimu/blimu.hook';\n\n/**\n * Hook for accessing the Blimu API client instance\n *\n * Returns the underlying Blimu client that can be used to make direct API calls\n * to the Blimu runtime API. The client is pre-configured with authentication\n * headers and the publishable key.\n *\n * @returns The Blimu API client instance\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * const client = useClient();\n *\n *\n * const handleListEntitlements = async () => {\n * const result = await client.entitlements.listForTenant({\n * tenantResourceId: 'org_123',\n * });\n * };\n *\n * return <button onClick={handleListEntitlements}>List Entitlements</button>;\n * }\n * ```\n */\nexport function useClient() {\n const { client } = useBlimu();\n const blimuClient = client.getClient();\n return blimuClient;\n}\n"],"names":["useClient","client","useBlimu"],"mappings":"qIA2BO,SAASA,GAAY,CAC1B,KAAM,CAAE,OAAAC,CAAA,EAAWC,WAAA,EAEnB,OADoBD,EAAO,UAAA,CAE7B"}
1
+ {"version":3,"file":"use-client.cjs","sources":["../../src/hooks/use-client.ts"],"sourcesContent":["import { useBlimu } from '../providers/blimu/blimu.hook';\n\n/**\n * Hook for accessing the Blimu API client instance\n *\n * Returns the underlying Blimu client that can be used to make direct API calls\n * to the Blimu runtime API. The client is pre-configured with authentication\n * headers and the publishable key.\n *\n * @returns The Blimu API client instance\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * const client = useClient();\n *\n *\n * const handleListEntitlements = async () => {\n * const result = await client.entitlements.listForTenant({\n * tenantResourceId: 'org_123',\n * });\n * };\n *\n * return <button onClick={handleListEntitlements}>List Entitlements</button>;\n * }\n * ```\n */\nexport function useClient() {\n const { client } = useBlimu();\n const blimuClient = client.getClient();\n return blimuClient;\n}\n"],"names":["useBlimu"],"mappings":";;;AA2BO,SAAS,YAAY;AAC1B,QAAM,EAAE,OAAA,IAAWA,oBAAA;AACnB,QAAM,cAAc,OAAO,UAAA;AAC3B,SAAO;AACT;;"}
@@ -23,5 +23,5 @@
23
23
  * }
24
24
  * ```
25
25
  */
26
- export declare function useClient(): Blimu;
26
+ export declare function useClient(): import("@blimu/client").Blimu;
27
27
  //# sourceMappingURL=use-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-client.d.ts","sourceRoot":"","sources":["../../src/hooks/use-client.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,SAAS,UAIxB"}
1
+ {"version":3,"file":"use-client.d.ts","sourceRoot":"","sources":["../../src/hooks/use-client.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,SAAS,kCAIxB"}
@@ -1,9 +1,10 @@
1
- import { useBlimu as e } from "../providers/blimu/blimu.hook.js";
2
- function l() {
3
- const { client: t } = e();
4
- return t.getClient();
1
+ import { useBlimu } from "../providers/blimu/blimu.hook.js";
2
+ function useClient() {
3
+ const { client } = useBlimu();
4
+ const blimuClient = client.getClient();
5
+ return blimuClient;
5
6
  }
6
7
  export {
7
- l as useClient
8
+ useClient
8
9
  };
9
10
  //# sourceMappingURL=use-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-client.js","sources":["../../src/hooks/use-client.ts"],"sourcesContent":["import { useBlimu } from '../providers/blimu/blimu.hook';\n\n/**\n * Hook for accessing the Blimu API client instance\n *\n * Returns the underlying Blimu client that can be used to make direct API calls\n * to the Blimu runtime API. The client is pre-configured with authentication\n * headers and the publishable key.\n *\n * @returns The Blimu API client instance\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * const client = useClient();\n *\n *\n * const handleListEntitlements = async () => {\n * const result = await client.entitlements.listForTenant({\n * tenantResourceId: 'org_123',\n * });\n * };\n *\n * return <button onClick={handleListEntitlements}>List Entitlements</button>;\n * }\n * ```\n */\nexport function useClient() {\n const { client } = useBlimu();\n const blimuClient = client.getClient();\n return blimuClient;\n}\n"],"names":["useClient","client","useBlimu"],"mappings":";AA2BO,SAASA,IAAY;AAC1B,QAAM,EAAE,QAAAC,EAAA,IAAWC,EAAA;AAEnB,SADoBD,EAAO,UAAA;AAE7B;"}
1
+ {"version":3,"file":"use-client.js","sources":["../../src/hooks/use-client.ts"],"sourcesContent":["import { useBlimu } from '../providers/blimu/blimu.hook';\n\n/**\n * Hook for accessing the Blimu API client instance\n *\n * Returns the underlying Blimu client that can be used to make direct API calls\n * to the Blimu runtime API. The client is pre-configured with authentication\n * headers and the publishable key.\n *\n * @returns The Blimu API client instance\n *\n * @example\n * ```tsx\n * function MyComponent() {\n * const client = useClient();\n *\n *\n * const handleListEntitlements = async () => {\n * const result = await client.entitlements.listForTenant({\n * tenantResourceId: 'org_123',\n * });\n * };\n *\n * return <button onClick={handleListEntitlements}>List Entitlements</button>;\n * }\n * ```\n */\nexport function useClient() {\n const { client } = useBlimu();\n const blimuClient = client.getClient();\n return blimuClient;\n}\n"],"names":[],"mappings":";AA2BO,SAAS,YAAY;AAC1B,QAAM,EAAE,OAAA,IAAW,SAAA;AACnB,QAAM,cAAc,OAAO,UAAA;AAC3B,SAAO;AACT;"}
@@ -1,2 +1,61 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),g=require("../providers/blimu/blimu.hook.cjs");function C({resourceType:c,resourceId:u,page:t=1,limit:s=20,search:S="",enabled:a=!0}){const{client:l}=g.useBlimu(),[M,i]=e.useState([]),[f,m]=e.useState(0),[y,b]=e.useState(!1),[E,h]=e.useState(null),o=e.useCallback(async()=>{if(!(!a||!c||!u)){b(!0),h(null);try{const n=l.getClient(),r={items:[],total:0,page:t,limit:s};i(r.items),m(r.total)}catch(n){const r=n instanceof Error?n:new Error("Failed to fetch members");h(r),i([]),m(0)}finally{b(!1)}}},[l,c,u,t,s,S,a]);e.useEffect(()=>{o()},[o]);const P=f>t*s,d=t>1;return{members:M,total:f,page:t,limit:s,isLoading:y,error:E,refetch:o,hasNextPage:P,hasPreviousPage:d}}exports.useMembers=C;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const blimu_hook = require("../providers/blimu/blimu.hook.cjs");
5
+ function useMembers({
6
+ resourceType,
7
+ resourceId,
8
+ page = 1,
9
+ limit = 20,
10
+ search = "",
11
+ enabled = true
12
+ }) {
13
+ const { client } = blimu_hook.useBlimu();
14
+ const [members, setMembers] = React.useState([]);
15
+ const [total, setTotal] = React.useState(0);
16
+ const [isLoading, setIsLoading] = React.useState(false);
17
+ const [error, setError] = React.useState(null);
18
+ const fetchMembers = React.useCallback(async () => {
19
+ if (!enabled || !resourceType || !resourceId) {
20
+ return;
21
+ }
22
+ setIsLoading(true);
23
+ setError(null);
24
+ try {
25
+ const runtimeClient = client.getClient();
26
+ const response = {
27
+ items: [],
28
+ total: 0,
29
+ page,
30
+ limit
31
+ };
32
+ setMembers(response.items);
33
+ setTotal(response.total);
34
+ } catch (err) {
35
+ const error2 = err instanceof Error ? err : new Error("Failed to fetch members");
36
+ setError(error2);
37
+ setMembers([]);
38
+ setTotal(0);
39
+ } finally {
40
+ setIsLoading(false);
41
+ }
42
+ }, [client, resourceType, resourceId, page, limit, search, enabled]);
43
+ React.useEffect(() => {
44
+ fetchMembers();
45
+ }, [fetchMembers]);
46
+ const hasNextPage = total > page * limit;
47
+ const hasPreviousPage = page > 1;
48
+ return {
49
+ members,
50
+ total,
51
+ page,
52
+ limit,
53
+ isLoading,
54
+ error,
55
+ refetch: fetchMembers,
56
+ hasNextPage,
57
+ hasPreviousPage
58
+ };
59
+ }
60
+ exports.useMembers = useMembers;
2
61
  //# sourceMappingURL=use-members.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-members.cjs","sources":["../../src/hooks/use-members.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport { useBlimu } from '../providers';\n\nexport interface ResourceMember {\n userId: string;\n role: string;\n inherited: boolean;\n user: {\n id: string;\n email: string;\n firstName: string | null;\n lastName: string | null;\n avatarUrl: string | null;\n emailVerified: boolean;\n createdAt: string;\n updatedAt: string;\n lastLoginAt: string | null;\n };\n}\n\nexport interface UseMembersOptions {\n resourceType: string;\n resourceId: string;\n page?: number;\n limit?: number;\n search?: string;\n enabled?: boolean;\n}\n\nexport interface UseMembersResult {\n members: ResourceMember[];\n total: number;\n page: number;\n limit: number;\n isLoading: boolean;\n error: Error | null;\n refetch: () => Promise<void>;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n}\n\n/**\n * Hook to fetch and manage members list for a resource\n *\n * @example\n * ```tsx\n * const { members, isLoading, error } = useMembers({\n * resourceType: 'organization',\n * resourceId: 'org_123',\n * page: 1,\n * limit: 20,\n * });\n * ```\n */\nexport function useMembers({\n resourceType,\n resourceId,\n page = 1,\n limit = 20,\n search = '',\n enabled = true,\n}: UseMembersOptions): UseMembersResult {\n const { client } = useBlimu();\n const [members, setMembers] = useState<ResourceMember[]>([]);\n const [total, setTotal] = useState(0);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const fetchMembers = useCallback(async () => {\n if (!enabled || !resourceType || !resourceId) {\n return;\n }\n\n setIsLoading(true);\n setError(null);\n\n try {\n // TODO: Implement when resourceMembers API is available in runtime client\n // For now, this is a placeholder that will need to be implemented\n // when the runtime client exposes the resourceMembers service\n const runtimeClient = client.getClient();\n \n // This will need to be implemented when the API is available\n // const response = await runtimeClient.resourceMembers.list(resourceType, resourceId, {\n // page,\n // limit,\n // search,\n // });\n \n // Placeholder response\n const response = {\n items: [],\n total: 0,\n page,\n limit,\n };\n\n setMembers(response.items);\n setTotal(response.total);\n } catch (err) {\n const error = err instanceof Error ? err : new Error('Failed to fetch members');\n setError(error);\n setMembers([]);\n setTotal(0);\n } finally {\n setIsLoading(false);\n }\n }, [client, resourceType, resourceId, page, limit, search, enabled]);\n\n useEffect(() => {\n fetchMembers();\n }, [fetchMembers]);\n\n const hasNextPage = total > page * limit;\n const hasPreviousPage = page > 1;\n\n return {\n members,\n total,\n page,\n limit,\n isLoading,\n error,\n refetch: fetchMembers,\n hasNextPage,\n hasPreviousPage,\n };\n}\n"],"names":["useMembers","resourceType","resourceId","page","limit","search","enabled","client","useBlimu","members","setMembers","useState","total","setTotal","isLoading","setIsLoading","error","setError","fetchMembers","useCallback","runtimeClient","response","err","useEffect","hasNextPage","hasPreviousPage"],"mappings":"wJAuDO,SAASA,EAAW,CACzB,aAAAC,EACA,WAAAC,EACA,KAAAC,EAAO,EACP,MAAAC,EAAQ,GACR,OAAAC,EAAS,GACT,QAAAC,EAAU,EACZ,EAAwC,CACtC,KAAM,CAAE,OAAAC,CAAA,EAAWC,WAAA,EACb,CAACC,EAASC,CAAU,EAAIC,EAAAA,SAA2B,CAAA,CAAE,EACrD,CAACC,EAAOC,CAAQ,EAAIF,EAAAA,SAAS,CAAC,EAC9B,CAACG,EAAWC,CAAY,EAAIJ,EAAAA,SAAS,EAAK,EAC1C,CAACK,EAAOC,CAAQ,EAAIN,EAAAA,SAAuB,IAAI,EAE/CO,EAAeC,EAAAA,YAAY,SAAY,CAC3C,GAAI,GAACb,GAAW,CAACL,GAAgB,CAACC,GAIlC,CAAAa,EAAa,EAAI,EACjBE,EAAS,IAAI,EAEb,GAAI,CAIF,MAAMG,EAAgBb,EAAO,UAAA,EAUvBc,EAAW,CACf,MAAO,CAAA,EACP,MAAO,EACP,KAAAlB,EACA,MAAAC,CAAA,EAGFM,EAAWW,EAAS,KAAK,EACzBR,EAASQ,EAAS,KAAK,CACzB,OAASC,EAAK,CACZ,MAAMN,EAAQM,aAAe,MAAQA,EAAM,IAAI,MAAM,yBAAyB,EAC9EL,EAASD,CAAK,EACdN,EAAW,CAAA,CAAE,EACbG,EAAS,CAAC,CACZ,QAAA,CACEE,EAAa,EAAK,CACpB,EACF,EAAG,CAACR,EAAQN,EAAcC,EAAYC,EAAMC,EAAOC,EAAQC,CAAO,CAAC,EAEnEiB,EAAAA,UAAU,IAAM,CACdL,EAAA,CACF,EAAG,CAACA,CAAY,CAAC,EAEjB,MAAMM,EAAcZ,EAAQT,EAAOC,EAC7BqB,EAAkBtB,EAAO,EAE/B,MAAO,CACL,QAAAM,EACA,MAAAG,EACA,KAAAT,EACA,MAAAC,EACA,UAAAU,EACA,MAAAE,EACA,QAASE,EACT,YAAAM,EACA,gBAAAC,CAAA,CAEJ"}
1
+ {"version":3,"file":"use-members.cjs","sources":["../../src/hooks/use-members.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport { useBlimu } from '../providers';\n\nexport interface ResourceMember {\n userId: string;\n role: string;\n inherited: boolean;\n user: {\n id: string;\n email: string;\n firstName: string | null;\n lastName: string | null;\n avatarUrl: string | null;\n emailVerified: boolean;\n createdAt: string;\n updatedAt: string;\n lastLoginAt: string | null;\n };\n}\n\nexport interface UseMembersOptions {\n resourceType: string;\n resourceId: string;\n page?: number;\n limit?: number;\n search?: string;\n enabled?: boolean;\n}\n\nexport interface UseMembersResult {\n members: ResourceMember[];\n total: number;\n page: number;\n limit: number;\n isLoading: boolean;\n error: Error | null;\n refetch: () => Promise<void>;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n}\n\n/**\n * Hook to fetch and manage members list for a resource\n *\n * @example\n * ```tsx\n * const { members, isLoading, error } = useMembers({\n * resourceType: 'organization',\n * resourceId: 'org_123',\n * page: 1,\n * limit: 20,\n * });\n * ```\n */\nexport function useMembers({\n resourceType,\n resourceId,\n page = 1,\n limit = 20,\n search = '',\n enabled = true,\n}: UseMembersOptions): UseMembersResult {\n const { client } = useBlimu();\n const [members, setMembers] = useState<ResourceMember[]>([]);\n const [total, setTotal] = useState(0);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const fetchMembers = useCallback(async () => {\n if (!enabled || !resourceType || !resourceId) {\n return;\n }\n\n setIsLoading(true);\n setError(null);\n\n try {\n // TODO: Implement when resourceMembers API is available in runtime client\n // For now, this is a placeholder that will need to be implemented\n // when the runtime client exposes the resourceMembers service\n const runtimeClient = client.getClient();\n \n // This will need to be implemented when the API is available\n // const response = await runtimeClient.resourceMembers.list(resourceType, resourceId, {\n // page,\n // limit,\n // search,\n // });\n \n // Placeholder response\n const response = {\n items: [],\n total: 0,\n page,\n limit,\n };\n\n setMembers(response.items);\n setTotal(response.total);\n } catch (err) {\n const error = err instanceof Error ? err : new Error('Failed to fetch members');\n setError(error);\n setMembers([]);\n setTotal(0);\n } finally {\n setIsLoading(false);\n }\n }, [client, resourceType, resourceId, page, limit, search, enabled]);\n\n useEffect(() => {\n fetchMembers();\n }, [fetchMembers]);\n\n const hasNextPage = total > page * limit;\n const hasPreviousPage = page > 1;\n\n return {\n members,\n total,\n page,\n limit,\n isLoading,\n error,\n refetch: fetchMembers,\n hasNextPage,\n hasPreviousPage,\n };\n}\n"],"names":["useBlimu","useState","useCallback","error","useEffect"],"mappings":";;;;AAuDO,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,UAAU;AACZ,GAAwC;AACtC,QAAM,EAAE,OAAA,IAAWA,oBAAA;AACnB,QAAM,CAAC,SAAS,UAAU,IAAIC,MAAAA,SAA2B,CAAA,CAAE;AAC3D,QAAM,CAAC,OAAO,QAAQ,IAAIA,MAAAA,SAAS,CAAC;AACpC,QAAM,CAAC,WAAW,YAAY,IAAIA,MAAAA,SAAS,KAAK;AAChD,QAAM,CAAC,OAAO,QAAQ,IAAIA,MAAAA,SAAuB,IAAI;AAErD,QAAM,eAAeC,MAAAA,YAAY,YAAY;AAC3C,QAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,YAAY;AAC5C;AAAA,IACF;AAEA,iBAAa,IAAI;AACjB,aAAS,IAAI;AAEb,QAAI;AAIF,YAAM,gBAAgB,OAAO,UAAA;AAU7B,YAAM,WAAW;AAAA,QACf,OAAO,CAAA;AAAA,QACP,OAAO;AAAA,QACP;AAAA,QACA;AAAA,MAAA;AAGF,iBAAW,SAAS,KAAK;AACzB,eAAS,SAAS,KAAK;AAAA,IACzB,SAAS,KAAK;AACZ,YAAMC,SAAQ,eAAe,QAAQ,MAAM,IAAI,MAAM,yBAAyB;AAC9E,eAASA,MAAK;AACd,iBAAW,CAAA,CAAE;AACb,eAAS,CAAC;AAAA,IACZ,UAAA;AACE,mBAAa,KAAK;AAAA,IACpB;AAAA,EACF,GAAG,CAAC,QAAQ,cAAc,YAAY,MAAM,OAAO,QAAQ,OAAO,CAAC;AAEnEC,QAAAA,UAAU,MAAM;AACd,iBAAA;AAAA,EACF,GAAG,CAAC,YAAY,CAAC;AAEjB,QAAM,cAAc,QAAQ,OAAO;AACnC,QAAM,kBAAkB,OAAO;AAE/B,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,EAAA;AAEJ;;"}
@@ -1,49 +1,61 @@
1
- import { useState as r, useCallback as L, useEffect as d } from "react";
2
- import { useBlimu as g } from "../providers/blimu/blimu.hook.js";
3
- function w({
4
- resourceType: c,
5
- resourceId: a,
6
- page: t = 1,
7
- limit: e = 20,
8
- search: E = "",
9
- enabled: l = !0
1
+ import { useState, useCallback, useEffect } from "react";
2
+ import { useBlimu } from "../providers/blimu/blimu.hook.js";
3
+ function useMembers({
4
+ resourceType,
5
+ resourceId,
6
+ page = 1,
7
+ limit = 20,
8
+ search = "",
9
+ enabled = true
10
10
  }) {
11
- const { client: f } = g(), [C, u] = r([]), [i, m] = r(0), [M, h] = r(!1), [P, b] = r(null), o = L(async () => {
12
- if (!(!l || !c || !a)) {
13
- h(!0), b(null);
14
- try {
15
- const n = f.getClient(), s = {
16
- items: [],
17
- total: 0,
18
- page: t,
19
- limit: e
20
- };
21
- u(s.items), m(s.total);
22
- } catch (n) {
23
- const s = n instanceof Error ? n : new Error("Failed to fetch members");
24
- b(s), u([]), m(0);
25
- } finally {
26
- h(!1);
27
- }
11
+ const { client } = useBlimu();
12
+ const [members, setMembers] = useState([]);
13
+ const [total, setTotal] = useState(0);
14
+ const [isLoading, setIsLoading] = useState(false);
15
+ const [error, setError] = useState(null);
16
+ const fetchMembers = useCallback(async () => {
17
+ if (!enabled || !resourceType || !resourceId) {
18
+ return;
28
19
  }
29
- }, [f, c, a, t, e, E, l]);
30
- d(() => {
31
- o();
32
- }, [o]);
33
- const x = i > t * e, y = t > 1;
20
+ setIsLoading(true);
21
+ setError(null);
22
+ try {
23
+ const runtimeClient = client.getClient();
24
+ const response = {
25
+ items: [],
26
+ total: 0,
27
+ page,
28
+ limit
29
+ };
30
+ setMembers(response.items);
31
+ setTotal(response.total);
32
+ } catch (err) {
33
+ const error2 = err instanceof Error ? err : new Error("Failed to fetch members");
34
+ setError(error2);
35
+ setMembers([]);
36
+ setTotal(0);
37
+ } finally {
38
+ setIsLoading(false);
39
+ }
40
+ }, [client, resourceType, resourceId, page, limit, search, enabled]);
41
+ useEffect(() => {
42
+ fetchMembers();
43
+ }, [fetchMembers]);
44
+ const hasNextPage = total > page * limit;
45
+ const hasPreviousPage = page > 1;
34
46
  return {
35
- members: C,
36
- total: i,
37
- page: t,
38
- limit: e,
39
- isLoading: M,
40
- error: P,
41
- refetch: o,
42
- hasNextPage: x,
43
- hasPreviousPage: y
47
+ members,
48
+ total,
49
+ page,
50
+ limit,
51
+ isLoading,
52
+ error,
53
+ refetch: fetchMembers,
54
+ hasNextPage,
55
+ hasPreviousPage
44
56
  };
45
57
  }
46
58
  export {
47
- w as useMembers
59
+ useMembers
48
60
  };
49
61
  //# sourceMappingURL=use-members.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-members.js","sources":["../../src/hooks/use-members.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport { useBlimu } from '../providers';\n\nexport interface ResourceMember {\n userId: string;\n role: string;\n inherited: boolean;\n user: {\n id: string;\n email: string;\n firstName: string | null;\n lastName: string | null;\n avatarUrl: string | null;\n emailVerified: boolean;\n createdAt: string;\n updatedAt: string;\n lastLoginAt: string | null;\n };\n}\n\nexport interface UseMembersOptions {\n resourceType: string;\n resourceId: string;\n page?: number;\n limit?: number;\n search?: string;\n enabled?: boolean;\n}\n\nexport interface UseMembersResult {\n members: ResourceMember[];\n total: number;\n page: number;\n limit: number;\n isLoading: boolean;\n error: Error | null;\n refetch: () => Promise<void>;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n}\n\n/**\n * Hook to fetch and manage members list for a resource\n *\n * @example\n * ```tsx\n * const { members, isLoading, error } = useMembers({\n * resourceType: 'organization',\n * resourceId: 'org_123',\n * page: 1,\n * limit: 20,\n * });\n * ```\n */\nexport function useMembers({\n resourceType,\n resourceId,\n page = 1,\n limit = 20,\n search = '',\n enabled = true,\n}: UseMembersOptions): UseMembersResult {\n const { client } = useBlimu();\n const [members, setMembers] = useState<ResourceMember[]>([]);\n const [total, setTotal] = useState(0);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const fetchMembers = useCallback(async () => {\n if (!enabled || !resourceType || !resourceId) {\n return;\n }\n\n setIsLoading(true);\n setError(null);\n\n try {\n // TODO: Implement when resourceMembers API is available in runtime client\n // For now, this is a placeholder that will need to be implemented\n // when the runtime client exposes the resourceMembers service\n const runtimeClient = client.getClient();\n \n // This will need to be implemented when the API is available\n // const response = await runtimeClient.resourceMembers.list(resourceType, resourceId, {\n // page,\n // limit,\n // search,\n // });\n \n // Placeholder response\n const response = {\n items: [],\n total: 0,\n page,\n limit,\n };\n\n setMembers(response.items);\n setTotal(response.total);\n } catch (err) {\n const error = err instanceof Error ? err : new Error('Failed to fetch members');\n setError(error);\n setMembers([]);\n setTotal(0);\n } finally {\n setIsLoading(false);\n }\n }, [client, resourceType, resourceId, page, limit, search, enabled]);\n\n useEffect(() => {\n fetchMembers();\n }, [fetchMembers]);\n\n const hasNextPage = total > page * limit;\n const hasPreviousPage = page > 1;\n\n return {\n members,\n total,\n page,\n limit,\n isLoading,\n error,\n refetch: fetchMembers,\n hasNextPage,\n hasPreviousPage,\n };\n}\n"],"names":["useMembers","resourceType","resourceId","page","limit","search","enabled","client","useBlimu","members","setMembers","useState","total","setTotal","isLoading","setIsLoading","error","setError","fetchMembers","useCallback","runtimeClient","response","err","useEffect","hasNextPage","hasPreviousPage"],"mappings":";;AAuDO,SAASA,EAAW;AAAA,EACzB,cAAAC;AAAA,EACA,YAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAAC,IAAQ;AAAA,EACR,QAAAC,IAAS;AAAA,EACT,SAAAC,IAAU;AACZ,GAAwC;AACtC,QAAM,EAAE,QAAAC,EAAA,IAAWC,EAAA,GACb,CAACC,GAASC,CAAU,IAAIC,EAA2B,CAAA,CAAE,GACrD,CAACC,GAAOC,CAAQ,IAAIF,EAAS,CAAC,GAC9B,CAACG,GAAWC,CAAY,IAAIJ,EAAS,EAAK,GAC1C,CAACK,GAAOC,CAAQ,IAAIN,EAAuB,IAAI,GAE/CO,IAAeC,EAAY,YAAY;AAC3C,QAAI,GAACb,KAAW,CAACL,KAAgB,CAACC,IAIlC;AAAA,MAAAa,EAAa,EAAI,GACjBE,EAAS,IAAI;AAEb,UAAI;AAIF,cAAMG,IAAgBb,EAAO,UAAA,GAUvBc,IAAW;AAAA,UACf,OAAO,CAAA;AAAA,UACP,OAAO;AAAA,UACP,MAAAlB;AAAA,UACA,OAAAC;AAAA,QAAA;AAGF,QAAAM,EAAWW,EAAS,KAAK,GACzBR,EAASQ,EAAS,KAAK;AAAA,MACzB,SAASC,GAAK;AACZ,cAAMN,IAAQM,aAAe,QAAQA,IAAM,IAAI,MAAM,yBAAyB;AAC9E,QAAAL,EAASD,CAAK,GACdN,EAAW,CAAA,CAAE,GACbG,EAAS,CAAC;AAAA,MACZ,UAAA;AACE,QAAAE,EAAa,EAAK;AAAA,MACpB;AAAA;AAAA,EACF,GAAG,CAACR,GAAQN,GAAcC,GAAYC,GAAMC,GAAOC,GAAQC,CAAO,CAAC;AAEnE,EAAAiB,EAAU,MAAM;AACd,IAAAL,EAAA;AAAA,EACF,GAAG,CAACA,CAAY,CAAC;AAEjB,QAAMM,IAAcZ,IAAQT,IAAOC,GAC7BqB,IAAkBtB,IAAO;AAE/B,SAAO;AAAA,IACL,SAAAM;AAAA,IACA,OAAAG;AAAA,IACA,MAAAT;AAAA,IACA,OAAAC;AAAA,IACA,WAAAU;AAAA,IACA,OAAAE;AAAA,IACA,SAASE;AAAA,IACT,aAAAM;AAAA,IACA,iBAAAC;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"use-members.js","sources":["../../src/hooks/use-members.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport { useBlimu } from '../providers';\n\nexport interface ResourceMember {\n userId: string;\n role: string;\n inherited: boolean;\n user: {\n id: string;\n email: string;\n firstName: string | null;\n lastName: string | null;\n avatarUrl: string | null;\n emailVerified: boolean;\n createdAt: string;\n updatedAt: string;\n lastLoginAt: string | null;\n };\n}\n\nexport interface UseMembersOptions {\n resourceType: string;\n resourceId: string;\n page?: number;\n limit?: number;\n search?: string;\n enabled?: boolean;\n}\n\nexport interface UseMembersResult {\n members: ResourceMember[];\n total: number;\n page: number;\n limit: number;\n isLoading: boolean;\n error: Error | null;\n refetch: () => Promise<void>;\n hasNextPage: boolean;\n hasPreviousPage: boolean;\n}\n\n/**\n * Hook to fetch and manage members list for a resource\n *\n * @example\n * ```tsx\n * const { members, isLoading, error } = useMembers({\n * resourceType: 'organization',\n * resourceId: 'org_123',\n * page: 1,\n * limit: 20,\n * });\n * ```\n */\nexport function useMembers({\n resourceType,\n resourceId,\n page = 1,\n limit = 20,\n search = '',\n enabled = true,\n}: UseMembersOptions): UseMembersResult {\n const { client } = useBlimu();\n const [members, setMembers] = useState<ResourceMember[]>([]);\n const [total, setTotal] = useState(0);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const fetchMembers = useCallback(async () => {\n if (!enabled || !resourceType || !resourceId) {\n return;\n }\n\n setIsLoading(true);\n setError(null);\n\n try {\n // TODO: Implement when resourceMembers API is available in runtime client\n // For now, this is a placeholder that will need to be implemented\n // when the runtime client exposes the resourceMembers service\n const runtimeClient = client.getClient();\n \n // This will need to be implemented when the API is available\n // const response = await runtimeClient.resourceMembers.list(resourceType, resourceId, {\n // page,\n // limit,\n // search,\n // });\n \n // Placeholder response\n const response = {\n items: [],\n total: 0,\n page,\n limit,\n };\n\n setMembers(response.items);\n setTotal(response.total);\n } catch (err) {\n const error = err instanceof Error ? err : new Error('Failed to fetch members');\n setError(error);\n setMembers([]);\n setTotal(0);\n } finally {\n setIsLoading(false);\n }\n }, [client, resourceType, resourceId, page, limit, search, enabled]);\n\n useEffect(() => {\n fetchMembers();\n }, [fetchMembers]);\n\n const hasNextPage = total > page * limit;\n const hasPreviousPage = page > 1;\n\n return {\n members,\n total,\n page,\n limit,\n isLoading,\n error,\n refetch: fetchMembers,\n hasNextPage,\n hasPreviousPage,\n };\n}\n"],"names":["error"],"mappings":";;AAuDO,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,UAAU;AACZ,GAAwC;AACtC,QAAM,EAAE,OAAA,IAAW,SAAA;AACnB,QAAM,CAAC,SAAS,UAAU,IAAI,SAA2B,CAAA,CAAE;AAC3D,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,CAAC;AACpC,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAChD,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAuB,IAAI;AAErD,QAAM,eAAe,YAAY,YAAY;AAC3C,QAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,YAAY;AAC5C;AAAA,IACF;AAEA,iBAAa,IAAI;AACjB,aAAS,IAAI;AAEb,QAAI;AAIF,YAAM,gBAAgB,OAAO,UAAA;AAU7B,YAAM,WAAW;AAAA,QACf,OAAO,CAAA;AAAA,QACP,OAAO;AAAA,QACP;AAAA,QACA;AAAA,MAAA;AAGF,iBAAW,SAAS,KAAK;AACzB,eAAS,SAAS,KAAK;AAAA,IACzB,SAAS,KAAK;AACZ,YAAMA,SAAQ,eAAe,QAAQ,MAAM,IAAI,MAAM,yBAAyB;AAC9E,eAASA,MAAK;AACd,iBAAW,CAAA,CAAE;AACb,eAAS,CAAC;AAAA,IACZ,UAAA;AACE,mBAAa,KAAK;AAAA,IACpB;AAAA,EACF,GAAG,CAAC,QAAQ,cAAc,YAAY,MAAM,OAAO,QAAQ,OAAO,CAAC;AAEnE,YAAU,MAAM;AACd,iBAAA;AAAA,EACF,GAAG,CAAC,YAAY,CAAC;AAEjB,QAAM,cAAc,QAAQ,OAAO;AACnC,QAAM,kBAAkB,OAAO;AAE/B,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,EAAA;AAEJ;"}