@blimu/react 1.1.1 → 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 (126) hide show
  1. package/README.md +1 -1
  2. package/dist/client/auth.service.cjs +9 -10
  3. package/dist/client/auth.service.cjs.map +1 -1
  4. package/dist/client/auth.service.d.ts.map +1 -1
  5. package/dist/client/auth.service.js +0 -1
  6. package/dist/client/auth.service.js.map +1 -1
  7. package/dist/client/runtime-client.cjs +1 -1
  8. package/dist/client/runtime-client.cjs.map +1 -1
  9. package/dist/client/runtime-client.d.ts +1 -1
  10. package/dist/client/runtime-client.d.ts.map +1 -1
  11. package/dist/client/runtime-client.js +1 -1
  12. package/dist/client/runtime-client.js.map +1 -1
  13. package/dist/components/index.cjs +6 -6
  14. package/dist/components/index.d.ts +6 -6
  15. package/dist/components/index.d.ts.map +1 -1
  16. package/dist/components/index.js +3 -3
  17. package/dist/components/members-list.cjs +2 -2
  18. package/dist/components/members-list.cjs.map +1 -1
  19. package/dist/components/members-list.d.ts.map +1 -1
  20. package/dist/components/members-list.js +2 -2
  21. package/dist/components/members-list.js.map +1 -1
  22. package/dist/components/sign-in-button.cjs +1 -1
  23. package/dist/components/sign-in-button.cjs.map +1 -1
  24. package/dist/components/sign-in-button.d.ts.map +1 -1
  25. package/dist/components/sign-in-button.js +1 -1
  26. package/dist/components/sign-in-button.js.map +1 -1
  27. package/dist/components/ui/avatar.cjs +1 -1
  28. package/dist/components/ui/avatar.cjs.map +1 -1
  29. package/dist/components/ui/avatar.d.ts +2 -2
  30. package/dist/components/ui/avatar.d.ts.map +1 -1
  31. package/dist/components/ui/avatar.js +1 -1
  32. package/dist/components/ui/avatar.js.map +1 -1
  33. package/dist/components/ui/badge.d.ts +2 -2
  34. package/dist/components/ui/badge.d.ts.map +1 -1
  35. package/dist/components/ui/dropdown-menu.cjs +2 -2
  36. package/dist/components/ui/dropdown-menu.cjs.map +1 -1
  37. package/dist/components/ui/dropdown-menu.d.ts +2 -2
  38. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  39. package/dist/components/ui/dropdown-menu.js +2 -2
  40. package/dist/components/ui/dropdown-menu.js.map +1 -1
  41. package/dist/components/ui/popover.d.ts +2 -2
  42. package/dist/components/ui/popover.d.ts.map +1 -1
  43. package/dist/components/ui/separator.d.ts +1 -1
  44. package/dist/components/ui/separator.d.ts.map +1 -1
  45. package/dist/components/user-avatar.cjs +1 -1
  46. package/dist/components/user-avatar.cjs.map +1 -1
  47. package/dist/components/user-avatar.d.ts +5 -5
  48. package/dist/components/user-avatar.d.ts.map +1 -1
  49. package/dist/components/user-avatar.js +1 -1
  50. package/dist/components/user-avatar.js.map +1 -1
  51. package/dist/components/user-button/user-button.cjs +1 -1
  52. package/dist/components/user-button/user-button.cjs.map +1 -1
  53. package/dist/components/user-button/user-button.d.ts +1 -1
  54. package/dist/components/user-button/user-button.d.ts.map +1 -1
  55. package/dist/components/user-button/user-button.js +1 -1
  56. package/dist/components/user-button/user-button.js.map +1 -1
  57. package/dist/hooks/index.cjs +2 -2
  58. package/dist/hooks/index.d.ts +3 -3
  59. package/dist/hooks/index.d.ts.map +1 -1
  60. package/dist/hooks/index.js +1 -1
  61. package/dist/hooks/use-auth.cjs.map +1 -1
  62. package/dist/hooks/use-auth.d.ts.map +1 -1
  63. package/dist/hooks/use-auth.js.map +1 -1
  64. package/dist/hooks/use-members.cjs +3 -3
  65. package/dist/hooks/use-members.cjs.map +1 -1
  66. package/dist/hooks/use-members.d.ts +5 -5
  67. package/dist/hooks/use-members.d.ts.map +1 -1
  68. package/dist/hooks/use-members.js +3 -3
  69. package/dist/hooks/use-members.js.map +1 -1
  70. package/dist/index.cjs +6 -6
  71. package/dist/index.d.ts +5 -5
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +3 -3
  74. package/dist/lib/variants.d.ts +1 -1
  75. package/dist/node_modules/@radix-ui/react-menu/dist/index.cjs +1 -1
  76. package/dist/node_modules/@radix-ui/react-menu/dist/index.cjs.map +1 -1
  77. package/dist/node_modules/js-cookie/dist/js.cookie.cjs +2 -1
  78. package/dist/node_modules/js-cookie/dist/js.cookie.cjs.map +1 -1
  79. package/dist/node_modules/lucide-react/dist/esm/Icon.cjs +3 -2
  80. package/dist/node_modules/lucide-react/dist/esm/Icon.cjs.map +1 -1
  81. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.cjs +3 -2
  82. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.cjs.map +1 -1
  83. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.cjs +2 -1
  84. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.cjs.map +1 -1
  85. package/dist/node_modules/lucide-react/dist/esm/icons/check.cjs +1 -1
  86. package/dist/node_modules/lucide-react/dist/esm/icons/check.cjs.map +1 -1
  87. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs +1 -1
  88. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs.map +1 -1
  89. package/dist/node_modules/lucide-react/dist/esm/icons/circle.cjs +1 -1
  90. package/dist/node_modules/lucide-react/dist/esm/icons/circle.cjs.map +1 -1
  91. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.cjs +1 -1
  92. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.cjs.map +1 -1
  93. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.cjs +3 -2
  94. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.cjs.map +1 -1
  95. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.cjs +2 -1
  96. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.cjs.map +1 -1
  97. package/dist/node_modules/tailwindcss/dist/plugin.cjs +2 -1
  98. package/dist/node_modules/tailwindcss/dist/plugin.cjs.map +1 -1
  99. package/dist/providers/blimu/blimu.context.cjs.map +1 -1
  100. package/dist/providers/blimu/blimu.context.d.ts +4 -4
  101. package/dist/providers/blimu/blimu.context.d.ts.map +1 -1
  102. package/dist/providers/blimu/blimu.context.js.map +1 -1
  103. package/dist/providers/blimu/blimu.provider.cjs.map +1 -1
  104. package/dist/providers/blimu/blimu.provider.d.ts +1 -1
  105. package/dist/providers/blimu/blimu.provider.d.ts.map +1 -1
  106. package/dist/providers/blimu/blimu.provider.js.map +1 -1
  107. package/dist/providers/index.cjs +2 -2
  108. package/dist/providers/index.d.ts +3 -3
  109. package/dist/providers/index.d.ts.map +1 -1
  110. package/dist/providers/index.js +1 -1
  111. package/dist/providers/theme/index.d.ts +2 -2
  112. package/dist/providers/theme/index.d.ts.map +1 -1
  113. package/dist/providers/theme/theme.provider.cjs.map +1 -1
  114. package/dist/providers/theme/theme.provider.d.ts.map +1 -1
  115. package/dist/providers/theme/theme.provider.js.map +1 -1
  116. package/dist/styles/styles.css +34 -40
  117. package/dist/styles/tw-styles.css +34 -40
  118. package/dist/tailwind.cjs +39 -39
  119. package/dist/tailwind.cjs.map +1 -1
  120. package/dist/tailwind.js +38 -38
  121. package/dist/tailwind.js.map +1 -1
  122. package/dist/types/index.cjs.map +1 -1
  123. package/dist/types/index.d.ts +22 -8
  124. package/dist/types/index.d.ts.map +1 -1
  125. package/dist/types/index.js.map +1 -1
  126. package/package.json +29 -13
@@ -37,11 +37,11 @@ export interface BlimuTheme {
37
37
  }
38
38
  export interface BlimuConfig {
39
39
  /** Redirect URI for auth flow (where to return after authentication) */
40
- redirectUri?: string;
40
+ redirectUri?: string | undefined;
41
41
  /** Publishable key for the environment (contains full UI domain) */
42
42
  publishableKey: string;
43
43
  /** Theme customization */
44
- theme?: BlimuTheme;
44
+ theme?: BlimuTheme | undefined;
45
45
  }
46
46
  export interface User {
47
47
  id: string;
@@ -106,23 +106,37 @@ export interface AuthContextValue {
106
106
  logout: () => Promise<void>;
107
107
  getToken: (options: {
108
108
  template: 'web';
109
- }) => Promise<string | null>;
109
+ }) => Promise<string | undefined>;
110
110
  getAuthState: () => AuthState;
111
111
  }
112
+ /**
113
+ * Known class keys for component customization
114
+ * These are the specific sub-elements that can be styled via the `classes` prop
115
+ */
116
+ export type ComponentClassKey = 'avatar' | 'avatarFallback' | 'userInfo' | 'userName' | 'userEmail' | 'trigger' | 'popover' | 'signOutButton' | 'manageAccountButton';
112
117
  /**
113
118
  * Component customization props for className overrides
119
+ * Allows styling specific sub-elements of components
120
+ *
121
+ * @example
122
+ * ```tsx
123
+ * <UserButton
124
+ * classes={{
125
+ * avatar: 'ring-2 ring-primary',
126
+ * trigger: 'hover:scale-105',
127
+ * }}
128
+ * />
129
+ * ```
114
130
  */
115
- export interface ComponentClasses {
116
- [key: string]: string | undefined;
117
- }
131
+ export type ComponentClasses = Partial<Record<ComponentClassKey, string>>;
118
132
  /**
119
133
  * Common props for all Blimu components
120
134
  */
121
135
  export interface BlimuComponentProps {
122
136
  /** Custom className to apply to the root element */
123
- className?: string;
137
+ className?: string | undefined;
124
138
  /** Object of classNames to apply to specific sub-elements */
125
- classes?: ComponentClasses;
139
+ classes?: ComponentClasses | undefined;
126
140
  }
127
141
  export {};
128
142
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,qFAAqF;IACrF,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,oEAAoE;IACpE,cAAc,EAAE,MAAM,CAAC;IACvB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,eAAe,GAAG,iBAAiB,GAAG,OAAO,CAAC;AAE5F;;;GAGG;AACH,MAAM,MAAM,SAAS,GACjB;IACE,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,IAAI,CAAC;CACb,GACD;IACE,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,IAAI,CAAC;CACb,GACD;IACE,MAAM,EAAE,eAAe,CAAC;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,IAAI,CAAC;CACb,GACD;IACE,MAAM,EAAE,iBAAiB,CAAC;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,IAAI,CAAC;CACb,GACD;IACE,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEN,KAAK,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE;IAAE,MAAM,EAAE,eAAe,GAAG,iBAAiB,GAAG,OAAO,CAAA;CAAE,CAAC,CAAC;AAEhG;;GAEG;AACH,eAAO,MAAM,eAAe;6BACV,SAAS,KAAG,KAAK,IAAI,OAAO,CAAC,SAAS,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;gCAExD,SAAS,KAAG,KAAK,IAAI,OAAO,CAAC,SAAS,EAAE;QAAE,MAAM,EAAE,SAAS,CAAA;KAAE,CAAC;sCAExD,SAAS,KAAG,KAAK,IAAI,OAAO,CAAC,SAAS,EAAE;QAAE,MAAM,EAAE,eAAe,CAAA;KAAE,CAAC;wCAGpF,SAAS,KACf,KAAK,IAAI,OAAO,CAAC,SAAS,EAAE;QAAE,MAAM,EAAE,iBAAiB,CAAA;KAAE,CAAC;8BAE5C,SAAS,KAAG,KAAK,IAAI,OAAO,CAAC,SAAS,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;8BAE5D,SAAS,KAAG,KAAK,IAAI,UAAU;CAExC,CAAC;AAEX,MAAM,WAAW,gBAAgB;IAE/B,KAAK,EAAE,SAAS,CAAC;IAGjB,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAG5B,QAAQ,EAAE,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,KAAK,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxE,YAAY,EAAE,MAAM,SAAS,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAEzB,QAAQ,GACR,gBAAgB,GAChB,UAAU,GACV,UAAU,GACV,WAAW,GACX,SAAS,GACT,SAAS,GACT,eAAe,GACf,qBAAqB,CAAC;AAE1B;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/types/index.ts"],"sourcesContent":["/**\n * Theme colors that can be customized\n */\nexport interface BlimuThemeColors {\n background?: string;\n foreground?: string;\n card?: string;\n cardForeground?: string;\n popover?: string;\n popoverForeground?: string;\n primary?: string;\n primaryForeground?: string;\n secondary?: string;\n secondaryForeground?: string;\n muted?: string;\n mutedForeground?: string;\n accent?: string;\n accentForeground?: string;\n destructive?: string;\n destructiveForeground?: string;\n border?: string;\n input?: string;\n ring?: string;\n}\n\n/**\n * Border radius presets\n */\nexport type BlimuRadiusPreset = 'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\n\n/**\n * Theme configuration for Blimu components\n */\nexport interface BlimuTheme {\n /** Color overrides using CSS color values (e.g., 'oklch(0.5 0.2 250)', '#3b82f6') */\n colors?: BlimuThemeColors;\n /** Border radius preset or custom CSS value */\n radius?: BlimuRadiusPreset | string;\n}\n\nexport interface BlimuConfig {\n /** Redirect URI for auth flow (where to return after authentication) */\n redirectUri?: string;\n /** Publishable key for the environment (contains full UI domain) */\n publishableKey: string;\n /** Theme customization */\n theme?: BlimuTheme;\n}\n\nexport interface User {\n id: string;\n email: string;\n firstName?: string | null;\n lastName?: string | null;\n emailVerified: boolean;\n}\n\nexport type AuthStatus = 'idle' | 'loading' | 'authenticated' | 'unauthenticated' | 'error';\n\n/**\n * Discriminated union for auth states\n * Provides type-safe state management with clear state transitions\n */\nexport type AuthState =\n | {\n status: 'idle';\n user: null;\n error: null;\n }\n | {\n status: 'loading';\n user: null;\n error: null;\n }\n | {\n status: 'authenticated';\n user: User;\n error: null;\n }\n | {\n status: 'unauthenticated';\n user: null;\n error: null;\n }\n | {\n status: 'error';\n user: null;\n error: string;\n };\n\ntype ReadyState = Extract<AuthState, { status: 'authenticated' | 'unauthenticated' | 'error' }>;\n\n/**\n * Helper type guards for auth states\n */\nexport const AuthStateGuards = {\n isIdle: (state: AuthState): state is Extract<AuthState, { status: 'idle' }> =>\n state.status === 'idle',\n isLoading: (state: AuthState): state is Extract<AuthState, { status: 'loading' }> =>\n state.status === 'loading',\n isAuthenticated: (state: AuthState): state is Extract<AuthState, { status: 'authenticated' }> =>\n state.status === 'authenticated',\n isUnauthenticated: (\n state: AuthState,\n ): state is Extract<AuthState, { status: 'unauthenticated' }> =>\n state.status === 'unauthenticated',\n isError: (state: AuthState): state is Extract<AuthState, { status: 'error' }> =>\n state.status === 'error',\n isReady: (state: AuthState): state is ReadyState =>\n state.status === 'authenticated' || state.status === 'unauthenticated',\n} as const;\n\nexport interface AuthContextValue {\n // State (discriminated union)\n state: AuthState;\n\n // Actions\n login: (returnUrl?: string) => void; // Redirects to auth domain for authentication\n logout: () => Promise<void>;\n\n // Utilities\n getToken: (options: { template: 'web' }) => Promise<string | null>;\n getAuthState: () => AuthState;\n}\n\n/**\n * Component customization props for className overrides\n */\nexport interface ComponentClasses {\n [key: string]: string | undefined;\n}\n\n/**\n * Common props for all Blimu components\n */\nexport interface BlimuComponentProps {\n /** Custom className to apply to the root element */\n className?: string;\n /** Object of classNames to apply to specific sub-elements */\n classes?: ComponentClasses;\n}\n"],"names":[],"mappings":"AA+FO,MAAM,kBAAkB;AAAA,EAC7B,QAAQ,CAAC,UACP,MAAM,WAAW;AAAA,EACnB,WAAW,CAAC,UACV,MAAM,WAAW;AAAA,EACnB,iBAAiB,CAAC,UAChB,MAAM,WAAW;AAAA,EACnB,mBAAmB,CACjB,UAEA,MAAM,WAAW;AAAA,EACnB,SAAS,CAAC,UACR,MAAM,WAAW;AAAA,EACnB,SAAS,CAAC,UACR,MAAM,WAAW,mBAAmB,MAAM,WAAW;AACzD;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/types/index.ts"],"sourcesContent":["/**\n * Theme colors that can be customized\n */\nexport interface BlimuThemeColors {\n background?: string;\n foreground?: string;\n card?: string;\n cardForeground?: string;\n popover?: string;\n popoverForeground?: string;\n primary?: string;\n primaryForeground?: string;\n secondary?: string;\n secondaryForeground?: string;\n muted?: string;\n mutedForeground?: string;\n accent?: string;\n accentForeground?: string;\n destructive?: string;\n destructiveForeground?: string;\n border?: string;\n input?: string;\n ring?: string;\n}\n\n/**\n * Border radius presets\n */\nexport type BlimuRadiusPreset = 'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\n\n/**\n * Theme configuration for Blimu components\n */\nexport interface BlimuTheme {\n /** Color overrides using CSS color values (e.g., 'oklch(0.5 0.2 250)', '#3b82f6') */\n colors?: BlimuThemeColors;\n /** Border radius preset or custom CSS value */\n radius?: BlimuRadiusPreset | string;\n}\n\nexport interface BlimuConfig {\n /** Redirect URI for auth flow (where to return after authentication) */\n redirectUri?: string | undefined;\n /** Publishable key for the environment (contains full UI domain) */\n publishableKey: string;\n /** Theme customization */\n theme?: BlimuTheme | undefined;\n}\n\nexport interface User {\n id: string;\n email: string;\n firstName?: string | null;\n lastName?: string | null;\n emailVerified: boolean;\n}\n\nexport type AuthStatus = 'idle' | 'loading' | 'authenticated' | 'unauthenticated' | 'error';\n\n/**\n * Discriminated union for auth states\n * Provides type-safe state management with clear state transitions\n */\nexport type AuthState =\n | {\n status: 'idle';\n user: null;\n error: null;\n }\n | {\n status: 'loading';\n user: null;\n error: null;\n }\n | {\n status: 'authenticated';\n user: User;\n error: null;\n }\n | {\n status: 'unauthenticated';\n user: null;\n error: null;\n }\n | {\n status: 'error';\n user: null;\n error: string;\n };\n\ntype ReadyState = Extract<AuthState, { status: 'authenticated' | 'unauthenticated' | 'error' }>;\n\n/**\n * Helper type guards for auth states\n */\nexport const AuthStateGuards = {\n isIdle: (state: AuthState): state is Extract<AuthState, { status: 'idle' }> =>\n state.status === 'idle',\n isLoading: (state: AuthState): state is Extract<AuthState, { status: 'loading' }> =>\n state.status === 'loading',\n isAuthenticated: (state: AuthState): state is Extract<AuthState, { status: 'authenticated' }> =>\n state.status === 'authenticated',\n isUnauthenticated: (\n state: AuthState,\n ): state is Extract<AuthState, { status: 'unauthenticated' }> =>\n state.status === 'unauthenticated',\n isError: (state: AuthState): state is Extract<AuthState, { status: 'error' }> =>\n state.status === 'error',\n isReady: (state: AuthState): state is ReadyState =>\n state.status === 'authenticated' || state.status === 'unauthenticated',\n} as const;\n\nexport interface AuthContextValue {\n // State (discriminated union)\n state: AuthState;\n\n // Actions\n login: (returnUrl?: string) => void; // Redirects to auth domain for authentication\n logout: () => Promise<void>;\n\n // Utilities\n getToken: (options: { template: 'web' }) => Promise<string | undefined>;\n getAuthState: () => AuthState;\n}\n\n/**\n * Known class keys for component customization\n * These are the specific sub-elements that can be styled via the `classes` prop\n */\nexport type ComponentClassKey =\n // UserButton component\n | 'avatar'\n | 'avatarFallback'\n | 'userInfo'\n | 'userName'\n | 'userEmail'\n | 'trigger'\n | 'popover'\n | 'signOutButton'\n | 'manageAccountButton';\n\n/**\n * Component customization props for className overrides\n * Allows styling specific sub-elements of components\n *\n * @example\n * ```tsx\n * <UserButton\n * classes={{\n * avatar: 'ring-2 ring-primary',\n * trigger: 'hover:scale-105',\n * }}\n * />\n * ```\n */\nexport type ComponentClasses = Partial<Record<ComponentClassKey, string>>;\n\n/**\n * Common props for all Blimu components\n */\nexport interface BlimuComponentProps {\n /** Custom className to apply to the root element */\n className?: string | undefined;\n /** Object of classNames to apply to specific sub-elements */\n classes?: ComponentClasses | undefined;\n}\n"],"names":[],"mappings":"AA+FO,MAAM,kBAAkB;AAAA,EAC7B,QAAQ,CAAC,UACP,MAAM,WAAW;AAAA,EACnB,WAAW,CAAC,UACV,MAAM,WAAW;AAAA,EACnB,iBAAiB,CAAC,UAChB,MAAM,WAAW;AAAA,EACnB,mBAAmB,CACjB,UAEA,MAAM,WAAW;AAAA,EACnB,SAAS,CAAC,UACR,MAAM,WAAW;AAAA,EACnB,SAAS,CAAC,UACR,MAAM,WAAW,mBAAmB,MAAM,WAAW;AACzD;"}
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@blimu/react",
3
- "version": "1.1.1",
3
+ "version": "1.1.4",
4
+ "type": "module",
4
5
  "description": "React components and hooks for Blimu authentication and authorization",
5
6
  "repository": {
6
7
  "type": "git",
@@ -54,6 +55,7 @@
54
55
  "./package.json": "./package.json"
55
56
  },
56
57
  "scripts": {
58
+ "d:build": "npm run build && npm run typecheck",
57
59
  "build": "vite build && yarn typecheck && tsc --project tsconfig.build.json --emitDeclarationOnly && node build-css.js",
58
60
  "lint": "eslint . --max-warnings 0",
59
61
  "typecheck": "tsc --noEmit",
@@ -64,7 +66,7 @@
64
66
  "test:coverage": "vitest run --coverage",
65
67
  "storybook": "storybook dev -p 6006",
66
68
  "build-storybook": "storybook build",
67
- "prepublishOnly": "yarn build"
69
+ "prepublishOnly": "echo 'Skipping build in prepublishOnly - packages already built'"
68
70
  },
69
71
  "peerDependencies": {
70
72
  "react": "^18.0.0 || ^19.0.0",
@@ -78,7 +80,7 @@
78
80
  }
79
81
  },
80
82
  "dependencies": {
81
- "@blimu/client": "1.1.1",
83
+ "@blimu/client": "1.1.4",
82
84
  "@radix-ui/react-avatar": "^1.1.11",
83
85
  "@radix-ui/react-dropdown-menu": "^2.1.16",
84
86
  "@radix-ui/react-popover": "^1.1.15",
@@ -88,10 +90,10 @@
88
90
  "js-cookie": "^3.0.5",
89
91
  "jwt-decode": "^4.0.0",
90
92
  "lucide-react": "^0.562.0",
91
- "tailwind-merge": "^3.4.0",
92
- "zustand": "^5.0.9"
93
+ "tailwind-merge": "^3.4.0"
93
94
  },
94
95
  "devDependencies": {
96
+ "@eslint/js": "^9.39.2",
95
97
  "@storybook/addon-links": "^10.1.11",
96
98
  "@storybook/react": "^10.1.11",
97
99
  "@storybook/react-vite": "^10.1.11",
@@ -99,25 +101,35 @@
99
101
  "@tailwindcss/vite": "^4.1.18",
100
102
  "@testing-library/dom": "^10.4.1",
101
103
  "@testing-library/jest-dom": "^6.9.1",
102
- "@testing-library/react": "^16.3.1",
104
+ "@testing-library/react": "^16.3.2",
103
105
  "@testing-library/user-event": "^14.6.1",
104
106
  "@types/js-cookie": "^3.0.6",
105
- "@types/react": "^19.2.7",
107
+ "@types/react": "^19.2.8",
106
108
  "@types/react-dom": "^19.2.3",
107
109
  "@vitejs/plugin-react": "^5.1.2",
108
- "@vitest/coverage-v8": "^4.0.16",
109
- "@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",
110
120
  "jsdom": "^27.4.0",
111
121
  "msw": "^2.12.7",
112
122
  "node-fetch": "^3.3.2",
123
+ "prettier": "^3.8.0",
113
124
  "react": "^19.2.3",
114
125
  "react-dom": "^19.2.3",
115
126
  "storybook": "^10.1.11",
116
127
  "tailwindcss": "^4.1.18",
117
128
  "tw-animate-css": "^1.4.0",
118
- "vite": "^7.3.0",
119
- "vite-tsconfig-paths": "^6.0.3",
120
- "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"
121
133
  },
122
134
  "packageManager": "yarn@4.12.0",
123
135
  "volta": {
@@ -127,5 +139,9 @@
127
139
  "workerDirectory": [
128
140
  ".storybook/public"
129
141
  ]
130
- }
142
+ },
143
+ "engines": {
144
+ "node": ">=18.0.0"
145
+ },
146
+ "license": "MIT"
131
147
  }