@flamingo-stack/openframe-frontend-core 0.0.398-snapshot.20260710082611 → 0.0.398
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.
- package/dist/{chunk-RIC4TCPD.cjs → chunk-2DGA5LHT.cjs} +12 -12
- package/dist/{chunk-RIC4TCPD.cjs.map → chunk-2DGA5LHT.cjs.map} +1 -1
- package/dist/{chunk-FXWURWDU.js → chunk-2TBXIW7L.js} +2 -2
- package/dist/{chunk-O5NA3ULU.cjs → chunk-4BVRLCCA.cjs} +82 -82
- package/dist/{chunk-O5NA3ULU.cjs.map → chunk-4BVRLCCA.cjs.map} +1 -1
- package/dist/{chunk-JBLBFJ4N.cjs → chunk-7Q2DZEUA.cjs} +26 -26
- package/dist/{chunk-JBLBFJ4N.cjs.map → chunk-7Q2DZEUA.cjs.map} +1 -1
- package/dist/{chunk-2XVOYDRF.js → chunk-B2K5COVE.js} +135 -125
- package/dist/{chunk-2XVOYDRF.js.map → chunk-B2K5COVE.js.map} +1 -1
- package/dist/{chunk-4PEC5KU6.cjs → chunk-C4DHYDXB.cjs} +9 -9
- package/dist/{chunk-4PEC5KU6.cjs.map → chunk-C4DHYDXB.cjs.map} +1 -1
- package/dist/{chunk-VOHOA3WV.cjs → chunk-FZIMFLJG.cjs} +19 -19
- package/dist/{chunk-VOHOA3WV.cjs.map → chunk-FZIMFLJG.cjs.map} +1 -1
- package/dist/{chunk-Z5ERSGP2.js → chunk-G42EXM23.js} +2 -2
- package/dist/{chunk-4K5XJ5EJ.js → chunk-GKRJOS6S.js} +2 -2
- package/dist/{chunk-QNYNXSYQ.cjs → chunk-HMTOQGYU.cjs} +12 -12
- package/dist/{chunk-QNYNXSYQ.cjs.map → chunk-HMTOQGYU.cjs.map} +1 -1
- package/dist/{chunk-NCW22SII.cjs → chunk-LBDKAMOH.cjs} +59 -59
- package/dist/{chunk-NCW22SII.cjs.map → chunk-LBDKAMOH.cjs.map} +1 -1
- package/dist/{chunk-G3A7QHCX.js → chunk-MGJZQ3EE.js} +3 -3
- package/dist/{chunk-XBCAY6NE.js → chunk-MNQVBME4.js} +3 -3
- package/dist/{chunk-4H2ICJYB.js → chunk-MQXUIYYN.js} +2 -2
- package/dist/{chunk-2L6ALD2Q.js → chunk-N4R7TRF3.js} +3 -3
- package/dist/{chunk-GA5AN24T.cjs → chunk-NYIZVI4I.cjs} +3 -10
- package/dist/chunk-NYIZVI4I.cjs.map +1 -0
- package/dist/{chunk-G5NDKTX6.cjs → chunk-PE37UDPF.cjs} +31 -31
- package/dist/{chunk-G5NDKTX6.cjs.map → chunk-PE37UDPF.cjs.map} +1 -1
- package/dist/{chunk-A6KGHQRF.js → chunk-URODM26E.js} +4 -4
- package/dist/{chunk-BSJO5VFV.js → chunk-VDDNJ6XC.js} +5 -5
- package/dist/{chunk-7OKNKZBW.cjs → chunk-VVO7AZKZ.cjs} +468 -458
- package/dist/chunk-VVO7AZKZ.cjs.map +1 -0
- package/dist/{chunk-ZDT2MBKE.cjs → chunk-WJSUUOPU.cjs} +37 -37
- package/dist/{chunk-ZDT2MBKE.cjs.map → chunk-WJSUUOPU.cjs.map} +1 -1
- package/dist/{chunk-CRRH7RJX.js → chunk-WXOIEYXW.js} +4 -4
- package/dist/{chunk-HGKWTKW7.js → chunk-X2FPWS3P.js} +3 -10
- package/dist/chunk-X2FPWS3P.js.map +1 -0
- package/dist/{chunk-YWCCKB4J.cjs → chunk-XYT5PIKZ.cjs} +5 -5
- package/dist/{chunk-YWCCKB4J.cjs.map → chunk-XYT5PIKZ.cjs.map} +1 -1
- package/dist/{chunk-VVKWNVKE.js → chunk-Y3FREU4B.js} +4 -4
- package/dist/{chunk-D5IHYUBY.cjs → chunk-YEWGFWNM.cjs} +30 -30
- package/dist/{chunk-D5IHYUBY.cjs.map → chunk-YEWGFWNM.cjs.map} +1 -1
- package/dist/components/case-studies/index.cjs +9 -9
- package/dist/components/case-studies/index.js +3 -3
- package/dist/components/chat/index.cjs +3 -3
- package/dist/components/chat/index.js +2 -2
- package/dist/components/contact/index.cjs +4 -4
- package/dist/components/contact/index.js +3 -3
- package/dist/components/docs/index.cjs +6 -6
- package/dist/components/docs/index.js +5 -5
- package/dist/components/embeds/index.cjs +4 -4
- package/dist/components/embeds/index.js +3 -3
- package/dist/components/faq/index.cjs +4 -4
- package/dist/components/faq/index.js +3 -3
- package/dist/components/features/auth/complete-account-form.d.ts.map +1 -1
- package/dist/components/features/auth/create-organization-form.d.ts.map +1 -1
- package/dist/components/features/auth/openframe-sso-signup-form.d.ts.map +1 -1
- package/dist/components/features/index.cjs +3 -3
- package/dist/components/features/index.js +2 -2
- package/dist/components/help-center-pages/index.cjs +21 -21
- package/dist/components/help-center-pages/index.js +12 -12
- package/dist/components/index.cjs +144 -144
- package/dist/components/index.js +10 -10
- package/dist/components/navigation/index.cjs +3 -3
- package/dist/components/navigation/index.js +2 -2
- package/dist/components/onboarding-guides/index.cjs +6 -6
- package/dist/components/onboarding-guides/index.js +5 -5
- package/dist/components/related-content/index.cjs +4 -4
- package/dist/components/related-content/index.js +3 -3
- package/dist/components/tickets/index.cjs +6 -6
- package/dist/components/tickets/index.js +5 -5
- package/dist/components/ui/field-wrapper.d.ts +1 -1
- package/dist/components/ui/field-wrapper.d.ts.map +1 -1
- package/dist/components/ui/file-manager/index.cjs +50 -50
- package/dist/components/ui/file-manager/index.js +1 -1
- package/dist/components/ui/index.cjs +3 -3
- package/dist/components/ui/index.js +2 -2
- package/dist/index.cjs +3 -3
- package/dist/index.js +2 -2
- package/package.json +1 -1
- package/src/components/features/auth/complete-account-form.tsx +51 -37
- package/src/components/features/auth/create-organization-form.tsx +29 -22
- package/src/components/features/auth/openframe-sso-signup-form.tsx +51 -37
- package/src/components/ui/field-wrapper.tsx +3 -6
- package/src/stories/Input.stories.tsx +0 -44
- package/src/stories/auth/CreateOrganization.stories.tsx +0 -19
- package/dist/chunk-7OKNKZBW.cjs.map +0 -1
- package/dist/chunk-GA5AN24T.cjs.map +0 -1
- package/dist/chunk-HGKWTKW7.js.map +0 -1
- /package/dist/{chunk-FXWURWDU.js.map → chunk-2TBXIW7L.js.map} +0 -0
- /package/dist/{chunk-Z5ERSGP2.js.map → chunk-G42EXM23.js.map} +0 -0
- /package/dist/{chunk-4K5XJ5EJ.js.map → chunk-GKRJOS6S.js.map} +0 -0
- /package/dist/{chunk-G3A7QHCX.js.map → chunk-MGJZQ3EE.js.map} +0 -0
- /package/dist/{chunk-XBCAY6NE.js.map → chunk-MNQVBME4.js.map} +0 -0
- /package/dist/{chunk-4H2ICJYB.js.map → chunk-MQXUIYYN.js.map} +0 -0
- /package/dist/{chunk-2L6ALD2Q.js.map → chunk-N4R7TRF3.js.map} +0 -0
- /package/dist/{chunk-A6KGHQRF.js.map → chunk-URODM26E.js.map} +0 -0
- /package/dist/{chunk-BSJO5VFV.js.map → chunk-VDDNJ6XC.js.map} +0 -0
- /package/dist/{chunk-CRRH7RJX.js.map → chunk-WXOIEYXW.js.map} +0 -0
- /package/dist/{chunk-VVKWNVKE.js.map → chunk-Y3FREU4B.js.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -916,7 +916,7 @@ import {
|
|
|
916
916
|
validateEmailDomain,
|
|
917
917
|
validateEmailDomainList,
|
|
918
918
|
validatePhoneNumber
|
|
919
|
-
} from "./chunk-
|
|
919
|
+
} from "./chunk-B2K5COVE.js";
|
|
920
920
|
import {
|
|
921
921
|
CommandApprovalToast,
|
|
922
922
|
DEFAULT_MIN_FILL_MS,
|
|
@@ -1065,7 +1065,7 @@ import {
|
|
|
1065
1065
|
SkeletonText,
|
|
1066
1066
|
SplitButton,
|
|
1067
1067
|
buttonVariants
|
|
1068
|
-
} from "./chunk-
|
|
1068
|
+
} from "./chunk-X2FPWS3P.js";
|
|
1069
1069
|
import "./chunk-6U3IUD57.js";
|
|
1070
1070
|
import "./chunk-OHPI2HRK.js";
|
|
1071
1071
|
import {
|
package/package.json
CHANGED
|
@@ -111,43 +111,57 @@ export function CompleteAccountForm({
|
|
|
111
111
|
</>
|
|
112
112
|
)}
|
|
113
113
|
|
|
114
|
-
{/*
|
|
115
|
-
<
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
114
|
+
{/* First + Last name */}
|
|
115
|
+
<div className="flex gap-[var(--spacing-system-l)]">
|
|
116
|
+
<div className="min-w-0 flex-1">
|
|
117
|
+
<Input
|
|
118
|
+
label="First Name"
|
|
119
|
+
placeholder="Enter First Name"
|
|
120
|
+
value={firstName}
|
|
121
|
+
error={errors?.firstName}
|
|
122
|
+
disabled={fieldsDisabled}
|
|
123
|
+
onChange={(event) => onFirstNameChange(event.target.value)}
|
|
124
|
+
onKeyDown={handleKeyDown}
|
|
125
|
+
/>
|
|
126
|
+
</div>
|
|
127
|
+
<div className="min-w-0 flex-1">
|
|
128
|
+
<Input
|
|
129
|
+
label="Last Name"
|
|
130
|
+
placeholder="Enter Last Name"
|
|
131
|
+
value={lastName}
|
|
132
|
+
error={errors?.lastName}
|
|
133
|
+
disabled={fieldsDisabled}
|
|
134
|
+
onChange={(event) => onLastNameChange(event.target.value)}
|
|
135
|
+
onKeyDown={handleKeyDown}
|
|
136
|
+
/>
|
|
137
|
+
</div>
|
|
138
|
+
</div>
|
|
139
|
+
|
|
140
|
+
{/* Password + Confirm */}
|
|
141
|
+
<div className="flex gap-[var(--spacing-system-l)]">
|
|
142
|
+
<div className="min-w-0 flex-1">
|
|
143
|
+
<PasswordInput
|
|
144
|
+
label="Password"
|
|
145
|
+
placeholder="Enter Password"
|
|
146
|
+
value={password}
|
|
147
|
+
error={errors?.password}
|
|
148
|
+
disabled={fieldsDisabled}
|
|
149
|
+
onChange={(event) => onPasswordChange(event.target.value)}
|
|
150
|
+
onKeyDown={handleKeyDown}
|
|
151
|
+
/>
|
|
152
|
+
</div>
|
|
153
|
+
<div className="min-w-0 flex-1">
|
|
154
|
+
<PasswordInput
|
|
155
|
+
label="Confirm Password"
|
|
156
|
+
placeholder="Confirm Password"
|
|
157
|
+
value={confirmPassword}
|
|
158
|
+
error={errors?.confirmPassword}
|
|
159
|
+
disabled={fieldsDisabled}
|
|
160
|
+
onChange={(event) => onConfirmPasswordChange(event.target.value)}
|
|
161
|
+
onKeyDown={handleKeyDown}
|
|
162
|
+
/>
|
|
163
|
+
</div>
|
|
164
|
+
</div>
|
|
151
165
|
|
|
152
166
|
{/* Actions — optional back + submit */}
|
|
153
167
|
<div className="flex items-center gap-[var(--spacing-system-l)]">
|
|
@@ -110,27 +110,33 @@ export function CreateOrganizationForm({
|
|
|
110
110
|
<p className="text-h4 text-ods-text-secondary">Start your journey with OpenFrame.</p>
|
|
111
111
|
</div>
|
|
112
112
|
|
|
113
|
-
{/* Email + Organization Name —
|
|
114
|
-
<
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
113
|
+
{/* Email + Organization Name — side by side on every breakpoint */}
|
|
114
|
+
<div className="flex gap-[var(--spacing-system-l)]">
|
|
115
|
+
<div className="min-w-0 flex-1">
|
|
116
|
+
<Input
|
|
117
|
+
type="email"
|
|
118
|
+
label="Email"
|
|
119
|
+
placeholder="username@mail.com"
|
|
120
|
+
value={email}
|
|
121
|
+
error={errors?.email ?? emailStatus?.message}
|
|
122
|
+
errorVariant={errors?.email ? 'error' : emailStatus?.variant}
|
|
123
|
+
disabled={fieldsDisabled}
|
|
124
|
+
onChange={(event) => onEmailChange(event.target.value)}
|
|
125
|
+
onKeyDown={handleKeyDown}
|
|
126
|
+
/>
|
|
127
|
+
</div>
|
|
128
|
+
<div className="min-w-0 flex-1">
|
|
129
|
+
<Input
|
|
130
|
+
label="Organization Name"
|
|
131
|
+
placeholder="Your Company Name"
|
|
132
|
+
value={organizationName}
|
|
133
|
+
error={errors?.organizationName}
|
|
134
|
+
disabled={fieldsDisabled}
|
|
135
|
+
onChange={(event) => onOrganizationNameChange(event.target.value)}
|
|
136
|
+
onKeyDown={handleKeyDown}
|
|
137
|
+
/>
|
|
138
|
+
</div>
|
|
139
|
+
</div>
|
|
134
140
|
|
|
135
141
|
{/* Domain */}
|
|
136
142
|
<div className="flex flex-col">
|
|
@@ -145,7 +151,8 @@ export function CreateOrganizationForm({
|
|
|
145
151
|
onChange={(event) => onDomainChange(event.target.value)}
|
|
146
152
|
onKeyDown={handleKeyDown}
|
|
147
153
|
/>
|
|
148
|
-
{
|
|
154
|
+
{/* Top padding clears the absolutely-positioned field message */}
|
|
155
|
+
{domainSlot && <div className="pt-[var(--spacing-system-l)]">{domainSlot}</div>}
|
|
149
156
|
</div>
|
|
150
157
|
|
|
151
158
|
{/* Terms & Privacy */}
|
|
@@ -102,43 +102,57 @@ export function OpenFrameSsoSignUpForm({
|
|
|
102
102
|
onKeyDown={handleKeyDown}
|
|
103
103
|
/>
|
|
104
104
|
|
|
105
|
-
{/*
|
|
106
|
-
<
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
105
|
+
{/* First + Last name */}
|
|
106
|
+
<div className="flex gap-[var(--spacing-system-l)]">
|
|
107
|
+
<div className="min-w-0 flex-1">
|
|
108
|
+
<Input
|
|
109
|
+
label="First Name"
|
|
110
|
+
placeholder="Enter First Name"
|
|
111
|
+
value={firstName}
|
|
112
|
+
error={errors?.firstName}
|
|
113
|
+
disabled={fieldsDisabled}
|
|
114
|
+
onChange={(event) => onFirstNameChange(event.target.value)}
|
|
115
|
+
onKeyDown={handleKeyDown}
|
|
116
|
+
/>
|
|
117
|
+
</div>
|
|
118
|
+
<div className="min-w-0 flex-1">
|
|
119
|
+
<Input
|
|
120
|
+
label="Last Name"
|
|
121
|
+
placeholder="Enter Last Name"
|
|
122
|
+
value={lastName}
|
|
123
|
+
error={errors?.lastName}
|
|
124
|
+
disabled={fieldsDisabled}
|
|
125
|
+
onChange={(event) => onLastNameChange(event.target.value)}
|
|
126
|
+
onKeyDown={handleKeyDown}
|
|
127
|
+
/>
|
|
128
|
+
</div>
|
|
129
|
+
</div>
|
|
130
|
+
|
|
131
|
+
{/* Password + Confirm */}
|
|
132
|
+
<div className="flex gap-[var(--spacing-system-l)]">
|
|
133
|
+
<div className="min-w-0 flex-1">
|
|
134
|
+
<PasswordInput
|
|
135
|
+
label="Password"
|
|
136
|
+
placeholder="Enter Password"
|
|
137
|
+
value={password}
|
|
138
|
+
error={errors?.password}
|
|
139
|
+
disabled={fieldsDisabled}
|
|
140
|
+
onChange={(event) => onPasswordChange(event.target.value)}
|
|
141
|
+
onKeyDown={handleKeyDown}
|
|
142
|
+
/>
|
|
143
|
+
</div>
|
|
144
|
+
<div className="min-w-0 flex-1">
|
|
145
|
+
<PasswordInput
|
|
146
|
+
label="Confirm Password"
|
|
147
|
+
placeholder="Confirm Password"
|
|
148
|
+
value={confirmPassword}
|
|
149
|
+
error={errors?.confirmPassword}
|
|
150
|
+
disabled={fieldsDisabled}
|
|
151
|
+
onChange={(event) => onConfirmPasswordChange(event.target.value)}
|
|
152
|
+
onKeyDown={handleKeyDown}
|
|
153
|
+
/>
|
|
154
|
+
</div>
|
|
155
|
+
</div>
|
|
142
156
|
|
|
143
157
|
{/* Forgot password + Continue */}
|
|
144
158
|
<div className="flex items-center gap-[var(--spacing-system-l)]">
|
|
@@ -6,7 +6,7 @@ import { cn } from "../../utils/cn"
|
|
|
6
6
|
export interface FieldWrapperProps {
|
|
7
7
|
/** Label text displayed above the field */
|
|
8
8
|
label?: string
|
|
9
|
-
/** Status message displayed below the field.
|
|
9
|
+
/** Status message displayed below the field. Space is always reserved to prevent layout shifts. */
|
|
10
10
|
error?: string
|
|
11
11
|
/** Color variant for the message: "error" (red), "warning" (yellow), "success" (green) or "muted" (grey) */
|
|
12
12
|
errorVariant?: "error" | "warning" | "success" | "muted"
|
|
@@ -27,7 +27,7 @@ const FieldWrapper = React.forwardRef<HTMLDivElement, FieldWrapperProps>(
|
|
|
27
27
|
const hasChrome = label != null || error != null
|
|
28
28
|
|
|
29
29
|
return (
|
|
30
|
-
<div ref={ref} className={cn(hasChrome ? "flex w-full flex-col" : "contents", className)}>
|
|
30
|
+
<div ref={ref} className={cn(hasChrome ? "relative flex w-full flex-col" : "contents", className)}>
|
|
31
31
|
{label && (
|
|
32
32
|
<label className="text-h4 text-ods-text-primary mb-1">
|
|
33
33
|
{label}
|
|
@@ -35,10 +35,7 @@ const FieldWrapper = React.forwardRef<HTMLDivElement, FieldWrapperProps>(
|
|
|
35
35
|
)}
|
|
36
36
|
{children}
|
|
37
37
|
{error && (
|
|
38
|
-
<p
|
|
39
|
-
className={cn("mt-1 text-h6 break-words line-clamp-2", errorVariantClasses[errorVariant])}
|
|
40
|
-
title={error}
|
|
41
|
-
>
|
|
38
|
+
<p className={cn("absolute bottom-0 left-0 right-0 translate-y-full text-h6 truncate", errorVariantClasses[errorVariant])} title={error}>
|
|
42
39
|
{error}
|
|
43
40
|
</p>
|
|
44
41
|
)}
|
|
@@ -219,47 +219,3 @@ export const AllVariants: Story = {
|
|
|
219
219
|
</div>
|
|
220
220
|
),
|
|
221
221
|
};
|
|
222
|
-
|
|
223
|
-
/**
|
|
224
|
-
* Error / status states. Long messages wrap up to two lines, then ellipsize.
|
|
225
|
-
*/
|
|
226
|
-
export const ErrorState: Story = {
|
|
227
|
-
args: {
|
|
228
|
-
placeholder: 'Enter text...',
|
|
229
|
-
},
|
|
230
|
-
render: () => (
|
|
231
|
-
<div style={{ display: 'flex', flexDirection: 'column', gap: '2.5rem', width: '480px' }}>
|
|
232
|
-
<Input label="Short error (no interaction)" placeholder="username@mail.com" error="Required field" />
|
|
233
|
-
<Input
|
|
234
|
-
label="Long error — wraps to two lines"
|
|
235
|
-
defaultValue="ada@example.com"
|
|
236
|
-
error="This email is already registered. Sign in instead or use a different email address to create the organization."
|
|
237
|
-
/>
|
|
238
|
-
{/* Half-width pair, as on the Create Organization screen */}
|
|
239
|
-
<div style={{ display: 'flex', gap: '1.5rem' }}>
|
|
240
|
-
<Input
|
|
241
|
-
label="Email"
|
|
242
|
-
defaultValue="ada@example.com"
|
|
243
|
-
error="This email is already registered. Sign in instead."
|
|
244
|
-
/>
|
|
245
|
-
<Input
|
|
246
|
-
label="Organization Name"
|
|
247
|
-
defaultValue="ϕ"
|
|
248
|
-
error="Organization Name must be 2-100 characters"
|
|
249
|
-
/>
|
|
250
|
-
</div>
|
|
251
|
-
<Input
|
|
252
|
-
label="Success status"
|
|
253
|
-
defaultValue="ada@example.com"
|
|
254
|
-
error="Email is available"
|
|
255
|
-
errorVariant="success"
|
|
256
|
-
/>
|
|
257
|
-
<Input
|
|
258
|
-
label="Muted status (long, truncating)"
|
|
259
|
-
defaultValue="ada-lovelace-computing"
|
|
260
|
-
error="Checking availability against every registered organization domain, this may take a moment…"
|
|
261
|
-
errorVariant="muted"
|
|
262
|
-
/>
|
|
263
|
-
</div>
|
|
264
|
-
),
|
|
265
|
-
};
|
|
@@ -97,25 +97,6 @@ export const Filled: Story = {
|
|
|
97
97
|
),
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
/**
|
|
101
|
-
* Error state: long messages under the fields wrap up to two lines.
|
|
102
|
-
*/
|
|
103
|
-
export const ErrorState: Story = {
|
|
104
|
-
render: () => (
|
|
105
|
-
<CreateOrganizationPage
|
|
106
|
-
email="ada@example.com"
|
|
107
|
-
organizationName="ϕ"
|
|
108
|
-
domainSuffix=".openframe.ai"
|
|
109
|
-
termsUrl="#terms"
|
|
110
|
-
privacyPolicyUrl="#privacy"
|
|
111
|
-
emailStatus={{ message: 'This email is already registered. Sign in instead.', variant: 'error' }}
|
|
112
|
-
errors={{
|
|
113
|
-
organizationName: 'Organization Name must be 2-100 characters',
|
|
114
|
-
}}
|
|
115
|
-
/>
|
|
116
|
-
),
|
|
117
|
-
}
|
|
118
|
-
|
|
119
100
|
const SSO_PROVIDERS: AuthSsoProvider[] = ['openframe', 'google', 'microsoft']
|
|
120
101
|
|
|
121
102
|
/** SSO configured: fields disabled, submit replaced by provider buttons. */
|