@blimu/react 1.1.0 → 1.1.4

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 (489) hide show
  1. package/README.md +1 -1
  2. package/dist/_virtual/index.cjs +5 -1
  3. package/dist/_virtual/index.cjs.map +1 -1
  4. package/dist/_virtual/index.js +3 -3
  5. package/dist/_virtual/index2.cjs +4 -1
  6. package/dist/_virtual/index2.cjs.map +1 -1
  7. package/dist/_virtual/index2.js +2 -2
  8. package/dist/_virtual/use-sync-external-store-shim.development.cjs +4 -1
  9. package/dist/_virtual/use-sync-external-store-shim.development.cjs.map +1 -1
  10. package/dist/_virtual/use-sync-external-store-shim.development.js +2 -2
  11. package/dist/_virtual/use-sync-external-store-shim.production.cjs +4 -1
  12. package/dist/_virtual/use-sync-external-store-shim.production.cjs.map +1 -1
  13. package/dist/_virtual/use-sync-external-store-shim.production.js +2 -2
  14. package/dist/client/auth.service.cjs +248 -1
  15. package/dist/client/auth.service.cjs.map +1 -1
  16. package/dist/client/auth.service.d.ts.map +1 -1
  17. package/dist/client/auth.service.js +193 -96
  18. package/dist/client/auth.service.js.map +1 -1
  19. package/dist/client/external-store.cjs +26 -1
  20. package/dist/client/external-store.cjs.map +1 -1
  21. package/dist/client/external-store.js +22 -8
  22. package/dist/client/external-store.js.map +1 -1
  23. package/dist/client/runtime-client.cjs +136 -1
  24. package/dist/client/runtime-client.cjs.map +1 -1
  25. package/dist/client/runtime-client.d.ts +1 -1
  26. package/dist/client/runtime-client.d.ts.map +1 -1
  27. package/dist/client/runtime-client.js +85 -51
  28. package/dist/client/runtime-client.js.map +1 -1
  29. package/dist/components/index.cjs +13 -0
  30. package/dist/components/index.cjs.map +1 -0
  31. package/dist/components/index.d.ts +6 -6
  32. package/dist/components/index.d.ts.map +1 -1
  33. package/dist/components/index.js +13 -0
  34. package/dist/components/index.js.map +1 -0
  35. package/dist/components/members-list.cjs +132 -1
  36. package/dist/components/members-list.cjs.map +1 -1
  37. package/dist/components/members-list.d.ts.map +1 -1
  38. package/dist/components/members-list.js +69 -64
  39. package/dist/components/members-list.js.map +1 -1
  40. package/dist/components/redirect-to-sign-in.cjs +34 -1
  41. package/dist/components/redirect-to-sign-in.cjs.map +1 -1
  42. package/dist/components/redirect-to-sign-in.js +28 -20
  43. package/dist/components/redirect-to-sign-in.js.map +1 -1
  44. package/dist/components/sign-in-button.cjs +36 -1
  45. package/dist/components/sign-in-button.cjs.map +1 -1
  46. package/dist/components/sign-in-button.d.ts.map +1 -1
  47. package/dist/components/sign-in-button.js +25 -21
  48. package/dist/components/sign-in-button.js.map +1 -1
  49. package/dist/components/ui/avatar.cjs +42 -1
  50. package/dist/components/ui/avatar.cjs.map +1 -1
  51. package/dist/components/ui/avatar.d.ts +2 -2
  52. package/dist/components/ui/avatar.d.ts.map +1 -1
  53. package/dist/components/ui/avatar.js +23 -23
  54. package/dist/components/ui/avatar.js.map +1 -1
  55. package/dist/components/ui/badge.d.ts +2 -2
  56. package/dist/components/ui/badge.d.ts.map +1 -1
  57. package/dist/components/ui/dropdown-menu.cjs +148 -1
  58. package/dist/components/ui/dropdown-menu.cjs.map +1 -1
  59. package/dist/components/ui/dropdown-menu.d.ts +2 -2
  60. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  61. package/dist/components/ui/dropdown-menu.js +83 -81
  62. package/dist/components/ui/dropdown-menu.js.map +1 -1
  63. package/dist/components/ui/popover.d.ts +2 -2
  64. package/dist/components/ui/popover.d.ts.map +1 -1
  65. package/dist/components/ui/separator.d.ts +1 -1
  66. package/dist/components/ui/separator.d.ts.map +1 -1
  67. package/dist/components/user-avatar.cjs +22 -1
  68. package/dist/components/user-avatar.cjs.map +1 -1
  69. package/dist/components/user-avatar.d.ts +5 -5
  70. package/dist/components/user-avatar.d.ts.map +1 -1
  71. package/dist/components/user-avatar.js +16 -16
  72. package/dist/components/user-avatar.js.map +1 -1
  73. package/dist/components/user-button/styles.cjs +39 -1
  74. package/dist/components/user-button/styles.cjs.map +1 -1
  75. package/dist/components/user-button/styles.js +6 -5
  76. package/dist/components/user-button/styles.js.map +1 -1
  77. package/dist/components/user-button/user-button.cjs +98 -1
  78. package/dist/components/user-button/user-button.cjs.map +1 -1
  79. package/dist/components/user-button/user-button.d.ts +1 -1
  80. package/dist/components/user-button/user-button.d.ts.map +1 -1
  81. package/dist/components/user-button/user-button.js +64 -58
  82. package/dist/components/user-button/user-button.js.map +1 -1
  83. package/dist/hooks/index.cjs +14 -0
  84. package/dist/hooks/index.cjs.map +1 -0
  85. package/dist/hooks/index.d.ts +3 -2
  86. package/dist/hooks/index.d.ts.map +1 -1
  87. package/dist/hooks/index.js +14 -0
  88. package/dist/hooks/index.js.map +1 -0
  89. package/dist/hooks/use-auth.cjs +44 -1
  90. package/dist/hooks/use-auth.cjs.map +1 -1
  91. package/dist/hooks/use-auth.d.ts +13 -15
  92. package/dist/hooks/use-auth.d.ts.map +1 -1
  93. package/dist/hooks/use-auth.js +30 -26
  94. package/dist/hooks/use-auth.js.map +1 -1
  95. package/dist/hooks/use-client.cjs +9 -1
  96. package/dist/hooks/use-client.cjs.map +1 -1
  97. package/dist/hooks/use-client.d.ts +1 -1
  98. package/dist/hooks/use-client.d.ts.map +1 -1
  99. package/dist/hooks/use-client.js +6 -5
  100. package/dist/hooks/use-client.js.map +1 -1
  101. package/dist/hooks/use-members.cjs +60 -1
  102. package/dist/hooks/use-members.cjs.map +1 -1
  103. package/dist/hooks/use-members.d.ts +5 -5
  104. package/dist/hooks/use-members.d.ts.map +1 -1
  105. package/dist/hooks/use-members.js +53 -41
  106. package/dist/hooks/use-members.js.map +1 -1
  107. package/dist/hooks/use-store.cjs +17 -1
  108. package/dist/hooks/use-store.cjs.map +1 -1
  109. package/dist/hooks/use-store.js +7 -7
  110. package/dist/hooks/use-store.js.map +1 -1
  111. package/dist/index.cjs +37 -1
  112. package/dist/index.cjs.map +1 -1
  113. package/dist/index.d.ts +5 -5
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/index.js +35 -35
  116. package/dist/lib/utils.cjs +8 -1
  117. package/dist/lib/utils.cjs.map +1 -1
  118. package/dist/lib/utils.js +5 -5
  119. package/dist/lib/utils.js.map +1 -1
  120. package/dist/lib/variants.cjs +46 -1
  121. package/dist/lib/variants.cjs.map +1 -1
  122. package/dist/lib/variants.d.ts +1 -1
  123. package/dist/lib/variants.js +6 -5
  124. package/dist/lib/variants.js.map +1 -1
  125. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.cjs +721 -1
  126. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.cjs.map +1 -1
  127. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +571 -377
  128. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -1
  129. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs +625 -1
  130. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs.map +1 -1
  131. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +539 -316
  132. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -1
  133. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs +313 -1
  134. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.map +1 -1
  135. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +261 -172
  136. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +1 -1
  137. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs +154 -1
  138. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs.map +1 -1
  139. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs +173 -1
  140. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs.map +1 -1
  141. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +144 -107
  142. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -1
  143. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +111 -87
  144. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -1
  145. package/dist/node_modules/@radix-ui/primitive/dist/index.cjs +11 -1
  146. package/dist/node_modules/@radix-ui/primitive/dist/index.cjs.map +1 -1
  147. package/dist/node_modules/@radix-ui/primitive/dist/index.js +7 -5
  148. package/dist/node_modules/@radix-ui/primitive/dist/index.js.map +1 -1
  149. package/dist/node_modules/@radix-ui/react-arrow/dist/index.cjs +42 -1
  150. package/dist/node_modules/@radix-ui/react-arrow/dist/index.cjs.map +1 -1
  151. package/dist/node_modules/@radix-ui/react-arrow/dist/index.js +17 -16
  152. package/dist/node_modules/@radix-ui/react-arrow/dist/index.js.map +1 -1
  153. package/dist/node_modules/@radix-ui/react-avatar/dist/index.cjs +140 -1
  154. package/dist/node_modules/@radix-ui/react-avatar/dist/index.cjs.map +1 -1
  155. package/dist/node_modules/@radix-ui/react-avatar/dist/index.js +105 -57
  156. package/dist/node_modules/@radix-ui/react-avatar/dist/index.js.map +1 -1
  157. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.cjs +80 -1
  158. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.cjs.map +1 -1
  159. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.js +49 -41
  160. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.js.map +1 -1
  161. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.cjs +56 -1
  162. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.cjs.map +1 -1
  163. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.js +17 -10
  164. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.js.map +1 -1
  165. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.cjs +119 -1
  166. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.cjs.map +1 -1
  167. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.js +86 -42
  168. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -1
  169. package/dist/node_modules/@radix-ui/react-collection/dist/index.cjs +70 -1
  170. package/dist/node_modules/@radix-ui/react-collection/dist/index.cjs.map +1 -1
  171. package/dist/node_modules/@radix-ui/react-collection/dist/index.js +57 -37
  172. package/dist/node_modules/@radix-ui/react-collection/dist/index.js.map +1 -1
  173. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.cjs +56 -1
  174. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.cjs.map +1 -1
  175. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js +29 -19
  176. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +1 -1
  177. package/dist/node_modules/@radix-ui/react-context/dist/index.cjs +79 -1
  178. package/dist/node_modules/@radix-ui/react-context/dist/index.cjs.map +1 -1
  179. package/dist/node_modules/@radix-ui/react-context/dist/index.js +48 -39
  180. package/dist/node_modules/@radix-ui/react-context/dist/index.js.map +1 -1
  181. package/dist/node_modules/@radix-ui/react-direction/dist/index.cjs +27 -1
  182. package/dist/node_modules/@radix-ui/react-direction/dist/index.cjs.map +1 -1
  183. package/dist/node_modules/@radix-ui/react-direction/dist/index.js +6 -6
  184. package/dist/node_modules/@radix-ui/react-direction/dist/index.js.map +1 -1
  185. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs +229 -1
  186. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs.map +1 -1
  187. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +182 -97
  188. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +1 -1
  189. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.cjs +296 -1
  190. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.cjs.map +1 -1
  191. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.js +232 -167
  192. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.js.map +1 -1
  193. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.cjs +46 -1
  194. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.cjs.map +1 -1
  195. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js +23 -11
  196. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js.map +1 -1
  197. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.cjs +224 -1
  198. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.cjs.map +1 -1
  199. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js +169 -98
  200. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +1 -1
  201. package/dist/node_modules/@radix-ui/react-id/dist/index.cjs +31 -1
  202. package/dist/node_modules/@radix-ui/react-id/dist/index.cjs.map +1 -1
  203. package/dist/node_modules/@radix-ui/react-id/dist/index.js +11 -10
  204. package/dist/node_modules/@radix-ui/react-id/dist/index.js.map +1 -1
  205. package/dist/node_modules/@radix-ui/react-menu/dist/index.cjs +845 -1
  206. package/dist/node_modules/@radix-ui/react-menu/dist/index.cjs.map +1 -1
  207. package/dist/node_modules/@radix-ui/react-menu/dist/index.js +662 -442
  208. package/dist/node_modules/@radix-ui/react-menu/dist/index.js.map +1 -1
  209. package/dist/node_modules/@radix-ui/react-popper/dist/index.cjs +308 -1
  210. package/dist/node_modules/@radix-ui/react-popper/dist/index.cjs.map +1 -1
  211. package/dist/node_modules/@radix-ui/react-popper/dist/index.js +209 -137
  212. package/dist/node_modules/@radix-ui/react-popper/dist/index.js.map +1 -1
  213. package/dist/node_modules/@radix-ui/react-portal/dist/index.cjs +34 -1
  214. package/dist/node_modules/@radix-ui/react-portal/dist/index.cjs.map +1 -1
  215. package/dist/node_modules/@radix-ui/react-portal/dist/index.js +14 -12
  216. package/dist/node_modules/@radix-ui/react-portal/dist/index.js.map +1 -1
  217. package/dist/node_modules/@radix-ui/react-presence/dist/index.cjs +145 -1
  218. package/dist/node_modules/@radix-ui/react-presence/dist/index.cjs.map +1 -1
  219. package/dist/node_modules/@radix-ui/react-presence/dist/index.js +103 -45
  220. package/dist/node_modules/@radix-ui/react-presence/dist/index.js.map +1 -1
  221. package/dist/node_modules/@radix-ui/react-primitive/dist/index.cjs +61 -1
  222. package/dist/node_modules/@radix-ui/react-primitive/dist/index.cjs.map +1 -1
  223. package/dist/node_modules/@radix-ui/react-primitive/dist/index.js +21 -14
  224. package/dist/node_modules/@radix-ui/react-primitive/dist/index.js.map +1 -1
  225. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.cjs +244 -1
  226. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.cjs.map +1 -1
  227. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.js +179 -135
  228. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.js.map +1 -1
  229. package/dist/node_modules/@radix-ui/react-slot/dist/index.cjs +105 -1
  230. package/dist/node_modules/@radix-ui/react-slot/dist/index.cjs.map +1 -1
  231. package/dist/node_modules/@radix-ui/react-slot/dist/index.js +74 -35
  232. package/dist/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -1
  233. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.cjs +28 -1
  234. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.cjs.map +1 -1
  235. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +8 -7
  236. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +1 -1
  237. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs +86 -1
  238. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs.map +1 -1
  239. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +57 -40
  240. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +1 -1
  241. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.cjs +34 -1
  242. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.cjs.map +1 -1
  243. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +13 -10
  244. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +1 -1
  245. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.cjs +15 -1
  246. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.cjs.map +1 -1
  247. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.js +8 -8
  248. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.js.map +1 -1
  249. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs +23 -1
  250. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs.map +1 -1
  251. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +3 -3
  252. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +1 -1
  253. package/dist/node_modules/@radix-ui/react-use-size/dist/index.cjs +56 -1
  254. package/dist/node_modules/@radix-ui/react-use-size/dist/index.cjs.map +1 -1
  255. package/dist/node_modules/@radix-ui/react-use-size/dist/index.js +34 -22
  256. package/dist/node_modules/@radix-ui/react-use-size/dist/index.js.map +1 -1
  257. package/dist/node_modules/aria-hidden/dist/es2015/index.cjs +122 -1
  258. package/dist/node_modules/aria-hidden/dist/es2015/index.cjs.map +1 -1
  259. package/dist/node_modules/aria-hidden/dist/es2015/index.js +111 -41
  260. package/dist/node_modules/aria-hidden/dist/es2015/index.js.map +1 -1
  261. package/dist/node_modules/class-variance-authority/dist/index.cjs +45 -1
  262. package/dist/node_modules/class-variance-authority/dist/index.cjs.map +1 -1
  263. package/dist/node_modules/class-variance-authority/dist/index.js +40 -30
  264. package/dist/node_modules/class-variance-authority/dist/index.js.map +1 -1
  265. package/dist/node_modules/clsx/dist/clsx.cjs +17 -1
  266. package/dist/node_modules/clsx/dist/clsx.cjs.map +1 -1
  267. package/dist/node_modules/clsx/dist/clsx.js +13 -13
  268. package/dist/node_modules/clsx/dist/clsx.js.map +1 -1
  269. package/dist/node_modules/get-nonce/dist/es2015/index.cjs +9 -1
  270. package/dist/node_modules/get-nonce/dist/es2015/index.cjs.map +1 -1
  271. package/dist/node_modules/get-nonce/dist/es2015/index.js +5 -3
  272. package/dist/node_modules/get-nonce/dist/es2015/index.js.map +1 -1
  273. package/dist/node_modules/js-cookie/dist/js.cookie.cjs +99 -1
  274. package/dist/node_modules/js-cookie/dist/js.cookie.cjs.map +1 -1
  275. package/dist/node_modules/js-cookie/dist/js.cookie.js +69 -43
  276. package/dist/node_modules/js-cookie/dist/js.cookie.js.map +1 -1
  277. package/dist/node_modules/jwt-decode/build/esm/index.cjs +58 -1
  278. package/dist/node_modules/jwt-decode/build/esm/index.cjs.map +1 -1
  279. package/dist/node_modules/jwt-decode/build/esm/index.js +36 -30
  280. package/dist/node_modules/jwt-decode/build/esm/index.js.map +1 -1
  281. package/dist/node_modules/lucide-react/dist/esm/Icon.cjs +35 -1
  282. package/dist/node_modules/lucide-react/dist/esm/Icon.cjs.map +1 -1
  283. package/dist/node_modules/lucide-react/dist/esm/Icon.js +25 -25
  284. package/dist/node_modules/lucide-react/dist/esm/Icon.js.map +1 -1
  285. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.cjs +22 -1
  286. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.cjs.map +1 -1
  287. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js +16 -15
  288. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js.map +1 -1
  289. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.cjs +14 -1
  290. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.cjs.map +1 -1
  291. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js +2 -2
  292. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js.map +1 -1
  293. package/dist/node_modules/lucide-react/dist/esm/icons/check.cjs +7 -1
  294. package/dist/node_modules/lucide-react/dist/esm/icons/check.cjs.map +1 -1
  295. package/dist/node_modules/lucide-react/dist/esm/icons/check.js +5 -4
  296. package/dist/node_modules/lucide-react/dist/esm/icons/check.js.map +1 -1
  297. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs +7 -1
  298. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs.map +1 -1
  299. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.js +5 -4
  300. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.js.map +1 -1
  301. package/dist/node_modules/lucide-react/dist/esm/icons/circle.cjs +7 -1
  302. package/dist/node_modules/lucide-react/dist/esm/icons/circle.cjs.map +1 -1
  303. package/dist/node_modules/lucide-react/dist/esm/icons/circle.js +5 -4
  304. package/dist/node_modules/lucide-react/dist/esm/icons/circle.js.map +1 -1
  305. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.cjs +11 -1
  306. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.cjs.map +1 -1
  307. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.js +6 -5
  308. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.js.map +1 -1
  309. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.cjs +26 -1
  310. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.cjs.map +1 -1
  311. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.js +22 -14
  312. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.js.map +1 -1
  313. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.cjs +28 -1
  314. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.cjs.map +1 -1
  315. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js +8 -8
  316. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js.map +1 -1
  317. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.cjs +197 -4
  318. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.cjs.map +1 -1
  319. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +163 -98
  320. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js.map +1 -1
  321. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.cjs +55 -1
  322. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.cjs.map +1 -1
  323. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js +31 -24
  324. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js.map +1 -1
  325. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.cjs +19 -1
  326. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.cjs.map +1 -1
  327. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +12 -9
  328. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js.map +1 -1
  329. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.cjs +102 -1
  330. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.cjs.map +1 -1
  331. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +85 -51
  332. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -1
  333. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.cjs +5 -1
  334. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.cjs.map +1 -1
  335. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js +3 -3
  336. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js.map +1 -1
  337. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.cjs +7 -1
  338. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.cjs.map +1 -1
  339. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js +5 -5
  340. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js.map +1 -1
  341. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.cjs +62 -36
  342. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.cjs.map +1 -1
  343. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js +41 -65
  344. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js.map +1 -1
  345. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.cjs +10 -1
  346. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.cjs.map +1 -1
  347. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js +8 -5
  348. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js.map +1 -1
  349. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.cjs +37 -1
  350. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.cjs.map +1 -1
  351. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js +28 -16
  352. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js.map +1 -1
  353. package/dist/node_modules/react-style-singleton/dist/es2015/component.cjs +13 -1
  354. package/dist/node_modules/react-style-singleton/dist/es2015/component.cjs.map +1 -1
  355. package/dist/node_modules/react-style-singleton/dist/es2015/component.js +9 -7
  356. package/dist/node_modules/react-style-singleton/dist/es2015/component.js.map +1 -1
  357. package/dist/node_modules/react-style-singleton/dist/es2015/hook.cjs +33 -1
  358. package/dist/node_modules/react-style-singleton/dist/es2015/hook.cjs.map +1 -1
  359. package/dist/node_modules/react-style-singleton/dist/es2015/hook.js +11 -10
  360. package/dist/node_modules/react-style-singleton/dist/es2015/hook.js.map +1 -1
  361. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.cjs +48 -1
  362. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.cjs.map +1 -1
  363. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js +35 -17
  364. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js.map +1 -1
  365. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs +3014 -1
  366. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs.map +1 -1
  367. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +804 -555
  368. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -1
  369. package/dist/node_modules/tailwindcss/dist/plugin.cjs +13 -1
  370. package/dist/node_modules/tailwindcss/dist/plugin.cjs.map +1 -1
  371. package/dist/node_modules/tailwindcss/dist/plugin.js +8 -8
  372. package/dist/node_modules/tailwindcss/dist/plugin.js.map +1 -1
  373. package/dist/node_modules/tslib/tslib.es6.cjs +38 -1
  374. package/dist/node_modules/tslib/tslib.es6.cjs.map +1 -1
  375. package/dist/node_modules/tslib/tslib.es6.js +33 -21
  376. package/dist/node_modules/tslib/tslib.es6.js.map +1 -1
  377. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.cjs +11 -1
  378. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.cjs.map +1 -1
  379. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js +8 -3
  380. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js.map +1 -1
  381. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.cjs +52 -1
  382. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.cjs.map +1 -1
  383. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +28 -19
  384. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js.map +1 -1
  385. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.cjs +29 -1
  386. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.cjs.map +1 -1
  387. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js +15 -11
  388. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js.map +1 -1
  389. package/dist/node_modules/use-sidecar/dist/es2015/exports.cjs +38 -1
  390. package/dist/node_modules/use-sidecar/dist/es2015/exports.cjs.map +1 -1
  391. package/dist/node_modules/use-sidecar/dist/es2015/exports.js +15 -12
  392. package/dist/node_modules/use-sidecar/dist/es2015/exports.js.map +1 -1
  393. package/dist/node_modules/use-sidecar/dist/es2015/medium.cjs +88 -1
  394. package/dist/node_modules/use-sidecar/dist/es2015/medium.cjs.map +1 -1
  395. package/dist/node_modules/use-sidecar/dist/es2015/medium.js +64 -43
  396. package/dist/node_modules/use-sidecar/dist/es2015/medium.js.map +1 -1
  397. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.cjs +68 -1
  398. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.cjs.map +1 -1
  399. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +49 -39
  400. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -1
  401. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.cjs +53 -1
  402. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.cjs.map +1 -1
  403. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +39 -32
  404. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js.map +1 -1
  405. package/dist/node_modules/use-sync-external-store/shim/index.cjs +17 -1
  406. package/dist/node_modules/use-sync-external-store/shim/index.cjs.map +1 -1
  407. package/dist/node_modules/use-sync-external-store/shim/index.js +14 -7
  408. package/dist/node_modules/use-sync-external-store/shim/index.js.map +1 -1
  409. package/dist/providers/auth/auth.context.cjs +5 -1
  410. package/dist/providers/auth/auth.context.cjs.map +1 -1
  411. package/dist/providers/auth/auth.context.js +3 -3
  412. package/dist/providers/auth/auth.context.js.map +1 -1
  413. package/dist/providers/auth/auth.hook.cjs +12 -1
  414. package/dist/providers/auth/auth.hook.cjs.map +1 -1
  415. package/dist/providers/auth/auth.hook.js +8 -7
  416. package/dist/providers/auth/auth.hook.js.map +1 -1
  417. package/dist/providers/auth/auth.provider.cjs +37 -1
  418. package/dist/providers/auth/auth.provider.cjs.map +1 -1
  419. package/dist/providers/auth/auth.provider.js +31 -22
  420. package/dist/providers/auth/auth.provider.js.map +1 -1
  421. package/dist/providers/blimu/blimu.context.cjs +5 -1
  422. package/dist/providers/blimu/blimu.context.cjs.map +1 -1
  423. package/dist/providers/blimu/blimu.context.d.ts +4 -4
  424. package/dist/providers/blimu/blimu.context.d.ts.map +1 -1
  425. package/dist/providers/blimu/blimu.context.js +3 -3
  426. package/dist/providers/blimu/blimu.context.js.map +1 -1
  427. package/dist/providers/blimu/blimu.hook.cjs +12 -1
  428. package/dist/providers/blimu/blimu.hook.cjs.map +1 -1
  429. package/dist/providers/blimu/blimu.hook.js +8 -7
  430. package/dist/providers/blimu/blimu.hook.js.map +1 -1
  431. package/dist/providers/blimu/blimu.provider.cjs +71 -1
  432. package/dist/providers/blimu/blimu.provider.cjs.map +1 -1
  433. package/dist/providers/blimu/blimu.provider.d.ts +1 -1
  434. package/dist/providers/blimu/blimu.provider.d.ts.map +1 -1
  435. package/dist/providers/blimu/blimu.provider.js +32 -27
  436. package/dist/providers/blimu/blimu.provider.js.map +1 -1
  437. package/dist/providers/index.cjs +13 -0
  438. package/dist/providers/index.cjs.map +1 -0
  439. package/dist/providers/index.d.ts +3 -3
  440. package/dist/providers/index.d.ts.map +1 -1
  441. package/dist/providers/index.js +13 -0
  442. package/dist/providers/index.js.map +1 -0
  443. package/dist/providers/theme/index.d.ts +2 -2
  444. package/dist/providers/theme/index.d.ts.map +1 -1
  445. package/dist/providers/theme/theme.context.cjs +5 -1
  446. package/dist/providers/theme/theme.context.cjs.map +1 -1
  447. package/dist/providers/theme/theme.context.js +3 -3
  448. package/dist/providers/theme/theme.context.js.map +1 -1
  449. package/dist/providers/theme/theme.hook.cjs +12 -1
  450. package/dist/providers/theme/theme.hook.cjs.map +1 -1
  451. package/dist/providers/theme/theme.hook.js +8 -7
  452. package/dist/providers/theme/theme.hook.js.map +1 -1
  453. package/dist/providers/theme/theme.provider.cjs +104 -1
  454. package/dist/providers/theme/theme.provider.cjs.map +1 -1
  455. package/dist/providers/theme/theme.provider.d.ts.map +1 -1
  456. package/dist/providers/theme/theme.provider.js +85 -48
  457. package/dist/providers/theme/theme.provider.js.map +1 -1
  458. package/dist/styles/styles.css +34 -40
  459. package/dist/styles/tw-styles.css +34 -40
  460. package/dist/tailwind.cjs +200 -0
  461. package/dist/tailwind.cjs.map +1 -0
  462. package/dist/{tailwind.plugin.js → tailwind.js} +43 -43
  463. package/dist/tailwind.js.map +1 -0
  464. package/dist/types/index.cjs +11 -1
  465. package/dist/types/index.cjs.map +1 -1
  466. package/dist/types/index.d.ts +22 -8
  467. package/dist/types/index.d.ts.map +1 -1
  468. package/dist/types/index.js +8 -8
  469. package/dist/types/index.js.map +1 -1
  470. package/dist/utils/publishable-key.cjs +62 -1
  471. package/dist/utils/publishable-key.cjs.map +1 -1
  472. package/dist/utils/publishable-key.js +52 -27
  473. package/dist/utils/publishable-key.js.map +1 -1
  474. package/package.json +68 -53
  475. package/dist/components.cjs +0 -2
  476. package/dist/components.cjs.map +0 -1
  477. package/dist/components.js +0 -13
  478. package/dist/components.js.map +0 -1
  479. package/dist/hooks.cjs +0 -2
  480. package/dist/hooks.cjs.map +0 -1
  481. package/dist/hooks.js +0 -14
  482. package/dist/hooks.js.map +0 -1
  483. package/dist/providers.cjs +0 -2
  484. package/dist/providers.cjs.map +0 -1
  485. package/dist/providers.js +0 -13
  486. package/dist/providers.js.map +0 -1
  487. package/dist/tailwind.plugin.cjs +0 -2
  488. package/dist/tailwind.plugin.cjs.map +0 -1
  489. package/dist/tailwind.plugin.js.map +0 -1
@@ -1,2 +1,63 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=[".dev-blimuauth.com",".blimuauth.com"];function n(t){try{const i=t.match(/^pk_(test|live)_(.+)$/);if(!i)return null;const e=i[1]==="live",o=i[2];if(!o)return null;const u=atob(o.replace(/-/g,"+").replace(/_/g,"/")).trim().split("$")[0];return u?{uiDomain:u,isProduction:e}:null}catch(i){return console.error("Failed to decode publishable key:",t,i),null}}function r(t){const i=n(t);return i?i.uiDomain==="localhost"||i.uiDomain.includes("localhost")?`http://${i.uiDomain}`:`https://${i.uiDomain}`:null}function a(t){const i=n(t);if(!i)return null;if(i.uiDomain==="localhost"||i.uiDomain.includes("localhost"))return`http://${i.uiDomain}`;if(i.isProduction)return i.uiDomain.startsWith("id.")?`https://${i.uiDomain.replace(/^id\./,"blimu.")}`:null;for(const e of l)if(i.uiDomain.endsWith(e))return`https://${i.uiDomain.replace(e,"")}.api${e}`;return null}exports.decodePublishableKey=n;exports.getAuthApiUrl=a;exports.getAuthDomainFromPublishableKey=r;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const developmentDomains = [".dev-blimuauth.com", ".blimuauth.com"];
4
+ function decodePublishableKey(publishableKey) {
5
+ try {
6
+ const prefixMatch = publishableKey.match(/^pk_(test|live)_(.+)$/);
7
+ if (!prefixMatch) {
8
+ return null;
9
+ }
10
+ const isProduction = prefixMatch[1] === "live";
11
+ const encoded = prefixMatch[2];
12
+ if (!encoded) {
13
+ return null;
14
+ }
15
+ const decoded = atob(encoded.replace(/-/g, "+").replace(/_/g, "/"));
16
+ const uiDomain = decoded.trim().split("$")[0];
17
+ if (!uiDomain) {
18
+ return null;
19
+ }
20
+ return { uiDomain, isProduction };
21
+ } catch (error) {
22
+ console.error("Failed to decode publishable key:", publishableKey, error);
23
+ return null;
24
+ }
25
+ }
26
+ function getAuthDomainFromPublishableKey(publishableKey) {
27
+ const decoded = decodePublishableKey(publishableKey);
28
+ if (!decoded) {
29
+ return null;
30
+ }
31
+ if (decoded.uiDomain === "localhost" || decoded.uiDomain.includes("localhost")) {
32
+ return `http://${decoded.uiDomain}`;
33
+ }
34
+ return `https://${decoded.uiDomain}`;
35
+ }
36
+ function getAuthApiUrl(publishableKey) {
37
+ const decoded = decodePublishableKey(publishableKey);
38
+ if (!decoded) {
39
+ return null;
40
+ }
41
+ if (decoded.uiDomain === "localhost" || decoded.uiDomain.includes("localhost")) {
42
+ return `http://${decoded.uiDomain}`;
43
+ }
44
+ if (decoded.isProduction) {
45
+ if (decoded.uiDomain.startsWith("id.")) {
46
+ const apiDomain = decoded.uiDomain.replace(/^id\./, "blimu.");
47
+ return `https://${apiDomain}`;
48
+ }
49
+ return null;
50
+ } else {
51
+ for (const domain of developmentDomains) {
52
+ if (decoded.uiDomain.endsWith(domain)) {
53
+ const subdomain = decoded.uiDomain.replace(domain, "");
54
+ return `https://${subdomain}.api${domain}`;
55
+ }
56
+ }
57
+ return null;
58
+ }
59
+ }
60
+ exports.decodePublishableKey = decodePublishableKey;
61
+ exports.getAuthApiUrl = getAuthApiUrl;
62
+ exports.getAuthDomainFromPublishableKey = getAuthDomainFromPublishableKey;
2
63
  //# sourceMappingURL=publishable-key.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"publishable-key.cjs","sources":["../../src/utils/publishable-key.ts"],"sourcesContent":["/**\n * Utility functions for working with publishable keys\n *\n * Publishable key format: pk_test_<base64(fullUIDomain)>\n * or pk_live_<base64(fullUIDomain)> for production\n *\n * Test: {subdomain}.blimuauth.com\n * Live: id.{rootDomain}\n */\n\nexport interface DecodedPublishableKey {\n uiDomain: string;\n isProduction: boolean;\n}\n\n// CAUTION: Order matters, dev-blimuauth.com must be first\nconst developmentDomains = ['.dev-blimuauth.com', '.blimuauth.com'];\n\n/**\n * Decode publishable key to extract full UI domain\n *\n * @param publishableKey - The publishable key (e.g., pk_test_... or pk_live_...)\n * @returns Decoded information or null if invalid\n */\nexport function decodePublishableKey(publishableKey: string): DecodedPublishableKey | null {\n try {\n // Remove prefix (pk_test_ or pk_live_)\n const prefixMatch = publishableKey.match(/^pk_(test|live)_(.+)$/);\n if (!prefixMatch) {\n return null;\n }\n\n const isProduction = prefixMatch[1] === 'live';\n const encoded = prefixMatch[2];\n\n if (!encoded) {\n return null;\n }\n\n // Decode base64url\n const decoded = atob(encoded.replace(/-/g, '+').replace(/_/g, '/'));\n const uiDomain = decoded.trim().split('$')[0];\n\n if (!uiDomain) {\n return null;\n }\n\n return { uiDomain, isProduction };\n } catch (error) {\n console.error('Failed to decode publishable key:', publishableKey, error);\n return null;\n }\n}\n\n/**\n * Get auth UI domain URL from publishable key\n *\n * @param publishableKey - The publishable key\n * @returns Auth UI domain URL (e.g., https://subdomain.blimuauth.com or https://id.scrunchai.com)\n */\nexport function getAuthDomainFromPublishableKey(publishableKey: string): string | null {\n const decoded = decodePublishableKey(publishableKey);\n if (!decoded) {\n return null;\n }\n\n // For localhost development, use http://\n if (decoded.uiDomain === 'localhost' || decoded.uiDomain.includes('localhost')) {\n return `http://${decoded.uiDomain}`;\n }\n\n return `https://${decoded.uiDomain}`;\n}\n\n/**\n * Get auth API domain URL from publishable key\n *\n * Test environment: {subdomain}.api.blimuauth.com\n * Live environment: blimu.{customDomain}\n *\n * @param publishableKey - The publishable key\n * @returns Auth API domain URL (e.g., https://subdomain.api.blimuauth.com or https://blimu.scrunchai.com)\n */\nexport function getAuthApiUrl(publishableKey: string): string | null {\n const decoded = decodePublishableKey(publishableKey);\n if (!decoded) {\n return null;\n }\n\n // For localhost development\n if (decoded.uiDomain === 'localhost' || decoded.uiDomain.includes('localhost')) {\n return `http://${decoded.uiDomain}`;\n }\n\n if (decoded.isProduction) {\n // Live: Replace \"id.\" with \"blimu.\" to get API domain\n // e.g., id.scrunchai.com -> blimu.scrunchai.com\n if (decoded.uiDomain.startsWith('id.')) {\n const apiDomain = decoded.uiDomain.replace(/^id\\./, 'blimu.');\n return `https://${apiDomain}`;\n }\n return null;\n } else {\n for (const domain of developmentDomains) {\n if (decoded.uiDomain.endsWith(domain)) {\n const subdomain = decoded.uiDomain.replace(domain, '');\n return `https://${subdomain}.api${domain}`;\n }\n }\n\n return null;\n }\n}\n"],"names":["developmentDomains","decodePublishableKey","publishableKey","prefixMatch","isProduction","encoded","uiDomain","error","getAuthDomainFromPublishableKey","decoded","getAuthApiUrl","domain"],"mappings":"gFAgBA,MAAMA,EAAqB,CAAC,qBAAsB,gBAAgB,EAQ3D,SAASC,EAAqBC,EAAsD,CACzF,GAAI,CAEF,MAAMC,EAAcD,EAAe,MAAM,uBAAuB,EAChE,GAAI,CAACC,EACH,OAAO,KAGT,MAAMC,EAAeD,EAAY,CAAC,IAAM,OAClCE,EAAUF,EAAY,CAAC,EAE7B,GAAI,CAACE,EACH,OAAO,KAKT,MAAMC,EADU,KAAKD,EAAQ,QAAQ,KAAM,GAAG,EAAE,QAAQ,KAAM,GAAG,CAAC,EACzC,KAAA,EAAO,MAAM,GAAG,EAAE,CAAC,EAE5C,OAAKC,EAIE,CAAE,SAAAA,EAAU,aAAAF,CAAA,EAHV,IAIX,OAASG,EAAO,CACd,eAAQ,MAAM,oCAAqCL,EAAgBK,CAAK,EACjE,IACT,CACF,CAQO,SAASC,EAAgCN,EAAuC,CACrF,MAAMO,EAAUR,EAAqBC,CAAc,EACnD,OAAKO,EAKDA,EAAQ,WAAa,aAAeA,EAAQ,SAAS,SAAS,WAAW,EACpE,UAAUA,EAAQ,QAAQ,GAG5B,WAAWA,EAAQ,QAAQ,GARzB,IASX,CAWO,SAASC,EAAcR,EAAuC,CACnE,MAAMO,EAAUR,EAAqBC,CAAc,EACnD,GAAI,CAACO,EACH,OAAO,KAIT,GAAIA,EAAQ,WAAa,aAAeA,EAAQ,SAAS,SAAS,WAAW,EAC3E,MAAO,UAAUA,EAAQ,QAAQ,GAGnC,GAAIA,EAAQ,aAGV,OAAIA,EAAQ,SAAS,WAAW,KAAK,EAE5B,WADWA,EAAQ,SAAS,QAAQ,QAAS,QAAQ,CACjC,GAEtB,KAEP,UAAWE,KAAUX,EACnB,GAAIS,EAAQ,SAAS,SAASE,CAAM,EAElC,MAAO,WADWF,EAAQ,SAAS,QAAQE,EAAQ,EAAE,CAC1B,OAAOA,CAAM,GAI5C,OAAO,IAEX"}
1
+ {"version":3,"file":"publishable-key.cjs","sources":["../../src/utils/publishable-key.ts"],"sourcesContent":["/**\n * Utility functions for working with publishable keys\n *\n * Publishable key format: pk_test_<base64(fullUIDomain)>\n * or pk_live_<base64(fullUIDomain)> for production\n *\n * Test: {subdomain}.blimuauth.com\n * Live: id.{rootDomain}\n */\n\nexport interface DecodedPublishableKey {\n uiDomain: string;\n isProduction: boolean;\n}\n\n// CAUTION: Order matters, dev-blimuauth.com must be first\nconst developmentDomains = ['.dev-blimuauth.com', '.blimuauth.com'];\n\n/**\n * Decode publishable key to extract full UI domain\n *\n * @param publishableKey - The publishable key (e.g., pk_test_... or pk_live_...)\n * @returns Decoded information or null if invalid\n */\nexport function decodePublishableKey(publishableKey: string): DecodedPublishableKey | null {\n try {\n // Remove prefix (pk_test_ or pk_live_)\n const prefixMatch = publishableKey.match(/^pk_(test|live)_(.+)$/);\n if (!prefixMatch) {\n return null;\n }\n\n const isProduction = prefixMatch[1] === 'live';\n const encoded = prefixMatch[2];\n\n if (!encoded) {\n return null;\n }\n\n // Decode base64url\n const decoded = atob(encoded.replace(/-/g, '+').replace(/_/g, '/'));\n const uiDomain = decoded.trim().split('$')[0];\n\n if (!uiDomain) {\n return null;\n }\n\n return { uiDomain, isProduction };\n } catch (error) {\n console.error('Failed to decode publishable key:', publishableKey, error);\n return null;\n }\n}\n\n/**\n * Get auth UI domain URL from publishable key\n *\n * @param publishableKey - The publishable key\n * @returns Auth UI domain URL (e.g., https://subdomain.blimuauth.com or https://id.scrunchai.com)\n */\nexport function getAuthDomainFromPublishableKey(publishableKey: string): string | null {\n const decoded = decodePublishableKey(publishableKey);\n if (!decoded) {\n return null;\n }\n\n // For localhost development, use http://\n if (decoded.uiDomain === 'localhost' || decoded.uiDomain.includes('localhost')) {\n return `http://${decoded.uiDomain}`;\n }\n\n return `https://${decoded.uiDomain}`;\n}\n\n/**\n * Get auth API domain URL from publishable key\n *\n * Test environment: {subdomain}.api.blimuauth.com\n * Live environment: blimu.{customDomain}\n *\n * @param publishableKey - The publishable key\n * @returns Auth API domain URL (e.g., https://subdomain.api.blimuauth.com or https://blimu.scrunchai.com)\n */\nexport function getAuthApiUrl(publishableKey: string): string | null {\n const decoded = decodePublishableKey(publishableKey);\n if (!decoded) {\n return null;\n }\n\n // For localhost development\n if (decoded.uiDomain === 'localhost' || decoded.uiDomain.includes('localhost')) {\n return `http://${decoded.uiDomain}`;\n }\n\n if (decoded.isProduction) {\n // Live: Replace \"id.\" with \"blimu.\" to get API domain\n // e.g., id.scrunchai.com -> blimu.scrunchai.com\n if (decoded.uiDomain.startsWith('id.')) {\n const apiDomain = decoded.uiDomain.replace(/^id\\./, 'blimu.');\n return `https://${apiDomain}`;\n }\n return null;\n } else {\n for (const domain of developmentDomains) {\n if (decoded.uiDomain.endsWith(domain)) {\n const subdomain = decoded.uiDomain.replace(domain, '');\n return `https://${subdomain}.api${domain}`;\n }\n }\n\n return null;\n }\n}\n"],"names":[],"mappings":";;AAgBA,MAAM,qBAAqB,CAAC,sBAAsB,gBAAgB;AAQ3D,SAAS,qBAAqB,gBAAsD;AACzF,MAAI;AAEF,UAAM,cAAc,eAAe,MAAM,uBAAuB;AAChE,QAAI,CAAC,aAAa;AAChB,aAAO;AAAA,IACT;AAEA,UAAM,eAAe,YAAY,CAAC,MAAM;AACxC,UAAM,UAAU,YAAY,CAAC;AAE7B,QAAI,CAAC,SAAS;AACZ,aAAO;AAAA,IACT;AAGA,UAAM,UAAU,KAAK,QAAQ,QAAQ,MAAM,GAAG,EAAE,QAAQ,MAAM,GAAG,CAAC;AAClE,UAAM,WAAW,QAAQ,KAAA,EAAO,MAAM,GAAG,EAAE,CAAC;AAE5C,QAAI,CAAC,UAAU;AACb,aAAO;AAAA,IACT;AAEA,WAAO,EAAE,UAAU,aAAA;AAAA,EACrB,SAAS,OAAO;AACd,YAAQ,MAAM,qCAAqC,gBAAgB,KAAK;AACxE,WAAO;AAAA,EACT;AACF;AAQO,SAAS,gCAAgC,gBAAuC;AACrF,QAAM,UAAU,qBAAqB,cAAc;AACnD,MAAI,CAAC,SAAS;AACZ,WAAO;AAAA,EACT;AAGA,MAAI,QAAQ,aAAa,eAAe,QAAQ,SAAS,SAAS,WAAW,GAAG;AAC9E,WAAO,UAAU,QAAQ,QAAQ;AAAA,EACnC;AAEA,SAAO,WAAW,QAAQ,QAAQ;AACpC;AAWO,SAAS,cAAc,gBAAuC;AACnE,QAAM,UAAU,qBAAqB,cAAc;AACnD,MAAI,CAAC,SAAS;AACZ,WAAO;AAAA,EACT;AAGA,MAAI,QAAQ,aAAa,eAAe,QAAQ,SAAS,SAAS,WAAW,GAAG;AAC9E,WAAO,UAAU,QAAQ,QAAQ;AAAA,EACnC;AAEA,MAAI,QAAQ,cAAc;AAGxB,QAAI,QAAQ,SAAS,WAAW,KAAK,GAAG;AACtC,YAAM,YAAY,QAAQ,SAAS,QAAQ,SAAS,QAAQ;AAC5D,aAAO,WAAW,SAAS;AAAA,IAC7B;AACA,WAAO;AAAA,EACT,OAAO;AACL,eAAW,UAAU,oBAAoB;AACvC,UAAI,QAAQ,SAAS,SAAS,MAAM,GAAG;AACrC,cAAM,YAAY,QAAQ,SAAS,QAAQ,QAAQ,EAAE;AACrD,eAAO,WAAW,SAAS,OAAO,MAAM;AAAA,MAC1C;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AACF;;;;"}
@@ -1,38 +1,63 @@
1
- const r = [".dev-blimuauth.com", ".blimuauth.com"];
2
- function u(n) {
1
+ const developmentDomains = [".dev-blimuauth.com", ".blimuauth.com"];
2
+ function decodePublishableKey(publishableKey) {
3
3
  try {
4
- const i = n.match(/^pk_(test|live)_(.+)$/);
5
- if (!i)
4
+ const prefixMatch = publishableKey.match(/^pk_(test|live)_(.+)$/);
5
+ if (!prefixMatch) {
6
6
  return null;
7
- const t = i[1] === "live", o = i[2];
8
- if (!o)
7
+ }
8
+ const isProduction = prefixMatch[1] === "live";
9
+ const encoded = prefixMatch[2];
10
+ if (!encoded) {
9
11
  return null;
10
- const e = atob(o.replace(/-/g, "+").replace(/_/g, "/")).trim().split("$")[0];
11
- return e ? { uiDomain: e, isProduction: t } : null;
12
- } catch (i) {
13
- return console.error("Failed to decode publishable key:", n, i), null;
12
+ }
13
+ const decoded = atob(encoded.replace(/-/g, "+").replace(/_/g, "/"));
14
+ const uiDomain = decoded.trim().split("$")[0];
15
+ if (!uiDomain) {
16
+ return null;
17
+ }
18
+ return { uiDomain, isProduction };
19
+ } catch (error) {
20
+ console.error("Failed to decode publishable key:", publishableKey, error);
21
+ return null;
14
22
  }
15
23
  }
16
- function a(n) {
17
- const i = u(n);
18
- return i ? i.uiDomain === "localhost" || i.uiDomain.includes("localhost") ? `http://${i.uiDomain}` : `https://${i.uiDomain}` : null;
24
+ function getAuthDomainFromPublishableKey(publishableKey) {
25
+ const decoded = decodePublishableKey(publishableKey);
26
+ if (!decoded) {
27
+ return null;
28
+ }
29
+ if (decoded.uiDomain === "localhost" || decoded.uiDomain.includes("localhost")) {
30
+ return `http://${decoded.uiDomain}`;
31
+ }
32
+ return `https://${decoded.uiDomain}`;
19
33
  }
20
- function c(n) {
21
- const i = u(n);
22
- if (!i)
34
+ function getAuthApiUrl(publishableKey) {
35
+ const decoded = decodePublishableKey(publishableKey);
36
+ if (!decoded) {
23
37
  return null;
24
- if (i.uiDomain === "localhost" || i.uiDomain.includes("localhost"))
25
- return `http://${i.uiDomain}`;
26
- if (i.isProduction)
27
- return i.uiDomain.startsWith("id.") ? `https://${i.uiDomain.replace(/^id\./, "blimu.")}` : null;
28
- for (const t of r)
29
- if (i.uiDomain.endsWith(t))
30
- return `https://${i.uiDomain.replace(t, "")}.api${t}`;
31
- return null;
38
+ }
39
+ if (decoded.uiDomain === "localhost" || decoded.uiDomain.includes("localhost")) {
40
+ return `http://${decoded.uiDomain}`;
41
+ }
42
+ if (decoded.isProduction) {
43
+ if (decoded.uiDomain.startsWith("id.")) {
44
+ const apiDomain = decoded.uiDomain.replace(/^id\./, "blimu.");
45
+ return `https://${apiDomain}`;
46
+ }
47
+ return null;
48
+ } else {
49
+ for (const domain of developmentDomains) {
50
+ if (decoded.uiDomain.endsWith(domain)) {
51
+ const subdomain = decoded.uiDomain.replace(domain, "");
52
+ return `https://${subdomain}.api${domain}`;
53
+ }
54
+ }
55
+ return null;
56
+ }
32
57
  }
33
58
  export {
34
- u as decodePublishableKey,
35
- c as getAuthApiUrl,
36
- a as getAuthDomainFromPublishableKey
59
+ decodePublishableKey,
60
+ getAuthApiUrl,
61
+ getAuthDomainFromPublishableKey
37
62
  };
38
63
  //# sourceMappingURL=publishable-key.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"publishable-key.js","sources":["../../src/utils/publishable-key.ts"],"sourcesContent":["/**\n * Utility functions for working with publishable keys\n *\n * Publishable key format: pk_test_<base64(fullUIDomain)>\n * or pk_live_<base64(fullUIDomain)> for production\n *\n * Test: {subdomain}.blimuauth.com\n * Live: id.{rootDomain}\n */\n\nexport interface DecodedPublishableKey {\n uiDomain: string;\n isProduction: boolean;\n}\n\n// CAUTION: Order matters, dev-blimuauth.com must be first\nconst developmentDomains = ['.dev-blimuauth.com', '.blimuauth.com'];\n\n/**\n * Decode publishable key to extract full UI domain\n *\n * @param publishableKey - The publishable key (e.g., pk_test_... or pk_live_...)\n * @returns Decoded information or null if invalid\n */\nexport function decodePublishableKey(publishableKey: string): DecodedPublishableKey | null {\n try {\n // Remove prefix (pk_test_ or pk_live_)\n const prefixMatch = publishableKey.match(/^pk_(test|live)_(.+)$/);\n if (!prefixMatch) {\n return null;\n }\n\n const isProduction = prefixMatch[1] === 'live';\n const encoded = prefixMatch[2];\n\n if (!encoded) {\n return null;\n }\n\n // Decode base64url\n const decoded = atob(encoded.replace(/-/g, '+').replace(/_/g, '/'));\n const uiDomain = decoded.trim().split('$')[0];\n\n if (!uiDomain) {\n return null;\n }\n\n return { uiDomain, isProduction };\n } catch (error) {\n console.error('Failed to decode publishable key:', publishableKey, error);\n return null;\n }\n}\n\n/**\n * Get auth UI domain URL from publishable key\n *\n * @param publishableKey - The publishable key\n * @returns Auth UI domain URL (e.g., https://subdomain.blimuauth.com or https://id.scrunchai.com)\n */\nexport function getAuthDomainFromPublishableKey(publishableKey: string): string | null {\n const decoded = decodePublishableKey(publishableKey);\n if (!decoded) {\n return null;\n }\n\n // For localhost development, use http://\n if (decoded.uiDomain === 'localhost' || decoded.uiDomain.includes('localhost')) {\n return `http://${decoded.uiDomain}`;\n }\n\n return `https://${decoded.uiDomain}`;\n}\n\n/**\n * Get auth API domain URL from publishable key\n *\n * Test environment: {subdomain}.api.blimuauth.com\n * Live environment: blimu.{customDomain}\n *\n * @param publishableKey - The publishable key\n * @returns Auth API domain URL (e.g., https://subdomain.api.blimuauth.com or https://blimu.scrunchai.com)\n */\nexport function getAuthApiUrl(publishableKey: string): string | null {\n const decoded = decodePublishableKey(publishableKey);\n if (!decoded) {\n return null;\n }\n\n // For localhost development\n if (decoded.uiDomain === 'localhost' || decoded.uiDomain.includes('localhost')) {\n return `http://${decoded.uiDomain}`;\n }\n\n if (decoded.isProduction) {\n // Live: Replace \"id.\" with \"blimu.\" to get API domain\n // e.g., id.scrunchai.com -> blimu.scrunchai.com\n if (decoded.uiDomain.startsWith('id.')) {\n const apiDomain = decoded.uiDomain.replace(/^id\\./, 'blimu.');\n return `https://${apiDomain}`;\n }\n return null;\n } else {\n for (const domain of developmentDomains) {\n if (decoded.uiDomain.endsWith(domain)) {\n const subdomain = decoded.uiDomain.replace(domain, '');\n return `https://${subdomain}.api${domain}`;\n }\n }\n\n return null;\n }\n}\n"],"names":["developmentDomains","decodePublishableKey","publishableKey","prefixMatch","isProduction","encoded","uiDomain","error","getAuthDomainFromPublishableKey","decoded","getAuthApiUrl","domain"],"mappings":"AAgBA,MAAMA,IAAqB,CAAC,sBAAsB,gBAAgB;AAQ3D,SAASC,EAAqBC,GAAsD;AACzF,MAAI;AAEF,UAAMC,IAAcD,EAAe,MAAM,uBAAuB;AAChE,QAAI,CAACC;AACH,aAAO;AAGT,UAAMC,IAAeD,EAAY,CAAC,MAAM,QAClCE,IAAUF,EAAY,CAAC;AAE7B,QAAI,CAACE;AACH,aAAO;AAKT,UAAMC,IADU,KAAKD,EAAQ,QAAQ,MAAM,GAAG,EAAE,QAAQ,MAAM,GAAG,CAAC,EACzC,KAAA,EAAO,MAAM,GAAG,EAAE,CAAC;AAE5C,WAAKC,IAIE,EAAE,UAAAA,GAAU,cAAAF,EAAA,IAHV;AAAA,EAIX,SAASG,GAAO;AACd,mBAAQ,MAAM,qCAAqCL,GAAgBK,CAAK,GACjE;AAAA,EACT;AACF;AAQO,SAASC,EAAgCN,GAAuC;AACrF,QAAMO,IAAUR,EAAqBC,CAAc;AACnD,SAAKO,IAKDA,EAAQ,aAAa,eAAeA,EAAQ,SAAS,SAAS,WAAW,IACpE,UAAUA,EAAQ,QAAQ,KAG5B,WAAWA,EAAQ,QAAQ,KARzB;AASX;AAWO,SAASC,EAAcR,GAAuC;AACnE,QAAMO,IAAUR,EAAqBC,CAAc;AACnD,MAAI,CAACO;AACH,WAAO;AAIT,MAAIA,EAAQ,aAAa,eAAeA,EAAQ,SAAS,SAAS,WAAW;AAC3E,WAAO,UAAUA,EAAQ,QAAQ;AAGnC,MAAIA,EAAQ;AAGV,WAAIA,EAAQ,SAAS,WAAW,KAAK,IAE5B,WADWA,EAAQ,SAAS,QAAQ,SAAS,QAAQ,CACjC,KAEtB;AAEP,aAAWE,KAAUX;AACnB,QAAIS,EAAQ,SAAS,SAASE,CAAM;AAElC,aAAO,WADWF,EAAQ,SAAS,QAAQE,GAAQ,EAAE,CAC1B,OAAOA,CAAM;AAI5C,SAAO;AAEX;"}
1
+ {"version":3,"file":"publishable-key.js","sources":["../../src/utils/publishable-key.ts"],"sourcesContent":["/**\n * Utility functions for working with publishable keys\n *\n * Publishable key format: pk_test_<base64(fullUIDomain)>\n * or pk_live_<base64(fullUIDomain)> for production\n *\n * Test: {subdomain}.blimuauth.com\n * Live: id.{rootDomain}\n */\n\nexport interface DecodedPublishableKey {\n uiDomain: string;\n isProduction: boolean;\n}\n\n// CAUTION: Order matters, dev-blimuauth.com must be first\nconst developmentDomains = ['.dev-blimuauth.com', '.blimuauth.com'];\n\n/**\n * Decode publishable key to extract full UI domain\n *\n * @param publishableKey - The publishable key (e.g., pk_test_... or pk_live_...)\n * @returns Decoded information or null if invalid\n */\nexport function decodePublishableKey(publishableKey: string): DecodedPublishableKey | null {\n try {\n // Remove prefix (pk_test_ or pk_live_)\n const prefixMatch = publishableKey.match(/^pk_(test|live)_(.+)$/);\n if (!prefixMatch) {\n return null;\n }\n\n const isProduction = prefixMatch[1] === 'live';\n const encoded = prefixMatch[2];\n\n if (!encoded) {\n return null;\n }\n\n // Decode base64url\n const decoded = atob(encoded.replace(/-/g, '+').replace(/_/g, '/'));\n const uiDomain = decoded.trim().split('$')[0];\n\n if (!uiDomain) {\n return null;\n }\n\n return { uiDomain, isProduction };\n } catch (error) {\n console.error('Failed to decode publishable key:', publishableKey, error);\n return null;\n }\n}\n\n/**\n * Get auth UI domain URL from publishable key\n *\n * @param publishableKey - The publishable key\n * @returns Auth UI domain URL (e.g., https://subdomain.blimuauth.com or https://id.scrunchai.com)\n */\nexport function getAuthDomainFromPublishableKey(publishableKey: string): string | null {\n const decoded = decodePublishableKey(publishableKey);\n if (!decoded) {\n return null;\n }\n\n // For localhost development, use http://\n if (decoded.uiDomain === 'localhost' || decoded.uiDomain.includes('localhost')) {\n return `http://${decoded.uiDomain}`;\n }\n\n return `https://${decoded.uiDomain}`;\n}\n\n/**\n * Get auth API domain URL from publishable key\n *\n * Test environment: {subdomain}.api.blimuauth.com\n * Live environment: blimu.{customDomain}\n *\n * @param publishableKey - The publishable key\n * @returns Auth API domain URL (e.g., https://subdomain.api.blimuauth.com or https://blimu.scrunchai.com)\n */\nexport function getAuthApiUrl(publishableKey: string): string | null {\n const decoded = decodePublishableKey(publishableKey);\n if (!decoded) {\n return null;\n }\n\n // For localhost development\n if (decoded.uiDomain === 'localhost' || decoded.uiDomain.includes('localhost')) {\n return `http://${decoded.uiDomain}`;\n }\n\n if (decoded.isProduction) {\n // Live: Replace \"id.\" with \"blimu.\" to get API domain\n // e.g., id.scrunchai.com -> blimu.scrunchai.com\n if (decoded.uiDomain.startsWith('id.')) {\n const apiDomain = decoded.uiDomain.replace(/^id\\./, 'blimu.');\n return `https://${apiDomain}`;\n }\n return null;\n } else {\n for (const domain of developmentDomains) {\n if (decoded.uiDomain.endsWith(domain)) {\n const subdomain = decoded.uiDomain.replace(domain, '');\n return `https://${subdomain}.api${domain}`;\n }\n }\n\n return null;\n }\n}\n"],"names":[],"mappings":"AAgBA,MAAM,qBAAqB,CAAC,sBAAsB,gBAAgB;AAQ3D,SAAS,qBAAqB,gBAAsD;AACzF,MAAI;AAEF,UAAM,cAAc,eAAe,MAAM,uBAAuB;AAChE,QAAI,CAAC,aAAa;AAChB,aAAO;AAAA,IACT;AAEA,UAAM,eAAe,YAAY,CAAC,MAAM;AACxC,UAAM,UAAU,YAAY,CAAC;AAE7B,QAAI,CAAC,SAAS;AACZ,aAAO;AAAA,IACT;AAGA,UAAM,UAAU,KAAK,QAAQ,QAAQ,MAAM,GAAG,EAAE,QAAQ,MAAM,GAAG,CAAC;AAClE,UAAM,WAAW,QAAQ,KAAA,EAAO,MAAM,GAAG,EAAE,CAAC;AAE5C,QAAI,CAAC,UAAU;AACb,aAAO;AAAA,IACT;AAEA,WAAO,EAAE,UAAU,aAAA;AAAA,EACrB,SAAS,OAAO;AACd,YAAQ,MAAM,qCAAqC,gBAAgB,KAAK;AACxE,WAAO;AAAA,EACT;AACF;AAQO,SAAS,gCAAgC,gBAAuC;AACrF,QAAM,UAAU,qBAAqB,cAAc;AACnD,MAAI,CAAC,SAAS;AACZ,WAAO;AAAA,EACT;AAGA,MAAI,QAAQ,aAAa,eAAe,QAAQ,SAAS,SAAS,WAAW,GAAG;AAC9E,WAAO,UAAU,QAAQ,QAAQ;AAAA,EACnC;AAEA,SAAO,WAAW,QAAQ,QAAQ;AACpC;AAWO,SAAS,cAAc,gBAAuC;AACnE,QAAM,UAAU,qBAAqB,cAAc;AACnD,MAAI,CAAC,SAAS;AACZ,WAAO;AAAA,EACT;AAGA,MAAI,QAAQ,aAAa,eAAe,QAAQ,SAAS,SAAS,WAAW,GAAG;AAC9E,WAAO,UAAU,QAAQ,QAAQ;AAAA,EACnC;AAEA,MAAI,QAAQ,cAAc;AAGxB,QAAI,QAAQ,SAAS,WAAW,KAAK,GAAG;AACtC,YAAM,YAAY,QAAQ,SAAS,QAAQ,SAAS,QAAQ;AAC5D,aAAO,WAAW,SAAS;AAAA,IAC7B;AACA,WAAO;AAAA,EACT,OAAO;AACL,eAAW,UAAU,oBAAoB;AACvC,UAAI,QAAQ,SAAS,SAAS,MAAM,GAAG;AACrC,cAAM,YAAY,QAAQ,SAAS,QAAQ,QAAQ,EAAE;AACrD,eAAO,WAAW,SAAS,OAAO,MAAM;AAAA,MAC1C;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AACF;"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@blimu/react",
3
- "version": "1.1.0",
4
- "description": "React components and hooks for Blimu authentication and authorization",
3
+ "version": "1.1.4",
5
4
  "type": "module",
5
+ "description": "React components and hooks for Blimu authentication and authorization",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/blimu-dev/blimu-ts"
@@ -10,8 +10,7 @@
10
10
  "publishConfig": {
11
11
  "access": "public"
12
12
  },
13
- "main": "./dist/index.cjs",
14
- "module": "./dist/index.js",
13
+ "main": "./dist/index.js",
15
14
  "types": "./dist/index.d.ts",
16
15
  "files": [
17
16
  "dist",
@@ -20,9 +19,46 @@
20
19
  "sideEffects": [
21
20
  "*.css"
22
21
  ],
22
+ "exports": {
23
+ ".": {
24
+ "types": "./dist/index.d.ts",
25
+ "import": "./dist/index.js",
26
+ "require": "./dist/index.cjs",
27
+ "default": "./dist/index.js"
28
+ },
29
+ "./hooks": {
30
+ "types": "./dist/hooks/index.d.ts",
31
+ "import": "./dist/hooks/index.js",
32
+ "require": "./dist/hooks/index.cjs",
33
+ "default": "./dist/hooks/index.js"
34
+ },
35
+ "./providers": {
36
+ "types": "./dist/providers/index.d.ts",
37
+ "import": "./dist/providers/index.js",
38
+ "require": "./dist/providers/index.cjs",
39
+ "default": "./dist/providers/index.js"
40
+ },
41
+ "./components": {
42
+ "types": "./dist/components/index.d.ts",
43
+ "import": "./dist/components/index.js",
44
+ "require": "./dist/components/index.cjs",
45
+ "default": "./dist/components/index.js"
46
+ },
47
+ "./types": {
48
+ "types": "./dist/types/index.d.ts",
49
+ "import": "./dist/types/index.js",
50
+ "require": "./dist/types/index.cjs",
51
+ "default": "./dist/types/index.js"
52
+ },
53
+ "./styles": "./dist/styles/styles.css",
54
+ "./tw-styles": "./dist/styles/tw-styles.css",
55
+ "./package.json": "./package.json"
56
+ },
23
57
  "scripts": {
24
- "build": "vite build && tsc --project tsconfig.build.json --emitDeclarationOnly || true && node build-css.js",
58
+ "d:build": "npm run build && npm run typecheck",
59
+ "build": "vite build && yarn typecheck && tsc --project tsconfig.build.json --emitDeclarationOnly && node build-css.js",
25
60
  "lint": "eslint . --max-warnings 0",
61
+ "typecheck": "tsc --noEmit",
26
62
  "dev": "vite build --watch",
27
63
  "test": "vitest run",
28
64
  "test:watch": "vitest",
@@ -30,7 +66,7 @@
30
66
  "test:coverage": "vitest run --coverage",
31
67
  "storybook": "storybook dev -p 6006",
32
68
  "build-storybook": "storybook build",
33
- "prepublishOnly": "yarn build"
69
+ "prepublishOnly": "echo 'Skipping build in prepublishOnly - packages already built'"
34
70
  },
35
71
  "peerDependencies": {
36
72
  "react": "^18.0.0 || ^19.0.0",
@@ -44,7 +80,7 @@
44
80
  }
45
81
  },
46
82
  "dependencies": {
47
- "@blimu/client": "1.1.0",
83
+ "@blimu/client": "1.1.4",
48
84
  "@radix-ui/react-avatar": "^1.1.11",
49
85
  "@radix-ui/react-dropdown-menu": "^2.1.16",
50
86
  "@radix-ui/react-popover": "^1.1.15",
@@ -54,10 +90,10 @@
54
90
  "js-cookie": "^3.0.5",
55
91
  "jwt-decode": "^4.0.0",
56
92
  "lucide-react": "^0.562.0",
57
- "tailwind-merge": "^3.4.0",
58
- "zustand": "^5.0.9"
93
+ "tailwind-merge": "^3.4.0"
59
94
  },
60
95
  "devDependencies": {
96
+ "@eslint/js": "^9.39.2",
61
97
  "@storybook/addon-links": "^10.1.11",
62
98
  "@storybook/react": "^10.1.11",
63
99
  "@storybook/react-vite": "^10.1.11",
@@ -65,62 +101,37 @@
65
101
  "@tailwindcss/vite": "^4.1.18",
66
102
  "@testing-library/dom": "^10.4.1",
67
103
  "@testing-library/jest-dom": "^6.9.1",
68
- "@testing-library/react": "^16.3.1",
104
+ "@testing-library/react": "^16.3.2",
69
105
  "@testing-library/user-event": "^14.6.1",
70
106
  "@types/js-cookie": "^3.0.6",
71
- "@types/react": "^19.2.7",
107
+ "@types/react": "^19.2.8",
72
108
  "@types/react-dom": "^19.2.3",
73
109
  "@vitejs/plugin-react": "^5.1.2",
74
- "@vitest/coverage-v8": "^4.0.16",
75
- "@vitest/ui": "^4.0.16",
110
+ "@vitest/coverage-v8": "^4.0.17",
111
+ "@vitest/ui": "^4.0.17",
112
+ "eslint": "^9.39.2",
113
+ "eslint-config-prettier": "^10.1.8",
114
+ "eslint-plugin-prettier": "^5.5.5",
115
+ "eslint-plugin-react-hooks": "^7.0.1",
116
+ "eslint-plugin-react-refresh": "^0.4.26",
117
+ "eslint-plugin-simple-import-sort": "^12.1.1",
118
+ "eslint-plugin-unused-imports": "^4.3.0",
119
+ "globals": "^17.0.0",
76
120
  "jsdom": "^27.4.0",
77
121
  "msw": "^2.12.7",
78
122
  "node-fetch": "^3.3.2",
123
+ "prettier": "^3.8.0",
79
124
  "react": "^19.2.3",
80
125
  "react-dom": "^19.2.3",
81
126
  "storybook": "^10.1.11",
82
127
  "tailwindcss": "^4.1.18",
83
128
  "tw-animate-css": "^1.4.0",
84
- "vite": "^7.3.0",
85
- "vite-tsconfig-paths": "^6.0.3",
86
- "vitest": "^4.0.16"
129
+ "typescript-eslint": "^8.53.0",
130
+ "vite": "^7.3.1",
131
+ "vite-tsconfig-paths": "^6.0.4",
132
+ "vitest": "^4.0.17"
87
133
  },
88
- "exports": {
89
- ".": {
90
- "types": "./dist/index.d.ts",
91
- "import": "./dist/index.js",
92
- "require": "./dist/index.cjs",
93
- "default": "./dist/index.js"
94
- },
95
- "./hooks": {
96
- "types": "./dist/hooks/index.d.ts",
97
- "import": "./dist/hooks/index.js",
98
- "require": "./dist/hooks/index.cjs",
99
- "default": "./dist/hooks/index.js"
100
- },
101
- "./providers": {
102
- "types": "./dist/providers/index.d.ts",
103
- "import": "./dist/providers/index.js",
104
- "require": "./dist/providers/index.cjs",
105
- "default": "./dist/providers/index.js"
106
- },
107
- "./components": {
108
- "types": "./dist/components/index.d.ts",
109
- "import": "./dist/components/index.js",
110
- "require": "./dist/components/index.cjs",
111
- "default": "./dist/components/index.js"
112
- },
113
- "./types": {
114
- "types": "./dist/types/index.d.ts",
115
- "import": "./dist/types/index.js",
116
- "require": "./dist/types/index.cjs",
117
- "default": "./dist/types/index.js"
118
- },
119
- "./styles": "./dist/styles/styles.css",
120
- "./tw-styles": "./dist/styles/tw-styles.css",
121
- "./package.json": "./package.json"
122
- },
123
- "packageManager": "yarn@3.8.7",
134
+ "packageManager": "yarn@4.12.0",
124
135
  "volta": {
125
136
  "extends": "../../package.json"
126
137
  },
@@ -128,5 +139,9 @@
128
139
  "workerDirectory": [
129
140
  ".storybook/public"
130
141
  ]
131
- }
142
+ },
143
+ "engines": {
144
+ "node": ">=18.0.0"
145
+ },
146
+ "license": "MIT"
132
147
  }
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./components/redirect-to-sign-in.cjs"),t=require("./components/user-button/user-button.cjs"),r=require("./components/user-avatar.cjs"),n=require("./components/sign-in-button.cjs"),i=require("./components/members-list.cjs");exports.RedirectToSignIn=e.RedirectToSignIn;exports.UserButton=t.UserButton;exports.UserAvatar=r.UserAvatar;exports.SignInButton=n.SignInButton;exports.MembersList=i.MembersList;
2
- //# sourceMappingURL=components.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"components.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,13 +0,0 @@
1
- import { RedirectToSignIn as t } from "./components/redirect-to-sign-in.js";
2
- import { UserButton as m } from "./components/user-button/user-button.js";
3
- import { UserAvatar as f } from "./components/user-avatar.js";
4
- import { SignInButton as x } from "./components/sign-in-button.js";
5
- import { MembersList as s } from "./components/members-list.js";
6
- export {
7
- s as MembersList,
8
- t as RedirectToSignIn,
9
- x as SignInButton,
10
- f as UserAvatar,
11
- m as UserButton
12
- };
13
- //# sourceMappingURL=components.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"components.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
package/dist/hooks.cjs DELETED
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./providers/blimu/blimu.hook.cjs"),e=require("./hooks/use-auth.cjs"),s=require("./hooks/use-client.cjs"),r=require("./hooks/use-store.cjs"),t=require("./hooks/use-members.cjs");exports.useBlimu=u.useBlimu;exports.useAuth=e.useAuth;exports.useUser=e.useUser;exports.useClient=s.useClient;exports.useStore=r.useStore;exports.useMembers=t.useMembers;
2
- //# sourceMappingURL=hooks.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/dist/hooks.js DELETED
@@ -1,14 +0,0 @@
1
- import { useBlimu as o } from "./providers/blimu/blimu.hook.js";
2
- import { useAuth as t, useUser as u } from "./hooks/use-auth.js";
3
- import { useClient as f } from "./hooks/use-client.js";
4
- import { useStore as x } from "./hooks/use-store.js";
5
- import { useMembers as l } from "./hooks/use-members.js";
6
- export {
7
- t as useAuth,
8
- o as useBlimu,
9
- f as useClient,
10
- l as useMembers,
11
- x as useStore,
12
- u as useUser
13
- };
14
- //# sourceMappingURL=hooks.js.map
package/dist/hooks.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./providers/blimu/blimu.hook.cjs"),r=require("./providers/blimu/blimu.provider.cjs"),i=require("./providers/auth/auth.provider.cjs"),o=require("./providers/theme/theme.provider.cjs"),u=require("./providers/theme/theme.hook.cjs");exports.useBlimu=e.useBlimu;exports.BlimuProvider=r.BlimuProvider;exports.AuthProvider=i.AuthProvider;exports.ThemeProvider=o.ThemeProvider;exports.useTheme=u.useTheme;
2
- //# sourceMappingURL=providers.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"providers.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/dist/providers.js DELETED
@@ -1,13 +0,0 @@
1
- import { useBlimu as o } from "./providers/blimu/blimu.hook.js";
2
- import { BlimuProvider as t } from "./providers/blimu/blimu.provider.js";
3
- import { AuthProvider as i } from "./providers/auth/auth.provider.js";
4
- import { ThemeProvider as u } from "./providers/theme/theme.provider.js";
5
- import { useTheme as d } from "./providers/theme/theme.hook.js";
6
- export {
7
- i as AuthProvider,
8
- t as BlimuProvider,
9
- u as ThemeProvider,
10
- o as useBlimu,
11
- d as useTheme
12
- };
13
- //# sourceMappingURL=providers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"providers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./node_modules/tailwindcss/dist/plugin.cjs"),l=o(({addBase:r,theme:u})=>{r({":root":{"--blimu-background":"oklch(1 0 0)","--blimu-foreground":"oklch(0.145 0 0)","--blimu-card":"oklch(1 0 0)","--blimu-card-foreground":"oklch(0.145 0 0)","--blimu-popover":"oklch(1 0 0)","--blimu-popover-foreground":"oklch(0.145 0 0)","--blimu-primary":"oklch(0.5 0.2 270)","--blimu-primary-foreground":"oklch(0.985 0 0)","--blimu-secondary":"oklch(0.97 0 0)","--blimu-secondary-foreground":"oklch(0.205 0 0)","--blimu-muted":"oklch(0.97 0 0)","--blimu-muted-foreground":"oklch(0.556 0 0)","--blimu-accent":"oklch(0.97 0 0)","--blimu-accent-foreground":"oklch(0.205 0 0)","--blimu-destructive":"oklch(0.577 0.245 27.325)","--blimu-destructive-foreground":"oklch(0.577 0.245 27.325)","--blimu-border":"oklch(0.922 0 0)","--blimu-input":"oklch(0.922 0 0)","--blimu-ring":"oklch(0.4 0 0)","--blimu-chart-1":"oklch(0.646 0.222 41.116)","--blimu-chart-2":"oklch(0.6 0.118 184.704)","--blimu-chart-3":"oklch(0.398 0.07 227.392)","--blimu-chart-4":"oklch(0.828 0.189 84.429)","--blimu-chart-5":"oklch(0.769 0.188 70.08)","--blimu-radius":"0.625rem","--blimu-sidebar":"oklch(0.985 0 0)","--blimu-sidebar-foreground":"oklch(0.145 0 0)","--blimu-sidebar-primary":"oklch(0.205 0 0)","--blimu-sidebar-primary-foreground":"oklch(0.985 0 0)","--blimu-sidebar-accent":"oklch(0.97 0 0)","--blimu-sidebar-accent-foreground":"oklch(0.205 0 0)","--blimu-sidebar-border":"oklch(0.922 0 0)","--blimu-sidebar-ring":"oklch(0.708 0 0)"},".dark":{"--blimu-background":"oklch(0.145 0 0)","--blimu-foreground":"oklch(0.985 0 0)","--blimu-card":"oklch(0.145 0 0)","--blimu-card-foreground":"oklch(0.985 0 0)","--blimu-popover":"oklch(0.22 0 0)","--blimu-popover-foreground":"oklch(0.985 0 0)","--blimu-primary":"oklch(0.65 0.2 270)","--blimu-primary-foreground":"oklch(0.985 0 0)","--blimu-secondary":"oklch(0.269 0 0)","--blimu-secondary-foreground":"oklch(0.985 0 0)","--blimu-muted":"oklch(0.269 0 0)","--blimu-muted-foreground":"oklch(0.708 0 0)","--blimu-accent":"oklch(0.269 0 0)","--blimu-accent-foreground":"oklch(0.985 0 0)","--blimu-destructive":"oklch(0.396 0.141 25.723)","--blimu-destructive-foreground":"oklch(0.637 0.237 25.331)","--blimu-border":"oklch(0.269 0 0)","--blimu-input":"oklch(0.269 0 0)","--blimu-ring":"oklch(0.7 0 0)","--blimu-chart-1":"oklch(0.488 0.243 264.376)","--blimu-chart-2":"oklch(0.696 0.17 162.48)","--blimu-chart-3":"oklch(0.769 0.188 70.08)","--blimu-chart-4":"oklch(0.627 0.265 303.9)","--blimu-chart-5":"oklch(0.645 0.246 16.439)","--blimu-sidebar":"oklch(0.205 0 0)","--blimu-sidebar-foreground":"oklch(0.985 0 0)","--blimu-sidebar-primary":"oklch(0.488 0.243 264.376)","--blimu-sidebar-primary-foreground":"oklch(0.985 0 0)","--blimu-sidebar-accent":"oklch(0.269 0 0)","--blimu-sidebar-accent-foreground":"oklch(0.985 0 0)","--blimu-sidebar-border":"oklch(0.269 0 0)","--blimu-sidebar-ring":"oklch(0.439 0 0)"}})},{theme:{extend:{colors:{background:"oklch(var(--blimu-background))",foreground:"oklch(var(--blimu-foreground))",card:{DEFAULT:"oklch(var(--blimu-card))",foreground:"oklch(var(--blimu-card-foreground))"},popover:{DEFAULT:"oklch(var(--blimu-popover))",foreground:"oklch(var(--blimu-popover-foreground))"},primary:{DEFAULT:"oklch(var(--blimu-primary))",foreground:"oklch(var(--blimu-primary-foreground))"},secondary:{DEFAULT:"oklch(var(--blimu-secondary))",foreground:"oklch(var(--blimu-secondary-foreground))"},muted:{DEFAULT:"oklch(var(--blimu-muted))",foreground:"oklch(var(--blimu-muted-foreground))"},accent:{DEFAULT:"oklch(var(--blimu-accent))",foreground:"oklch(var(--blimu-accent-foreground))"},destructive:{DEFAULT:"oklch(var(--blimu-destructive))",foreground:"oklch(var(--blimu-destructive-foreground))"},border:"oklch(var(--blimu-border))",input:"oklch(var(--blimu-input))",ring:"oklch(var(--blimu-ring))",blimu:{background:"oklch(var(--blimu-background))",foreground:"oklch(var(--blimu-foreground))",card:{DEFAULT:"oklch(var(--blimu-card))",foreground:"oklch(var(--blimu-card-foreground))"},popover:{DEFAULT:"oklch(var(--blimu-popover))",foreground:"oklch(var(--blimu-popover-foreground))"},primary:{DEFAULT:"oklch(var(--blimu-primary))",foreground:"oklch(var(--blimu-primary-foreground))"},secondary:{DEFAULT:"oklch(var(--blimu-secondary))",foreground:"oklch(var(--blimu-secondary-foreground))"},muted:{DEFAULT:"oklch(var(--blimu-muted))",foreground:"oklch(var(--blimu-muted-foreground))"},accent:{DEFAULT:"oklch(var(--blimu-accent))",foreground:"oklch(var(--blimu-accent-foreground))"},destructive:{DEFAULT:"oklch(var(--blimu-destructive))",foreground:"oklch(var(--blimu-destructive-foreground))"},border:"oklch(var(--blimu-border))",input:"oklch(var(--blimu-input))",ring:"oklch(var(--blimu-ring))",chart:{1:"oklch(var(--blimu-chart-1))",2:"oklch(var(--blimu-chart-2))",3:"oklch(var(--blimu-chart-3))",4:"oklch(var(--blimu-chart-4))",5:"oklch(var(--blimu-chart-5))"},sidebar:{DEFAULT:"oklch(var(--blimu-sidebar))",foreground:"oklch(var(--blimu-sidebar-foreground))",primary:{DEFAULT:"oklch(var(--blimu-sidebar-primary))",foreground:"oklch(var(--blimu-sidebar-primary-foreground))"},accent:{DEFAULT:"oklch(var(--blimu-sidebar-accent))",foreground:"oklch(var(--blimu-sidebar-accent-foreground))"},border:"oklch(var(--blimu-sidebar-border))",ring:"oklch(var(--blimu-sidebar-ring))"}}},borderRadius:{blimu:"var(--blimu-radius)","blimu-sm":"calc(var(--blimu-radius) - 4px)","blimu-md":"calc(var(--blimu-radius) - 2px)","blimu-lg":"var(--blimu-radius)","blimu-xl":"calc(var(--blimu-radius) + 4px)"}}},content:["animate-in","animate-out","fade-in-0","fade-out-0","zoom-in-95","zoom-out-95","slide-in-from-top","slide-in-from-bottom","slide-in-from-left","slide-in-from-right"]});exports.blimuPlugin=l;
2
- //# sourceMappingURL=tailwind.plugin.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tailwind.plugin.cjs","sources":["../src/tailwind.plugin.ts"],"sourcesContent":["import plugin from 'tailwindcss/plugin';\n\n/**\n * Blimu Tailwind CSS Plugin\n *\n * This plugin extends Tailwind with Blimu-specific design tokens and utilities.\n * It injects CSS variables and extends the theme with the Blimu color palette.\n *\n * @example\n * ```javascript\n * // tailwind.config.js\n * import { blimuPlugin } from '@blimu/react/tailwind';\n *\n * export default {\n * plugins: [blimuPlugin],\n * };\n * ```\n */\nexport const blimuPlugin: ReturnType<typeof plugin> = plugin(\n ({ addBase, theme }) => {\n // Inject CSS variables as base styles\n addBase({\n ':root': {\n '--blimu-background': 'oklch(1 0 0)',\n '--blimu-foreground': 'oklch(0.145 0 0)',\n '--blimu-card': 'oklch(1 0 0)',\n '--blimu-card-foreground': 'oklch(0.145 0 0)',\n '--blimu-popover': 'oklch(1 0 0)',\n '--blimu-popover-foreground': 'oklch(0.145 0 0)',\n '--blimu-primary': 'oklch(0.5 0.2 270)',\n '--blimu-primary-foreground': 'oklch(0.985 0 0)',\n '--blimu-secondary': 'oklch(0.97 0 0)',\n '--blimu-secondary-foreground': 'oklch(0.205 0 0)',\n '--blimu-muted': 'oklch(0.97 0 0)',\n '--blimu-muted-foreground': 'oklch(0.556 0 0)',\n '--blimu-accent': 'oklch(0.97 0 0)',\n '--blimu-accent-foreground': 'oklch(0.205 0 0)',\n '--blimu-destructive': 'oklch(0.577 0.245 27.325)',\n '--blimu-destructive-foreground': 'oklch(0.577 0.245 27.325)',\n '--blimu-border': 'oklch(0.922 0 0)',\n '--blimu-input': 'oklch(0.922 0 0)',\n '--blimu-ring': 'oklch(0.4 0 0)',\n '--blimu-chart-1': 'oklch(0.646 0.222 41.116)',\n '--blimu-chart-2': 'oklch(0.6 0.118 184.704)',\n '--blimu-chart-3': 'oklch(0.398 0.07 227.392)',\n '--blimu-chart-4': 'oklch(0.828 0.189 84.429)',\n '--blimu-chart-5': 'oklch(0.769 0.188 70.08)',\n '--blimu-radius': '0.625rem',\n '--blimu-sidebar': 'oklch(0.985 0 0)',\n '--blimu-sidebar-foreground': 'oklch(0.145 0 0)',\n '--blimu-sidebar-primary': 'oklch(0.205 0 0)',\n '--blimu-sidebar-primary-foreground': 'oklch(0.985 0 0)',\n '--blimu-sidebar-accent': 'oklch(0.97 0 0)',\n '--blimu-sidebar-accent-foreground': 'oklch(0.205 0 0)',\n '--blimu-sidebar-border': 'oklch(0.922 0 0)',\n '--blimu-sidebar-ring': 'oklch(0.708 0 0)',\n },\n '.dark': {\n '--blimu-background': 'oklch(0.145 0 0)',\n '--blimu-foreground': 'oklch(0.985 0 0)',\n '--blimu-card': 'oklch(0.145 0 0)',\n '--blimu-card-foreground': 'oklch(0.985 0 0)',\n '--blimu-popover': 'oklch(0.22 0 0)',\n '--blimu-popover-foreground': 'oklch(0.985 0 0)',\n '--blimu-primary': 'oklch(0.65 0.2 270)',\n '--blimu-primary-foreground': 'oklch(0.985 0 0)',\n '--blimu-secondary': 'oklch(0.269 0 0)',\n '--blimu-secondary-foreground': 'oklch(0.985 0 0)',\n '--blimu-muted': 'oklch(0.269 0 0)',\n '--blimu-muted-foreground': 'oklch(0.708 0 0)',\n '--blimu-accent': 'oklch(0.269 0 0)',\n '--blimu-accent-foreground': 'oklch(0.985 0 0)',\n '--blimu-destructive': 'oklch(0.396 0.141 25.723)',\n '--blimu-destructive-foreground': 'oklch(0.637 0.237 25.331)',\n '--blimu-border': 'oklch(0.269 0 0)',\n '--blimu-input': 'oklch(0.269 0 0)',\n '--blimu-ring': 'oklch(0.7 0 0)',\n '--blimu-chart-1': 'oklch(0.488 0.243 264.376)',\n '--blimu-chart-2': 'oklch(0.696 0.17 162.48)',\n '--blimu-chart-3': 'oklch(0.769 0.188 70.08)',\n '--blimu-chart-4': 'oklch(0.627 0.265 303.9)',\n '--blimu-chart-5': 'oklch(0.645 0.246 16.439)',\n '--blimu-sidebar': 'oklch(0.205 0 0)',\n '--blimu-sidebar-foreground': 'oklch(0.985 0 0)',\n '--blimu-sidebar-primary': 'oklch(0.488 0.243 264.376)',\n '--blimu-sidebar-primary-foreground': 'oklch(0.985 0 0)',\n '--blimu-sidebar-accent': 'oklch(0.269 0 0)',\n '--blimu-sidebar-accent-foreground': 'oklch(0.985 0 0)',\n '--blimu-sidebar-border': 'oklch(0.269 0 0)',\n '--blimu-sidebar-ring': 'oklch(0.439 0 0)',\n },\n });\n },\n {\n // Extend Tailwind with Blimu-specific utilities\n theme: {\n extend: {\n colors: {\n // Top-level aliases matching Shadcn pattern (for compatibility)\n background: 'oklch(var(--blimu-background))',\n foreground: 'oklch(var(--blimu-foreground))',\n card: {\n DEFAULT: 'oklch(var(--blimu-card))',\n foreground: 'oklch(var(--blimu-card-foreground))',\n },\n popover: {\n DEFAULT: 'oklch(var(--blimu-popover))',\n foreground: 'oklch(var(--blimu-popover-foreground))',\n },\n primary: {\n DEFAULT: 'oklch(var(--blimu-primary))',\n foreground: 'oklch(var(--blimu-primary-foreground))',\n },\n secondary: {\n DEFAULT: 'oklch(var(--blimu-secondary))',\n foreground: 'oklch(var(--blimu-secondary-foreground))',\n },\n muted: {\n DEFAULT: 'oklch(var(--blimu-muted))',\n foreground: 'oklch(var(--blimu-muted-foreground))',\n },\n accent: {\n DEFAULT: 'oklch(var(--blimu-accent))',\n foreground: 'oklch(var(--blimu-accent-foreground))',\n },\n destructive: {\n DEFAULT: 'oklch(var(--blimu-destructive))',\n foreground: 'oklch(var(--blimu-destructive-foreground))',\n },\n border: 'oklch(var(--blimu-border))',\n input: 'oklch(var(--blimu-input))',\n ring: 'oklch(var(--blimu-ring))',\n // Scoped Blimu colors (preferred for explicit scoping)\n blimu: {\n background: 'oklch(var(--blimu-background))',\n foreground: 'oklch(var(--blimu-foreground))',\n card: {\n DEFAULT: 'oklch(var(--blimu-card))',\n foreground: 'oklch(var(--blimu-card-foreground))',\n },\n popover: {\n DEFAULT: 'oklch(var(--blimu-popover))',\n foreground: 'oklch(var(--blimu-popover-foreground))',\n },\n primary: {\n DEFAULT: 'oklch(var(--blimu-primary))',\n foreground: 'oklch(var(--blimu-primary-foreground))',\n },\n secondary: {\n DEFAULT: 'oklch(var(--blimu-secondary))',\n foreground: 'oklch(var(--blimu-secondary-foreground))',\n },\n muted: {\n DEFAULT: 'oklch(var(--blimu-muted))',\n foreground: 'oklch(var(--blimu-muted-foreground))',\n },\n accent: {\n DEFAULT: 'oklch(var(--blimu-accent))',\n foreground: 'oklch(var(--blimu-accent-foreground))',\n },\n destructive: {\n DEFAULT: 'oklch(var(--blimu-destructive))',\n foreground: 'oklch(var(--blimu-destructive-foreground))',\n },\n border: 'oklch(var(--blimu-border))',\n input: 'oklch(var(--blimu-input))',\n ring: 'oklch(var(--blimu-ring))',\n chart: {\n 1: 'oklch(var(--blimu-chart-1))',\n 2: 'oklch(var(--blimu-chart-2))',\n 3: 'oklch(var(--blimu-chart-3))',\n 4: 'oklch(var(--blimu-chart-4))',\n 5: 'oklch(var(--blimu-chart-5))',\n },\n sidebar: {\n DEFAULT: 'oklch(var(--blimu-sidebar))',\n foreground: 'oklch(var(--blimu-sidebar-foreground))',\n primary: {\n DEFAULT: 'oklch(var(--blimu-sidebar-primary))',\n foreground: 'oklch(var(--blimu-sidebar-primary-foreground))',\n },\n accent: {\n DEFAULT: 'oklch(var(--blimu-sidebar-accent))',\n foreground: 'oklch(var(--blimu-sidebar-accent-foreground))',\n },\n border: 'oklch(var(--blimu-sidebar-border))',\n ring: 'oklch(var(--blimu-sidebar-ring))',\n },\n },\n },\n borderRadius: {\n blimu: 'var(--blimu-radius)',\n 'blimu-sm': 'calc(var(--blimu-radius) - 4px)',\n 'blimu-md': 'calc(var(--blimu-radius) - 2px)',\n 'blimu-lg': 'var(--blimu-radius)',\n 'blimu-xl': 'calc(var(--blimu-radius) + 4px)',\n },\n },\n },\n // Safelist critical animation classes\n content: [\n 'animate-in',\n 'animate-out',\n 'fade-in-0',\n 'fade-out-0',\n 'zoom-in-95',\n 'zoom-out-95',\n 'slide-in-from-top',\n 'slide-in-from-bottom',\n 'slide-in-from-left',\n 'slide-in-from-right',\n ],\n },\n);\n"],"names":["blimuPlugin","plugin","addBase","theme"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tailwind.plugin.js","sources":["../src/tailwind.plugin.ts"],"sourcesContent":["import plugin from 'tailwindcss/plugin';\n\n/**\n * Blimu Tailwind CSS Plugin\n *\n * This plugin extends Tailwind with Blimu-specific design tokens and utilities.\n * It injects CSS variables and extends the theme with the Blimu color palette.\n *\n * @example\n * ```javascript\n * // tailwind.config.js\n * import { blimuPlugin } from '@blimu/react/tailwind';\n *\n * export default {\n * plugins: [blimuPlugin],\n * };\n * ```\n */\nexport const blimuPlugin: ReturnType<typeof plugin> = plugin(\n ({ addBase, theme }) => {\n // Inject CSS variables as base styles\n addBase({\n ':root': {\n '--blimu-background': 'oklch(1 0 0)',\n '--blimu-foreground': 'oklch(0.145 0 0)',\n '--blimu-card': 'oklch(1 0 0)',\n '--blimu-card-foreground': 'oklch(0.145 0 0)',\n '--blimu-popover': 'oklch(1 0 0)',\n '--blimu-popover-foreground': 'oklch(0.145 0 0)',\n '--blimu-primary': 'oklch(0.5 0.2 270)',\n '--blimu-primary-foreground': 'oklch(0.985 0 0)',\n '--blimu-secondary': 'oklch(0.97 0 0)',\n '--blimu-secondary-foreground': 'oklch(0.205 0 0)',\n '--blimu-muted': 'oklch(0.97 0 0)',\n '--blimu-muted-foreground': 'oklch(0.556 0 0)',\n '--blimu-accent': 'oklch(0.97 0 0)',\n '--blimu-accent-foreground': 'oklch(0.205 0 0)',\n '--blimu-destructive': 'oklch(0.577 0.245 27.325)',\n '--blimu-destructive-foreground': 'oklch(0.577 0.245 27.325)',\n '--blimu-border': 'oklch(0.922 0 0)',\n '--blimu-input': 'oklch(0.922 0 0)',\n '--blimu-ring': 'oklch(0.4 0 0)',\n '--blimu-chart-1': 'oklch(0.646 0.222 41.116)',\n '--blimu-chart-2': 'oklch(0.6 0.118 184.704)',\n '--blimu-chart-3': 'oklch(0.398 0.07 227.392)',\n '--blimu-chart-4': 'oklch(0.828 0.189 84.429)',\n '--blimu-chart-5': 'oklch(0.769 0.188 70.08)',\n '--blimu-radius': '0.625rem',\n '--blimu-sidebar': 'oklch(0.985 0 0)',\n '--blimu-sidebar-foreground': 'oklch(0.145 0 0)',\n '--blimu-sidebar-primary': 'oklch(0.205 0 0)',\n '--blimu-sidebar-primary-foreground': 'oklch(0.985 0 0)',\n '--blimu-sidebar-accent': 'oklch(0.97 0 0)',\n '--blimu-sidebar-accent-foreground': 'oklch(0.205 0 0)',\n '--blimu-sidebar-border': 'oklch(0.922 0 0)',\n '--blimu-sidebar-ring': 'oklch(0.708 0 0)',\n },\n '.dark': {\n '--blimu-background': 'oklch(0.145 0 0)',\n '--blimu-foreground': 'oklch(0.985 0 0)',\n '--blimu-card': 'oklch(0.145 0 0)',\n '--blimu-card-foreground': 'oklch(0.985 0 0)',\n '--blimu-popover': 'oklch(0.22 0 0)',\n '--blimu-popover-foreground': 'oklch(0.985 0 0)',\n '--blimu-primary': 'oklch(0.65 0.2 270)',\n '--blimu-primary-foreground': 'oklch(0.985 0 0)',\n '--blimu-secondary': 'oklch(0.269 0 0)',\n '--blimu-secondary-foreground': 'oklch(0.985 0 0)',\n '--blimu-muted': 'oklch(0.269 0 0)',\n '--blimu-muted-foreground': 'oklch(0.708 0 0)',\n '--blimu-accent': 'oklch(0.269 0 0)',\n '--blimu-accent-foreground': 'oklch(0.985 0 0)',\n '--blimu-destructive': 'oklch(0.396 0.141 25.723)',\n '--blimu-destructive-foreground': 'oklch(0.637 0.237 25.331)',\n '--blimu-border': 'oklch(0.269 0 0)',\n '--blimu-input': 'oklch(0.269 0 0)',\n '--blimu-ring': 'oklch(0.7 0 0)',\n '--blimu-chart-1': 'oklch(0.488 0.243 264.376)',\n '--blimu-chart-2': 'oklch(0.696 0.17 162.48)',\n '--blimu-chart-3': 'oklch(0.769 0.188 70.08)',\n '--blimu-chart-4': 'oklch(0.627 0.265 303.9)',\n '--blimu-chart-5': 'oklch(0.645 0.246 16.439)',\n '--blimu-sidebar': 'oklch(0.205 0 0)',\n '--blimu-sidebar-foreground': 'oklch(0.985 0 0)',\n '--blimu-sidebar-primary': 'oklch(0.488 0.243 264.376)',\n '--blimu-sidebar-primary-foreground': 'oklch(0.985 0 0)',\n '--blimu-sidebar-accent': 'oklch(0.269 0 0)',\n '--blimu-sidebar-accent-foreground': 'oklch(0.985 0 0)',\n '--blimu-sidebar-border': 'oklch(0.269 0 0)',\n '--blimu-sidebar-ring': 'oklch(0.439 0 0)',\n },\n });\n },\n {\n // Extend Tailwind with Blimu-specific utilities\n theme: {\n extend: {\n colors: {\n // Top-level aliases matching Shadcn pattern (for compatibility)\n background: 'oklch(var(--blimu-background))',\n foreground: 'oklch(var(--blimu-foreground))',\n card: {\n DEFAULT: 'oklch(var(--blimu-card))',\n foreground: 'oklch(var(--blimu-card-foreground))',\n },\n popover: {\n DEFAULT: 'oklch(var(--blimu-popover))',\n foreground: 'oklch(var(--blimu-popover-foreground))',\n },\n primary: {\n DEFAULT: 'oklch(var(--blimu-primary))',\n foreground: 'oklch(var(--blimu-primary-foreground))',\n },\n secondary: {\n DEFAULT: 'oklch(var(--blimu-secondary))',\n foreground: 'oklch(var(--blimu-secondary-foreground))',\n },\n muted: {\n DEFAULT: 'oklch(var(--blimu-muted))',\n foreground: 'oklch(var(--blimu-muted-foreground))',\n },\n accent: {\n DEFAULT: 'oklch(var(--blimu-accent))',\n foreground: 'oklch(var(--blimu-accent-foreground))',\n },\n destructive: {\n DEFAULT: 'oklch(var(--blimu-destructive))',\n foreground: 'oklch(var(--blimu-destructive-foreground))',\n },\n border: 'oklch(var(--blimu-border))',\n input: 'oklch(var(--blimu-input))',\n ring: 'oklch(var(--blimu-ring))',\n // Scoped Blimu colors (preferred for explicit scoping)\n blimu: {\n background: 'oklch(var(--blimu-background))',\n foreground: 'oklch(var(--blimu-foreground))',\n card: {\n DEFAULT: 'oklch(var(--blimu-card))',\n foreground: 'oklch(var(--blimu-card-foreground))',\n },\n popover: {\n DEFAULT: 'oklch(var(--blimu-popover))',\n foreground: 'oklch(var(--blimu-popover-foreground))',\n },\n primary: {\n DEFAULT: 'oklch(var(--blimu-primary))',\n foreground: 'oklch(var(--blimu-primary-foreground))',\n },\n secondary: {\n DEFAULT: 'oklch(var(--blimu-secondary))',\n foreground: 'oklch(var(--blimu-secondary-foreground))',\n },\n muted: {\n DEFAULT: 'oklch(var(--blimu-muted))',\n foreground: 'oklch(var(--blimu-muted-foreground))',\n },\n accent: {\n DEFAULT: 'oklch(var(--blimu-accent))',\n foreground: 'oklch(var(--blimu-accent-foreground))',\n },\n destructive: {\n DEFAULT: 'oklch(var(--blimu-destructive))',\n foreground: 'oklch(var(--blimu-destructive-foreground))',\n },\n border: 'oklch(var(--blimu-border))',\n input: 'oklch(var(--blimu-input))',\n ring: 'oklch(var(--blimu-ring))',\n chart: {\n 1: 'oklch(var(--blimu-chart-1))',\n 2: 'oklch(var(--blimu-chart-2))',\n 3: 'oklch(var(--blimu-chart-3))',\n 4: 'oklch(var(--blimu-chart-4))',\n 5: 'oklch(var(--blimu-chart-5))',\n },\n sidebar: {\n DEFAULT: 'oklch(var(--blimu-sidebar))',\n foreground: 'oklch(var(--blimu-sidebar-foreground))',\n primary: {\n DEFAULT: 'oklch(var(--blimu-sidebar-primary))',\n foreground: 'oklch(var(--blimu-sidebar-primary-foreground))',\n },\n accent: {\n DEFAULT: 'oklch(var(--blimu-sidebar-accent))',\n foreground: 'oklch(var(--blimu-sidebar-accent-foreground))',\n },\n border: 'oklch(var(--blimu-sidebar-border))',\n ring: 'oklch(var(--blimu-sidebar-ring))',\n },\n },\n },\n borderRadius: {\n blimu: 'var(--blimu-radius)',\n 'blimu-sm': 'calc(var(--blimu-radius) - 4px)',\n 'blimu-md': 'calc(var(--blimu-radius) - 2px)',\n 'blimu-lg': 'var(--blimu-radius)',\n 'blimu-xl': 'calc(var(--blimu-radius) + 4px)',\n },\n },\n },\n // Safelist critical animation classes\n content: [\n 'animate-in',\n 'animate-out',\n 'fade-in-0',\n 'fade-out-0',\n 'zoom-in-95',\n 'zoom-out-95',\n 'slide-in-from-top',\n 'slide-in-from-bottom',\n 'slide-in-from-left',\n 'slide-in-from-right',\n ],\n },\n);\n"],"names":["blimuPlugin","plugin","addBase","theme"],"mappings":"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"}