hazo_auth 10.2.3 → 10.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/cli-src/lib/auth/deny_permission.server.ts +101 -0
  2. package/cli-src/lib/auth/index.ts +8 -0
  3. package/cli-src/lib/auth/with_permission_issue_capture.server.ts +222 -0
  4. package/cli-src/lib/services/find_roles_with_permission.ts +47 -0
  5. package/dist/admin-issues/index.client.d.ts +3 -0
  6. package/dist/admin-issues/index.client.d.ts.map +1 -0
  7. package/dist/admin-issues/index.client.js +2 -0
  8. package/dist/admin-issues/index.server.d.ts +4 -0
  9. package/dist/admin-issues/index.server.d.ts.map +1 -0
  10. package/dist/admin-issues/index.server.js +3 -0
  11. package/dist/admin-issues/permission_denied_provider.client.d.ts +14 -0
  12. package/dist/admin-issues/permission_denied_provider.client.d.ts.map +1 -0
  13. package/dist/admin-issues/permission_denied_provider.client.js +80 -0
  14. package/dist/admin-issues/plugin.client.d.ts +34 -0
  15. package/dist/admin-issues/plugin.client.d.ts.map +1 -0
  16. package/dist/admin-issues/plugin.client.js +64 -0
  17. package/dist/admin-issues/plugin.server.d.ts +59 -0
  18. package/dist/admin-issues/plugin.server.d.ts.map +1 -0
  19. package/dist/admin-issues/plugin.server.js +168 -0
  20. package/dist/admin-issues/wire.server.d.ts +23 -0
  21. package/dist/admin-issues/wire.server.d.ts.map +1 -0
  22. package/dist/admin-issues/wire.server.js +30 -0
  23. package/dist/client.d.ts +5 -0
  24. package/dist/client.d.ts.map +1 -1
  25. package/dist/client.js +6 -0
  26. package/dist/components/layouts/create_firm/index.d.ts +2 -1
  27. package/dist/components/layouts/create_firm/index.d.ts.map +1 -1
  28. package/dist/components/layouts/dev_lock/index.d.ts +1 -1
  29. package/dist/components/layouts/dev_lock/index.d.ts.map +1 -1
  30. package/dist/components/layouts/email_verification/index.d.ts +1 -1
  31. package/dist/components/layouts/email_verification/index.d.ts.map +1 -1
  32. package/dist/components/layouts/forgot_password/index.d.ts +1 -1
  33. package/dist/components/layouts/forgot_password/index.d.ts.map +1 -1
  34. package/dist/components/layouts/google_token_test/index.d.ts +1 -1
  35. package/dist/components/layouts/google_token_test/index.d.ts.map +1 -1
  36. package/dist/components/layouts/legal/legal_acceptance_gate.d.ts +1 -1
  37. package/dist/components/layouts/legal/legal_acceptance_gate.d.ts.map +1 -1
  38. package/dist/components/layouts/legal/legal_doc_checkbox_list.d.ts +1 -1
  39. package/dist/components/layouts/legal/legal_doc_checkbox_list.d.ts.map +1 -1
  40. package/dist/components/layouts/legal/legal_doc_combined_view.d.ts +1 -1
  41. package/dist/components/layouts/legal/legal_doc_combined_view.d.ts.map +1 -1
  42. package/dist/components/layouts/legal/legal_doc_drawer.d.ts +1 -1
  43. package/dist/components/layouts/legal/legal_doc_drawer.d.ts.map +1 -1
  44. package/dist/components/layouts/login/index.d.ts +1 -1
  45. package/dist/components/layouts/login/index.d.ts.map +1 -1
  46. package/dist/components/layouts/my_settings/components/connected_accounts_section.d.ts +1 -1
  47. package/dist/components/layouts/my_settings/components/connected_accounts_section.d.ts.map +1 -1
  48. package/dist/components/layouts/my_settings/components/editable_field.d.ts +1 -1
  49. package/dist/components/layouts/my_settings/components/editable_field.d.ts.map +1 -1
  50. package/dist/components/layouts/my_settings/components/password_change_dialog.d.ts +1 -1
  51. package/dist/components/layouts/my_settings/components/password_change_dialog.d.ts.map +1 -1
  52. package/dist/components/layouts/my_settings/components/profile_picture_dialog.d.ts +1 -1
  53. package/dist/components/layouts/my_settings/components/profile_picture_dialog.d.ts.map +1 -1
  54. package/dist/components/layouts/my_settings/components/profile_picture_display.d.ts +1 -1
  55. package/dist/components/layouts/my_settings/components/profile_picture_display.d.ts.map +1 -1
  56. package/dist/components/layouts/my_settings/components/profile_picture_gravatar_tab.d.ts +1 -1
  57. package/dist/components/layouts/my_settings/components/profile_picture_gravatar_tab.d.ts.map +1 -1
  58. package/dist/components/layouts/my_settings/components/profile_picture_library_tab.d.ts +1 -1
  59. package/dist/components/layouts/my_settings/components/profile_picture_library_tab.d.ts.map +1 -1
  60. package/dist/components/layouts/my_settings/components/profile_picture_upload_tab.d.ts +1 -1
  61. package/dist/components/layouts/my_settings/components/profile_picture_upload_tab.d.ts.map +1 -1
  62. package/dist/components/layouts/my_settings/components/set_password_section.d.ts +1 -1
  63. package/dist/components/layouts/my_settings/components/set_password_section.d.ts.map +1 -1
  64. package/dist/components/layouts/my_settings/index.d.ts +1 -1
  65. package/dist/components/layouts/my_settings/index.d.ts.map +1 -1
  66. package/dist/components/layouts/register/index.d.ts +1 -1
  67. package/dist/components/layouts/register/index.d.ts.map +1 -1
  68. package/dist/components/layouts/reset_password/index.d.ts +1 -1
  69. package/dist/components/layouts/reset_password/index.d.ts.map +1 -1
  70. package/dist/components/layouts/scope_management/components/branding_editor.d.ts +1 -1
  71. package/dist/components/layouts/scope_management/components/branding_editor.d.ts.map +1 -1
  72. package/dist/components/layouts/shared/components/already_logged_in_guard.d.ts +1 -1
  73. package/dist/components/layouts/shared/components/already_logged_in_guard.d.ts.map +1 -1
  74. package/dist/components/layouts/shared/components/auth_navbar.d.ts +1 -1
  75. package/dist/components/layouts/shared/components/auth_navbar.d.ts.map +1 -1
  76. package/dist/components/layouts/shared/components/auth_page_shell.d.ts +1 -1
  77. package/dist/components/layouts/shared/components/auth_page_shell.d.ts.map +1 -1
  78. package/dist/components/layouts/shared/components/facebook_sign_in_button.d.ts +1 -1
  79. package/dist/components/layouts/shared/components/facebook_sign_in_button.d.ts.map +1 -1
  80. package/dist/components/layouts/shared/components/field_error_message.d.ts +1 -1
  81. package/dist/components/layouts/shared/components/field_error_message.d.ts.map +1 -1
  82. package/dist/components/layouts/shared/components/floating_home_link.d.ts +1 -1
  83. package/dist/components/layouts/shared/components/floating_home_link.d.ts.map +1 -1
  84. package/dist/components/layouts/shared/components/form_action_buttons.d.ts +1 -1
  85. package/dist/components/layouts/shared/components/form_action_buttons.d.ts.map +1 -1
  86. package/dist/components/layouts/shared/components/form_field_wrapper.d.ts +1 -1
  87. package/dist/components/layouts/shared/components/form_field_wrapper.d.ts.map +1 -1
  88. package/dist/components/layouts/shared/components/form_header.d.ts +1 -1
  89. package/dist/components/layouts/shared/components/form_header.d.ts.map +1 -1
  90. package/dist/components/layouts/shared/components/google_icon.d.ts +1 -1
  91. package/dist/components/layouts/shared/components/google_icon.d.ts.map +1 -1
  92. package/dist/components/layouts/shared/components/google_sign_in_button.d.ts +1 -1
  93. package/dist/components/layouts/shared/components/google_sign_in_button.d.ts.map +1 -1
  94. package/dist/components/layouts/shared/components/logout_button.d.ts +1 -1
  95. package/dist/components/layouts/shared/components/logout_button.d.ts.map +1 -1
  96. package/dist/components/layouts/shared/components/oauth_divider.d.ts +1 -1
  97. package/dist/components/layouts/shared/components/oauth_divider.d.ts.map +1 -1
  98. package/dist/components/layouts/shared/components/password_field.d.ts +1 -1
  99. package/dist/components/layouts/shared/components/password_field.d.ts.map +1 -1
  100. package/dist/components/layouts/shared/components/profile_pic_menu.d.ts +1 -1
  101. package/dist/components/layouts/shared/components/profile_pic_menu.d.ts.map +1 -1
  102. package/dist/components/layouts/shared/components/profile_pic_menu_wrapper.d.ts +1 -1
  103. package/dist/components/layouts/shared/components/profile_pic_menu_wrapper.d.ts.map +1 -1
  104. package/dist/components/layouts/shared/components/profile_stamp.d.ts +1 -1
  105. package/dist/components/layouts/shared/components/profile_stamp.d.ts.map +1 -1
  106. package/dist/components/layouts/shared/components/sidebar_layout_wrapper.d.ts +1 -1
  107. package/dist/components/layouts/shared/components/sidebar_layout_wrapper.d.ts.map +1 -1
  108. package/dist/components/layouts/shared/components/standalone_layout_wrapper.d.ts +1 -1
  109. package/dist/components/layouts/shared/components/standalone_layout_wrapper.d.ts.map +1 -1
  110. package/dist/components/layouts/shared/components/two_column_auth_layout.d.ts +1 -1
  111. package/dist/components/layouts/shared/components/two_column_auth_layout.d.ts.map +1 -1
  112. package/dist/components/layouts/shared/components/unauthorized_guard.d.ts +1 -1
  113. package/dist/components/layouts/shared/components/unauthorized_guard.d.ts.map +1 -1
  114. package/dist/components/layouts/shared/components/visual_panel.d.ts +1 -1
  115. package/dist/components/layouts/shared/components/visual_panel.d.ts.map +1 -1
  116. package/dist/components/layouts/user_management/components/app_user_data_editor.d.ts +1 -1
  117. package/dist/components/layouts/user_management/components/app_user_data_editor.d.ts.map +1 -1
  118. package/dist/components/layouts/user_management/components/roles_matrix.d.ts +1 -1
  119. package/dist/components/layouts/user_management/components/roles_matrix.d.ts.map +1 -1
  120. package/dist/components/layouts/user_management/components/scope_hierarchy_tab.d.ts +1 -1
  121. package/dist/components/layouts/user_management/components/scope_hierarchy_tab.d.ts.map +1 -1
  122. package/dist/components/layouts/user_management/components/user_scopes_tab.d.ts +1 -1
  123. package/dist/components/layouts/user_management/components/user_scopes_tab.d.ts.map +1 -1
  124. package/dist/components/layouts/user_management/index.d.ts +1 -1
  125. package/dist/components/layouts/user_management/index.d.ts.map +1 -1
  126. package/dist/components/permission_denied_dialog.client.d.ts +19 -0
  127. package/dist/components/permission_denied_dialog.client.d.ts.map +1 -0
  128. package/dist/components/permission_denied_dialog.client.js +112 -0
  129. package/dist/components/ui/alert-dialog.d.ts +2 -2
  130. package/dist/components/ui/dialog.d.ts +2 -2
  131. package/dist/components/ui/dropdown-menu.d.ts +1 -1
  132. package/dist/components/ui/hazo_ui_tooltip.d.ts +1 -1
  133. package/dist/components/ui/hazo_ui_tooltip.d.ts.map +1 -1
  134. package/dist/components/ui/sheet.d.ts +2 -2
  135. package/dist/components/ui/skeleton.d.ts +1 -1
  136. package/dist/components/ui/skeleton.d.ts.map +1 -1
  137. package/dist/components/ui/sonner.d.ts +1 -1
  138. package/dist/components/ui/sonner.d.ts.map +1 -1
  139. package/dist/components/ui/tree-view.d.ts +1 -1
  140. package/dist/components/ui/tree-view.d.ts.map +1 -1
  141. package/dist/components/ui/user-type-badge.d.ts +1 -1
  142. package/dist/components/ui/user-type-badge.d.ts.map +1 -1
  143. package/dist/consent/cookie_consent_banner.d.ts +1 -1
  144. package/dist/consent/cookie_consent_banner.d.ts.map +1 -1
  145. package/dist/consent/manage_modal.d.ts +1 -1
  146. package/dist/consent/manage_modal.d.ts.map +1 -1
  147. package/dist/contexts/hazo_auth_provider.d.ts +2 -2
  148. package/dist/contexts/hazo_auth_provider.d.ts.map +1 -1
  149. package/dist/lib/auth/deny_permission.server.d.ts +18 -0
  150. package/dist/lib/auth/deny_permission.server.d.ts.map +1 -0
  151. package/dist/lib/auth/deny_permission.server.js +66 -0
  152. package/dist/lib/auth/index.d.ts +2 -0
  153. package/dist/lib/auth/index.d.ts.map +1 -1
  154. package/dist/lib/auth/index.js +2 -0
  155. package/dist/lib/auth/with_permission_issue_capture.server.d.ts +49 -0
  156. package/dist/lib/auth/with_permission_issue_capture.server.d.ts.map +1 -0
  157. package/dist/lib/auth/with_permission_issue_capture.server.js +152 -0
  158. package/dist/lib/services/find_roles_with_permission.d.ts +12 -0
  159. package/dist/lib/services/find_roles_with_permission.d.ts.map +1 -0
  160. package/dist/lib/services/find_roles_with_permission.js +38 -0
  161. package/dist/page_components/create_firm.d.ts +1 -1
  162. package/dist/page_components/create_firm.d.ts.map +1 -1
  163. package/dist/page_components/dev_lock.d.ts +1 -1
  164. package/dist/page_components/dev_lock.d.ts.map +1 -1
  165. package/dist/page_components/my_settings.d.ts +1 -1
  166. package/dist/page_components/my_settings.d.ts.map +1 -1
  167. package/dist/server-lib.d.ts +7 -0
  168. package/dist/server-lib.d.ts.map +1 -1
  169. package/dist/server-lib.js +7 -0
  170. package/dist/server_pages/forgot_password.d.ts +1 -1
  171. package/dist/server_pages/forgot_password.d.ts.map +1 -1
  172. package/dist/server_pages/forgot_password_client_wrapper.d.ts +1 -1
  173. package/dist/server_pages/forgot_password_client_wrapper.d.ts.map +1 -1
  174. package/dist/server_pages/login.d.ts +1 -1
  175. package/dist/server_pages/login.d.ts.map +1 -1
  176. package/dist/server_pages/login_client_wrapper.d.ts +1 -1
  177. package/dist/server_pages/login_client_wrapper.d.ts.map +1 -1
  178. package/dist/server_pages/my_settings.d.ts +1 -1
  179. package/dist/server_pages/my_settings.d.ts.map +1 -1
  180. package/dist/server_pages/register.d.ts +1 -1
  181. package/dist/server_pages/register.d.ts.map +1 -1
  182. package/dist/server_pages/register_client_wrapper.d.ts +1 -1
  183. package/dist/server_pages/register_client_wrapper.d.ts.map +1 -1
  184. package/dist/server_pages/reset_password.d.ts +1 -1
  185. package/dist/server_pages/reset_password.d.ts.map +1 -1
  186. package/dist/server_pages/reset_password_client_wrapper.d.ts +1 -1
  187. package/dist/server_pages/reset_password_client_wrapper.d.ts.map +1 -1
  188. package/dist/server_pages/verify_email.d.ts +1 -1
  189. package/dist/server_pages/verify_email.d.ts.map +1 -1
  190. package/dist/server_pages/verify_email_client_wrapper.d.ts +1 -1
  191. package/dist/server_pages/verify_email_client_wrapper.d.ts.map +1 -1
  192. package/dist/strings/strings_provider.d.ts +1 -1
  193. package/dist/strings/strings_provider.d.ts.map +1 -1
  194. package/dist/theme/theme_provider.d.ts +1 -1
  195. package/dist/theme/theme_provider.d.ts.map +1 -1
  196. package/package.json +19 -11
@@ -0,0 +1,152 @@
1
+ // file_description: Route handler wrapper that catches PermissionError and returns a structured hazo_api fail() 403
2
+ // section: server-only-guard
3
+ import 'server-only';
4
+ import { createLogger } from 'hazo_core';
5
+ import { PermissionError } from './auth_types.js';
6
+ import { hazo_get_auth } from './hazo_get_auth.server.js';
7
+ const log = createLogger('hazo_auth:permission_capture');
8
+ // section: global_callback
9
+ /**
10
+ * Global callback, set once at app boot by the consuming app.
11
+ * DI: hazo_auth does NOT import hazo_admin; the app passes createOrBumpIssue here.
12
+ */
13
+ let _onPermissionDenied = null;
14
+ export function setPermissionDeniedHandler(fn) {
15
+ _onPermissionDenied = fn;
16
+ }
17
+ export function getPermissionDeniedHandler() {
18
+ return _onPermissionDenied;
19
+ }
20
+ /**
21
+ * Shared helper: builds a PermissionDeniedPayload from a request + explicit parts.
22
+ * Called by both withPermissionIssueCapture and denyPermission.
23
+ */
24
+ export function buildDenialPayloadFromRequest(request, parts) {
25
+ var _a, _b, _c, _d, _e;
26
+ const originUrl = request.headers.get('x-hazo-origin-url') ||
27
+ request.headers.get('referer') ||
28
+ '';
29
+ const actionLabelFromHeader = request.headers.get('x-hazo-action-label') || '';
30
+ const descriptions = (_a = parts.permission_descriptions) !== null && _a !== void 0 ? _a : {};
31
+ const actionLabel = parts.action_label ||
32
+ actionLabelFromHeader ||
33
+ parts.missing_permissions.map((p) => descriptions[p] || p).join(', ');
34
+ let apiRoute = (_b = parts.api_route) !== null && _b !== void 0 ? _b : '';
35
+ if (!apiRoute) {
36
+ try {
37
+ apiRoute = new URL(request.url).pathname;
38
+ }
39
+ catch (_f) {
40
+ /* ignore */
41
+ }
42
+ }
43
+ return {
44
+ user_id: parts.user_id,
45
+ scope_id: parts.scope_id,
46
+ missing_permissions: parts.missing_permissions,
47
+ required_permissions: (_c = parts.required_permissions) !== null && _c !== void 0 ? _c : parts.missing_permissions,
48
+ user_permissions: (_d = parts.user_permissions) !== null && _d !== void 0 ? _d : [],
49
+ permission_descriptions: descriptions,
50
+ user_friendly_message: (_e = parts.user_friendly_message) !== null && _e !== void 0 ? _e : "You don't have permission to perform this action.",
51
+ action_label: actionLabel,
52
+ origin_url: originUrl,
53
+ api_route: apiRoute,
54
+ };
55
+ }
56
+ // section: response_helper
57
+ /** Builds the 403 Response, using hazo_api.fail() if available, otherwise hand-built. */
58
+ export async function buildForbiddenResponse(payload) {
59
+ const apiMod = (await import('hazo_api').catch(() => null));
60
+ if (apiMod === null || apiMod === void 0 ? void 0 : apiMod.fail) {
61
+ return apiMod.fail('FORBIDDEN', payload.user_friendly_message, {
62
+ status: 403,
63
+ details: {
64
+ missing_permissions: payload.missing_permissions,
65
+ user_friendly_message: payload.user_friendly_message,
66
+ permission_descriptions: payload.permission_descriptions,
67
+ action_label: payload.action_label,
68
+ origin_url: payload.origin_url,
69
+ },
70
+ });
71
+ }
72
+ return new Response(JSON.stringify({
73
+ ok: false,
74
+ error: {
75
+ code: 'FORBIDDEN',
76
+ message: payload.user_friendly_message,
77
+ details: {
78
+ missing_permissions: payload.missing_permissions,
79
+ permission_descriptions: payload.permission_descriptions,
80
+ action_label: payload.action_label,
81
+ origin_url: payload.origin_url,
82
+ },
83
+ },
84
+ }), { status: 403, headers: { 'Content-Type': 'application/json' } });
85
+ }
86
+ // section: wrapper
87
+ /**
88
+ * Wraps a Next.js route handler. On PermissionError, returns a structured
89
+ * hazo_api fail() 403 with code FORBIDDEN and fires the registered
90
+ * onPermissionDenied callback best-effort.
91
+ *
92
+ * Usage:
93
+ * export const POST = withPermissionIssueCapture(
94
+ * async (request) => { ... },
95
+ * { required_permissions: ['edit_config'] }
96
+ * );
97
+ */
98
+ export function withPermissionIssueCapture(handler, opts) {
99
+ return async (request) => {
100
+ try {
101
+ // Run hazo_get_auth with strict=true so PermissionError is thrown on denial
102
+ await hazo_get_auth(request, {
103
+ required_permissions: opts.required_permissions,
104
+ strict: true,
105
+ });
106
+ // On success, hand off to the original handler
107
+ return await handler(request);
108
+ }
109
+ catch (err) {
110
+ if (err instanceof PermissionError) {
111
+ // Convert PermissionError.permission_descriptions Map → plain object
112
+ const descriptions = {};
113
+ if (err.permission_descriptions) {
114
+ err.permission_descriptions.forEach((v, k) => {
115
+ descriptions[k] = v;
116
+ });
117
+ }
118
+ // Try to extract user_id from session — best-effort, non-strict re-call
119
+ let userId = '';
120
+ try {
121
+ const lax = await hazo_get_auth(request, {
122
+ required_permissions: [],
123
+ strict: false,
124
+ });
125
+ if (lax.authenticated) {
126
+ userId = lax.user.id;
127
+ }
128
+ }
129
+ catch (_a) {
130
+ /* ignore — user_id stays '' */
131
+ }
132
+ const payload = buildDenialPayloadFromRequest(request, {
133
+ user_id: userId,
134
+ missing_permissions: err.missing_permissions,
135
+ required_permissions: err.required_permissions,
136
+ user_permissions: err.user_permissions,
137
+ permission_descriptions: descriptions,
138
+ user_friendly_message: err.user_friendly_message,
139
+ });
140
+ // Fire callback best-effort (do NOT await — must not delay the 403 response)
141
+ if (_onPermissionDenied) {
142
+ Promise.resolve(_onPermissionDenied(payload)).catch((cbErr) => {
143
+ log.warn('onPermissionDenied callback failed', { error: cbErr });
144
+ });
145
+ }
146
+ return buildForbiddenResponse(payload);
147
+ }
148
+ // Re-throw non-permission errors
149
+ throw err;
150
+ }
151
+ };
152
+ }
@@ -0,0 +1,12 @@
1
+ import 'server-only';
2
+ export interface RoleWithPermission {
3
+ id: string;
4
+ name: string;
5
+ }
6
+ /**
7
+ * Returns all roles that (a) have the given permission and (b) are actively
8
+ * used in the given scope (at least one user assigned to that scope via that role).
9
+ * Returns empty array if permission doesn't exist or no matching roles.
10
+ */
11
+ export declare function find_roles_with_permission(adapter: any, scope_id: string, permission_name: string): Promise<RoleWithPermission[]>;
12
+ //# sourceMappingURL=find_roles_with_permission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find_roles_with_permission.d.ts","sourceRoot":"","sources":["../../../src/lib/services/find_roles_with_permission.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,CAAC;AAIrB,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,GAAG,EACZ,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA2B/B"}
@@ -0,0 +1,38 @@
1
+ // file_description: helper to find roles that have a given permission and are actively used in a scope
2
+ import 'server-only';
3
+ import { create_app_logger } from '../app_logger.js';
4
+ /**
5
+ * Returns all roles that (a) have the given permission and (b) are actively
6
+ * used in the given scope (at least one user assigned to that scope via that role).
7
+ * Returns empty array if permission doesn't exist or no matching roles.
8
+ */
9
+ export async function find_roles_with_permission(adapter, scope_id, permission_name) {
10
+ const logger = create_app_logger();
11
+ try {
12
+ const sql = `
13
+ SELECT DISTINCT r.id, r.name
14
+ FROM hazo_roles r
15
+ JOIN hazo_role_permissions rp ON rp.role_id = r.id
16
+ JOIN hazo_permissions p ON p.id = rp.permission_id
17
+ JOIN hazo_user_scopes us ON us.role_id = r.id AND us.scope_id = $1
18
+ WHERE p.permission_name = $2
19
+ `;
20
+ const rows = await adapter.raw(sql, [scope_id, permission_name]);
21
+ if (!Array.isArray(rows))
22
+ return [];
23
+ return rows.map((row) => {
24
+ const r = row;
25
+ return { id: r.id, name: r.name };
26
+ });
27
+ }
28
+ catch (error) {
29
+ logger.error('find_roles_with_permission_error', {
30
+ filename: 'find_roles_with_permission.ts',
31
+ line_number: 0,
32
+ error: error instanceof Error ? error.message : String(error),
33
+ scope_id,
34
+ permission_name,
35
+ });
36
+ return [];
37
+ }
38
+ }
@@ -3,6 +3,6 @@ export type CreateFirmPageProps = {
3
3
  /** Disable the navbar wrapper */
4
4
  disableNavbar?: boolean;
5
5
  };
6
- export default function CreateFirmPage({ disableNavbar }?: CreateFirmPageProps): import("react/jsx-runtime").JSX.Element;
6
+ export default function CreateFirmPage({ disableNavbar }?: CreateFirmPageProps): import("react").JSX.Element;
7
7
  export { CreateFirmPage };
8
8
  //# sourceMappingURL=create_firm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create_firm.d.ts","sourceRoot":"","sources":["../../src/page_components/create_firm.tsx"],"names":[],"mappings":"AAEA,OAAO,aAAa,CAAC;AAQrB,MAAM,MAAM,mBAAmB,GAAG;IAChC,iCAAiC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAsDF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,aAAa,EAAE,GAAE,mBAAwB,2CAsBjF;AAGD,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"create_firm.d.ts","sourceRoot":"","sources":["../../src/page_components/create_firm.tsx"],"names":[],"mappings":"AAEA,OAAO,aAAa,CAAC;AAQrB,MAAM,MAAM,mBAAmB,GAAG;IAChC,iCAAiC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAsDF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,aAAa,EAAE,GAAE,mBAAwB,+BAsBjF;AAGD,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -6,6 +6,6 @@ export type DevLockPageProps = DevLockLayoutProps;
6
6
  * @param props - Optional configuration overrides
7
7
  * @returns Dev lock page component
8
8
  */
9
- export declare function DevLockPage(props?: DevLockPageProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function DevLockPage(props?: DevLockPageProps): import("react").JSX.Element;
10
10
  export default DevLockPage;
11
11
  //# sourceMappingURL=dev_lock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dev_lock.d.ts","sourceRoot":"","sources":["../../src/page_components/dev_lock.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAG/E,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAGlD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,GAAE,gBAAqB,2CAEvD;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"dev_lock.d.ts","sourceRoot":"","sources":["../../src/page_components/dev_lock.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAG/E,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAGlD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,GAAE,gBAAqB,+BAEvD;AAED,eAAe,WAAW,CAAC"}
@@ -59,6 +59,6 @@ export type MySettingsPageProps = {
59
59
  * @param props - Optional configuration overrides
60
60
  * @returns My settings page component
61
61
  */
62
- export declare function MySettingsPage({ userFields, passwordRequirements, profilePicture, heading, subHeading, profilePhotoLabel, profilePhotoRecommendation, uploadPhotoButtonLabel, removePhotoButtonLabel, profileInformationLabel, passwordLabel, currentPasswordLabel, newPasswordLabel, confirmPasswordLabel, savePasswordButtonLabel, unauthorizedMessage, loginButtonLabel, loginPath, messages, uiSizes, fileTypes, }?: MySettingsPageProps): import("react/jsx-runtime").JSX.Element;
62
+ export declare function MySettingsPage({ userFields, passwordRequirements, profilePicture, heading, subHeading, profilePhotoLabel, profilePhotoRecommendation, uploadPhotoButtonLabel, removePhotoButtonLabel, profileInformationLabel, passwordLabel, currentPasswordLabel, newPasswordLabel, confirmPasswordLabel, savePasswordButtonLabel, unauthorizedMessage, loginButtonLabel, loginPath, messages, uiSizes, fileTypes, }?: MySettingsPageProps): import("react").JSX.Element;
63
63
  export default MySettingsPage;
64
64
  //# sourceMappingURL=my_settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"my_settings.d.ts","sourceRoot":"","sources":["../../src/page_components/my_settings.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0DAA0D,CAAC;AA2B3G,QAAA,MAAM,gBAAgB;;;;;CAKrB,CAAC;AAEF,QAAA,MAAM,gBAAgB;;;;;;;;;CASrB,CAAC;AAQF,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,CAAC,EAAE;QACX,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,CAAC;IACF,oBAAoB,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC3D,cAAc,CAAC,EAAE;QACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,4BAA4B,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;QACtD,4BAA4B,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;QACtD,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE;QACV,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;QACpC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;KACrC,CAAC;CACH,CAAC;AAGF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,oBAAoB,EACpB,cAAc,EACd,OAA4B,EAC5B,UAAoE,EACpE,iBAAmC,EACnC,0BAAiF,EACjF,sBAAuC,EACvC,sBAAiC,EACjC,uBAA+C,EAC/C,aAA0B,EAC1B,oBAAyC,EACzC,gBAAiC,EACjC,oBAAyC,EACzC,uBAA2C,EAC3C,mBAAkE,EAClE,gBAAgC,EAChC,SAA8B,EAC9B,QAAQ,EACR,OAAO,EACP,SAAS,GACV,GAAE,mBAAwB,2CA0D1B;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"my_settings.d.ts","sourceRoot":"","sources":["../../src/page_components/my_settings.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0DAA0D,CAAC;AA2B3G,QAAA,MAAM,gBAAgB;;;;;CAKrB,CAAC;AAEF,QAAA,MAAM,gBAAgB;;;;;;;;;CASrB,CAAC;AAQF,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,CAAC,EAAE;QACX,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,CAAC;IACF,oBAAoB,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC3D,cAAc,CAAC,EAAE;QACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,4BAA4B,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;QACtD,4BAA4B,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;QACtD,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE;QACV,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;QACpC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;KACrC,CAAC;CACH,CAAC;AAGF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,oBAAoB,EACpB,cAAc,EACd,OAA4B,EAC5B,UAAoE,EACpE,iBAAmC,EACnC,0BAAiF,EACjF,sBAAuC,EACvC,sBAAiC,EACjC,uBAA+C,EAC/C,aAA0B,EAC1B,oBAAyC,EACzC,gBAAiC,EACjC,oBAAyC,EACzC,uBAA2C,EAC3C,mBAAkE,EAClE,gBAAgC,EAChC,SAA8B,EAC9B,QAAQ,EACR,OAAO,EACP,SAAS,GACV,GAAE,mBAAwB,+BA0D1B;AAED,eAAe,cAAc,CAAC"}
@@ -30,4 +30,11 @@ export { create_app_logger } from "./lib/app_logger.js";
30
30
  export { sanitize_error_for_user } from "./lib/utils/error_sanitizer.js";
31
31
  export type { ErrorSanitizationOptions } from "./lib/utils/error_sanitizer";
32
32
  export * from "./lib/utils/api_route_helpers.js";
33
+ export { find_roles_with_permission } from "./lib/services/find_roles_with_permission.js";
34
+ export type { RoleWithPermission } from "./lib/services/find_roles_with_permission.js";
35
+ export { authIssueTypeDef, registerAuthIssuePlugin } from "./admin-issues/plugin.server.js";
36
+ export { wireAdminIssueCapture } from "./admin-issues/wire.server.js";
37
+ export type { WireAdminIssueCaptureOptions } from "./admin-issues/wire.server.js";
38
+ export { denyPermission } from "./lib/auth/deny_permission.server.js";
39
+ export type { DenyPermissionInput } from "./lib/auth/deny_permission.server.js";
33
40
  //# sourceMappingURL=server-lib.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-lib.d.ts","sourceRoot":"","sources":["../src/server-lib.ts"],"names":[],"mappings":"AAYA,OAAO,aAAa,CAAC;AAGrB,cAAc,kBAAkB,CAAC;AAGjC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAGrF,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,YAAY,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"server-lib.d.ts","sourceRoot":"","sources":["../src/server-lib.ts"],"names":[],"mappings":"AAYA,OAAO,aAAa,CAAC;AAGrB,cAAc,kBAAkB,CAAC;AAGjC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAGrF,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,YAAY,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,cAAc,+BAA+B,CAAC;AAG9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAC1F,YAAY,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAGvF,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,YAAY,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAGlF,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,YAAY,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC"}
@@ -45,3 +45,10 @@ export { create_app_logger } from "./lib/app_logger.js";
45
45
  // section: util_exports
46
46
  export { sanitize_error_for_user } from "./lib/utils/error_sanitizer.js";
47
47
  export * from "./lib/utils/api_route_helpers.js";
48
+ // section: find_roles_with_permission
49
+ export { find_roles_with_permission } from "./lib/services/find_roles_with_permission.js";
50
+ // admin-issues plugin (server)
51
+ export { authIssueTypeDef, registerAuthIssuePlugin } from "./admin-issues/plugin.server.js";
52
+ export { wireAdminIssueCapture } from "./admin-issues/wire.server.js";
53
+ // deny_permission helper
54
+ export { denyPermission } from "./lib/auth/deny_permission.server.js";
@@ -50,6 +50,6 @@ export type ForgotPasswordPageProps = {
50
50
  * @param props - Optional visual and navigation customization props
51
51
  * @returns Server-rendered forgot password page
52
52
  */
53
- export default function ForgotPasswordPage({ image_src, image_alt, image_background_color, sign_in_path, sign_in_label, }?: ForgotPasswordPageProps): import("react/jsx-runtime").JSX.Element;
53
+ export default function ForgotPasswordPage({ image_src, image_alt, image_background_color, sign_in_path, sign_in_label, }?: ForgotPasswordPageProps): import("react").JSX.Element;
54
54
  export { ForgotPasswordPage };
55
55
  //# sourceMappingURL=forgot_password.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"forgot_password.d.ts","sourceRoot":"","sources":["../../src/server_pages/forgot_password.tsx"],"names":[],"mappings":"AAEA,OAAO,aAAa,CAAC;AASrB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,uBAAuB,GAAG;IACpC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IAErC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAGF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,SAAS,EACT,SAAS,EACT,sBAAsB,EACtB,YAAgD,EAChD,aAAkD,GACnD,GAAE,uBAA4B,2CAkC9B;AAGD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"forgot_password.d.ts","sourceRoot":"","sources":["../../src/server_pages/forgot_password.tsx"],"names":[],"mappings":"AAEA,OAAO,aAAa,CAAC;AASrB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,uBAAuB,GAAG;IACpC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IAErC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAGF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,SAAS,EACT,SAAS,EACT,sBAAsB,EACtB,YAAgD,EAChD,aAAkD,GACnD,GAAE,uBAA4B,+BAkC9B;AAGD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -13,5 +13,5 @@ export type ForgotPasswordClientWrapperProps = Omit<ForgotPasswordConfig, 'image
13
13
  * Client wrapper for ForgotPasswordLayout
14
14
  * Initializes hazo_connect data client on client side and passes config from server
15
15
  */
16
- export declare function ForgotPasswordClientWrapper({ image_src, image_alt, image_background_color, sign_in_path, sign_in_label, alreadyLoggedInMessage, showLogoutButton, showReturnHomeButton, returnHomeButtonLabel, returnHomePath, labels, }: ForgotPasswordClientWrapperProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function ForgotPasswordClientWrapper({ image_src, image_alt, image_background_color, sign_in_path, sign_in_label, alreadyLoggedInMessage, showLogoutButton, showReturnHomeButton, returnHomeButtonLabel, returnHomePath, labels, }: ForgotPasswordClientWrapperProps): import("react").JSX.Element;
17
17
  //# sourceMappingURL=forgot_password_client_wrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"forgot_password_client_wrapper.d.ts","sourceRoot":"","sources":["../../src/server_pages/forgot_password_client_wrapper.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0DAA0D,CAAC;AAGrG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,gCAAgC,GAAG,IAAI,CAAC,oBAAoB,EAAE,UAAU,GAAG,UAAU,GAAG,sBAAsB,CAAC,GAAG;IAC5H,SAAS,EAAE,MAAM,GAAG,eAAe,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAGF;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,SAAS,EACT,SAAS,EACT,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,MAAM,GACP,EAAE,gCAAgC,2CAoClC"}
1
+ {"version":3,"file":"forgot_password_client_wrapper.d.ts","sourceRoot":"","sources":["../../src/server_pages/forgot_password_client_wrapper.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0DAA0D,CAAC;AAGrG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,gCAAgC,GAAG,IAAI,CAAC,oBAAoB,EAAE,UAAU,GAAG,UAAU,GAAG,sBAAsB,CAAC,GAAG;IAC5H,SAAS,EAAE,MAAM,GAAG,eAAe,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAGF;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,SAAS,EACT,SAAS,EACT,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,MAAM,GACP,EAAE,gCAAgC,+BAoClC"}
@@ -52,6 +52,6 @@ export type LoginPageProps = {
52
52
  * @param props - Optional visual customization props
53
53
  * @returns Server-rendered login page
54
54
  */
55
- export default function LoginPage({ image_src, image_alt, image_background_color, layout, }?: LoginPageProps): import("react/jsx-runtime").JSX.Element;
55
+ export default function LoginPage({ image_src, image_alt, image_background_color, layout, }?: LoginPageProps): import("react").JSX.Element;
56
56
  export { LoginPage };
57
57
  //# sourceMappingURL=login.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/server_pages/login.tsx"],"names":[],"mappings":"AAEA,OAAO,aAAa,CAAC;AAUrB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,cAAc,GAAG;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IAErC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;CACrC,CAAC;AAGF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,SAAS,EACT,SAAS,EACT,sBAAsB,EACtB,MAAqB,GACtB,GAAE,cAAmB,2CAsErB;AAGD,OAAO,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/server_pages/login.tsx"],"names":[],"mappings":"AAEA,OAAO,aAAa,CAAC;AAUrB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,cAAc,GAAG;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IAErC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;CACrC,CAAC;AAGF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,SAAS,EACT,SAAS,EACT,sBAAsB,EACtB,MAAqB,GACtB,GAAE,cAAmB,+BAsErB;AAGD,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -19,5 +19,5 @@ export type LoginClientWrapperProps = Omit<LoginConfig, 'imageSrc' | 'imageAlt'
19
19
  * Client wrapper for LoginLayout
20
20
  * Initializes hazo_connect data client on client side and passes config from server
21
21
  */
22
- export declare function LoginClientWrapper({ image_src, image_alt, image_background_color, redirectRoute, successMessage, alreadyLoggedInMessage, showLogoutButton, showReturnHomeButton, returnHomeButtonLabel, returnHomePath, forgotPasswordPath, forgotPasswordLabel, createAccountPath, createAccountLabel, showCreateAccountLink, oauth, layout, labels, }: LoginClientWrapperProps): import("react/jsx-runtime").JSX.Element;
22
+ export declare function LoginClientWrapper({ image_src, image_alt, image_background_color, redirectRoute, successMessage, alreadyLoggedInMessage, showLogoutButton, showReturnHomeButton, returnHomeButtonLabel, returnHomePath, forgotPasswordPath, forgotPasswordLabel, createAccountPath, createAccountLabel, showCreateAccountLink, oauth, layout, labels, }: LoginClientWrapperProps): import("react").JSX.Element;
23
23
  //# sourceMappingURL=login_client_wrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"login_client_wrapper.d.ts","sourceRoot":"","sources":["../../src/server_pages/login_client_wrapper.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0DAA0D,CAAC;AAGrG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU,GAAG,sBAAsB,GAAG,OAAO,GAAG,uBAAuB,CAAC,GAAG;IAC9I,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sDAAsD;IACtD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,0BAA0B;IAC1B,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,yEAAyE;IACzE,MAAM,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;IACpC,wEAAwE;IACxE,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAGF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,SAAS,EACT,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,qBAA4B,EAC5B,KAAK,EACL,MAAqB,EACrB,MAAM,GACP,EAAE,uBAAuB,2CA2CzB"}
1
+ {"version":3,"file":"login_client_wrapper.d.ts","sourceRoot":"","sources":["../../src/server_pages/login_client_wrapper.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0DAA0D,CAAC;AAGrG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU,GAAG,sBAAsB,GAAG,OAAO,GAAG,uBAAuB,CAAC,GAAG;IAC9I,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sDAAsD;IACtD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,0BAA0B;IAC1B,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,yEAAyE;IACzE,MAAM,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;IACpC,wEAAwE;IACxE,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAGF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,SAAS,EACT,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,qBAA4B,EAC5B,KAAK,EACL,MAAqB,EACrB,MAAM,GACP,EAAE,uBAAuB,+BA2CzB"}
@@ -50,6 +50,6 @@ export type MySettingsPageProps = {
50
50
  * @param props - Optional className for custom styling
51
51
  * @returns Server-rendered my settings component
52
52
  */
53
- export default function MySettingsPage({ className, }?: MySettingsPageProps): import("react/jsx-runtime").JSX.Element;
53
+ export default function MySettingsPage({ className, }?: MySettingsPageProps): import("react").JSX.Element;
54
54
  export { MySettingsPage };
55
55
  //# sourceMappingURL=my_settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"my_settings.d.ts","sourceRoot":"","sources":["../../src/server_pages/my_settings.tsx"],"names":[],"mappings":"AAEA,OAAO,aAAa,CAAC;AAQrB,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAGF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,SAAS,GACV,GAAE,mBAAwB,2CAgC1B;AAGD,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"my_settings.d.ts","sourceRoot":"","sources":["../../src/server_pages/my_settings.tsx"],"names":[],"mappings":"AAEA,OAAO,aAAa,CAAC;AAQrB,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAGF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,SAAS,GACV,GAAE,mBAAwB,+BAgC1B;AAGD,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -48,6 +48,6 @@ export type RegisterPageProps = {
48
48
  * @param props - Optional visual customization props
49
49
  * @returns Server-rendered register page
50
50
  */
51
- export default function RegisterPage({ image_src, image_alt, image_background_color, layout, }?: RegisterPageProps): import("react/jsx-runtime").JSX.Element;
51
+ export default function RegisterPage({ image_src, image_alt, image_background_color, layout, }?: RegisterPageProps): import("react").JSX.Element;
52
52
  export { RegisterPage };
53
53
  //# sourceMappingURL=register.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/server_pages/register.tsx"],"names":[],"mappings":"AAEA,OAAO,aAAa,CAAC;AAUrB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IAErC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;OAIG;IACH,MAAM,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;CACrC,CAAC;AAIF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,SAAS,EACT,SAAS,EACT,sBAAsB,EACtB,MAAqB,GACtB,GAAE,iBAAsB,2CA2DxB;AAGD,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/server_pages/register.tsx"],"names":[],"mappings":"AAEA,OAAO,aAAa,CAAC;AAUrB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IAErC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;OAIG;IACH,MAAM,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;CACrC,CAAC;AAIF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,SAAS,EACT,SAAS,EACT,sBAAsB,EACtB,MAAqB,GACtB,GAAE,iBAAsB,+BA2DxB;AAGD,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -16,5 +16,5 @@ export type RegisterClientWrapperProps = Omit<RegisterConfig, 'imageSrc' | 'imag
16
16
  * Client wrapper for RegisterLayout
17
17
  * Initializes hazo_connect data client on client side and passes config from server
18
18
  */
19
- export declare function RegisterClientWrapper({ image_src, image_alt, image_background_color, showNameField, passwordRequirements, alreadyLoggedInMessage, showLogoutButton, showReturnHomeButton, returnHomeButtonLabel, returnHomePath, signInPath, signInLabel, oauth, layout, labels, }: RegisterClientWrapperProps): import("react/jsx-runtime").JSX.Element;
19
+ export declare function RegisterClientWrapper({ image_src, image_alt, image_background_color, showNameField, passwordRequirements, alreadyLoggedInMessage, showLogoutButton, showReturnHomeButton, returnHomeButtonLabel, returnHomePath, signInPath, signInLabel, oauth, layout, labels, }: RegisterClientWrapperProps): import("react").JSX.Element;
20
20
  //# sourceMappingURL=register_client_wrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register_client_wrapper.d.ts","sourceRoot":"","sources":["../../src/server_pages/register_client_wrapper.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0DAA0D,CAAC;AAGrG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,UAAU,GAAG,sBAAsB,GAAG,OAAO,CAAC,GAAG;IAC1H,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,0BAA0B;IAC1B,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,4EAA4E;IAC5E,MAAM,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;IACpC,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAGF;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,SAAS,EACT,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,UAAU,EACV,WAAW,EACX,KAAK,EACL,MAAqB,EACrB,MAAM,GACP,EAAE,0BAA0B,2CAwC5B"}
1
+ {"version":3,"file":"register_client_wrapper.d.ts","sourceRoot":"","sources":["../../src/server_pages/register_client_wrapper.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0DAA0D,CAAC;AAGrG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,UAAU,GAAG,sBAAsB,GAAG,OAAO,CAAC,GAAG;IAC1H,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,0BAA0B;IAC1B,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,4EAA4E;IAC5E,MAAM,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;IACpC,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAGF;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,SAAS,EACT,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,UAAU,EACV,WAAW,EACX,KAAK,EACL,MAAqB,EACrB,MAAM,GACP,EAAE,0BAA0B,+BAwC5B"}
@@ -41,6 +41,6 @@ export type ResetPasswordPageProps = {
41
41
  * @param props - Optional visual customization props
42
42
  * @returns Server-rendered reset password page
43
43
  */
44
- export default function ResetPasswordPage({ image_src, image_alt, image_background_color, }?: ResetPasswordPageProps): import("react/jsx-runtime").JSX.Element;
44
+ export default function ResetPasswordPage({ image_src, image_alt, image_background_color, }?: ResetPasswordPageProps): import("react").JSX.Element;
45
45
  export { ResetPasswordPage };
46
46
  //# sourceMappingURL=reset_password.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reset_password.d.ts","sourceRoot":"","sources":["../../src/server_pages/reset_password.tsx"],"names":[],"mappings":"AAEA,OAAO,aAAa,CAAC;AAQrB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IAErC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAGF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,SAAS,EACT,SAAS,EACT,sBAAsB,GACvB,GAAE,sBAA2B,2CAqC7B;AAGD,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"reset_password.d.ts","sourceRoot":"","sources":["../../src/server_pages/reset_password.tsx"],"names":[],"mappings":"AAEA,OAAO,aAAa,CAAC;AAQrB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IAErC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAGF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,SAAS,EACT,SAAS,EACT,sBAAsB,GACvB,GAAE,sBAA2B,+BAqC7B;AAGD,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -11,5 +11,5 @@ export type ResetPasswordClientWrapperProps = Omit<ResetPasswordConfig, 'imageSr
11
11
  * Client wrapper for ResetPasswordLayout
12
12
  * Initializes hazo_connect data client on client side and passes config from server
13
13
  */
14
- export declare function ResetPasswordClientWrapper({ image_src, image_alt, image_background_color, passwordRequirements, errorMessage, successMessage, loginPath, forgotPasswordPath, alreadyLoggedInMessage, showLogoutButton, showReturnHomeButton, returnHomeButtonLabel, returnHomePath, labels, }: ResetPasswordClientWrapperProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function ResetPasswordClientWrapper({ image_src, image_alt, image_background_color, passwordRequirements, errorMessage, successMessage, loginPath, forgotPasswordPath, alreadyLoggedInMessage, showLogoutButton, showReturnHomeButton, returnHomeButtonLabel, returnHomePath, labels, }: ResetPasswordClientWrapperProps): import("react").JSX.Element;
15
15
  //# sourceMappingURL=reset_password_client_wrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reset_password_client_wrapper.d.ts","sourceRoot":"","sources":["../../src/server_pages/reset_password_client_wrapper.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0DAA0D,CAAC;AAGrG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,+BAA+B,GAAG,IAAI,CAAC,mBAAmB,EAAE,UAAU,GAAG,UAAU,GAAG,sBAAsB,CAAC,GAAG;IAC1H,SAAS,EAAE,MAAM,GAAG,eAAe,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAGF;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,SAAS,EACT,SAAS,EACT,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,SAAS,EACT,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,MAAM,GACP,EAAE,+BAA+B,2CAuCjC"}
1
+ {"version":3,"file":"reset_password_client_wrapper.d.ts","sourceRoot":"","sources":["../../src/server_pages/reset_password_client_wrapper.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0DAA0D,CAAC;AAGrG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,+BAA+B,GAAG,IAAI,CAAC,mBAAmB,EAAE,UAAU,GAAG,UAAU,GAAG,sBAAsB,CAAC,GAAG;IAC1H,SAAS,EAAE,MAAM,GAAG,eAAe,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAGF;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,SAAS,EACT,SAAS,EACT,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,SAAS,EACT,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,MAAM,GACP,EAAE,+BAA+B,+BAuCjC"}
@@ -50,6 +50,6 @@ export type VerifyEmailPageProps = {
50
50
  * @param props - Optional visual and behavior customization props
51
51
  * @returns Server-rendered email verification page
52
52
  */
53
- export default function VerifyEmailPage({ image_src, image_alt, image_background_color, redirect_delay, login_path, }?: VerifyEmailPageProps): import("react/jsx-runtime").JSX.Element;
53
+ export default function VerifyEmailPage({ image_src, image_alt, image_background_color, redirect_delay, login_path, }?: VerifyEmailPageProps): import("react").JSX.Element;
54
54
  export { VerifyEmailPage };
55
55
  //# sourceMappingURL=verify_email.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify_email.d.ts","sourceRoot":"","sources":["../../src/server_pages/verify_email.tsx"],"names":[],"mappings":"AAEA,OAAO,aAAa,CAAC;AASrB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IAErC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAGF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,SAAS,EACT,SAAS,EACT,sBAAsB,EACtB,cAAyD,EACzD,UAAiD,GAClD,GAAE,oBAAyB,2CAiC3B;AAGD,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"verify_email.d.ts","sourceRoot":"","sources":["../../src/server_pages/verify_email.tsx"],"names":[],"mappings":"AAEA,OAAO,aAAa,CAAC;AASrB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC;IAErC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAGF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,SAAS,EACT,SAAS,EACT,sBAAsB,EACtB,cAAyD,EACzD,UAAiD,GAClD,GAAE,oBAAyB,+BAiC3B;AAGD,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -13,5 +13,5 @@ export type VerifyEmailClientWrapperProps = Omit<EmailVerificationConfig, 'image
13
13
  * Client wrapper for EmailVerificationLayout
14
14
  * Initializes hazo_connect data client on client side and passes config from server
15
15
  */
16
- export declare function VerifyEmailClientWrapper({ image_src, image_alt, image_background_color, redirect_delay, login_path, alreadyLoggedInMessage, showLogoutButton, showReturnHomeButton, returnHomeButtonLabel, returnHomePath, labels, }: VerifyEmailClientWrapperProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function VerifyEmailClientWrapper({ image_src, image_alt, image_background_color, redirect_delay, login_path, alreadyLoggedInMessage, showLogoutButton, showReturnHomeButton, returnHomeButtonLabel, returnHomePath, labels, }: VerifyEmailClientWrapperProps): import("react").JSX.Element;
17
17
  //# sourceMappingURL=verify_email_client_wrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify_email_client_wrapper.d.ts","sourceRoot":"","sources":["../../src/server_pages/verify_email_client_wrapper.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0DAA0D,CAAC;AAGrG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,uBAAuB,EAAE,UAAU,GAAG,UAAU,GAAG,sBAAsB,CAAC,GAAG;IAC5H,SAAS,EAAE,MAAM,GAAG,eAAe,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAGF;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,SAAS,EACT,SAAS,EACT,sBAAsB,EACtB,cAAc,EACd,UAAU,EACV,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,MAAM,GACP,EAAE,6BAA6B,2CAqC/B"}
1
+ {"version":3,"file":"verify_email_client_wrapper.d.ts","sourceRoot":"","sources":["../../src/server_pages/verify_email_client_wrapper.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0DAA0D,CAAC;AAGrG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,uBAAuB,EAAE,UAAU,GAAG,UAAU,GAAG,sBAAsB,CAAC,GAAG;IAC5H,SAAS,EAAE,MAAM,GAAG,eAAe,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAGF;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,SAAS,EACT,SAAS,EACT,sBAAsB,EACtB,cAAc,EACd,UAAU,EACV,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,MAAM,GACP,EAAE,6BAA6B,+BAqC/B"}
@@ -21,6 +21,6 @@ type DeepPartial<T> = T extends object ? {
21
21
  export declare function HazoAuthStringsProvider({ strings, children, }: {
22
22
  strings?: DeepPartial<HazoAuthStrings>;
23
23
  children: React.ReactNode;
24
- }): import("react/jsx-runtime").JSX.Element;
24
+ }): React.JSX.Element;
25
25
  export {};
26
26
  //# sourceMappingURL=strings_provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"strings_provider.d.ts","sourceRoot":"","sources":["../../src/strings/strings_provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAMzD,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAClC;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACtC,CAAC,CAAC;AA2BN;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,OAAO,EACP,QAAQ,GACT,EAAE;IACD,OAAO,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CAMA"}
1
+ {"version":3,"file":"strings_provider.d.ts","sourceRoot":"","sources":["../../src/strings/strings_provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAMzD,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAClC;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACtC,CAAC,CAAC;AA2BN;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,OAAO,EACP,QAAQ,GACT,EAAE;IACD,OAAO,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,qBAMA"}
@@ -10,5 +10,5 @@ import type { HazoAuthTheme } from "./theme_types";
10
10
  export declare function HazoAuthThemeProvider({ theme, children, }: {
11
11
  theme: HazoAuthTheme;
12
12
  children: React.ReactNode;
13
- }): import("react/jsx-runtime").JSX.Element;
13
+ }): import("react").JSX.Element;
14
14
  //# sourceMappingURL=theme_provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme_provider.d.ts","sourceRoot":"","sources":["../../src/theme/theme_provider.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CAgBA"}
1
+ {"version":3,"file":"theme_provider.d.ts","sourceRoot":"","sources":["../../src/theme/theme_provider.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,+BAgBA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hazo_auth",
3
- "version": "10.2.3",
3
+ "version": "10.4.1",
4
4
  "description": "Zero-config authentication UI components for Next.js with RBAC, OAuth, scope-based multi-tenancy, and invitations",
5
5
  "keywords": [
6
6
  "authentication",
@@ -153,6 +153,10 @@
153
153
  "types": "./dist/server_pages/otp.d.ts",
154
154
  "import": "./dist/server_pages/otp.js"
155
155
  },
156
+ "./admin-issues-plugin": {
157
+ "types": "./dist/admin-issues/index.server.d.ts",
158
+ "import": "./dist/admin-issues/index.server.js"
159
+ },
156
160
  "./page_components": {
157
161
  "types": "./dist/page_components/index.d.ts",
158
162
  "import": "./dist/page_components/index.js"
@@ -168,6 +172,10 @@
168
172
  "./page_components/my_settings": {
169
173
  "types": "./dist/page_components/my_settings.d.ts",
170
174
  "import": "./dist/page_components/my_settings.js"
175
+ },
176
+ "./admin-issues-plugin/client": {
177
+ "types": "./dist/admin-issues/index.client.d.ts",
178
+ "import": "./dist/admin-issues/index.client.js"
171
179
  }
172
180
  },
173
181
  "files": [
@@ -255,13 +263,13 @@
255
263
  "@radix-ui/react-tabs": "^1.1.0",
256
264
  "@radix-ui/react-tooltip": "^1.2.0",
257
265
  "hazo_api": "^2.4.0",
258
- "hazo_config": "^2.1.11",
259
- "hazo_connect": "^3.7.0",
266
+ "hazo_config": "^2.2.0",
267
+ "hazo_connect": "^3.8.0",
260
268
  "hazo_core": "^1.2.0",
261
- "hazo_logs": "^2.0.3",
262
- "hazo_notify": "^6.1.3",
269
+ "hazo_logs": "^2.1.1",
270
+ "hazo_notify": "^6.1.4",
263
271
  "hazo_secure": "^1.1.0",
264
- "hazo_ui": "^4.2.0",
272
+ "hazo_ui": "^4.4.0",
265
273
  "input-otp": "^1.4.0",
266
274
  "lucide-react": "^0.553.0",
267
275
  "next": "^14.0.0",
@@ -395,12 +403,12 @@
395
403
  "eslint-config-next": "^16.0.4",
396
404
  "eslint-plugin-storybook": "^10.0.6",
397
405
  "hazo_api": "^2.5.0",
398
- "hazo_config": "^2.1.11",
399
- "hazo_connect": "^3.7.0",
406
+ "hazo_config": "^2.2.0",
407
+ "hazo_connect": "^3.8.0",
400
408
  "hazo_core": "^1.2.0",
401
- "hazo_logs": "^2.0.3",
402
- "hazo_notify": "^6.1.3",
403
- "hazo_ui": "^4.2.0",
409
+ "hazo_logs": "^2.1.1",
410
+ "hazo_notify": "^6.1.4",
411
+ "hazo_ui": "^4.4.0",
404
412
  "input-otp": "^1.4.0",
405
413
  "jest": "^30.2.0",
406
414
  "jest-environment-jsdom": "^30.0.0",