@slyxup/ui 0.2.0 → 0.2.2
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/.turbo/turbo-build.log +4 -0
- package/CHANGELOG.md +16 -0
- package/LICENSE +21 -0
- package/dist/components/BillingPortal/BillingPortal.d.ts +22 -0
- package/dist/components/BillingPortal/BillingPortal.d.ts.map +1 -0
- package/dist/components/BillingPortal/BillingPortal.js +61 -0
- package/dist/components/BillingPortal/BillingPortal.js.map +1 -0
- package/dist/components/EmailVerification/EmailVerification.d.ts.map +1 -1
- package/dist/components/EmailVerification/EmailVerification.js +2 -0
- package/dist/components/EmailVerification/EmailVerification.js.map +1 -1
- package/dist/components/ForgotPassword/ForgotPassword.d.ts.map +1 -1
- package/dist/components/ForgotPassword/ForgotPassword.js +2 -0
- package/dist/components/ForgotPassword/ForgotPassword.js.map +1 -1
- package/dist/components/PricingTable/PricingTable.d.ts +19 -0
- package/dist/components/PricingTable/PricingTable.d.ts.map +1 -0
- package/dist/components/PricingTable/PricingTable.js +54 -0
- package/dist/components/PricingTable/PricingTable.js.map +1 -0
- package/dist/components/ResetPassword/ResetPassword.d.ts.map +1 -1
- package/dist/components/ResetPassword/ResetPassword.js +2 -0
- package/dist/components/ResetPassword/ResetPassword.js.map +1 -1
- package/dist/components/SignIn/SignIn.d.ts.map +1 -1
- package/dist/components/SignIn/SignIn.js +16 -3
- package/dist/components/SignIn/SignIn.js.map +1 -1
- package/dist/components/SignUp/SignUp.d.ts.map +1 -1
- package/dist/components/SignUp/SignUp.js +16 -3
- package/dist/components/SignUp/SignUp.js.map +1 -1
- package/dist/components/SocialButtons/SocialButtons.d.ts +1 -1
- package/dist/components/SocialButtons/SocialButtons.d.ts.map +1 -1
- package/dist/components/SocialButtons/SocialButtons.js +7 -2
- package/dist/components/SocialButtons/SocialButtons.js.map +1 -1
- package/dist/components/UserButton/UserButton.d.ts.map +1 -1
- package/dist/components/UserButton/UserButton.js +2 -0
- package/dist/components/UserButton/UserButton.js.map +1 -1
- package/dist/components/UserProfile/UserProfile.d.ts.map +1 -1
- package/dist/components/UserProfile/UserProfile.js +2 -0
- package/dist/components/UserProfile/UserProfile.js.map +1 -1
- package/dist/styles.d.ts +3 -2
- package/dist/styles.d.ts.map +1 -1
- package/dist/styles.js +37 -16
- package/dist/styles.js.map +1 -1
- package/package.json +13 -9
- package/src/components/BillingPortal/BillingPortal.tsx +184 -0
- package/src/components/EmailVerification/EmailVerification.tsx +2 -0
- package/src/components/ForgotPassword/ForgotPassword.tsx +2 -0
- package/src/components/PricingTable/PricingTable.tsx +157 -0
- package/src/components/ResetPassword/ResetPassword.tsx +2 -0
- package/src/components/SignIn/SignIn.tsx +29 -2
- package/src/components/SignUp/SignUp.tsx +29 -2
- package/src/components/SocialButtons/SocialButtons.tsx +10 -3
- package/src/components/UserButton/UserButton.tsx +2 -0
- package/src/components/UserProfile/UserProfile.tsx +2 -0
- package/src/styles.ts +38 -16
- package/test/components.test.tsx +135 -0
- package/test/icons.test.tsx +32 -0
- package/test/styles.test.ts +47 -0
- package/vitest.config.ts +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @slyxup/ui
|
|
2
2
|
|
|
3
|
+
## 0.2.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`9a14a5f`](https://github.com/slyxup/stack/commit/9a14a5f1357cd3e6bafc0957b1144d5e51d552e2) - Components now self-inject styles and fonts (no more missing borders/radius/fonts if `<SlyxUpStyles />` was forgotten). OAuth buttons redirect to the correct API origin instead of a relative path that broke on deployed apps.
|
|
8
|
+
|
|
9
|
+
## 0.2.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [`2011599`](https://github.com/slyxup/stack/commit/2011599a9c989560e34bcea3147c18923e15962d) - UI polish: black buttons in light mode, better card vs page contrast, inline missing-key banner in SignIn/SignUp, provider warns on missing publishableKey.
|
|
14
|
+
|
|
15
|
+
- Updated dependencies [[`2011599`](https://github.com/slyxup/stack/commit/2011599a9c989560e34bcea3147c18923e15962d), [`2011599`](https://github.com/slyxup/stack/commit/2011599a9c989560e34bcea3147c18923e15962d)]:
|
|
16
|
+
- @slyxup/core@0.2.1
|
|
17
|
+
- @slyxup/react@0.2.1
|
|
18
|
+
|
|
3
19
|
## 0.2.0
|
|
4
20
|
|
|
5
21
|
### Minor Changes
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 SlyxUp
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
interface Subscription {
|
|
2
|
+
id: string;
|
|
3
|
+
status: string;
|
|
4
|
+
currentPeriodEnd: string | null;
|
|
5
|
+
cancelAtPeriodEnd: boolean;
|
|
6
|
+
}
|
|
7
|
+
interface Invoice {
|
|
8
|
+
id: string;
|
|
9
|
+
amount: number;
|
|
10
|
+
currency: string;
|
|
11
|
+
status: 'paid' | 'pending' | 'overdue' | 'refunded';
|
|
12
|
+
billedAt: string | null;
|
|
13
|
+
}
|
|
14
|
+
export interface BillingPortalProps {
|
|
15
|
+
subscription: Subscription | null;
|
|
16
|
+
invoices: Invoice[];
|
|
17
|
+
onCancel?: () => void;
|
|
18
|
+
}
|
|
19
|
+
/** Current plan + invoices table */
|
|
20
|
+
export declare function BillingPortal({ subscription, invoices, onCancel, }: BillingPortalProps): import("react").JSX.Element;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=BillingPortal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BillingPortal.d.ts","sourceRoot":"","sources":["../../../src/components/BillingPortal/BillingPortal.tsx"],"names":[],"mappings":"AAKA,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AACD,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IACpD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,oCAAoC;AACpC,wBAAgB,aAAa,CAAC,EAC5B,YAAY,EACZ,QAAQ,EACR,QAAQ,GACT,EAAE,kBAAkB,+BAyJpB"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { injectStyles } from '../../styles';
|
|
4
|
+
/** Current plan + invoices table */
|
|
5
|
+
export function BillingPortal({ subscription, invoices, onCancel, }) {
|
|
6
|
+
injectStyles();
|
|
7
|
+
if (!subscription) {
|
|
8
|
+
return (_jsxs("div", { className: "slx-card", children: [_jsx("h3", { style: { fontSize: 16, fontWeight: 600 }, children: "No active subscription" }), _jsx("p", { style: { fontSize: 13.5, color: 'var(--slx-muted)', marginTop: 6 }, children: "You don't have a subscription yet. Choose a plan to get started." })] }));
|
|
9
|
+
}
|
|
10
|
+
return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: 18 }, children: [_jsx("div", { className: "slx-card", children: _jsxs("div", { style: {
|
|
11
|
+
display: 'flex',
|
|
12
|
+
justifyContent: 'space-between',
|
|
13
|
+
alignItems: 'center',
|
|
14
|
+
}, children: [_jsxs("div", { children: [_jsx("h3", { style: { fontSize: 15, fontWeight: 600 }, children: "Current plan" }), _jsxs("p", { style: { fontSize: 13, color: 'var(--slx-muted)', marginTop: 4 }, children: ["Status:", ' ', _jsx("span", { style: {
|
|
15
|
+
fontWeight: 650,
|
|
16
|
+
color: subscription.status === 'active' ||
|
|
17
|
+
subscription.status === 'trialing'
|
|
18
|
+
? '#34d399'
|
|
19
|
+
: subscription.status === 'past_due'
|
|
20
|
+
? 'var(--slx-danger)'
|
|
21
|
+
: 'var(--slx-muted)',
|
|
22
|
+
}, children: subscription.status })] }), subscription.currentPeriodEnd && (_jsxs("p", { style: {
|
|
23
|
+
fontSize: 12.5,
|
|
24
|
+
color: 'var(--slx-muted)',
|
|
25
|
+
marginTop: 4,
|
|
26
|
+
}, children: ["Renews", ' ', new Date(subscription.currentPeriodEnd).toLocaleDateString(), subscription.cancelAtPeriodEnd
|
|
27
|
+
? ' (cancels at period end)'
|
|
28
|
+
: ''] }))] }), subscription.status !== 'canceled' &&
|
|
29
|
+
!subscription.cancelAtPeriodEnd &&
|
|
30
|
+
onCancel && (_jsx("button", { type: "button", onClick: onCancel, style: {
|
|
31
|
+
fontSize: 13,
|
|
32
|
+
fontWeight: 550,
|
|
33
|
+
background: 'transparent',
|
|
34
|
+
border: '1px solid var(--slx-border)',
|
|
35
|
+
borderRadius: 'var(--slx-radius)',
|
|
36
|
+
padding: '8px 14px',
|
|
37
|
+
cursor: 'pointer',
|
|
38
|
+
color: 'var(--slx-danger)',
|
|
39
|
+
}, children: "Cancel" }))] }) }), invoices.length > 0 && (_jsxs("div", { className: "slx-card", children: [_jsx("h3", { style: { fontSize: 15, fontWeight: 600, marginBottom: 12 }, children: "Invoices" }), _jsxs("table", { style: { width: '100%', fontSize: 13, borderCollapse: 'collapse' }, children: [_jsx("thead", { children: _jsxs("tr", { style: {
|
|
40
|
+
borderBottom: '1px solid var(--slx-border)',
|
|
41
|
+
textAlign: 'left',
|
|
42
|
+
}, children: [_jsx("th", { style: { padding: '6px 0', fontWeight: 550 }, children: "Date" }), _jsx("th", { style: { padding: '6px 0', fontWeight: 550 }, children: "Amount" }), _jsx("th", { style: { padding: '6px 0', fontWeight: 550 }, children: "Status" })] }) }), _jsx("tbody", { children: invoices.map((inv) => (_jsxs("tr", { style: { borderBottom: '1px solid var(--slx-border)' }, children: [_jsx("td", { style: { padding: '8px 0' }, children: inv.billedAt
|
|
43
|
+
? new Date(inv.billedAt).toLocaleDateString()
|
|
44
|
+
: '—' }), _jsxs("td", { style: { padding: '8px 0' }, children: ["$", (inv.amount / 100).toFixed(2), " ", inv.currency] }), _jsx("td", { style: { padding: '8px 0' }, children: _jsx("span", { style: {
|
|
45
|
+
fontSize: 11.5,
|
|
46
|
+
fontWeight: 600,
|
|
47
|
+
padding: '2px 8px',
|
|
48
|
+
borderRadius: 999,
|
|
49
|
+
background: inv.status === 'paid'
|
|
50
|
+
? 'rgba(52,211,153,.1)'
|
|
51
|
+
: inv.status === 'overdue'
|
|
52
|
+
? 'rgba(214,69,80,.1)'
|
|
53
|
+
: 'rgba(108,108,232,.08)',
|
|
54
|
+
color: inv.status === 'paid'
|
|
55
|
+
? '#34d399'
|
|
56
|
+
: inv.status === 'overdue'
|
|
57
|
+
? 'var(--slx-danger)'
|
|
58
|
+
: 'var(--slx-accent)',
|
|
59
|
+
}, children: inv.status }) })] }, inv.id))) })] })] }))] }));
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=BillingPortal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BillingPortal.js","sourceRoot":"","sources":["../../../src/components/BillingPortal/BillingPortal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailVerification.d.ts","sourceRoot":"","sources":["../../../src/components/EmailVerification/EmailVerification.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EmailVerification.d.ts","sourceRoot":"","sources":["../../../src/components/EmailVerification/EmailVerification.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,sBAAsB;IACrC,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,qEAAqE;AACrE,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,MAAM,EACN,SAAS,GACV,EAAE,sBAAsB,+BAqKxB"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useState } from 'react';
|
|
3
3
|
import { CheckIcon, KeyholeMark } from '../../icons';
|
|
4
|
+
import { injectStyles } from '../../styles';
|
|
4
5
|
/** Verify an email with the emailed token, or request a new link. */
|
|
5
6
|
export function EmailVerification({ token, apiUrl, onSuccess, }) {
|
|
7
|
+
injectStyles();
|
|
6
8
|
const [status, setStatus] = useState(token ? 'verifying' : 'resend');
|
|
7
9
|
const [message, setMessage] = useState('');
|
|
8
10
|
const [email, setEmail] = useState('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailVerification.js","sourceRoot":"","sources":["../../../src/components/EmailVerification/EmailVerification.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"EmailVerification.js","sourceRoot":"","sources":["../../../src/components/EmailVerification/EmailVerification.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForgotPassword.d.ts","sourceRoot":"","sources":["../../../src/components/ForgotPassword/ForgotPassword.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ForgotPassword.d.ts","sourceRoot":"","sources":["../../../src/components/ForgotPassword/ForgotPassword.tsx"],"names":[],"mappings":"AAKA,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,sCAAsC;AACtC,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,SAAS,EACT,cAAc,GACf,EAAE,mBAAmB,+BA2GrB"}
|
|
@@ -2,8 +2,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { SlyxupClient } from '@slyxup/core';
|
|
3
3
|
import { useEffect, useState } from 'react';
|
|
4
4
|
import { CheckIcon, KeyholeMark } from '../../icons';
|
|
5
|
+
import { injectStyles } from '../../styles';
|
|
5
6
|
/** Request a password-reset email. */
|
|
6
7
|
export function ForgotPassword({ apiUrl, onSuccess, onBackToSignIn, }) {
|
|
8
|
+
injectStyles();
|
|
7
9
|
const [email, setEmail] = useState('');
|
|
8
10
|
const [sent, setSent] = useState(false);
|
|
9
11
|
const [busy, setBusy] = useState(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForgotPassword.js","sourceRoot":"","sources":["../../../src/components/ForgotPassword/ForgotPassword.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAkB,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ForgotPassword.js","sourceRoot":"","sources":["../../../src/components/ForgotPassword/ForgotPassword.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
interface Plan {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
amount: number;
|
|
5
|
+
currency: string;
|
|
6
|
+
interval: 'month' | 'year';
|
|
7
|
+
trialDays: number | null;
|
|
8
|
+
features: string[] | null;
|
|
9
|
+
isPopular: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface PricingTableProps {
|
|
12
|
+
plans: Plan[];
|
|
13
|
+
onSelect?: (plan: Plan) => void;
|
|
14
|
+
loading?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/** Clean pricing grid with popular badge */
|
|
17
|
+
export declare function PricingTable({ plans, onSelect, loading }: PricingTableProps): import("react").JSX.Element;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=PricingTable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PricingTable.d.ts","sourceRoot":"","sources":["../../../src/components/PricingTable/PricingTable.tsx"],"names":[],"mappings":"AAKA,UAAU,IAAI;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,4CAA4C;AAC5C,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,iBAAiB,+BAqI3E"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { injectStyles } from '../../styles';
|
|
4
|
+
/** Clean pricing grid with popular badge */
|
|
5
|
+
export function PricingTable({ plans, onSelect, loading }) {
|
|
6
|
+
injectStyles();
|
|
7
|
+
if (loading) {
|
|
8
|
+
return (_jsx("div", { className: "slx-pricing", style: {
|
|
9
|
+
display: 'grid',
|
|
10
|
+
gridTemplateColumns: `repeat(${Math.min(plans.length, 3)}, 1fr)`,
|
|
11
|
+
gap: 16,
|
|
12
|
+
}, children: [1, 2, 3].map((i) => (_jsx("div", { className: "slx-card", style: { minHeight: 320 }, "aria-busy": "true" }, i))) }));
|
|
13
|
+
}
|
|
14
|
+
return (_jsx("div", { style: {
|
|
15
|
+
display: 'grid',
|
|
16
|
+
gridTemplateColumns: `repeat(${Math.min(plans.length, 3)}, 1fr)`,
|
|
17
|
+
gap: 16,
|
|
18
|
+
}, children: plans.map((plan) => (_jsxs("div", { className: `slx-card${plan.isPopular ? ' slx-card-popular' : ''}`, style: {
|
|
19
|
+
position: plan.isPopular ? 'relative' : undefined,
|
|
20
|
+
borderColor: plan.isPopular ? 'var(--slx-accent)' : undefined,
|
|
21
|
+
display: 'flex',
|
|
22
|
+
flexDirection: 'column',
|
|
23
|
+
}, children: [plan.isPopular && (_jsx("span", { style: {
|
|
24
|
+
position: 'absolute',
|
|
25
|
+
top: -11,
|
|
26
|
+
right: 20,
|
|
27
|
+
fontSize: 10.5,
|
|
28
|
+
fontFamily: 'var(--slx-mono)',
|
|
29
|
+
background: 'linear-gradient(135deg, var(--slx-accent), #8b5cf6)',
|
|
30
|
+
color: '#fff',
|
|
31
|
+
padding: '3px 10px',
|
|
32
|
+
borderRadius: 999,
|
|
33
|
+
}, children: "POPULAR" })), _jsx("h3", { style: { fontSize: 15, fontWeight: 550, color: 'var(--slx-muted)' }, children: plan.name }), _jsxs("div", { style: { margin: '8px 0 2px' }, children: [_jsxs("span", { style: {
|
|
34
|
+
fontSize: 38,
|
|
35
|
+
fontWeight: 750,
|
|
36
|
+
letterSpacing: '-0.03em',
|
|
37
|
+
fontFamily: '"Space Grotesk",sans-serif',
|
|
38
|
+
}, children: ["$", (plan.amount / 100).toFixed(0)] }), _jsxs("span", { style: { fontSize: 14, color: 'var(--slx-muted)' }, children: ["/", plan.interval] })] }), plan.trialDays ? (_jsxs("p", { style: {
|
|
39
|
+
fontSize: 12,
|
|
40
|
+
color: 'var(--slx-accent)',
|
|
41
|
+
marginBottom: 4,
|
|
42
|
+
}, children: [plan.trialDays, " day free trial"] })) : (_jsx("p", { style: { fontSize: 12, color: 'transparent', marginBottom: 4 }, children: "\u00A0" })), _jsx("ul", { style: { listStyle: 'none', margin: '14px 0 22px', flex: 1 }, children: (plan.features ?? []).map((f) => (_jsxs("li", { style: {
|
|
43
|
+
fontSize: 13.5,
|
|
44
|
+
color: 'var(--slx-ink)',
|
|
45
|
+
padding: '5px 0 5px 24px',
|
|
46
|
+
position: 'relative',
|
|
47
|
+
}, children: [_jsx("span", { style: {
|
|
48
|
+
position: 'absolute',
|
|
49
|
+
left: 0,
|
|
50
|
+
color: '#34d399',
|
|
51
|
+
fontWeight: 700,
|
|
52
|
+
}, children: "\u2713" }), ' ', f] }, f))) }), _jsx("button", { type: "button", className: "slx-btn", onClick: () => onSelect?.(plan), disabled: loading, children: "Get started" })] }, plan.id))) }));
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=PricingTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PricingTable.js","sourceRoot":"","sources":["../../../src/components/PricingTable/PricingTable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResetPassword.d.ts","sourceRoot":"","sources":["../../../src/components/ResetPassword/ResetPassword.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ResetPassword.d.ts","sourceRoot":"","sources":["../../../src/components/ResetPassword/ResetPassword.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IACjC,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,MAAM,EACN,SAAS,GACV,EAAE,kBAAkB,+BAyGpB"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useState } from 'react';
|
|
3
3
|
import { CheckIcon, KeyholeMark } from '../../icons';
|
|
4
|
+
import { injectStyles } from '../../styles';
|
|
4
5
|
/** Set a new password using the emailed reset token. */
|
|
5
6
|
export function ResetPassword({ token, apiUrl, onSuccess, }) {
|
|
7
|
+
injectStyles();
|
|
6
8
|
const [password, setPassword] = useState('');
|
|
7
9
|
const [done, setDone] = useState(false);
|
|
8
10
|
const [busy, setBusy] = useState(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResetPassword.js","sourceRoot":"","sources":["../../../src/components/ResetPassword/ResetPassword.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ResetPassword.js","sourceRoot":"","sources":["../../../src/components/ResetPassword/ResetPassword.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignIn.d.ts","sourceRoot":"","sources":["../../../src/components/SignIn/SignIn.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SignIn.d.ts","sourceRoot":"","sources":["../../../src/components/SignIn/SignIn.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,wBAAwB;IACxB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,2CAA2C;AAC3C,wBAAgB,MAAM,CAAC,EACrB,MAAa,EACb,SAAS,EACT,aAAa,GACd,EAAE,WAAW,+BAqJb"}
|
|
@@ -3,9 +3,11 @@ import { SlyxupError } from '@slyxup/core';
|
|
|
3
3
|
import { useAuth } from '@slyxup/react';
|
|
4
4
|
import { useEffect, useRef, useState } from 'react';
|
|
5
5
|
import { GitHubIcon, GoogleIcon, KeyholeMark } from '../../icons';
|
|
6
|
+
import { injectStyles } from '../../styles';
|
|
6
7
|
/** Email/password + OAuth sign-in card. */
|
|
7
8
|
export function SignIn({ social = true, onSuccess, onSignUpClick, }) {
|
|
8
|
-
|
|
9
|
+
injectStyles();
|
|
10
|
+
const { signIn, client } = useAuth();
|
|
9
11
|
const [email, setEmail] = useState('');
|
|
10
12
|
const [password, setPassword] = useState('');
|
|
11
13
|
const [busy, setBusy] = useState(false);
|
|
@@ -35,8 +37,19 @@ export function SignIn({ social = true, onSuccess, onSignUpClick, }) {
|
|
|
35
37
|
}
|
|
36
38
|
}
|
|
37
39
|
function oauth(provider) {
|
|
38
|
-
window.location.href =
|
|
40
|
+
window.location.href = `${client.apiUrl}/v1/oauth/${provider}`;
|
|
39
41
|
}
|
|
40
|
-
|
|
42
|
+
const missingKey = !client.publishableKey ||
|
|
43
|
+
client.publishableKey === 'pk_test_missing' ||
|
|
44
|
+
client.publishableKey.includes('REPLACE');
|
|
45
|
+
return (_jsxs("div", { ref: cardRef, className: `slx-card${error ? ' slx-card-error' : ''}`, children: [missingKey && (_jsxs("p", { style: {
|
|
46
|
+
fontSize: 12,
|
|
47
|
+
background: '#fff3cd',
|
|
48
|
+
border: '1px solid #ffe69c',
|
|
49
|
+
borderRadius: 8,
|
|
50
|
+
padding: '8px 10px',
|
|
51
|
+
marginBottom: 14,
|
|
52
|
+
lineHeight: 1.4,
|
|
53
|
+
}, children: [_jsx("strong", { children: "Setup:" }), " Add", ' ', _jsx("code", { children: "NEXT_PUBLIC_SLYXUP_PUBLISHABLE_KEY" }), " to", ' ', _jsx("code", { children: ".env.local" }), " \u2014 run ", _jsx("code", { children: "npx @slyxup/cli keys create" })] })), _jsx("div", { className: "slx-mark", children: _jsx(KeyholeMark, {}) }), _jsx("h1", { className: "slx-title", children: "Sign in" }), _jsx("p", { className: "slx-subtitle", children: "Welcome back. Enter your details to continue." }), social && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "slx-social", children: [_jsxs("button", { type: "button", className: "slx-social-btn", onClick: () => oauth('google'), children: [_jsx(GoogleIcon, {}), " Continue with Google"] }), _jsxs("button", { type: "button", className: "slx-social-btn", onClick: () => oauth('github'), children: [_jsx(GitHubIcon, {}), " Continue with GitHub"] })] }), _jsx("div", { className: "slx-divider", children: "or" })] })), error && (_jsx("p", { className: "slx-error-text", role: "alert", children: error })), _jsxs("form", { onSubmit: onSubmit, noValidate: false, children: [_jsxs("div", { className: "slx-field", children: [_jsx("label", { className: "slx-label", htmlFor: "slx-signin-email", children: "Email" }), _jsx("input", { id: "slx-signin-email", className: "slx-input", type: "email", autoComplete: "email", placeholder: "you@example.com", value: email, onChange: (e) => setEmail(e.target.value), required: true })] }), _jsxs("div", { className: "slx-field", children: [_jsx("label", { className: "slx-label", htmlFor: "slx-signin-password", children: "Password" }), _jsx("input", { id: "slx-signin-password", className: "slx-input", type: "password", autoComplete: "current-password", placeholder: "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022", value: password, onChange: (e) => setPassword(e.target.value), required: true, minLength: 8 })] }), _jsxs("button", { className: "slx-btn", type: "submit", disabled: busy, children: [busy && _jsx("span", { className: "slx-spinner", "aria-hidden": "true" }), busy ? 'Signing in…' : 'Sign in'] })] }), onSignUpClick && (_jsxs("p", { className: "slx-footer", children: ["Don't have an account?", ' ', _jsx("button", { type: "button", className: "slx-link", onClick: onSignUpClick, children: "Sign up" })] }))] }));
|
|
41
54
|
}
|
|
42
55
|
//# sourceMappingURL=SignIn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignIn.js","sourceRoot":"","sources":["../../../src/components/SignIn/SignIn.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAkB,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"SignIn.js","sourceRoot":"","sources":["../../../src/components/SignIn/SignIn.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignUp.d.ts","sourceRoot":"","sources":["../../../src/components/SignUp/SignUp.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SignUp.d.ts","sourceRoot":"","sources":["../../../src/components/SignUp/SignUp.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,2CAA2C;AAC3C,wBAAgB,MAAM,CAAC,EACrB,MAAa,EACb,SAAS,EACT,aAAa,GACd,EAAE,WAAW,+BAqKb"}
|
|
@@ -3,9 +3,11 @@ import { SlyxupError } from '@slyxup/core';
|
|
|
3
3
|
import { useAuth } from '@slyxup/react';
|
|
4
4
|
import { useEffect, useRef, useState } from 'react';
|
|
5
5
|
import { GitHubIcon, GoogleIcon, KeyholeMark } from '../../icons';
|
|
6
|
+
import { injectStyles } from '../../styles';
|
|
6
7
|
/** Email/password + OAuth sign-up card. */
|
|
7
8
|
export function SignUp({ social = true, onSuccess, onSignInClick, }) {
|
|
8
|
-
|
|
9
|
+
injectStyles();
|
|
10
|
+
const { signUp, client } = useAuth();
|
|
9
11
|
const [firstName, setFirstName] = useState('');
|
|
10
12
|
const [email, setEmail] = useState('');
|
|
11
13
|
const [password, setPassword] = useState('');
|
|
@@ -36,8 +38,19 @@ export function SignUp({ social = true, onSuccess, onSignInClick, }) {
|
|
|
36
38
|
}
|
|
37
39
|
}
|
|
38
40
|
function oauth(provider) {
|
|
39
|
-
window.location.href =
|
|
41
|
+
window.location.href = `${client.apiUrl}/v1/oauth/${provider}`;
|
|
40
42
|
}
|
|
41
|
-
|
|
43
|
+
const missingKey = !client.publishableKey ||
|
|
44
|
+
client.publishableKey === 'pk_test_missing' ||
|
|
45
|
+
client.publishableKey.includes('REPLACE');
|
|
46
|
+
return (_jsxs("div", { ref: cardRef, className: `slx-card${error ? ' slx-card-error' : ''}`, children: [missingKey && (_jsxs("p", { style: {
|
|
47
|
+
fontSize: 12,
|
|
48
|
+
background: '#fff3cd',
|
|
49
|
+
border: '1px solid #ffe69c',
|
|
50
|
+
borderRadius: 8,
|
|
51
|
+
padding: '8px 10px',
|
|
52
|
+
marginBottom: 14,
|
|
53
|
+
lineHeight: 1.4,
|
|
54
|
+
}, children: [_jsx("strong", { children: "Setup:" }), " Add", ' ', _jsx("code", { children: "NEXT_PUBLIC_SLYXUP_PUBLISHABLE_KEY" }), " \u2014 run", ' ', _jsx("code", { children: "npx @slyxup/cli keys create" })] })), _jsx("div", { className: "slx-mark", children: _jsx(KeyholeMark, {}) }), _jsx("h1", { className: "slx-title", children: "Create your account" }), _jsx("p", { className: "slx-subtitle", children: "A minute to set up. Sign in forever after." }), social && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "slx-social", children: [_jsxs("button", { type: "button", className: "slx-social-btn", onClick: () => oauth('google'), children: [_jsx(GoogleIcon, {}), " Continue with Google"] }), _jsxs("button", { type: "button", className: "slx-social-btn", onClick: () => oauth('github'), children: [_jsx(GitHubIcon, {}), " Continue with GitHub"] })] }), _jsx("div", { className: "slx-divider", children: "or" })] })), error && (_jsx("p", { className: "slx-error-text", role: "alert", children: error })), _jsxs("form", { onSubmit: onSubmit, children: [_jsxs("div", { className: "slx-field", children: [_jsx("label", { className: "slx-label", htmlFor: "slx-signup-name", children: "First name" }), _jsx("input", { id: "slx-signup-name", className: "slx-input", type: "text", autoComplete: "given-name", placeholder: "Ada", value: firstName, onChange: (e) => setFirstName(e.target.value) })] }), _jsxs("div", { className: "slx-field", children: [_jsx("label", { className: "slx-label", htmlFor: "slx-signup-email", children: "Email" }), _jsx("input", { id: "slx-signup-email", className: "slx-input", type: "email", autoComplete: "email", placeholder: "you@example.com", value: email, onChange: (e) => setEmail(e.target.value), required: true })] }), _jsxs("div", { className: "slx-field", children: [_jsx("label", { className: "slx-label", htmlFor: "slx-signup-password", children: "Password" }), _jsx("input", { id: "slx-signup-password", className: "slx-input", type: "password", autoComplete: "new-password", placeholder: "At least 8 characters", value: password, onChange: (e) => setPassword(e.target.value), required: true, minLength: 8 }), _jsx("p", { className: "slx-hint", children: "Use 8+ characters with a mix of letters and numbers." })] }), _jsxs("button", { className: "slx-btn", type: "submit", disabled: busy, children: [busy && _jsx("span", { className: "slx-spinner", "aria-hidden": "true" }), busy ? 'Creating account…' : 'Create account'] })] }), onSignInClick && (_jsxs("p", { className: "slx-footer", children: ["Already have an account?", ' ', _jsx("button", { type: "button", className: "slx-link", onClick: onSignInClick, children: "Sign in" })] }))] }));
|
|
42
55
|
}
|
|
43
56
|
//# sourceMappingURL=SignUp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignUp.js","sourceRoot":"","sources":["../../../src/components/SignUp/SignUp.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAkB,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"SignUp.js","sourceRoot":"","sources":["../../../src/components/SignUp/SignUp.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export interface SocialButtonsProps {
|
|
2
2
|
/** Show only these providers. Default: both */
|
|
3
3
|
providers?: Array<'google' | 'github'>;
|
|
4
|
-
/** OAuth start path base
|
|
4
|
+
/** OAuth start path base. Default: `<apiUrl>/v1/oauth` from the provider client */
|
|
5
5
|
basePath?: string;
|
|
6
6
|
}
|
|
7
7
|
/** Provider buttons that redirect to hosted OAuth start. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SocialButtons.d.ts","sourceRoot":"","sources":["../../../src/components/SocialButtons/SocialButtons.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SocialButtons.d.ts","sourceRoot":"","sources":["../../../src/components/SocialButtons/SocialButtons.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IACjC,+CAA+C;IAC/C,SAAS,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;IACvC,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAOD,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,EAC5B,SAAgC,EAChC,QAAQ,GACT,EAAE,kBAAkB,+BAyBpB"}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useAuth } from '@slyxup/react';
|
|
2
3
|
import { GitHubIcon, GoogleIcon } from '../../icons';
|
|
4
|
+
import { injectStyles } from '../../styles';
|
|
3
5
|
const META = {
|
|
4
6
|
google: { label: 'Continue with Google', Icon: GoogleIcon },
|
|
5
7
|
github: { label: 'Continue with GitHub', Icon: GitHubIcon },
|
|
6
8
|
};
|
|
7
9
|
/** Provider buttons that redirect to hosted OAuth start. */
|
|
8
|
-
export function SocialButtons({ providers = ['google', 'github'], basePath
|
|
10
|
+
export function SocialButtons({ providers = ['google', 'github'], basePath, }) {
|
|
11
|
+
injectStyles();
|
|
12
|
+
const { client } = useAuth();
|
|
13
|
+
const base = basePath ?? `${client?.apiUrl ?? ''}/v1/oauth`;
|
|
9
14
|
return (_jsx("div", { className: "slx-social", children: providers.map((p) => {
|
|
10
15
|
const { label, Icon } = META[p];
|
|
11
16
|
return (_jsxs("button", { type: "button", className: "slx-social-btn", onClick: () => {
|
|
12
|
-
window.location.href = `${
|
|
17
|
+
window.location.href = `${base}/${p}`;
|
|
13
18
|
}, children: [_jsx(Icon, {}), " ", label] }, p));
|
|
14
19
|
}) }));
|
|
15
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SocialButtons.js","sourceRoot":"","sources":["../../../src/components/SocialButtons/SocialButtons.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"SocialButtons.js","sourceRoot":"","sources":["../../../src/components/SocialButtons/SocialButtons.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAS5C,MAAM,IAAI,GAAG;IACX,MAAM,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,UAAU,EAAE;IAC3D,MAAM,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,UAAU,EAAE;CACnD,CAAC;AAEX,4DAA4D;AAC5D,MAAM,UAAU,aAAa,CAAC,EAC5B,SAAS,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAChC,QAAQ,GACW;IACnB,YAAY,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAEzB,CAAC;IACF,MAAM,IAAI,GAAG,QAAQ,IAAI,GAAG,MAAM,EAAE,MAAM,IAAI,EAAE,WAAW,CAAC;IAC5D,OAAO,CACL,cAAK,SAAS,EAAC,YAAY,YACxB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACnB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAChC,OAAO,CACL,kBAEE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,gBAAgB,EAC1B,OAAO,EAAE,GAAG,EAAE;oBACZ,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;gBACxC,CAAC,aAED,KAAC,IAAI,KAAG,OAAE,KAAK,KAPV,CAAC,CAQC,CACV,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserButton.d.ts","sourceRoot":"","sources":["../../../src/components/UserButton/UserButton.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UserButton.d.ts","sourceRoot":"","sources":["../../../src/components/UserButton/UserButton.tsx"],"names":[],"mappings":"AASA,2DAA2D;AAC3D,wBAAgB,UAAU,gCAgFzB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useAuth, useUser } from '@slyxup/react';
|
|
3
3
|
import { useEffect, useRef, useState } from 'react';
|
|
4
|
+
import { injectStyles } from '../../styles';
|
|
4
5
|
function initials(name, email) {
|
|
5
6
|
if (name?.trim())
|
|
6
7
|
return name.trim().slice(0, 1).toUpperCase();
|
|
@@ -8,6 +9,7 @@ function initials(name, email) {
|
|
|
8
9
|
}
|
|
9
10
|
/** Avatar + dropdown with profile actions and sign out. */
|
|
10
11
|
export function UserButton() {
|
|
12
|
+
injectStyles();
|
|
11
13
|
const { isLoaded, user } = useUser();
|
|
12
14
|
const { signOut } = useAuth();
|
|
13
15
|
const [open, setOpen] = useState(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserButton.js","sourceRoot":"","sources":["../../../src/components/UserButton/UserButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"UserButton.js","sourceRoot":"","sources":["../../../src/components/UserButton/UserButton.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserProfile.d.ts","sourceRoot":"","sources":["../../../src/components/UserProfile/UserProfile.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UserProfile.d.ts","sourceRoot":"","sources":["../../../src/components/UserProfile/UserProfile.tsx"],"names":[],"mappings":"AAIA,yCAAyC;AACzC,wBAAgB,WAAW,gCAyF1B"}
|