@flamingo-stack/openframe-frontend-core 0.0.380 → 0.0.381-snapshot.20260708122906
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-U5WZLNNP.js → chunk-23PZFAET.js} +4 -4
- package/dist/{chunk-AIWSELEM.cjs → chunk-32YONDMH.cjs} +30 -30
- package/dist/{chunk-AIWSELEM.cjs.map → chunk-32YONDMH.cjs.map} +1 -1
- package/dist/{chunk-QQJJJSYG.js → chunk-3GGIVFSI.js} +3 -3
- package/dist/{chunk-WE6PHQMR.js → chunk-4A4DA7OX.js} +2 -2
- package/dist/{chunk-ZM6IITQ6.cjs → chunk-7IQK3Y3G.cjs} +25 -25
- package/dist/{chunk-ZM6IITQ6.cjs.map → chunk-7IQK3Y3G.cjs.map} +1 -1
- package/dist/{chunk-NZ7UWZDX.cjs → chunk-AS6FET7G.cjs} +19 -19
- package/dist/{chunk-NZ7UWZDX.cjs.map → chunk-AS6FET7G.cjs.map} +1 -1
- package/dist/{chunk-T3RWEEML.js → chunk-DQJCWNRT.js} +3 -3
- package/dist/{chunk-RHBCKJVP.cjs → chunk-EE26RXMG.cjs} +12 -12
- package/dist/{chunk-RHBCKJVP.cjs.map → chunk-EE26RXMG.cjs.map} +1 -1
- package/dist/{chunk-PRA7467B.js → chunk-GZ5N76H2.js} +4 -4
- package/dist/{chunk-N4PA44BJ.js → chunk-GZIHB6TH.js} +90 -99
- package/dist/{chunk-N4PA44BJ.js.map → chunk-GZIHB6TH.js.map} +1 -1
- package/dist/{chunk-NC53B5ZJ.js → chunk-HDWY2SXF.js} +4 -4
- package/dist/{chunk-2D7HO6RK.cjs → chunk-IENK6OY5.cjs} +5 -5
- package/dist/{chunk-2D7HO6RK.cjs.map → chunk-IENK6OY5.cjs.map} +1 -1
- package/dist/{chunk-752ULO73.cjs → chunk-JQT7PD6Z.cjs} +57 -57
- package/dist/{chunk-752ULO73.cjs.map → chunk-JQT7PD6Z.cjs.map} +1 -1
- package/dist/{chunk-EQO6DKVS.js → chunk-K5P6XKIT.js} +2 -2
- package/dist/{chunk-EASN3OWV.cjs → chunk-L3DRZ2WE.cjs} +82 -82
- package/dist/{chunk-EASN3OWV.cjs.map → chunk-L3DRZ2WE.cjs.map} +1 -1
- package/dist/{chunk-QM4UDTZ3.js → chunk-LIK575RM.js} +2 -2
- package/dist/{chunk-FVKRKWAT.js → chunk-LRA7FGQC.js} +5 -5
- package/dist/{chunk-3Y4XNSHE.js → chunk-MGDDM2UI.js} +3 -3
- package/dist/{chunk-QJGRP2YE.cjs → chunk-NYIZVI4I.cjs} +7 -4
- package/dist/chunk-NYIZVI4I.cjs.map +1 -0
- package/dist/{chunk-CTEN4ADV.js → chunk-PI3XFKEW.js} +2 -2
- package/dist/{chunk-2MYFKIPD.cjs → chunk-QI3PW4F7.cjs} +12 -12
- package/dist/{chunk-2MYFKIPD.cjs.map → chunk-QI3PW4F7.cjs.map} +1 -1
- package/dist/{chunk-5YJJLD66.cjs → chunk-QQAHEWSR.cjs} +31 -31
- package/dist/{chunk-5YJJLD66.cjs.map → chunk-QQAHEWSR.cjs.map} +1 -1
- package/dist/{chunk-2RQKK2BY.cjs → chunk-SZSBHBXE.cjs} +838 -847
- package/dist/chunk-SZSBHBXE.cjs.map +1 -0
- package/dist/{chunk-AI5X5JTD.js → chunk-X2FPWS3P.js} +7 -4
- package/dist/chunk-X2FPWS3P.js.map +1 -0
- package/dist/{chunk-4U3AHQTQ.cjs → chunk-XHCRZDM6.cjs} +37 -37
- package/dist/{chunk-4U3AHQTQ.cjs.map → chunk-XHCRZDM6.cjs.map} +1 -1
- package/dist/{chunk-NP2BBKUM.cjs → chunk-Z56MCQ6X.cjs} +9 -9
- package/dist/{chunk-NP2BBKUM.cjs.map → chunk-Z56MCQ6X.cjs.map} +1 -1
- package/dist/components/badge.d.ts +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/accept-invitation-form.d.ts +3 -9
- package/dist/components/features/auth/accept-invitation-form.d.ts.map +1 -1
- package/dist/components/features/auth/create-organization-form.d.ts +6 -1
- package/dist/components/features/auth/create-organization-form.d.ts.map +1 -1
- package/dist/components/features/auth/invite-link-invalid-modal.d.ts +3 -2
- package/dist/components/features/auth/invite-link-invalid-modal.d.ts.map +1 -1
- package/dist/components/features/auth/password-reset-form.d.ts +3 -1
- package/dist/components/features/auth/password-reset-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/badge.d.ts +1 -1
- package/dist/components/ui/field-wrapper.d.ts +3 -3
- 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/components/ui/input.d.ts +4 -3
- package/dist/components/ui/input.d.ts.map +1 -1
- package/dist/components/ui/status-badge.d.ts +1 -1
- package/dist/components/ui/tag.d.ts +1 -1
- package/dist/index.cjs +3 -3
- package/dist/index.js +2 -2
- package/package.json +1 -1
- package/src/components/features/auth/accept-invitation-form.tsx +4 -26
- package/src/components/features/auth/create-organization-form.tsx +5 -1
- package/src/components/features/auth/invite-link-invalid-modal.tsx +6 -4
- package/src/components/features/auth/password-reset-form.tsx +7 -0
- package/src/components/ui/field-wrapper.tsx +5 -3
- package/src/components/ui/input.tsx +8 -5
- package/src/stories/auth/AcceptInvitation.stories.tsx +4 -16
- package/src/stories/auth/PasswordReset.stories.tsx +1 -0
- package/dist/chunk-2RQKK2BY.cjs.map +0 -1
- package/dist/chunk-AI5X5JTD.js.map +0 -1
- package/dist/chunk-QJGRP2YE.cjs.map +0 -1
- /package/dist/{chunk-U5WZLNNP.js.map → chunk-23PZFAET.js.map} +0 -0
- /package/dist/{chunk-QQJJJSYG.js.map → chunk-3GGIVFSI.js.map} +0 -0
- /package/dist/{chunk-WE6PHQMR.js.map → chunk-4A4DA7OX.js.map} +0 -0
- /package/dist/{chunk-T3RWEEML.js.map → chunk-DQJCWNRT.js.map} +0 -0
- /package/dist/{chunk-PRA7467B.js.map → chunk-GZ5N76H2.js.map} +0 -0
- /package/dist/{chunk-NC53B5ZJ.js.map → chunk-HDWY2SXF.js.map} +0 -0
- /package/dist/{chunk-EQO6DKVS.js.map → chunk-K5P6XKIT.js.map} +0 -0
- /package/dist/{chunk-QM4UDTZ3.js.map → chunk-LIK575RM.js.map} +0 -0
- /package/dist/{chunk-FVKRKWAT.js.map → chunk-LRA7FGQC.js.map} +0 -0
- /package/dist/{chunk-3Y4XNSHE.js.map → chunk-MGDDM2UI.js.map} +0 -0
- /package/dist/{chunk-CTEN4ADV.js.map → chunk-PI3XFKEW.js.map} +0 -0
|
@@ -15,10 +15,11 @@ export interface InputProps extends React.InputHTMLAttributes<HTMLInputElement>
|
|
|
15
15
|
endAdornment?: React.ReactNode;
|
|
16
16
|
/** Label text displayed above the input */
|
|
17
17
|
label?: string;
|
|
18
|
-
/**
|
|
18
|
+
/** Status message displayed below the input */
|
|
19
19
|
error?: string;
|
|
20
|
-
/** Color variant for
|
|
21
|
-
|
|
20
|
+
/** Color variant for the message: "error" (red), "warning" (yellow), "success" (green) or "muted" (grey).
|
|
21
|
+
Only "error" and "warning" mark the field invalid (colored border). */
|
|
22
|
+
errorVariant?: "error" | "warning" | "success" | "muted";
|
|
22
23
|
/** When true, shows a loading spinner as end adornment */
|
|
23
24
|
loading?: boolean;
|
|
24
25
|
}
|
|
@@ -30,7 +31,9 @@ const invalidBorderClasses = {
|
|
|
30
31
|
|
|
31
32
|
const Input = React.forwardRef<HTMLInputElement, InputProps>(
|
|
32
33
|
({ className, type, invalid = false, startAdornment, endAdornment, label, error, errorVariant = "error", loading = false, ...props }, ref) => {
|
|
33
|
-
|
|
34
|
+
// success/muted are informational — they never paint the invalid border
|
|
35
|
+
const variantIsInvalid = errorVariant === "error" || errorVariant === "warning"
|
|
36
|
+
const isInvalid = invalid || (!!error && variantIsInvalid)
|
|
34
37
|
|
|
35
38
|
// Range inputs get a clean slider rendering — no label wrapper, borders, or adornments
|
|
36
39
|
if (type === 'range') {
|
|
@@ -83,7 +86,7 @@ const Input = React.forwardRef<HTMLInputElement, InputProps>(
|
|
|
83
86
|
// Disabled
|
|
84
87
|
props.disabled && "!cursor-not-allowed bg-ods-bg",
|
|
85
88
|
// Invalid
|
|
86
|
-
isInvalid && invalidBorderClasses[errorVariant],
|
|
89
|
+
isInvalid && invalidBorderClasses[variantIsInvalid ? (errorVariant as "error" | "warning") : "error"],
|
|
87
90
|
className
|
|
88
91
|
)}
|
|
89
92
|
>
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from '@storybook/nextjs-vite'
|
|
2
|
-
import { useState } from 'react'
|
|
3
2
|
import {
|
|
4
3
|
AcceptInvitationForm,
|
|
5
4
|
type AuthSsoProvider,
|
|
@@ -15,7 +14,7 @@ const meta = {
|
|
|
15
14
|
docs: {
|
|
16
15
|
description: {
|
|
17
16
|
component:
|
|
18
|
-
'Accept Invitation from the auth redesign. Presentational + controlled: read-only invited email
|
|
17
|
+
'Accept Invitation from the auth redesign. Presentational + controlled: read-only invited email (prefilled from the invitation link) and SSO providers to join the org. Shown inside AuthShell without tabs.',
|
|
19
18
|
},
|
|
20
19
|
},
|
|
21
20
|
},
|
|
@@ -28,9 +27,7 @@ type Story = StoryObj<typeof meta>
|
|
|
28
27
|
const SSO_PROVIDERS: AuthSsoProvider[] = ['openframe', 'google', 'microsoft']
|
|
29
28
|
|
|
30
29
|
/** Full page: invitation form + marketing panel (no tabs). */
|
|
31
|
-
function AcceptInvitationPage(
|
|
32
|
-
const [agreedToTerms, setAgreedToTerms] = useState(initialChecked)
|
|
33
|
-
|
|
30
|
+
function AcceptInvitationPage() {
|
|
34
31
|
return (
|
|
35
32
|
<AuthShell
|
|
36
33
|
mobileTagline={
|
|
@@ -43,24 +40,15 @@ function AcceptInvitationPage({ initialChecked = false }: { initialChecked?: boo
|
|
|
43
40
|
>
|
|
44
41
|
<AcceptInvitationForm
|
|
45
42
|
email="roman@mail.com"
|
|
46
|
-
agreedToTerms={agreedToTerms}
|
|
47
|
-
onAgreedToTermsChange={setAgreedToTerms}
|
|
48
43
|
ssoProviders={SSO_PROVIDERS}
|
|
49
44
|
onSsoClick={() => {}}
|
|
50
45
|
onBackToLogin={() => {}}
|
|
51
|
-
termsUrl="#terms"
|
|
52
|
-
privacyPolicyUrl="#privacy"
|
|
53
46
|
/>
|
|
54
47
|
</AuthShell>
|
|
55
48
|
)
|
|
56
49
|
}
|
|
57
50
|
|
|
58
|
-
/**
|
|
59
|
-
export const
|
|
51
|
+
/** Prefilled invited email, SSO providers ready to pick. */
|
|
52
|
+
export const Default: Story = {
|
|
60
53
|
render: () => <AcceptInvitationPage />,
|
|
61
54
|
}
|
|
62
|
-
|
|
63
|
-
/** Terms accepted — SSO buttons enabled. */
|
|
64
|
-
export const WithCheck: Story = {
|
|
65
|
-
render: () => <AcceptInvitationPage initialChecked />,
|
|
66
|
-
}
|
|
@@ -44,6 +44,7 @@ function PasswordResetPage({ initialPassword = '', initialConfirm = '' }: { init
|
|
|
44
44
|
onConfirmPasswordChange={setConfirmPassword}
|
|
45
45
|
onSubmit={() => {}}
|
|
46
46
|
onCancel={() => {}}
|
|
47
|
+
onBackToLogin={() => {}}
|
|
47
48
|
submitDisabled={!isValid}
|
|
48
49
|
errors={{
|
|
49
50
|
confirmPassword:
|