@slyxup/ui 2.4.0 → 2.5.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 (67) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +116 -16
  3. package/dist/components/BillingPortal/BillingPortal.d.ts +18 -16
  4. package/dist/components/BillingPortal/BillingPortal.d.ts.map +1 -1
  5. package/dist/components/BillingPortal/BillingPortal.js +9 -55
  6. package/dist/components/BillingPortal/BillingPortal.js.map +1 -1
  7. package/dist/components/CopyField.d.ts +9 -0
  8. package/dist/components/CopyField.d.ts.map +1 -0
  9. package/dist/components/CopyField.js +29 -0
  10. package/dist/components/CopyField.js.map +1 -0
  11. package/dist/components/CurrentPlanCard/CurrentPlanCard.d.ts +30 -0
  12. package/dist/components/CurrentPlanCard/CurrentPlanCard.d.ts.map +1 -0
  13. package/dist/components/CurrentPlanCard/CurrentPlanCard.js +40 -0
  14. package/dist/components/CurrentPlanCard/CurrentPlanCard.js.map +1 -0
  15. package/dist/components/EmptyState.d.ts +10 -0
  16. package/dist/components/EmptyState.d.ts.map +1 -0
  17. package/dist/components/EmptyState.js +8 -0
  18. package/dist/components/EmptyState.js.map +1 -0
  19. package/dist/components/InvoicesTable/InvoicesTable.d.ts +20 -0
  20. package/dist/components/InvoicesTable/InvoicesTable.d.ts.map +1 -0
  21. package/dist/components/InvoicesTable/InvoicesTable.js +33 -0
  22. package/dist/components/InvoicesTable/InvoicesTable.js.map +1 -0
  23. package/dist/components/OtpInput.d.ts +15 -0
  24. package/dist/components/OtpInput.d.ts.map +1 -0
  25. package/dist/components/OtpInput.js +58 -0
  26. package/dist/components/OtpInput.js.map +1 -0
  27. package/dist/components/PasswordStrength.d.ts +11 -0
  28. package/dist/components/PasswordStrength.d.ts.map +1 -0
  29. package/dist/components/PasswordStrength.js +34 -0
  30. package/dist/components/PasswordStrength.js.map +1 -0
  31. package/dist/components/PlanCard/PlanCard.d.ts +29 -0
  32. package/dist/components/PlanCard/PlanCard.d.ts.map +1 -0
  33. package/dist/components/PlanCard/PlanCard.js +46 -0
  34. package/dist/components/PlanCard/PlanCard.js.map +1 -0
  35. package/dist/components/PricingTable/PricingTable.d.ts +18 -15
  36. package/dist/components/PricingTable/PricingTable.d.ts.map +1 -1
  37. package/dist/components/PricingTable/PricingTable.js +16 -47
  38. package/dist/components/PricingTable/PricingTable.js.map +1 -1
  39. package/dist/components/SignIn/SignIn.js +1 -1
  40. package/dist/components/SignIn/SignIn.js.map +1 -1
  41. package/dist/components/SignUp/SignUp.js +1 -1
  42. package/dist/components/SignUp/SignUp.js.map +1 -1
  43. package/dist/components/SubscriptionStatus/SubscriptionStatus.d.ts +12 -0
  44. package/dist/components/SubscriptionStatus/SubscriptionStatus.d.ts.map +1 -0
  45. package/dist/components/SubscriptionStatus/SubscriptionStatus.js +31 -0
  46. package/dist/components/SubscriptionStatus/SubscriptionStatus.js.map +1 -0
  47. package/dist/index.d.ts +13 -5
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +12 -3
  50. package/dist/index.js.map +1 -1
  51. package/dist/lib/scoped-theme.d.ts +10 -0
  52. package/dist/lib/scoped-theme.d.ts.map +1 -0
  53. package/dist/lib/scoped-theme.js +20 -0
  54. package/dist/lib/scoped-theme.js.map +1 -0
  55. package/dist/react/hooks/useBilling.d.ts +23 -1
  56. package/dist/react/hooks/useBilling.d.ts.map +1 -1
  57. package/dist/react/hooks/useBilling.js +43 -4
  58. package/dist/react/hooks/useBilling.js.map +1 -1
  59. package/dist/react/provider/SlyxUpProvider.js +1 -1
  60. package/dist/react/provider/SlyxUpProvider.js.map +1 -1
  61. package/dist/styles.d.ts +1 -1
  62. package/dist/styles.d.ts.map +1 -1
  63. package/dist/styles.js +91 -0
  64. package/dist/styles.js.map +1 -1
  65. package/dist/theme.d.ts.map +1 -1
  66. package/dist/theme.js.map +1 -1
  67. package/package.json +8 -8
@@ -0,0 +1,58 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef, useState } from 'react';
3
+ import { injectStyles } from '../styles';
4
+ /** One-time-code input — authenticator codes, email verification. Handles paste + backspace navigation. */
5
+ export function OtpInput({ length = 6, value, onChange, onComplete, autoFocus, disabled, label = 'Enter the code', }) {
6
+ injectStyles();
7
+ const [inner, setInner] = useState('');
8
+ const refs = useRef([]);
9
+ const current = (value ?? inner).replace(/\D/g, '').slice(0, length);
10
+ function commit(next) {
11
+ const digits = next.replace(/\D/g, '').slice(0, length);
12
+ if (value === undefined)
13
+ setInner(digits);
14
+ onChange?.(digits);
15
+ if (digits.length === length)
16
+ onComplete?.(digits);
17
+ }
18
+ function focusBox(i) {
19
+ const el = refs.current[Math.max(0, Math.min(length - 1, i))];
20
+ el?.focus();
21
+ el?.select();
22
+ }
23
+ return (_jsxs("div", { className: "slx-otp-wrap", children: [label && (_jsx("p", { className: "slx-label", style: { marginBottom: 8 }, children: label })), _jsxs("fieldset", { className: "slx-otp", children: [_jsx("legend", { className: "slx-sr-only", children: label }), Array.from({ length }, (_, i) => (_jsx("input", { ref: (el) => {
24
+ refs.current[i] = el;
25
+ }, className: "slx-input slx-otp-box", type: "text", inputMode: "numeric", autoComplete: i === 0 ? 'one-time-code' : 'off', maxLength: 1, pattern: "[0-9]*", "aria-label": `Digit ${i + 1}`,
26
+ // biome-ignore lint/a11y/noAutofocus: intentional opt-in prop for code-entry UX
27
+ autoFocus: autoFocus && i === 0, disabled: disabled, value: current[i] ?? '', onChange: (e) => {
28
+ const d = e.target.value.replace(/\D/g, '');
29
+ if (!d) {
30
+ commit(current.slice(0, i) + current.slice(i + 1));
31
+ return;
32
+ }
33
+ const next = (current.slice(0, i) +
34
+ d +
35
+ current.slice(i + 1)).slice(0, length);
36
+ commit(next);
37
+ if (i < length - 1)
38
+ focusBox(i + 1);
39
+ }, onKeyDown: (e) => {
40
+ if (e.key === 'Backspace' && !current[i] && i > 0) {
41
+ e.preventDefault();
42
+ commit(current.slice(0, i - 1) + current.slice(i));
43
+ focusBox(i - 1);
44
+ }
45
+ if (e.key === 'ArrowLeft')
46
+ focusBox(i - 1);
47
+ if (e.key === 'ArrowRight')
48
+ focusBox(i + 1);
49
+ }, onPaste: (e) => {
50
+ const text = e.clipboardData.getData('text');
51
+ if (/\d/.test(text)) {
52
+ e.preventDefault();
53
+ commit(current.slice(0, i) + text);
54
+ focusBox(Math.min(length - 1, i + text.replace(/\D/g, '').length));
55
+ }
56
+ }, onFocus: (e) => e.target.select() }, i)))] })] }));
57
+ }
58
+ //# sourceMappingURL=OtpInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OtpInput.js","sourceRoot":"","sources":["../../src/components/OtpInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAezC,2GAA2G;AAC3G,MAAM,UAAU,QAAQ,CAAC,EACvB,MAAM,GAAG,CAAC,EACV,KAAK,EACL,QAAQ,EACR,UAAU,EACV,SAAS,EACT,QAAQ,EACR,KAAK,GAAG,gBAAgB,GACV;IACd,YAAY,EAAE,CAAC;IACf,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,MAAM,CAAiC,EAAE,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAErE,SAAS,MAAM,CAAC,IAAY;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,SAAS;YAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1C,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;QACnB,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;YAAE,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAED,SAAS,QAAQ,CAAC,CAAS;QACzB,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,EAAE,EAAE,KAAK,EAAE,CAAC;QACZ,EAAE,EAAE,MAAM,EAAE,CAAC;IACf,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,cAAc,aAC1B,KAAK,IAAI,CACR,YAAG,SAAS,EAAC,WAAW,EAAC,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,YAChD,KAAK,GACJ,CACL,EACD,oBAAU,SAAS,EAAC,SAAS,aAC3B,iBAAQ,SAAS,EAAC,aAAa,YAAE,KAAK,GAAU,EAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAChC,gBAGE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;4BACV,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;wBACvB,CAAC,EACD,SAAS,EAAC,uBAAuB,EACjC,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,SAAS,EACnB,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,EAC/C,SAAS,EAAE,CAAC,EACZ,OAAO,EAAC,QAAQ,gBACJ,SAAS,CAAC,GAAG,CAAC,EAAE;wBAC5B,gFAAgF;wBAChF,SAAS,EAAE,SAAS,IAAI,CAAC,KAAK,CAAC,EAC/B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EACvB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;4BACd,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;4BAC5C,IAAI,CAAC,CAAC,EAAE,CAAC;gCACP,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gCACnD,OAAO;4BACT,CAAC;4BACD,MAAM,IAAI,GAAG,CACX,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gCACnB,CAAC;gCACD,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CACrB,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;4BACnB,MAAM,CAAC,IAAI,CAAC,CAAC;4BACb,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC;gCAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACtC,CAAC,EACD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;4BACf,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gCAClD,CAAC,CAAC,cAAc,EAAE,CAAC;gCACnB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gCACnD,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;4BAClB,CAAC;4BACD,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW;gCAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;4BAC3C,IAAI,CAAC,CAAC,GAAG,KAAK,YAAY;gCAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC9C,CAAC,EACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;4BACb,MAAM,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;4BAC7C,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gCACpB,CAAC,CAAC,cAAc,EAAE,CAAC;gCACnB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;gCACnC,QAAQ,CACN,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CACzD,CAAC;4BACJ,CAAC;wBACH,CAAC,EACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAhD5B,CAAC,CAiDN,CACH,CAAC,IACO,IACP,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ export type StrengthScore = 0 | 1 | 2 | 3 | 4;
2
+ /** Score a password 0–4 by length + character variety. Pure function, testable. */
3
+ export declare function passwordScore(pw: string): StrengthScore;
4
+ export interface PasswordStrengthProps {
5
+ password: string;
6
+ /** Show the text label next to the meter (default true). */
7
+ showLabel?: boolean;
8
+ }
9
+ /** 5-segment strength meter. Pair with a password field. */
10
+ export declare function PasswordStrength({ password, showLabel, }: PasswordStrengthProps): import("react").JSX.Element;
11
+ //# sourceMappingURL=PasswordStrength.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PasswordStrength.d.ts","sourceRoot":"","sources":["../../src/components/PasswordStrength.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAI9C,mFAAmF;AACnF,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CASvD;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,4DAA4D;AAC5D,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,SAAgB,GACjB,EAAE,qBAAqB,+BAiCvB"}
@@ -0,0 +1,34 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { injectStyles } from '../styles';
3
+ const LABELS = ['Too weak', 'Weak', 'Okay', 'Good', 'Strong'];
4
+ /** Score a password 0–4 by length + character variety. Pure function, testable. */
5
+ export function passwordScore(pw) {
6
+ if (!pw)
7
+ return 0;
8
+ let score = 0;
9
+ if (pw.length >= 8)
10
+ score += 1;
11
+ if (pw.length >= 12)
12
+ score += 1;
13
+ if (/[a-z]/.test(pw) && /[A-Z]/.test(pw))
14
+ score += 1;
15
+ if (/\d/.test(pw))
16
+ score += 1;
17
+ if (/[^a-zA-Z0-9]/.test(pw))
18
+ score += 1;
19
+ return Math.min(4, score);
20
+ }
21
+ /** 5-segment strength meter. Pair with a password field. */
22
+ export function PasswordStrength({ password, showLabel = true, }) {
23
+ injectStyles();
24
+ const score = passwordScore(password);
25
+ const tone = score <= 1
26
+ ? 'var(--slx-danger)'
27
+ : score === 2
28
+ ? '#d97706'
29
+ : score === 3
30
+ ? 'var(--slx-accent)'
31
+ : 'var(--slx-success)';
32
+ return (_jsxs("div", { className: "slx-meter-wrap", "aria-live": "polite", children: [_jsx("div", { className: "slx-meter", role: "img", "aria-label": `Password strength: ${LABELS[score]} (${score} of 4)`, children: [0, 1, 2, 3].map((i) => (_jsx("i", { className: i < score ? 'on' : undefined, style: i < score ? { background: tone } : undefined }, i))) }), showLabel && password && (_jsx("span", { className: "slx-meter-label", style: { color: tone }, children: LABELS[score] }))] }));
33
+ }
34
+ //# sourceMappingURL=PasswordStrength.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PasswordStrength.js","sourceRoot":"","sources":["../../src/components/PasswordStrength.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAIzC,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAC;AAEvE,mFAAmF;AACnF,MAAM,UAAU,aAAa,CAAC,EAAU;IACtC,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,CAAC;IAClB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC;QAAE,KAAK,IAAI,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE;QAAE,KAAK,IAAI,CAAC,CAAC;IAChC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,KAAK,IAAI,CAAC,CAAC;IACrD,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,KAAK,IAAI,CAAC,CAAC;IAC9B,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,KAAK,IAAI,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAkB,CAAC;AAC7C,CAAC;AAQD,4DAA4D;AAC5D,MAAM,UAAU,gBAAgB,CAAC,EAC/B,QAAQ,EACR,SAAS,GAAG,IAAI,GACM;IACtB,YAAY,EAAE,CAAC;IACf,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,IAAI,GACR,KAAK,IAAI,CAAC;QACR,CAAC,CAAC,mBAAmB;QACrB,CAAC,CAAC,KAAK,KAAK,CAAC;YACX,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,KAAK,KAAK,CAAC;gBACX,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,oBAAoB,CAAC;IAC/B,OAAO,CACL,eAAK,SAAS,EAAC,gBAAgB,eAAW,QAAQ,aAChD,cACE,SAAS,EAAC,WAAW,EACrB,IAAI,EAAC,KAAK,gBACE,sBAAsB,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,YAEhE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACvB,YAEE,SAAS,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EACvC,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,IAF9C,CAAC,CAGN,CACH,CAAC,GACE,EACL,SAAS,IAAI,QAAQ,IAAI,CACxB,eAAM,SAAS,EAAC,iBAAiB,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,YACrD,MAAM,CAAC,KAAK,CAAC,GACT,CACR,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { CSSProperties } from 'react';
2
+ import type { SlyxUpTheme } from '../../theme';
3
+ export interface PlanCardPlan {
4
+ id: string;
5
+ name: string;
6
+ amount: number;
7
+ currency: string;
8
+ interval: 'month' | 'year';
9
+ trialDays: number | null;
10
+ features: string[] | null;
11
+ isPopular: boolean;
12
+ }
13
+ export interface PlanCardProps {
14
+ plan: PlanCardPlan;
15
+ /** Renders the disabled current-plan state instead of the CTA. */
16
+ current?: boolean;
17
+ currentLabel?: string;
18
+ ctaLabel?: string;
19
+ popularBadgeText?: string;
20
+ onSelect?: (plan: PlanCardPlan) => void;
21
+ loading?: boolean;
22
+ /** Per-component theme (accent, mode, radius…) — scoped, never global. */
23
+ theme?: SlyxUpTheme;
24
+ style?: CSSProperties;
25
+ className?: string;
26
+ }
27
+ /** Single pricing card — use standalone or inside PricingTable. */
28
+ export declare function PlanCard({ plan, current, currentLabel, ctaLabel, popularBadgeText, onSelect, loading, theme, style, className, }: PlanCardProps): import("react").JSX.Element;
29
+ //# sourceMappingURL=PlanCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlanCard.d.ts","sourceRoot":"","sources":["../../../src/components/PlanCard/PlanCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,MAAM,WAAW,YAAY;IAC3B,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,aAAa;IAC5B,IAAI,EAAE,YAAY,CAAC;IACnB,kEAAkE;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,mEAAmE;AACnE,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,OAAe,EACf,YAA6B,EAC7B,QAAwB,EACxB,gBAA4B,EAC5B,QAAQ,EACR,OAAO,EACP,KAAK,EACL,KAAK,EACL,SAAS,GACV,EAAE,aAAa,+BAsGf"}
@@ -0,0 +1,46 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { injectStyles } from '../../styles';
4
+ import { useScopedTheme } from '../../lib/scoped-theme';
5
+ /** Single pricing card — use standalone or inside PricingTable. */
6
+ export function PlanCard({ plan, current = false, currentLabel = 'Current plan', ctaLabel = 'Get started', popularBadgeText = 'POPULAR', onSelect, loading, theme, style, className, }) {
7
+ injectStyles();
8
+ const ref = useScopedTheme(theme);
9
+ return (_jsxs("div", { ref: ref, className: `slx-card${plan.isPopular ? ' slx-card-popular' : ''} ${className ?? ''}`, style: {
10
+ position: plan.isPopular ? 'relative' : undefined,
11
+ borderColor: plan.isPopular ? 'var(--slx-accent)' : undefined,
12
+ display: 'flex',
13
+ flexDirection: 'column',
14
+ ...style,
15
+ }, children: [plan.isPopular && (_jsx("span", { style: {
16
+ position: 'absolute',
17
+ top: -11,
18
+ right: 20,
19
+ fontSize: 10.5,
20
+ fontFamily: 'var(--slx-mono)',
21
+ background: 'linear-gradient(135deg, color-mix(in srgb, var(--slx-accent) 78%, #0c0c12), color-mix(in srgb, var(--slx-accent-2) 55%, #0c0c12))',
22
+ color: '#fff',
23
+ padding: '3px 10px',
24
+ borderRadius: 999,
25
+ }, children: popularBadgeText })), _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: {
26
+ fontSize: 38,
27
+ fontWeight: 750,
28
+ letterSpacing: '-0.03em',
29
+ fontFamily: 'var(--slx-display)',
30
+ }, children: ["$", (plan.amount / 100).toFixed(0)] }), _jsxs("span", { style: { fontSize: 14, color: 'var(--slx-muted)' }, children: ["/", plan.interval] })] }), plan.trialDays ? (_jsxs("p", { style: {
31
+ fontSize: 12,
32
+ color: 'var(--slx-accent)',
33
+ marginBottom: 4,
34
+ }, 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: {
35
+ fontSize: 13.5,
36
+ color: 'var(--slx-ink)',
37
+ padding: '5px 0 5px 24px',
38
+ position: 'relative',
39
+ }, children: [_jsx("span", { style: {
40
+ position: 'absolute',
41
+ left: 0,
42
+ color: '#34d399',
43
+ fontWeight: 700,
44
+ }, children: "\u2713" }), ' ', f] }, f))) }), _jsx("button", { type: "button", className: "slx-btn", onClick: () => (current ? undefined : onSelect?.(plan)), disabled: loading || current, style: current ? { opacity: 0.65, cursor: 'default' } : undefined, children: current ? currentLabel : ctaLabel })] }));
45
+ }
46
+ //# sourceMappingURL=PlanCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlanCard.js","sourceRoot":"","sources":["../../../src/components/PlanCard/PlanCard.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AA4BxD,mEAAmE;AACnE,MAAM,UAAU,QAAQ,CAAC,EACvB,IAAI,EACJ,OAAO,GAAG,KAAK,EACf,YAAY,GAAG,cAAc,EAC7B,QAAQ,GAAG,aAAa,EACxB,gBAAgB,GAAG,SAAS,EAC5B,QAAQ,EACR,OAAO,EACP,KAAK,EACL,KAAK,EACL,SAAS,GACK;IACd,YAAY,EAAE,CAAC;IACf,MAAM,GAAG,GAAG,cAAc,CAAiB,KAAK,CAAC,CAAC;IAClD,OAAO,CACL,eACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,IAAI,SAAS,IAAI,EAAE,EAAE,EACpF,KAAK,EAAE;YACL,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YACjD,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS;YAC7D,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,GAAG,KAAK;SACT,aAEA,IAAI,CAAC,SAAS,IAAI,CACjB,eACE,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,CAAC,EAAE;oBACR,KAAK,EAAE,EAAE;oBACT,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,iBAAiB;oBAC7B,UAAU,EACR,mIAAmI;oBACrI,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,UAAU;oBACnB,YAAY,EAAE,GAAG;iBAClB,YAEA,gBAAgB,GACZ,CACR,EACD,aAAI,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,kBAAkB,EAAE,YACpE,IAAI,CAAC,IAAI,GACP,EACL,eAAK,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,aACjC,gBACE,KAAK,EAAE;4BACL,QAAQ,EAAE,EAAE;4BACZ,UAAU,EAAE,GAAG;4BACf,aAAa,EAAE,SAAS;4BACxB,UAAU,EAAE,oBAAoB;yBACjC,kBAEC,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAC3B,EACP,gBAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,kBACpD,IAAI,CAAC,QAAQ,IACV,IACH,EACL,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAChB,aACE,KAAK,EAAE;oBACL,QAAQ,EAAE,EAAE;oBACZ,KAAK,EAAE,mBAAmB;oBAC1B,YAAY,EAAE,CAAC;iBAChB,aAEA,IAAI,CAAC,SAAS,uBACb,CACL,CAAC,CAAC,CAAC,CACF,YAAG,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,EAAE,uBAE7D,CACL,EACD,aAAI,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,YAC5D,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAc,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CACtD,cAEE,KAAK,EAAE;wBACL,QAAQ,EAAE,IAAI;wBACd,KAAK,EAAE,gBAAgB;wBACvB,OAAO,EAAE,gBAAgB;wBACzB,QAAQ,EAAE,UAAU;qBACrB,aAED,eACE,KAAK,EAAE;gCACL,QAAQ,EAAE,UAAU;gCACpB,IAAI,EAAE,CAAC;gCACP,KAAK,EAAE,SAAS;gCAChB,UAAU,EAAE,GAAG;6BAChB,uBAGI,EAAC,GAAG,EACV,CAAC,KAlBG,CAAC,CAmBH,CACN,CAAC,GACC,EACL,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,SAAS,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,EACvD,QAAQ,EAAE,OAAO,IAAI,OAAO,EAC5B,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,YAEhE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,GAC3B,IACL,CACP,CAAC;AACJ,CAAC"}
@@ -1,19 +1,22 @@
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
- }
1
+ import type { CSSProperties } from 'react';
2
+ import type { SlyxUpTheme } from '../../theme';
3
+ import { type PlanCardPlan } from '../PlanCard/PlanCard';
4
+ export type PricingPlan = PlanCardPlan;
11
5
  export interface PricingTableProps {
12
- plans: Plan[];
13
- onSelect?: (plan: Plan) => void;
6
+ plans: PricingPlan[];
7
+ onSelect?: (plan: PricingPlan) => void;
14
8
  loading?: boolean;
9
+ /** Plan id treated as the user's current plan — its button renders
10
+ * `currentLabel` disabled instead of "Get started". Pass the active
11
+ * subscription's planId, or the $0 plan's id when on the free tier. */
12
+ currentPlanId?: string | null;
13
+ currentLabel?: string;
14
+ ctaLabel?: string;
15
+ /** Per-component theme (accent, mode, radius…) — scoped, never global. */
16
+ theme?: SlyxUpTheme;
17
+ style?: CSSProperties;
18
+ className?: string;
15
19
  }
16
- /** Clean pricing grid with popular badge */
17
- export declare function PricingTable({ plans, onSelect, loading }: PricingTableProps): import("react").JSX.Element;
18
- export {};
20
+ /** Clean pricing grid with popular badge. Composes PlanCard per plan. */
21
+ export declare function PricingTable({ plans, onSelect, loading, currentPlanId, currentLabel, ctaLabel, theme, style, className, }: PricingTableProps): import("react").JSX.Element;
19
22
  //# sourceMappingURL=PricingTable.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"PricingTable.d.ts","sourceRoot":"","sources":["../../../src/components/PricingTable/PricingTable.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEnE,MAAM,MAAM,WAAW,GAAG,YAAY,CAAC;AAQvC,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;4EAEwE;IACxE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,OAAO,EACP,aAAoB,EACpB,YAA6B,EAC7B,QAAwB,EACxB,KAAK,EACL,KAAK,EACL,SAAS,GACV,EAAE,iBAAiB,+BA0CnB"}
@@ -1,54 +1,23 @@
1
1
  'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { injectStyles } from '../../styles';
4
- /** Clean pricing grid with popular badge */
5
- export function PricingTable({ plans, onSelect, loading }) {
4
+ import { useScopedTheme } from '../../lib/scoped-theme';
5
+ import { PlanCard } from '../PlanCard/PlanCard';
6
+ const PRICING_GRID_CSS = [
7
+ '.slx-pricing-grid{display:grid;gap:16px;grid-template-columns:1fr}',
8
+ '@media(min-width:640px){.slx-pricing-grid.slx-pricing-grid--2,.slx-pricing-grid.slx-pricing-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}',
9
+ '@media(min-width:1024px){.slx-pricing-grid.slx-pricing-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}',
10
+ ].join('');
11
+ /** Clean pricing grid with popular badge. Composes PlanCard per plan. */
12
+ export function PricingTable({ plans, onSelect, loading, currentPlanId = null, currentLabel = 'Current plan', ctaLabel = 'Get started', theme, style, className, }) {
6
13
  injectStyles();
14
+ const ref = useScopedTheme(theme);
15
+ // Responsive columns: 1 per row on mobile, scaling up to 3 on desktop.
16
+ const cols = Math.min(Math.max(plans.length, 1), 3);
17
+ const gridClass = `slx-pricing-grid slx-pricing-grid--${cols} ${className ?? ''}`;
7
18
  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))) }));
19
+ return (_jsxs(_Fragment, { children: [_jsx("style", { children: PRICING_GRID_CSS }), _jsx("div", { ref: ref, className: gridClass, style: style, children: [1, 2, 3].map((i) => (_jsx("div", { className: "slx-card", style: { minHeight: 320 }, "aria-busy": "true" }, i))) })] }));
13
20
  }
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, color-mix(in srgb, var(--slx-accent) 78%, #0c0c12), color-mix(in srgb, var(--slx-accent-2) 55%, #0c0c12))',
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: 'var(--slx-display)',
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))) }));
21
+ return (_jsxs(_Fragment, { children: [_jsx("style", { children: PRICING_GRID_CSS }), _jsx("div", { ref: ref, className: gridClass, style: style, children: plans.map((plan) => (_jsx(PlanCard, { plan: plan, current: currentPlanId != null && plan.id === currentPlanId, currentLabel: currentLabel, ctaLabel: ctaLabel, onSelect: onSelect, loading: loading }, plan.id))) })] }));
53
22
  }
54
23
  //# sourceMappingURL=PricingTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PricingTable.js","sourceRoot":"","sources":["../../../src/components/PricingTable/PricingTable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PricingTable.js","sourceRoot":"","sources":["../../../src/components/PricingTable/PricingTable.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAqB,MAAM,sBAAsB,CAAC;AAInE,MAAM,gBAAgB,GAAG;IACvB,oEAAoE;IACpE,qJAAqJ;IACrJ,gHAAgH;CACjH,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAkBX,yEAAyE;AACzE,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,OAAO,EACP,aAAa,GAAG,IAAI,EACpB,YAAY,GAAG,cAAc,EAC7B,QAAQ,GAAG,aAAa,EACxB,KAAK,EACL,KAAK,EACL,SAAS,GACS;IAClB,YAAY,EAAE,CAAC;IACf,MAAM,GAAG,GAAG,cAAc,CAAiB,KAAK,CAAC,CAAC;IAClD,uEAAuE;IACvE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,sCAAsC,IAAI,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;IAClF,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,8BACE,0BAAQ,gBAAgB,GAAS,EACjC,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,YAC9C,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACpB,cAEE,SAAS,EAAC,UAAU,EACpB,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eACf,MAAM,IAHX,CAAC,CAIN,CACH,CAAC,GACE,IACL,CACJ,CAAC;IACJ,CAAC;IAED,OAAO,CACL,8BACE,0BAAQ,gBAAgB,GAAS,EACjC,cAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,YAC9C,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,KAAC,QAAQ,IAEP,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,EAC3D,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,IANX,IAAI,CAAC,EAAE,CAOZ,CACH,CAAC,GACE,IACL,CACJ,CAAC;AACJ,CAAC"}
@@ -67,7 +67,7 @@ export function SignIn({ social = true, onSuccess, onSignUpClick, onForgotPasswo
67
67
  const missingKey = !client.publishableKey ||
68
68
  client.publishableKey === 'pk_test_missing' ||
69
69
  client.publishableKey.includes('REPLACE');
70
- return (_jsxs("div", { ref: cardRef, className: `slx-card${error ? ' slx-card-error' : ''}${layout === 'centered' ? '' : ` slx-layout-${layout}`}`, children: [layout === 'split' && (_jsxs("div", { className: "slx-split-brand", children: [_jsx("div", { className: "slx-split-mark", children: _jsx(KeyholeMark, {}) }), _jsx("h2", { className: "slx-split-title", children: brandTitle }), _jsx("p", { className: "slx-split-sub", children: brandSubtitle }), _jsx("ul", { className: "slx-split-points", children: brandPoints.map((pt) => (_jsx("li", { children: pt }, pt))) })] })), _jsxs("div", { className: layout === 'split' ? 'slx-split-form' : 'slx-form-full', children: [missingKey && (_jsxs("p", { className: "slx-setup-note", 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 })), challengeToken ? (_jsxs("form", { onSubmit: onSubmit2FA, noValidate: false, children: [_jsxs("div", { className: "slx-field", children: [_jsx("label", { className: "slx-label", htmlFor: "slx-signin-2fa", children: "Authenticator code" }), _jsx("input", { id: "slx-signin-2fa", className: "slx-input", type: "text", inputMode: "numeric", autoComplete: "off", maxLength: 6, pattern: "[0-9]*", placeholder: "000000", value: tfaCode, onChange: (e) => setTfaCode(e.target.value.replace(/\D/g, '')), required: true }), _jsx("p", { className: "slx-hint", children: "Enter the 6-digit code from your authenticator app." })] }), _jsxs("button", { className: "slx-btn", type: "submit", disabled: busy, children: [busy && _jsx("span", { className: "slx-spinner", "aria-hidden": "true" }), busy ? 'Verifying…' : 'Verify code'] }), _jsx("button", { type: "button", className: "slx-link", style: { marginTop: 8 }, onClick: () => {
70
+ return (_jsxs("div", { ref: cardRef, className: `slx-card${error ? ' slx-card-error' : ''}${layout === 'centered' ? '' : ` slx-layout-${layout}`}`, children: [layout === 'split' && (_jsxs("div", { className: "slx-split-brand", children: [_jsx("div", { className: "slx-split-mark", children: _jsx(KeyholeMark, {}) }), _jsx("h2", { className: "slx-split-title", children: brandTitle }), _jsx("p", { className: "slx-split-sub", children: brandSubtitle }), _jsx("ul", { className: "slx-split-points", children: brandPoints.map((pt) => (_jsx("li", { children: pt }, pt))) })] })), _jsxs("div", { className: layout === 'split' ? 'slx-split-form' : 'slx-form-full', children: [missingKey && (_jsxs("p", { className: "slx-setup-note", children: [_jsx("strong", { children: "Setup:" }), " Add", ' ', _jsx("code", { children: "NEXT_PUBLIC_SLYXUP_PUBLISHABLE_KEY" }), " to", ' ', _jsx("code", { children: ".env.local" })] })), _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 })), challengeToken ? (_jsxs("form", { onSubmit: onSubmit2FA, noValidate: false, children: [_jsxs("div", { className: "slx-field", children: [_jsx("label", { className: "slx-label", htmlFor: "slx-signin-2fa", children: "Authenticator code" }), _jsx("input", { id: "slx-signin-2fa", className: "slx-input", type: "text", inputMode: "numeric", autoComplete: "off", maxLength: 6, pattern: "[0-9]*", placeholder: "000000", value: tfaCode, onChange: (e) => setTfaCode(e.target.value.replace(/\D/g, '')), required: true }), _jsx("p", { className: "slx-hint", children: "Enter the 6-digit code from your authenticator app." })] }), _jsxs("button", { className: "slx-btn", type: "submit", disabled: busy, children: [busy && _jsx("span", { className: "slx-spinner", "aria-hidden": "true" }), busy ? 'Verifying…' : 'Verify code'] }), _jsx("button", { type: "button", className: "slx-link", style: { marginTop: 8 }, onClick: () => {
71
71
  setChallengeToken(null);
72
72
  setTfaCode('');
73
73
  }, children: "\u2190 Back to sign in" })] })) : (_jsxs("form", { onSubmit: onSubmit, noValidate: false, children: [_jsxs("div", { className: "slx-field", children: [_jsx("label", { className: "slx-label", htmlFor: "slx-signin-email", children: username ? (_jsxs(_Fragment, { children: ["Username ", _jsx("span", { className: "slx-hint", children: "or email" })] })) : ('Email') }), _jsx("input", { id: "slx-signin-email", className: "slx-input", type: "text", autoComplete: "username", placeholder: "you@example.com or yourname", value: email, onChange: (e) => setEmail(e.target.value), required: true })] }), _jsxs("div", { className: "slx-field", children: [_jsxs("div", { className: "slx-row", children: [_jsx("label", { className: "slx-label", htmlFor: "slx-signin-password", children: "Password" }), onForgotPasswordClick && (_jsx("button", { type: "button", className: "slx-link slx-forgot", onClick: onForgotPasswordClick, children: "Forgot password?" }))] }), _jsx(PasswordField, { id: "slx-signin-password", value: password, onChange: setPassword, autoComplete: "current-password", placeholder: "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022", required: true })] }), _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" })] }))] })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"SignIn.js","sourceRoot":"","sources":["../../../src/components/SignIn/SignIn.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SignIn.js","sourceRoot":"","sources":["../../../src/components/SignIn/SignIn.tsx"],"names":[],"mappings":"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"}
@@ -53,6 +53,6 @@ export function SignUp({ social = true, onSuccess, onSignInClick, layout = 'cent
53
53
  const missingKey = !client.publishableKey ||
54
54
  client.publishableKey === 'pk_test_missing' ||
55
55
  client.publishableKey.includes('REPLACE');
56
- return (_jsxs("div", { ref: cardRef, className: `slx-card${error ? ' slx-card-error' : ''}${layout === 'centered' ? '' : ` slx-layout-${layout}`}`, children: [layout === 'split' && (_jsxs("div", { className: "slx-split-brand", children: [_jsx("div", { className: "slx-split-mark", children: _jsx(KeyholeMark, {}) }), _jsx("h2", { className: "slx-split-title", children: brandTitle }), _jsx("p", { className: "slx-split-sub", children: brandSubtitle }), _jsx("ul", { className: "slx-split-points", children: brandPoints.map((pt) => (_jsx("li", { children: pt }, pt))) })] })), _jsxs("div", { className: layout === 'split' ? 'slx-split-form' : 'slx-form-full', children: [missingKey && (_jsxs("p", { className: "slx-setup-note", 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 })), successEmail && (_jsxs("p", { className: "slx-success-text", "aria-live": "polite", style: { color: 'var(--slx-success)' }, children: ["Account created! We sent a verification link to", ' ', _jsx("strong", { children: successEmail }), ". Check your inbox to verify and sign in."] })), _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) })] }), showUsername && (_jsxs("div", { className: "slx-field", children: [_jsx("label", { className: "slx-label", htmlFor: "slx-signup-username", children: "Username" }), _jsx("input", { id: "slx-signup-username", className: "slx-input", type: "text", autoComplete: "username", placeholder: "ada", value: username, onChange: (e) => setUsername(e.target.value) }), _jsx("p", { className: "slx-hint", children: "Optional \u2014 lets you sign in with a username instead of your email." })] })), _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(PasswordField, { id: "slx-signup-password", value: password, onChange: setPassword, autoComplete: "new-password", placeholder: "At least 8 characters", 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" })] }))] })] }));
56
+ return (_jsxs("div", { ref: cardRef, className: `slx-card${error ? ' slx-card-error' : ''}${layout === 'centered' ? '' : ` slx-layout-${layout}`}`, children: [layout === 'split' && (_jsxs("div", { className: "slx-split-brand", children: [_jsx("div", { className: "slx-split-mark", children: _jsx(KeyholeMark, {}) }), _jsx("h2", { className: "slx-split-title", children: brandTitle }), _jsx("p", { className: "slx-split-sub", children: brandSubtitle }), _jsx("ul", { className: "slx-split-points", children: brandPoints.map((pt) => (_jsx("li", { children: pt }, pt))) })] })), _jsxs("div", { className: layout === 'split' ? 'slx-split-form' : 'slx-form-full', children: [missingKey && (_jsxs("p", { className: "slx-setup-note", children: [_jsx("strong", { children: "Setup:" }), " Add", ' ', _jsx("code", { children: "NEXT_PUBLIC_SLYXUP_PUBLISHABLE_KEY" }), " \u2014 run", ' ', _jsx("code", { children: ".env.local" })] })), _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 })), successEmail && (_jsxs("p", { className: "slx-success-text", "aria-live": "polite", style: { color: 'var(--slx-success)' }, children: ["Account created! We sent a verification link to", ' ', _jsx("strong", { children: successEmail }), ". Check your inbox to verify and sign in."] })), _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) })] }), showUsername && (_jsxs("div", { className: "slx-field", children: [_jsx("label", { className: "slx-label", htmlFor: "slx-signup-username", children: "Username" }), _jsx("input", { id: "slx-signup-username", className: "slx-input", type: "text", autoComplete: "username", placeholder: "ada", value: username, onChange: (e) => setUsername(e.target.value) }), _jsx("p", { className: "slx-hint", children: "Optional \u2014 lets you sign in with a username instead of your email." })] })), _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(PasswordField, { id: "slx-signup-password", value: password, onChange: setPassword, autoComplete: "new-password", placeholder: "At least 8 characters", 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" })] }))] })] }));
57
57
  }
58
58
  //# 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,EAAkB,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAgBjD,2CAA2C;AAC3C,MAAM,UAAU,MAAM,CAAC,EACrB,MAAM,GAAG,IAAI,EACb,SAAS,EACT,aAAa,EACb,MAAM,GAAG,UAAU,EACnB,QAAQ,EAAE,YAAY,GAAG,IAAI,EAC7B,UAAU,GAAG,qBAAqB,EAClC,aAAa,GAAG,4CAA4C,EAC5D,WAAW,GAAG,CAAC,8BAA8B,EAAE,uCAAuC,EAAE,4BAA4B,CAAC,GACzG;IACZ,YAAY,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,EAGjC,CAAC;IACF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YACjD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,KAAK,UAAU,QAAQ,CAAC,CAAY;QAClC,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,CAAC;YACH,MAAM,MAAM,CAAC;gBACX,KAAK;gBACL,QAAQ;gBACR,SAAS,EAAE,SAAS,IAAI,SAAS;gBACjC,QAAQ,EAAE,QAAQ,IAAI,SAAS;aAChC,CAAC,CAAC;YACH,eAAe,CAAC,KAAK,CAAC,CAAC;YACvB,SAAS,EAAE,EAAE,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CACN,GAAG,YAAY,WAAW;gBACxB,CAAC,CAAC,GAAG,CAAC,OAAO;gBACb,CAAC,CAAC,kCAAkC,CACvC,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,SAAS,KAAK,CAAC,QAA6B;QAC1C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,aAAa,QAAQ,iBAAiB,QAAQ,EAAE,CAAC;IAC1F,CAAC;IAED,MAAM,UAAU,GACd,CAAC,MAAM,CAAC,cAAc;QACtB,MAAM,CAAC,cAAc,KAAK,iBAAiB;QAC3C,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAE5C,OAAO,CACL,eACE,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,WAAW,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,MAAM,EAAE,EAAE,aAE5G,MAAM,KAAK,OAAO,IAAI,CACrB,eAAK,SAAS,EAAC,iBAAiB,aAC9B,cAAK,SAAS,EAAC,gBAAgB,YAC7B,KAAC,WAAW,KAAG,GACX,EACN,aAAI,SAAS,EAAC,iBAAiB,YAAE,UAAU,GAAM,EACjD,YAAG,SAAS,EAAC,eAAe,YAAE,aAAa,GAAK,EAChD,aAAI,SAAS,EAAC,kBAAkB,YAC7B,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CACvB,uBAAc,EAAE,IAAP,EAAE,CAAW,CACvB,CAAC,GACC,IACD,CACP,EACD,eAAK,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,aACtE,UAAU,IAAI,CACb,aAAG,SAAS,EAAC,gBAAgB,aAC3B,sCAAuB,UAAK,GAAG,EAC/B,gEAA+C,iBAAO,GAAG,EACzD,yDAAwC,IACtC,CACL,EACD,cAAK,SAAS,EAAC,UAAU,YACvB,KAAC,WAAW,KAAG,GACX,EACN,aAAI,SAAS,EAAC,WAAW,oCAAyB,EAClD,YAAG,SAAS,EAAC,cAAc,2DAA+C,EAEzE,MAAM,IAAI,CACT,8BACE,eAAK,SAAS,EAAC,YAAY,aACzB,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,gBAAgB,EAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,aAE9B,KAAC,UAAU,KAAG,6BACP,EACT,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,gBAAgB,EAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,aAE9B,KAAC,UAAU,KAAG,6BACP,IACL,EACN,cAAK,SAAS,EAAC,aAAa,mBAAS,IACpC,CACJ,EAEA,KAAK,IAAI,CACR,YAAG,SAAS,EAAC,gBAAgB,EAAC,IAAI,EAAC,OAAO,YACvC,KAAK,GACJ,CACL,EAEA,YAAY,IAAI,CACf,aACE,SAAS,EAAC,kBAAkB,eAClB,QAAQ,EAClB,KAAK,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,gEAEU,GAAG,EACnD,2BAAS,YAAY,GAAU,iDAE7B,CACL,EAED,gBAAM,QAAQ,EAAE,QAAQ,aACtB,eAAK,SAAS,EAAC,WAAW,aACxB,gBAAO,SAAS,EAAC,WAAW,EAAC,OAAO,EAAC,iBAAiB,2BAE9C,EACR,gBACE,EAAE,EAAC,iBAAiB,EACpB,SAAS,EAAC,WAAW,EACrB,IAAI,EAAC,MAAM,EACX,YAAY,EAAC,YAAY,EACzB,WAAW,EAAC,KAAK,EACjB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAC7C,IACE,EACL,YAAY,IAAI,CACf,eAAK,SAAS,EAAC,WAAW,aACxB,gBAAO,SAAS,EAAC,WAAW,EAAC,OAAO,EAAC,qBAAqB,yBAElD,EACV,gBACE,EAAE,EAAC,qBAAqB,EACxB,SAAS,EAAC,WAAW,EACrB,IAAI,EAAC,MAAM,EACX,YAAY,EAAC,UAAU,EACvB,WAAW,EAAC,KAAK,EACjB,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAC5C,EACF,YAAG,SAAS,EAAC,UAAU,wFAEnB,IACE,CACP,EACD,eAAK,SAAS,EAAC,WAAW,aACxB,gBAAO,SAAS,EAAC,WAAW,EAAC,OAAO,EAAC,kBAAkB,sBAE/C,EACR,gBACE,EAAE,EAAC,kBAAkB,EACrB,SAAS,EAAC,WAAW,EACrB,IAAI,EAAC,OAAO,EACZ,YAAY,EAAC,OAAO,EACpB,WAAW,EAAC,iBAAiB,EAC7B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,QAAQ,SACR,IACE,EACN,eAAK,SAAS,EAAC,WAAW,aACxB,gBAAO,SAAS,EAAC,WAAW,EAAC,OAAO,EAAC,qBAAqB,yBAElD,EACR,KAAC,aAAa,IACZ,EAAE,EAAC,qBAAqB,EACxB,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,WAAW,EACrB,YAAY,EAAC,cAAc,EAC3B,WAAW,EAAC,uBAAuB,EACnC,QAAQ,QACR,SAAS,EAAE,CAAC,GACZ,EACF,YAAG,SAAS,EAAC,UAAU,qEAEnB,IACA,EACN,kBAAQ,SAAS,EAAC,SAAS,EAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,IAAI,aACrD,IAAI,IAAI,eAAM,SAAS,EAAC,aAAa,iBAAa,MAAM,GAAG,EAC3D,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,IACvC,IACJ,EAEN,aAAa,IAAI,CAChB,aAAG,SAAS,EAAC,YAAY,yCACE,GAAG,EAC5B,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,UAAU,EAAC,OAAO,EAAE,aAAa,wBAExD,IACP,CACL,IACK,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"SignUp.js","sourceRoot":"","sources":["../../../src/components/SignUp/SignUp.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { CSSProperties } from 'react';
2
+ import type { SlyxUpTheme } from '../../theme';
3
+ export interface SubscriptionStatusProps {
4
+ status: string;
5
+ /** Per-component theme (accent, mode, radius…) — scoped, never global. */
6
+ theme?: SlyxUpTheme;
7
+ style?: CSSProperties;
8
+ className?: string;
9
+ }
10
+ /** Tiny status pill — use anywhere you show plan state. */
11
+ export declare function SubscriptionStatus({ status, theme, style, className, }: SubscriptionStatusProps): import("react").JSX.Element;
12
+ //# sourceMappingURL=SubscriptionStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubscriptionStatus.d.ts","sourceRoot":"","sources":["../../../src/components/SubscriptionStatus/SubscriptionStatus.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAiBD,2DAA2D;AAC3D,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,KAAK,EACL,KAAK,EACL,SAAS,GACV,EAAE,uBAAuB,+BAqBzB"}
@@ -0,0 +1,31 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { injectStyles } from '../../styles';
4
+ import { useScopedTheme } from '../../lib/scoped-theme';
5
+ function toneFor(status) {
6
+ switch (status) {
7
+ case 'active':
8
+ case 'trialing':
9
+ return { background: 'rgba(52,211,153,.12)', color: '#34d399' };
10
+ case 'past_due':
11
+ return { background: 'rgba(214,69,80,.1)', color: 'var(--slx-danger)' };
12
+ default:
13
+ return { background: 'var(--slx-accent-soft)', color: 'var(--slx-muted)' };
14
+ }
15
+ }
16
+ /** Tiny status pill — use anywhere you show plan state. */
17
+ export function SubscriptionStatus({ status, theme, style, className, }) {
18
+ injectStyles();
19
+ const ref = useScopedTheme(theme);
20
+ const tone = toneFor(status);
21
+ return (_jsx("span", { ref: ref, className: className, style: {
22
+ fontSize: 11.5,
23
+ fontWeight: 600,
24
+ padding: '2px 10px',
25
+ borderRadius: 999,
26
+ background: tone.background,
27
+ color: tone.color,
28
+ ...style,
29
+ }, children: status }));
30
+ }
31
+ //# sourceMappingURL=SubscriptionStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubscriptionStatus.js","sourceRoot":"","sources":["../../../src/components/SubscriptionStatus/SubscriptionStatus.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAUxD,SAAS,OAAO,CAAC,MAAc;IAI7B,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU;YACb,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAClE,KAAK,UAAU;YACb,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;QAC1E;YACE,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC/E,CAAC;AACH,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,kBAAkB,CAAC,EACjC,MAAM,EACN,KAAK,EACL,KAAK,EACL,SAAS,GACe;IACxB,YAAY,EAAE,CAAC;IACf,MAAM,GAAG,GAAG,cAAc,CAAkB,KAAK,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,CACL,eACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;YACL,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,GAAG;YACf,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,GAAG;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,KAAK;SACT,YAEA,MAAM,GACF,CACR,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { injectStyles, CSS } from './styles';
2
2
  export { applyTheme, getTheme, ACCENTS, FONTS, type SlyxUpTheme, type ThemeMode, type AccentName, type AccentDef, type FontDef, type CustomFont, type AuthLayout, type PrimaryStyle, type Density, } from './theme';
3
- export { KeyholeMark, GoogleIcon, GitHubIcon, CheckIcon, EyeIcon, EyeOffIcon } from './icons';
3
+ export { KeyholeMark, GoogleIcon, GitHubIcon, CheckIcon, EyeIcon, EyeOffIcon, } from './icons';
4
4
  export { SlyxUpProvider, type SlyxUpProviderProps, } from './react/provider/SlyxUpProvider';
5
5
  export { AuthContext, useAuthContext, type AuthContextValue, } from './react/context/auth-context';
6
6
  export { useAuth } from './react/hooks/useAuth';
@@ -9,9 +9,13 @@ export { useSession } from './react/hooks/useSession';
9
9
  export { useTwoFactor } from './react/hooks/useTwoFactor';
10
10
  export { useConnectedAccounts } from './react/hooks/useConnectedAccounts';
11
11
  export { useTheme, type ThemePreference } from './react/hooks/useTheme';
12
- export { useBilling, usePlans, useSubscription, useInvoices, useCheckout, } from './react/hooks/useBilling';
12
+ export { useBilling, usePlans, useSubscription, useInvoices, useCheckout, useTransaction, type CheckoutHookOptions, type TransactionStatus, } from './react/hooks/useBilling';
13
13
  export { SignIn, type SignInProps } from './components/SignIn/SignIn';
14
- export { PasswordField, type PasswordFieldProps } from './components/PasswordField';
14
+ export { PasswordField, type PasswordFieldProps, } from './components/PasswordField';
15
+ export { OtpInput, type OtpInputProps } from './components/OtpInput';
16
+ export { PasswordStrength, passwordScore, type PasswordStrengthProps, type StrengthScore, } from './components/PasswordStrength';
17
+ export { CopyField, type CopyFieldProps } from './components/CopyField';
18
+ export { EmptyState, type EmptyStateProps } from './components/EmptyState';
15
19
  export { SignUp, type SignUpProps } from './components/SignUp/SignUp';
16
20
  export { UserButton, type UserButtonProps, } from './components/UserButton/UserButton';
17
21
  export { UserProfile, type UserProfileProps, } from './components/UserProfile/UserProfile';
@@ -19,8 +23,12 @@ export { ForgotPassword, type ForgotPasswordProps, } from './components/ForgotPa
19
23
  export { ResetPassword, type ResetPasswordProps, } from './components/ResetPassword/ResetPassword';
20
24
  export { EmailVerification, type EmailVerificationProps, } from './components/EmailVerification/EmailVerification';
21
25
  export { SocialButtons, type SocialButtonsProps, } from './components/SocialButtons/SocialButtons';
22
- export { BillingPortal, type BillingPortalProps, } from './components/BillingPortal/BillingPortal';
23
- export { PricingTable, type PricingTableProps, } from './components/PricingTable/PricingTable';
26
+ export { BillingPortal, type BillingPortalProps, type PortalSubscription, } from './components/BillingPortal/BillingPortal';
27
+ export { PricingTable, type PricingTableProps, type PricingPlan, } from './components/PricingTable/PricingTable';
28
+ export { PlanCard, type PlanCardProps, type PlanCardPlan, } from './components/PlanCard/PlanCard';
29
+ export { CurrentPlanCard, type CurrentPlanCardProps, type CurrentPlanSubscription, type CurrentPlanCardLabels, } from './components/CurrentPlanCard/CurrentPlanCard';
30
+ export { InvoicesTable, type InvoicesTableProps, type InvoiceRow, } from './components/InvoicesTable/InvoicesTable';
31
+ export { SubscriptionStatus, type SubscriptionStatusProps, } from './components/SubscriptionStatus/SubscriptionStatus';
24
32
  export { AdminPanel, type AdminPanelProps, } from './components/AdminPanel/AdminPanel';
25
33
  export { initPaddle, openPaddleCheckout } from './lib/paddle';
26
34
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EACL,UAAU,EACV,QAAQ,EACR,OAAO,EACP,KAAK,EACL,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,OAAO,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE9F,OAAO,EACL,cAAc,EACd,KAAK,mBAAmB,GACzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,WAAW,EACX,cAAc,EACd,KAAK,gBAAgB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EACL,UAAU,EACV,QAAQ,EACR,eAAe,EACf,WAAW,EACX,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EACL,UAAU,EACV,KAAK,eAAe,GACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,WAAW,EACX,KAAK,gBAAgB,GACtB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,cAAc,EACd,KAAK,mBAAmB,GACzB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,aAAa,EACb,KAAK,kBAAkB,GACxB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,GAC5B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EACL,aAAa,EACb,KAAK,kBAAkB,GACxB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,aAAa,EACb,KAAK,kBAAkB,GACxB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,GACvB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,UAAU,EACV,KAAK,eAAe,GACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAK9D;;;GAGG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAKnC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}