@bcrumbs.net/inbox 0.0.60 → 0.0.63

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 (88) hide show
  1. package/assets/ar/inbox.json +16 -3
  2. package/assets/en/inbox.json +15 -2
  3. package/index.cjs.js +49115 -49417
  4. package/index.esm.js +49119 -49421
  5. package/package.json +4 -4
  6. package/playwright.config.d.ts +9 -0
  7. package/src/app/ai/components/Crumby/CrumbyComposer.d.ts +1 -1
  8. package/src/app/ai/components/playground/Button.d.ts +1 -1
  9. package/src/app/ai/components/playground/ThreadMessages.d.ts +5 -1
  10. package/src/app/ai/components/playground/TooltipIconButton.d.ts +2 -2
  11. package/src/app/auth/components/ClerkForgetPanel.d.ts +6 -0
  12. package/src/app/auth/components/ClerkResetPasswordPanel.d.ts +6 -0
  13. package/src/app/auth/components/ClerkSessionBridge.d.ts +12 -0
  14. package/src/app/auth/components/ClerkSignInPanel.d.ts +2 -0
  15. package/src/app/auth/components/ClerkSignUpPanel.d.ts +2 -0
  16. package/src/app/auth/components/UserAvatar/AccountSettingsDropdown.d.ts +3 -5
  17. package/src/app/auth/components/password-page/PasswordFormView.d.ts +10 -1
  18. package/src/app/auth/config/authProvider.d.ts +12 -0
  19. package/src/app/auth/config/clerkAppearance.d.ts +430 -0
  20. package/src/app/auth/hooks/useRoles.d.ts +1 -0
  21. package/src/app/auth/pages/Auth.style.d.ts +82 -0
  22. package/src/app/auth/pages/CheckAuth.d.ts +7 -4
  23. package/src/app/auth/pages/Forget.d.ts +2 -2
  24. package/src/app/auth/pages/Login.d.ts +2 -3
  25. package/src/app/auth/pages/Login.style.d.ts +1 -0
  26. package/src/app/auth/pages/Password.d.ts +2 -2
  27. package/src/app/auth/pages/Register.d.ts +2 -3
  28. package/src/app/auth/pages/Register.style.d.ts +5 -0
  29. package/src/app/auth/utils/avatar.d.ts +1 -0
  30. package/src/app/auth/utils/clerkTracking.d.ts +9 -0
  31. package/src/app/auth/utils/resetWorkspaceRoleState.d.ts +4 -0
  32. package/src/app/billing/utils/pendingPlanPurchaseStorage.d.ts +6 -6
  33. package/src/app/broadcast/components/BroadcastAnalysisContent.d.ts +3 -1
  34. package/src/app/broadcast/components/BroadcastAnalysisReciepients.d.ts +6 -1
  35. package/src/app/broadcast/components/BroadcastAnalysisReciepientsHeader.d.ts +7 -1
  36. package/src/app/contact/components/ContactFilterOptions.d.ts +4 -1
  37. package/src/app/contact/components/ContactFormFields.d.ts +4 -1
  38. package/src/app/dashboard/components/AgentPerformanceCard.d.ts +2 -1
  39. package/src/app/dashboard/components/BroadcastCampaignProgressCard.d.ts +3 -1
  40. package/src/app/dashboard/components/DashboardExportButton.d.ts +8 -0
  41. package/src/app/dashboard/components/DashboardSections.d.ts +2 -1
  42. package/src/app/dashboard/components/OpenedChatsCard.d.ts +5 -1
  43. package/src/app/dashboard/components/TagPerformanceCard.d.ts +2 -1
  44. package/src/app/dashboard/utils/dashboardReportExports.d.ts +100 -0
  45. package/src/app/generic/components/PhoneDigitsInput.d.ts +7 -0
  46. package/src/app/generic/hooks/useOnlineStatus.d.ts +1 -1
  47. package/src/app/generic/hooks/useResourceColumns.d.ts +3 -1
  48. package/src/app/inbox/components/Chat/ChatHeader.d.ts +2 -0
  49. package/src/app/inbox/components/Chat/NoConvSelected.d.ts +5 -0
  50. package/src/app/inbox/components/Chat/index.d.ts +4 -1
  51. package/src/app/inbox/components/NewDetails/ClientSection.d.ts +2 -1
  52. package/src/app/inbox/components/NewDetails/UserHeader.d.ts +2 -1
  53. package/src/app/inbox/components/NewDetails/index.d.ts +2 -1
  54. package/src/app/inbox/components/Shared/Inbox.d.ts +4 -1
  55. package/src/app/inbox/components/Shared/MobileChatDetailsSlider.d.ts +15 -0
  56. package/src/app/inbox/components/Shared/MobileDetailsSwipeHint.d.ts +9 -0
  57. package/src/app/inbox/components/Shared/MobileMenu.d.ts +2 -1
  58. package/src/app/inbox/hooks/useConvActions.d.ts +1 -0
  59. package/src/app/inbox/hooks/useConversationsPerodicFetch.d.ts +3 -0
  60. package/src/app/inbox/hooks/useStartedTimeAgo.d.ts +5 -0
  61. package/src/app/inbox/utils/convs.d.ts +8 -1
  62. package/src/app/inbox/utils/inboxAssignableAis.d.ts +11 -1
  63. package/src/app/layout/constants/index.d.ts +10 -10
  64. package/src/app/layout/hooks/useCrumbyEnabled.d.ts +18 -0
  65. package/src/app/layout/hooks/useCrumbyUpgradeAction.d.ts +10 -0
  66. package/src/app/managemnet/config/types.d.ts +2 -0
  67. package/src/app/onboarding/utils/onboardingChecklistPersistence.d.ts +18 -0
  68. package/src/app/onboarding/utils/onboardingChecklistStorage.d.ts +10 -1
  69. package/src/app/resources/components/Integrations/Facebook/PagePickerPopup.d.ts +3 -1
  70. package/src/app/subscriptions/components/NewSubscription/OnboardingStepper.d.ts +8 -0
  71. package/src/app/subscriptions/components/NewSubscription/SubscriptionFailed.d.ts +6 -0
  72. package/src/app/subscriptions/components/NewSubscription/SubscriptionName.d.ts +1 -1
  73. package/src/app/subscriptions/components/NewSubscription/SubscriptionSuccess.d.ts +5 -2
  74. package/src/app/subscriptions/components/NewSubscription/WorkspaceStepLayout.d.ts +11 -0
  75. package/src/app/subscriptions/components/Plans/ShowcasePlans.d.ts +3 -1
  76. package/src/app/subscriptions/components/SubscriptionSwitcher/Switcher.d.ts +1 -1
  77. package/src/app/subscriptions/pages/NewSubscription.d.ts +1 -1
  78. package/src/app/subscriptions/utils/estimateUpgradeProration.d.ts +19 -0
  79. package/src/app/subscriptions/utils/newWorkspaceCheckout.d.ts +16 -0
  80. package/src/assets/locales/translations.d.ts +84 -0
  81. package/src/environments/types.d.ts +5 -0
  82. package/src/graphql.autogenerated.d.ts +582 -1
  83. package/src/routes/PrivateRoutes.d.ts +1 -5
  84. package/src/utils/exportCsv.d.ts +8 -0
  85. package/src/utils/textUtils.d.ts +2 -0
  86. package/src/app/broadcast/components/BroadcastTargetingComplianceNotice.d.ts +0 -2
  87. package/src/app/generic/hooks/WithMenuConfig.d.ts +0 -1
  88. package/src/app/layout/components/language/LanguageDropdown.d.ts +0 -9
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bcrumbs.net/inbox",
3
3
  "description": "Inbox widget for Bread Crumbs portals",
4
- "version": "0.0.60",
4
+ "version": "0.0.63",
5
5
  "keyword": [
6
6
  "bcrumbs",
7
7
  "bc-ui",
@@ -24,9 +24,9 @@
24
24
  "graphql": "15.4.0"
25
25
  },
26
26
  "dependencies": {
27
- "@bcrumbs.net/bc-shared": "^0.0.10",
28
- "@bcrumbs.net/bc-ui": "^0.0.15",
29
- "@bcrumbs.net/bc-api": "^0.0.47",
27
+ "@bcrumbs.net/bc-shared": "^0.0.11",
28
+ "@bcrumbs.net/bc-ui": "^0.0.16",
29
+ "@bcrumbs.net/bc-api": "^0.0.49",
30
30
  "@azure/storage-blob": "^12.25.0"
31
31
  },
32
32
  "module": "./index.esm.js",
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Read environment variables from file.
3
+ * https://github.com/motdotla/dotenv
4
+ */
5
+ /**
6
+ * See https://playwright.dev/docs/test-configuration.
7
+ */
8
+ declare const _default: import("@playwright/test").PlaywrightTestConfig<{}, {}>;
9
+ export default _default;
@@ -1,3 +1,3 @@
1
- /** Single-line composer for the Crumby floating chat (distinct from the playground Composer). */
1
+ /** Auto-growing composer for the Crumby floating chat (distinct from the playground Composer). */
2
2
  declare const CrumbyComposer: () => import("@emotion/react/jsx-runtime").JSX.Element;
3
3
  export default CrumbyComposer;
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { type VariantProps } from "class-variance-authority";
3
3
  declare const buttonVariants: (props?: ({
4
- variant?: "default" | "outline" | "ghost" | null | undefined;
4
+ variant?: "outline" | "default" | "ghost" | null | undefined;
5
5
  size?: "default" | "icon" | null | undefined;
6
6
  } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
7
7
  declare function Button({ className, variant, size, asChild, ...props }: React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
@@ -1,2 +1,6 @@
1
- declare const ThreadMessages: () => import("@emotion/react/jsx-runtime").JSX.Element;
1
+ type ThreadMessagesProps = {
2
+ /** Overrides the container padding (defaults to 24px) when the parent already provides some (e.g. Crumby ChatView surface). */
3
+ padding?: string;
4
+ };
5
+ declare const ThreadMessages: ({ padding }: ThreadMessagesProps) => import("@emotion/react/jsx-runtime").JSX.Element;
2
6
  export default ThreadMessages;
@@ -5,11 +5,11 @@ export type TooltipIconButtonProps = ComponentPropsWithoutRef<typeof Button> & {
5
5
  side?: "top" | "bottom" | "left" | "right";
6
6
  };
7
7
  export declare const TooltipIconButton: import("react").ForwardRefExoticComponent<Omit<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement> & import("class-variance-authority").VariantProps<(props?: ({
8
- variant?: "default" | "outline" | "ghost" | null | undefined;
8
+ variant?: "outline" | "default" | "ghost" | null | undefined;
9
9
  size?: "default" | "icon" | null | undefined;
10
10
  } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string> & {
11
11
  asChild?: boolean | undefined;
12
12
  }, "ref"> & {
13
13
  tooltip: string;
14
- side?: "left" | "right" | "bottom" | "top" | undefined;
14
+ side?: "bottom" | "left" | "right" | "top" | undefined;
15
15
  } & import("react").RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Clerk forgot-password flow: sends a reset code email, then routes to the Clerk
3
+ * reset page where the user enters the code + new password.
4
+ */
5
+ export declare function ClerkForgetPanel(): import("@emotion/react/jsx-runtime").JSX.Element;
6
+ export default ClerkForgetPanel;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Completes Clerk's reset_password_email_code flow after ClerkForgetPanel
3
+ * requested the email code.
4
+ */
5
+ export declare function ClerkResetPasswordPanel(): import("@emotion/react/jsx-runtime").JSX.Element;
6
+ export default ClerkResetPasswordPanel;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Keeps localStorage.token in sync with the Clerk session JWT so Apollo handleAuth
3
+ * and BCRoutesGuard continue to work without per-client changes.
4
+ *
5
+ * Prefer the AspNetUsers id returned by /auth/authorize so the rest of the portal
6
+ * keeps seeing the same user id shape as legacy login.
7
+ *
8
+ * Forwards the PostHog distinct id so auth can alias + emit authoritative
9
+ * "Signup Success" when JIT-provisioning a new AspNetUsers row.
10
+ */
11
+ export declare function ClerkSessionBridge(): null;
12
+ export default ClerkSessionBridge;
@@ -0,0 +1,2 @@
1
+ export declare function ClerkSignInPanel(): import("@emotion/react/jsx-runtime").JSX.Element;
2
+ export default ClerkSignInPanel;
@@ -0,0 +1,2 @@
1
+ export declare function ClerkSignUpPanel(): import("@emotion/react/jsx-runtime").JSX.Element;
2
+ export default ClerkSignUpPanel;
@@ -1,13 +1,11 @@
1
- import { DropdownListItemType, DropdownListItemValue } from '@bcrumbs.net/bc-ui';
1
+ import { ActionItem } from '@bcrumbs.net/bc-ui';
2
2
  import { PropsWithChildren } from 'react';
3
3
  export type AccountSettingsProps = {
4
4
  url?: string;
5
5
  text?: string;
6
- color?: string;
7
- itemClicked: (e: DropdownListItemValue) => void;
8
- itemsList: DropdownListItemType[];
6
+ actions: ActionItem[];
9
7
  dataTestid?: string;
10
8
  userInfo?: any;
11
9
  isMobile?: boolean;
12
10
  };
13
- export declare function AccountSettingsDropdown({ url, itemsList, itemClicked, text, color, dataTestid, userInfo, isMobile, }: PropsWithChildren<AccountSettingsProps>): import("@emotion/react/jsx-runtime").JSX.Element;
11
+ export declare function AccountSettingsDropdown({ url, actions, text, dataTestid, userInfo, isMobile, }: PropsWithChildren<AccountSettingsProps>): import("@emotion/react/jsx-runtime").JSX.Element;
@@ -7,16 +7,25 @@ export type PasswordFieldConfig = {
7
7
  onChange: (value: string) => void;
8
8
  onToggleVisibility: () => void;
9
9
  };
10
+ export type TextFieldConfig = {
11
+ label: string;
12
+ placeholder: string;
13
+ value: string;
14
+ error?: string;
15
+ onChange: (value: string) => void;
16
+ };
10
17
  type PasswordFormViewProps = {
11
18
  title: string;
12
19
  subtitle: string;
13
20
  submitLabel: string;
14
21
  passwordField: PasswordFieldConfig;
15
22
  confirmPasswordField: PasswordFieldConfig;
23
+ /** Optional verification code field used by the Clerk reset flow. */
24
+ codeField?: TextFieldConfig;
16
25
  submitDisabled?: boolean;
17
26
  loading?: boolean;
18
27
  onBack?: () => void;
19
28
  onSubmit: () => void;
20
29
  };
21
- export declare function PasswordFormView({ title, subtitle, submitLabel, passwordField, confirmPasswordField, submitDisabled, loading, onBack, onSubmit, }: PasswordFormViewProps): import("@emotion/react/jsx-runtime").JSX.Element;
30
+ export declare function PasswordFormView({ title, subtitle, submitLabel, passwordField, confirmPasswordField, codeField, submitDisabled, loading, onBack, onSubmit, }: PasswordFormViewProps): import("@emotion/react/jsx-runtime").JSX.Element;
22
31
  export {};
@@ -0,0 +1,12 @@
1
+ import type { AuthProvider } from '../../../environments/types';
2
+ /**
3
+ * Selects the frontend auth UI provider. Runtime window._env_ overrides build-time
4
+ * environment so deployments can flip without a rebuild.
5
+ */
6
+ export declare function getAuthProvider(): AuthProvider;
7
+ export declare function getClerkPublishableKey(): string | undefined;
8
+ /**
9
+ * Clerk UI is only mounted when selected and a publishable key is present, matching
10
+ * the auth service's isClerkEnabled() gate.
11
+ */
12
+ export declare function isClerkAuthEnabled(): boolean;
@@ -0,0 +1,430 @@
1
+ /**
2
+ * Clerk UI theme aligned with legacy auth pages (Poppins + legacy type scale).
3
+ */
4
+ export declare const clerkAppearance: {
5
+ variables: {
6
+ fontFamily: string;
7
+ fontFamilyButtons: string;
8
+ fontSize: string;
9
+ colorPrimary: string;
10
+ colorTextOnPrimaryBackground: string;
11
+ borderRadius: string;
12
+ };
13
+ elements: {
14
+ rootBox: {
15
+ width: string;
16
+ };
17
+ cardBox: {
18
+ boxShadow: string;
19
+ width: string;
20
+ paddingTop: string;
21
+ paddingBottom: string;
22
+ };
23
+ card: {
24
+ boxShadow: string;
25
+ width: string;
26
+ fontFamily: string;
27
+ paddingTop: string;
28
+ paddingBottom: string;
29
+ };
30
+ header: {
31
+ marginTop: string;
32
+ paddingTop: string;
33
+ };
34
+ headerTitle: {
35
+ fontFamily: string;
36
+ fontSize: string;
37
+ fontWeight: string;
38
+ lineHeight: string;
39
+ color: string;
40
+ };
41
+ headerSubtitle: {
42
+ fontFamily: string;
43
+ fontSize: string;
44
+ fontWeight: string;
45
+ lineHeight: string;
46
+ color: string;
47
+ };
48
+ formFieldLabel: {
49
+ fontFamily: string;
50
+ fontSize: string;
51
+ fontWeight: string;
52
+ color: string;
53
+ };
54
+ formFieldInput: {
55
+ fontFamily: string;
56
+ fontSize: string;
57
+ fontWeight: string;
58
+ };
59
+ formButtonPrimary: {
60
+ fontFamily: string;
61
+ fontSize: string;
62
+ fontWeight: string;
63
+ lineHeight: string;
64
+ letterSpacing: string;
65
+ textTransform: string;
66
+ height: string;
67
+ borderRadius: string;
68
+ backgroundColor: string;
69
+ color: string;
70
+ boxShadow: string;
71
+ width: string;
72
+ '&:hover': {
73
+ backgroundColor: string;
74
+ opacity: number;
75
+ };
76
+ '&:focus': {
77
+ backgroundColor: string;
78
+ boxShadow: string;
79
+ };
80
+ '&:active': {
81
+ backgroundColor: string;
82
+ };
83
+ };
84
+ socialButtons: {
85
+ gap: string;
86
+ };
87
+ socialButtonsBlockButton: {
88
+ fontFamily: string;
89
+ fontSize: string;
90
+ fontWeight: string;
91
+ lineHeight: string;
92
+ letterSpacing: string;
93
+ textTransform: string;
94
+ height: string;
95
+ minHeight: string;
96
+ padding: string;
97
+ borderRadius: string;
98
+ border: string;
99
+ backgroundColor: string;
100
+ color: string;
101
+ boxShadow: string;
102
+ '&:hover': {
103
+ backgroundColor: string;
104
+ };
105
+ };
106
+ socialButtonsBlockButtonText: {
107
+ fontFamily: string;
108
+ fontSize: string;
109
+ fontWeight: string;
110
+ };
111
+ socialButtonsProviderIcon: {
112
+ width: string;
113
+ height: string;
114
+ };
115
+ footerActionText: {
116
+ fontFamily: string;
117
+ fontSize: string;
118
+ };
119
+ footerActionLink: {
120
+ fontFamily: string;
121
+ fontSize: string;
122
+ };
123
+ identityPreviewText: {
124
+ fontFamily: string;
125
+ fontSize: string;
126
+ };
127
+ formFieldSuccessText: {
128
+ fontFamily: string;
129
+ fontSize: string;
130
+ };
131
+ formFieldErrorText: {
132
+ fontFamily: string;
133
+ fontSize: string;
134
+ };
135
+ dividerText: {
136
+ fontFamily: string;
137
+ fontSize: string;
138
+ };
139
+ };
140
+ };
141
+ /**
142
+ * Hides Clerk's own footer (incl. "Secured by" / built-in account switch row).
143
+ * Custom login/register/forgot links are rendered below the panel instead.
144
+ */
145
+ export declare const clerkSignInAppearance: {
146
+ elements: {
147
+ footer: {
148
+ display: string;
149
+ };
150
+ footerPages: {
151
+ display: string;
152
+ };
153
+ rootBox: {
154
+ width: string;
155
+ };
156
+ cardBox: {
157
+ boxShadow: string;
158
+ width: string;
159
+ paddingTop: string;
160
+ paddingBottom: string;
161
+ };
162
+ card: {
163
+ boxShadow: string;
164
+ width: string;
165
+ fontFamily: string;
166
+ paddingTop: string;
167
+ paddingBottom: string;
168
+ };
169
+ header: {
170
+ marginTop: string;
171
+ paddingTop: string;
172
+ };
173
+ headerTitle: {
174
+ fontFamily: string;
175
+ fontSize: string;
176
+ fontWeight: string;
177
+ lineHeight: string;
178
+ color: string;
179
+ };
180
+ headerSubtitle: {
181
+ fontFamily: string;
182
+ fontSize: string;
183
+ fontWeight: string;
184
+ lineHeight: string;
185
+ color: string;
186
+ };
187
+ formFieldLabel: {
188
+ fontFamily: string;
189
+ fontSize: string;
190
+ fontWeight: string;
191
+ color: string;
192
+ };
193
+ formFieldInput: {
194
+ fontFamily: string;
195
+ fontSize: string;
196
+ fontWeight: string;
197
+ };
198
+ formButtonPrimary: {
199
+ fontFamily: string;
200
+ fontSize: string;
201
+ fontWeight: string;
202
+ lineHeight: string;
203
+ letterSpacing: string;
204
+ textTransform: string;
205
+ height: string;
206
+ borderRadius: string;
207
+ backgroundColor: string;
208
+ color: string;
209
+ boxShadow: string;
210
+ width: string;
211
+ '&:hover': {
212
+ backgroundColor: string;
213
+ opacity: number;
214
+ };
215
+ '&:focus': {
216
+ backgroundColor: string;
217
+ boxShadow: string;
218
+ };
219
+ '&:active': {
220
+ backgroundColor: string;
221
+ };
222
+ };
223
+ socialButtons: {
224
+ gap: string;
225
+ };
226
+ socialButtonsBlockButton: {
227
+ fontFamily: string;
228
+ fontSize: string;
229
+ fontWeight: string;
230
+ lineHeight: string;
231
+ letterSpacing: string;
232
+ textTransform: string;
233
+ height: string;
234
+ minHeight: string;
235
+ padding: string;
236
+ borderRadius: string;
237
+ border: string;
238
+ backgroundColor: string;
239
+ color: string;
240
+ boxShadow: string;
241
+ '&:hover': {
242
+ backgroundColor: string;
243
+ };
244
+ };
245
+ socialButtonsBlockButtonText: {
246
+ fontFamily: string;
247
+ fontSize: string;
248
+ fontWeight: string;
249
+ };
250
+ socialButtonsProviderIcon: {
251
+ width: string;
252
+ height: string;
253
+ };
254
+ footerActionText: {
255
+ fontFamily: string;
256
+ fontSize: string;
257
+ };
258
+ footerActionLink: {
259
+ fontFamily: string;
260
+ fontSize: string;
261
+ };
262
+ identityPreviewText: {
263
+ fontFamily: string;
264
+ fontSize: string;
265
+ };
266
+ formFieldSuccessText: {
267
+ fontFamily: string;
268
+ fontSize: string;
269
+ };
270
+ formFieldErrorText: {
271
+ fontFamily: string;
272
+ fontSize: string;
273
+ };
274
+ dividerText: {
275
+ fontFamily: string;
276
+ fontSize: string;
277
+ };
278
+ };
279
+ variables: {
280
+ fontFamily: string;
281
+ fontFamilyButtons: string;
282
+ fontSize: string;
283
+ colorPrimary: string;
284
+ colorTextOnPrimaryBackground: string;
285
+ borderRadius: string;
286
+ };
287
+ };
288
+ export declare const clerkSignUpAppearance: {
289
+ elements: {
290
+ footer: {
291
+ display: string;
292
+ };
293
+ footerPages: {
294
+ display: string;
295
+ };
296
+ rootBox: {
297
+ width: string;
298
+ };
299
+ cardBox: {
300
+ boxShadow: string;
301
+ width: string;
302
+ paddingTop: string;
303
+ paddingBottom: string;
304
+ };
305
+ card: {
306
+ boxShadow: string;
307
+ width: string;
308
+ fontFamily: string;
309
+ paddingTop: string;
310
+ paddingBottom: string;
311
+ };
312
+ header: {
313
+ marginTop: string;
314
+ paddingTop: string;
315
+ };
316
+ headerTitle: {
317
+ fontFamily: string;
318
+ fontSize: string;
319
+ fontWeight: string;
320
+ lineHeight: string;
321
+ color: string;
322
+ };
323
+ headerSubtitle: {
324
+ fontFamily: string;
325
+ fontSize: string;
326
+ fontWeight: string;
327
+ lineHeight: string;
328
+ color: string;
329
+ };
330
+ formFieldLabel: {
331
+ fontFamily: string;
332
+ fontSize: string;
333
+ fontWeight: string;
334
+ color: string;
335
+ };
336
+ formFieldInput: {
337
+ fontFamily: string;
338
+ fontSize: string;
339
+ fontWeight: string;
340
+ };
341
+ formButtonPrimary: {
342
+ fontFamily: string;
343
+ fontSize: string;
344
+ fontWeight: string;
345
+ lineHeight: string;
346
+ letterSpacing: string;
347
+ textTransform: string;
348
+ height: string;
349
+ borderRadius: string;
350
+ backgroundColor: string;
351
+ color: string;
352
+ boxShadow: string;
353
+ width: string;
354
+ '&:hover': {
355
+ backgroundColor: string;
356
+ opacity: number;
357
+ };
358
+ '&:focus': {
359
+ backgroundColor: string;
360
+ boxShadow: string;
361
+ };
362
+ '&:active': {
363
+ backgroundColor: string;
364
+ };
365
+ };
366
+ socialButtons: {
367
+ gap: string;
368
+ };
369
+ socialButtonsBlockButton: {
370
+ fontFamily: string;
371
+ fontSize: string;
372
+ fontWeight: string;
373
+ lineHeight: string;
374
+ letterSpacing: string;
375
+ textTransform: string;
376
+ height: string;
377
+ minHeight: string;
378
+ padding: string;
379
+ borderRadius: string;
380
+ border: string;
381
+ backgroundColor: string;
382
+ color: string;
383
+ boxShadow: string;
384
+ '&:hover': {
385
+ backgroundColor: string;
386
+ };
387
+ };
388
+ socialButtonsBlockButtonText: {
389
+ fontFamily: string;
390
+ fontSize: string;
391
+ fontWeight: string;
392
+ };
393
+ socialButtonsProviderIcon: {
394
+ width: string;
395
+ height: string;
396
+ };
397
+ footerActionText: {
398
+ fontFamily: string;
399
+ fontSize: string;
400
+ };
401
+ footerActionLink: {
402
+ fontFamily: string;
403
+ fontSize: string;
404
+ };
405
+ identityPreviewText: {
406
+ fontFamily: string;
407
+ fontSize: string;
408
+ };
409
+ formFieldSuccessText: {
410
+ fontFamily: string;
411
+ fontSize: string;
412
+ };
413
+ formFieldErrorText: {
414
+ fontFamily: string;
415
+ fontSize: string;
416
+ };
417
+ dividerText: {
418
+ fontFamily: string;
419
+ fontSize: string;
420
+ };
421
+ };
422
+ variables: {
423
+ fontFamily: string;
424
+ fontFamilyButtons: string;
425
+ fontSize: string;
426
+ colorPrimary: string;
427
+ colorTextOnPrimaryBackground: string;
428
+ borderRadius: string;
429
+ };
430
+ };
@@ -1,4 +1,5 @@
1
1
  import { Role } from '@bcrumbs.net/bc-shared';
2
+ /** Reads the workspace role persisted by withMe (no extra me GraphQL query). */
2
3
  export declare const useRoles: () => {
3
4
  role: Role | undefined;
4
5
  has: (checkRole: Role) => boolean;