@salesmind-ai/design-system 1.8.0 → 1.10.0

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 (82) hide show
  1. package/dist/ChangeEmail-BuUhjW0o.d.cts +226 -0
  2. package/dist/ChangeEmail-BuUhjW0o.d.ts +226 -0
  3. package/dist/{SectionShell-CrgrzWK6.d.cts → SectionShell-C_pxaLbf.d.cts} +8 -0
  4. package/dist/{SectionShell-CrgrzWK6.d.ts → SectionShell-C_pxaLbf.d.ts} +8 -0
  5. package/dist/{StatsSection-WaiVrRH0.d.cts → StatsSection-CKTgV4Z1.d.cts} +1 -1
  6. package/dist/{StatsSection-BvgUXtrd.d.ts → StatsSection-DjFHz0nM.d.ts} +1 -1
  7. package/dist/blog/index.cjs +9 -9
  8. package/dist/blog/index.d.cts +1 -1
  9. package/dist/blog/index.d.ts +1 -1
  10. package/dist/blog/index.js +2 -2
  11. package/dist/{chunk-CVLD5RQK.cjs → chunk-32B2EWHK.cjs} +8 -8
  12. package/dist/chunk-AI2YEYT4.js +1368 -0
  13. package/dist/chunk-AI2YEYT4.js.map +1 -0
  14. package/dist/{chunk-6QIQCUYC.cjs → chunk-HWEIKJCR.cjs} +12 -3
  15. package/dist/chunk-HWEIKJCR.cjs.map +1 -0
  16. package/dist/{chunk-CLXLQCNQ.js → chunk-ICELMF2C.js} +2 -2
  17. package/dist/{chunk-2TC5EVSJ.js → chunk-IQQSEYJP.js} +4 -4
  18. package/dist/{chunk-2TC5EVSJ.js.map → chunk-IQQSEYJP.js.map} +1 -1
  19. package/dist/{chunk-K7NQ7TQG.cjs → chunk-M4MLGT4B.cjs} +84 -27
  20. package/dist/chunk-M4MLGT4B.cjs.map +1 -0
  21. package/dist/{chunk-AMNY5TS3.js → chunk-MPOYZNAA.js} +12 -3
  22. package/dist/chunk-MPOYZNAA.js.map +1 -0
  23. package/dist/{chunk-25TUCNN6.js → chunk-QVGDMAZY.js} +84 -27
  24. package/dist/chunk-QVGDMAZY.js.map +1 -0
  25. package/dist/{chunk-4QQKREVH.cjs → chunk-S4367EZF.cjs} +22 -22
  26. package/dist/{chunk-4QQKREVH.cjs.map → chunk-S4367EZF.cjs.map} +1 -1
  27. package/dist/{chunk-PBYRTNQ5.js → chunk-VUCQTZ2W.js} +2 -2
  28. package/dist/{chunk-65DTHLVX.cjs → chunk-WUKUWW7U.cjs} +4 -4
  29. package/dist/chunk-YWJKSY5C.cjs +1381 -0
  30. package/dist/chunk-YWJKSY5C.cjs.map +1 -0
  31. package/dist/{index-CUkONzzC.d.ts → index-BsL1M4Mu.d.ts} +1 -1
  32. package/dist/{index-kMlM7caH.d.cts → index-C22gn6z6.d.cts} +1 -1
  33. package/dist/index.cjs +63 -46
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.css +2372 -0
  36. package/dist/index.css.map +1 -1
  37. package/dist/index.d.cts +4 -3
  38. package/dist/index.d.ts +4 -3
  39. package/dist/index.js +5 -4
  40. package/dist/index.js.map +1 -1
  41. package/dist/marketing/index.cjs +28 -28
  42. package/dist/marketing/index.d.cts +2 -2
  43. package/dist/marketing/index.d.ts +2 -2
  44. package/dist/marketing/index.js +2 -2
  45. package/dist/onboarding/index.cjs +5870 -0
  46. package/dist/onboarding/index.cjs.map +1 -0
  47. package/dist/onboarding/index.css +557 -0
  48. package/dist/onboarding/index.css.map +1 -0
  49. package/dist/onboarding/index.d.cts +1589 -0
  50. package/dist/onboarding/index.d.ts +1589 -0
  51. package/dist/onboarding/index.js +5736 -0
  52. package/dist/onboarding/index.js.map +1 -0
  53. package/dist/sections/index.cjs +8 -8
  54. package/dist/sections/index.d.cts +2 -2
  55. package/dist/sections/index.d.ts +2 -2
  56. package/dist/sections/index.js +2 -2
  57. package/dist/styles/styles.css +2539 -0
  58. package/dist/v2-auth/index.cjs +59 -0
  59. package/dist/v2-auth/index.cjs.map +1 -0
  60. package/dist/v2-auth/index.css +3360 -0
  61. package/dist/v2-auth/index.css.map +1 -0
  62. package/dist/v2-auth/index.d.cts +76 -0
  63. package/dist/v2-auth/index.d.ts +76 -0
  64. package/dist/v2-auth/index.js +24 -0
  65. package/dist/v2-auth/index.js.map +1 -0
  66. package/dist/web/index.cjs +7 -7
  67. package/dist/web/index.d.cts +1 -1
  68. package/dist/web/index.d.ts +1 -1
  69. package/dist/web/index.js +1 -1
  70. package/dist/web/server/index.cjs +7 -7
  71. package/dist/web/server/index.d.cts +91 -27
  72. package/dist/web/server/index.d.ts +91 -27
  73. package/dist/web/server/index.js +1 -1
  74. package/package.json +14 -2
  75. package/dist/chunk-25TUCNN6.js.map +0 -1
  76. package/dist/chunk-6QIQCUYC.cjs.map +0 -1
  77. package/dist/chunk-AMNY5TS3.js.map +0 -1
  78. package/dist/chunk-K7NQ7TQG.cjs.map +0 -1
  79. /package/dist/{chunk-CVLD5RQK.cjs.map → chunk-32B2EWHK.cjs.map} +0 -0
  80. /package/dist/{chunk-65DTHLVX.cjs.map → chunk-ICELMF2C.js.map} +0 -0
  81. /package/dist/{chunk-PBYRTNQ5.js.map → chunk-VUCQTZ2W.js.map} +0 -0
  82. /package/dist/{chunk-CLXLQCNQ.js.map → chunk-WUKUWW7U.cjs.map} +0 -0
@@ -0,0 +1,226 @@
1
+ import React__default from 'react';
2
+
3
+ interface LoginLabels {
4
+ continueWithGoogleLabel?: string;
5
+ orContinueWithEmailLabel?: string;
6
+ emailPlaceholder?: string;
7
+ passwordPlaceholder?: string;
8
+ signInLabel?: string;
9
+ doNotHaveAnAccountLabel?: string;
10
+ emailLabel?: string;
11
+ passwordLabel?: string;
12
+ rememberMeLabel?: string;
13
+ forgotPasswordLabel?: string;
14
+ signUpLabel?: string;
15
+ trustedByLabel?: string;
16
+ }
17
+ interface LoginProps {
18
+ /** Company/Product name */
19
+ brandName?: string;
20
+ /** Tagline or description */
21
+ tagline?: string;
22
+ /** Translation strings */
23
+ labels?: LoginLabels;
24
+ /** Show social login options */
25
+ showSocialLogin?: boolean;
26
+ /** Show "Remember me" checkbox */
27
+ showRememberMe?: boolean;
28
+ /** Show "Forgot password" link */
29
+ showForgotPassword?: boolean;
30
+ /** Show sign up link */
31
+ showSignUp?: boolean;
32
+ /** Language selector component */
33
+ localeSelector?: React__default.ReactNode;
34
+ /** Custom logo element */
35
+ logo?: React__default.ReactNode;
36
+ /** Form submit handler */
37
+ onSubmit?: (data: {
38
+ email: string;
39
+ password: string;
40
+ rememberMe: boolean;
41
+ }) => void;
42
+ /** Social login handlers */
43
+ onGoogleLogin?: () => void;
44
+ /** Link handlers */
45
+ onForgotPassword?: () => void;
46
+ onSignUp?: () => void;
47
+ /** Loading state */
48
+ isLoading?: boolean;
49
+ /** Error message */
50
+ error?: string;
51
+ /** Custom class name */
52
+ className?: string;
53
+ /** Custom styles */
54
+ style?: React__default.CSSProperties;
55
+ }
56
+ declare const Login: React__default.FC<LoginProps>;
57
+
58
+ interface SignupLabels {
59
+ formTitle?: string;
60
+ googleButtonLabel?: string;
61
+ dividerText?: string;
62
+ nameLabel?: string;
63
+ namePlaceholder?: string;
64
+ emailLabel?: string;
65
+ emailPlaceholder?: string;
66
+ passwordLabel?: string;
67
+ passwordPlaceholder?: string;
68
+ phoneLabel?: string;
69
+ phonePlaceholder?: string;
70
+ hidePasswordLabel?: string;
71
+ showPasswordLabel?: string;
72
+ passwordStrengthLabels?: [string, string, string, string, string];
73
+ termsAgreementPrefix?: string;
74
+ termsLabel?: string;
75
+ termsConjunction?: string;
76
+ privacyLabel?: string;
77
+ submitLabel?: string;
78
+ loginPrompt?: string;
79
+ loginLabel?: string;
80
+ successTitle?: string;
81
+ continueToLoginLabel?: string;
82
+ }
83
+ interface SignupProps {
84
+ /** Company/Product name */
85
+ brandName?: string;
86
+ /** Tagline or description */
87
+ tagline?: string;
88
+ /** Show social signup options */
89
+ showSocialSignup?: boolean;
90
+ /** Custom logo element */
91
+ logo?: React__default.ReactNode;
92
+ /** Form submit handler */
93
+ onSubmit?: (data: {
94
+ name: string;
95
+ email: string;
96
+ phone: string;
97
+ password: string;
98
+ acceptedTerms: boolean;
99
+ }) => void;
100
+ /** Social signup handlers */
101
+ onGoogleSignup?: () => void;
102
+ /** Link handlers */
103
+ onLogin?: () => void;
104
+ onTermsClick?: () => void;
105
+ onPrivacyClick?: () => void;
106
+ /** Loading state */
107
+ isLoading?: boolean;
108
+ /** Error message */
109
+ error?: string;
110
+ /** Success state */
111
+ isSuccess?: boolean;
112
+ /** Success message — accepts a string or React nodes (e.g. with <br />) */
113
+ successMessage?: React__default.ReactNode;
114
+ /** Custom class name */
115
+ className?: string;
116
+ /** Custom styles */
117
+ style?: React__default.CSSProperties;
118
+ /** i18n labels — every key falls back to its English default */
119
+ labels?: SignupLabels;
120
+ /** Default country (ISO code, e.g. TH) */
121
+ defaultCountry?: string;
122
+ /** Array of countries to populate the dropdown */
123
+ countries?: {
124
+ code: string;
125
+ dial: string;
126
+ flag: string;
127
+ name: string;
128
+ }[];
129
+ /** Custom render for phone input */
130
+ renderPhoneInput?: (props: {
131
+ value: string;
132
+ onChange: (val: string) => void;
133
+ placeholder?: string;
134
+ disabled?: boolean;
135
+ className?: string;
136
+ id?: string;
137
+ }) => React__default.ReactNode;
138
+ }
139
+ declare const Signup: React__default.FC<SignupProps>;
140
+
141
+ interface ForgotPasswordLabels {
142
+ forgotPasswordTitle?: string;
143
+ resetInstructionsTagline?: string;
144
+ emailLabel?: string;
145
+ emailPlaceholder?: string;
146
+ resetPasswordButton?: string;
147
+ backToLoginButton?: string;
148
+ checkYourEmailTitle?: string;
149
+ passwordResetLinkTagline?: string;
150
+ didNotReceiveEmailHint?: string;
151
+ clickToResendButton?: string;
152
+ setNewPasswordTitle?: string;
153
+ mustBeCharactersTagline?: string;
154
+ passwordLabel?: string;
155
+ enterNewPasswordPlaceholder?: string;
156
+ confirmPasswordLabel?: string;
157
+ confirmNewPasswordPlaceholder?: string;
158
+ passwordsDontMatchError?: string;
159
+ passwordResetTitle?: string;
160
+ passwordSuccessfullyResetTagline?: string;
161
+ clickBelowLogInHint?: string;
162
+ continueToLoginButton?: string;
163
+ showPasswordLabel?: string;
164
+ hidePasswordLabel?: string;
165
+ }
166
+ interface ForgotPasswordProps {
167
+ /** Translation strings */
168
+ labels?: ForgotPasswordLabels;
169
+ /** Custom logo element */
170
+ logo?: React__default.ReactNode;
171
+ /** Form submit handler for email entry */
172
+ onSubmit?: (email: string) => void;
173
+ /** Form submit handler for password reset */
174
+ onResetPassword?: (data: {
175
+ password: string;
176
+ confirmPassword: string;
177
+ }) => void;
178
+ /** Back to login handler */
179
+ onBackToLogin?: () => void;
180
+ /** Loading state */
181
+ isLoading?: boolean;
182
+ /** Error message */
183
+ error?: string;
184
+ /** Current step: 'email' | 'sent' | 'reset' | 'success' */
185
+ step?: 'email' | 'sent' | 'reset' | 'success';
186
+ /** Email address (for display in sent state). */
187
+ email?: string;
188
+ /** Custom class name */
189
+ className?: string;
190
+ }
191
+ declare const ForgotPassword: React__default.FC<ForgotPasswordProps>;
192
+
193
+ interface ChangeEmailLabels {
194
+ changeEmailTitle?: string;
195
+ changeEmailTagline?: string;
196
+ newEmailLabel?: string;
197
+ newEmailPlaceholder?: string;
198
+ currentPasswordLabel?: string;
199
+ currentPasswordPlaceholder?: string;
200
+ forgotPasswordButton?: string;
201
+ continueButton?: string;
202
+ backToLoginButton?: string;
203
+ showPasswordLabel?: string;
204
+ hidePasswordLabel?: string;
205
+ successTitle?: string;
206
+ successTagline?: string;
207
+ continueToLoginButton?: string;
208
+ }
209
+ interface ChangeEmailProps {
210
+ labels?: ChangeEmailLabels;
211
+ logo?: React__default.ReactNode;
212
+ onSubmit?: (data: {
213
+ email: string;
214
+ password: string;
215
+ }) => void;
216
+ onForgotPassword?: () => void;
217
+ onBackToLogin?: () => void;
218
+ isLoading?: boolean;
219
+ error?: string;
220
+ /** Current step: 'form' | 'success' */
221
+ step?: 'form' | 'success';
222
+ className?: string;
223
+ }
224
+ declare const ChangeEmail: React__default.FC<ChangeEmailProps>;
225
+
226
+ export { ChangeEmail as C, ForgotPassword as F, Login as L, Signup as S, type ChangeEmailLabels as a, type ChangeEmailProps as b, type ForgotPasswordLabels as c, type ForgotPasswordProps as d, type LoginLabels as e, type LoginProps as f, type SignupLabels as g, type SignupProps as h };
@@ -0,0 +1,226 @@
1
+ import React__default from 'react';
2
+
3
+ interface LoginLabels {
4
+ continueWithGoogleLabel?: string;
5
+ orContinueWithEmailLabel?: string;
6
+ emailPlaceholder?: string;
7
+ passwordPlaceholder?: string;
8
+ signInLabel?: string;
9
+ doNotHaveAnAccountLabel?: string;
10
+ emailLabel?: string;
11
+ passwordLabel?: string;
12
+ rememberMeLabel?: string;
13
+ forgotPasswordLabel?: string;
14
+ signUpLabel?: string;
15
+ trustedByLabel?: string;
16
+ }
17
+ interface LoginProps {
18
+ /** Company/Product name */
19
+ brandName?: string;
20
+ /** Tagline or description */
21
+ tagline?: string;
22
+ /** Translation strings */
23
+ labels?: LoginLabels;
24
+ /** Show social login options */
25
+ showSocialLogin?: boolean;
26
+ /** Show "Remember me" checkbox */
27
+ showRememberMe?: boolean;
28
+ /** Show "Forgot password" link */
29
+ showForgotPassword?: boolean;
30
+ /** Show sign up link */
31
+ showSignUp?: boolean;
32
+ /** Language selector component */
33
+ localeSelector?: React__default.ReactNode;
34
+ /** Custom logo element */
35
+ logo?: React__default.ReactNode;
36
+ /** Form submit handler */
37
+ onSubmit?: (data: {
38
+ email: string;
39
+ password: string;
40
+ rememberMe: boolean;
41
+ }) => void;
42
+ /** Social login handlers */
43
+ onGoogleLogin?: () => void;
44
+ /** Link handlers */
45
+ onForgotPassword?: () => void;
46
+ onSignUp?: () => void;
47
+ /** Loading state */
48
+ isLoading?: boolean;
49
+ /** Error message */
50
+ error?: string;
51
+ /** Custom class name */
52
+ className?: string;
53
+ /** Custom styles */
54
+ style?: React__default.CSSProperties;
55
+ }
56
+ declare const Login: React__default.FC<LoginProps>;
57
+
58
+ interface SignupLabels {
59
+ formTitle?: string;
60
+ googleButtonLabel?: string;
61
+ dividerText?: string;
62
+ nameLabel?: string;
63
+ namePlaceholder?: string;
64
+ emailLabel?: string;
65
+ emailPlaceholder?: string;
66
+ passwordLabel?: string;
67
+ passwordPlaceholder?: string;
68
+ phoneLabel?: string;
69
+ phonePlaceholder?: string;
70
+ hidePasswordLabel?: string;
71
+ showPasswordLabel?: string;
72
+ passwordStrengthLabels?: [string, string, string, string, string];
73
+ termsAgreementPrefix?: string;
74
+ termsLabel?: string;
75
+ termsConjunction?: string;
76
+ privacyLabel?: string;
77
+ submitLabel?: string;
78
+ loginPrompt?: string;
79
+ loginLabel?: string;
80
+ successTitle?: string;
81
+ continueToLoginLabel?: string;
82
+ }
83
+ interface SignupProps {
84
+ /** Company/Product name */
85
+ brandName?: string;
86
+ /** Tagline or description */
87
+ tagline?: string;
88
+ /** Show social signup options */
89
+ showSocialSignup?: boolean;
90
+ /** Custom logo element */
91
+ logo?: React__default.ReactNode;
92
+ /** Form submit handler */
93
+ onSubmit?: (data: {
94
+ name: string;
95
+ email: string;
96
+ phone: string;
97
+ password: string;
98
+ acceptedTerms: boolean;
99
+ }) => void;
100
+ /** Social signup handlers */
101
+ onGoogleSignup?: () => void;
102
+ /** Link handlers */
103
+ onLogin?: () => void;
104
+ onTermsClick?: () => void;
105
+ onPrivacyClick?: () => void;
106
+ /** Loading state */
107
+ isLoading?: boolean;
108
+ /** Error message */
109
+ error?: string;
110
+ /** Success state */
111
+ isSuccess?: boolean;
112
+ /** Success message — accepts a string or React nodes (e.g. with <br />) */
113
+ successMessage?: React__default.ReactNode;
114
+ /** Custom class name */
115
+ className?: string;
116
+ /** Custom styles */
117
+ style?: React__default.CSSProperties;
118
+ /** i18n labels — every key falls back to its English default */
119
+ labels?: SignupLabels;
120
+ /** Default country (ISO code, e.g. TH) */
121
+ defaultCountry?: string;
122
+ /** Array of countries to populate the dropdown */
123
+ countries?: {
124
+ code: string;
125
+ dial: string;
126
+ flag: string;
127
+ name: string;
128
+ }[];
129
+ /** Custom render for phone input */
130
+ renderPhoneInput?: (props: {
131
+ value: string;
132
+ onChange: (val: string) => void;
133
+ placeholder?: string;
134
+ disabled?: boolean;
135
+ className?: string;
136
+ id?: string;
137
+ }) => React__default.ReactNode;
138
+ }
139
+ declare const Signup: React__default.FC<SignupProps>;
140
+
141
+ interface ForgotPasswordLabels {
142
+ forgotPasswordTitle?: string;
143
+ resetInstructionsTagline?: string;
144
+ emailLabel?: string;
145
+ emailPlaceholder?: string;
146
+ resetPasswordButton?: string;
147
+ backToLoginButton?: string;
148
+ checkYourEmailTitle?: string;
149
+ passwordResetLinkTagline?: string;
150
+ didNotReceiveEmailHint?: string;
151
+ clickToResendButton?: string;
152
+ setNewPasswordTitle?: string;
153
+ mustBeCharactersTagline?: string;
154
+ passwordLabel?: string;
155
+ enterNewPasswordPlaceholder?: string;
156
+ confirmPasswordLabel?: string;
157
+ confirmNewPasswordPlaceholder?: string;
158
+ passwordsDontMatchError?: string;
159
+ passwordResetTitle?: string;
160
+ passwordSuccessfullyResetTagline?: string;
161
+ clickBelowLogInHint?: string;
162
+ continueToLoginButton?: string;
163
+ showPasswordLabel?: string;
164
+ hidePasswordLabel?: string;
165
+ }
166
+ interface ForgotPasswordProps {
167
+ /** Translation strings */
168
+ labels?: ForgotPasswordLabels;
169
+ /** Custom logo element */
170
+ logo?: React__default.ReactNode;
171
+ /** Form submit handler for email entry */
172
+ onSubmit?: (email: string) => void;
173
+ /** Form submit handler for password reset */
174
+ onResetPassword?: (data: {
175
+ password: string;
176
+ confirmPassword: string;
177
+ }) => void;
178
+ /** Back to login handler */
179
+ onBackToLogin?: () => void;
180
+ /** Loading state */
181
+ isLoading?: boolean;
182
+ /** Error message */
183
+ error?: string;
184
+ /** Current step: 'email' | 'sent' | 'reset' | 'success' */
185
+ step?: 'email' | 'sent' | 'reset' | 'success';
186
+ /** Email address (for display in sent state). */
187
+ email?: string;
188
+ /** Custom class name */
189
+ className?: string;
190
+ }
191
+ declare const ForgotPassword: React__default.FC<ForgotPasswordProps>;
192
+
193
+ interface ChangeEmailLabels {
194
+ changeEmailTitle?: string;
195
+ changeEmailTagline?: string;
196
+ newEmailLabel?: string;
197
+ newEmailPlaceholder?: string;
198
+ currentPasswordLabel?: string;
199
+ currentPasswordPlaceholder?: string;
200
+ forgotPasswordButton?: string;
201
+ continueButton?: string;
202
+ backToLoginButton?: string;
203
+ showPasswordLabel?: string;
204
+ hidePasswordLabel?: string;
205
+ successTitle?: string;
206
+ successTagline?: string;
207
+ continueToLoginButton?: string;
208
+ }
209
+ interface ChangeEmailProps {
210
+ labels?: ChangeEmailLabels;
211
+ logo?: React__default.ReactNode;
212
+ onSubmit?: (data: {
213
+ email: string;
214
+ password: string;
215
+ }) => void;
216
+ onForgotPassword?: () => void;
217
+ onBackToLogin?: () => void;
218
+ isLoading?: boolean;
219
+ error?: string;
220
+ /** Current step: 'form' | 'success' */
221
+ step?: 'form' | 'success';
222
+ className?: string;
223
+ }
224
+ declare const ChangeEmail: React__default.FC<ChangeEmailProps>;
225
+
226
+ export { ChangeEmail as C, ForgotPassword as F, Login as L, Signup as S, type ChangeEmailLabels as a, type ChangeEmailProps as b, type ForgotPasswordLabels as c, type ForgotPasswordProps as d, type LoginLabels as e, type LoginProps as f, type SignupLabels as g, type SignupProps as h };
@@ -6,6 +6,14 @@ interface SectionHeaderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title
6
6
  eyebrow?: React__default.ReactNode;
7
7
  align?: 'left' | 'center' | 'right';
8
8
  size?: 'compact' | 'default' | 'large';
9
+ /**
10
+ * The heading element rendered for `title`. Defaults to `'h2'` so section
11
+ * headers stay below the page `h1`. Set to `'h1'` when this header is the
12
+ * primary heading of the page (one per page) to keep a valid document
13
+ * outline. Styling is class-driven (`.ds-section-header__title`), so the
14
+ * tag change is purely semantic — the visual size is unchanged.
15
+ */
16
+ titleAs?: React__default.ElementType;
9
17
  }
10
18
  declare const SectionHeader: React__default.ForwardRefExoticComponent<SectionHeaderProps & React__default.RefAttributes<HTMLDivElement>>;
11
19
  interface SectionShellProps extends HTMLAttributes<HTMLDivElement> {
@@ -6,6 +6,14 @@ interface SectionHeaderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title
6
6
  eyebrow?: React__default.ReactNode;
7
7
  align?: 'left' | 'center' | 'right';
8
8
  size?: 'compact' | 'default' | 'large';
9
+ /**
10
+ * The heading element rendered for `title`. Defaults to `'h2'` so section
11
+ * headers stay below the page `h1`. Set to `'h1'` when this header is the
12
+ * primary heading of the page (one per page) to keep a valid document
13
+ * outline. Styling is class-driven (`.ds-section-header__title`), so the
14
+ * tag change is purely semantic — the visual size is unchanged.
15
+ */
16
+ titleAs?: React__default.ElementType;
9
17
  }
10
18
  declare const SectionHeader: React__default.ForwardRefExoticComponent<SectionHeaderProps & React__default.RefAttributes<HTMLDivElement>>;
11
19
  interface SectionShellProps extends HTMLAttributes<HTMLDivElement> {
@@ -1,5 +1,5 @@
1
1
  import React__default from 'react';
2
- import { a as SectionShellProps } from './SectionShell-CrgrzWK6.cjs';
2
+ import { a as SectionShellProps } from './SectionShell-C_pxaLbf.cjs';
3
3
 
4
4
  interface HeroSectionProps extends Omit<SectionShellProps, 'title'> {
5
5
  variant?: 'left' | 'center' | 'split';
@@ -1,5 +1,5 @@
1
1
  import React__default from 'react';
2
- import { a as SectionShellProps } from './SectionShell-CrgrzWK6.js';
2
+ import { a as SectionShellProps } from './SectionShell-C_pxaLbf.js';
3
3
 
4
4
  interface HeroSectionProps extends Omit<SectionShellProps, 'title'> {
5
5
  variant?: 'left' | 'center' | 'split';
@@ -1,42 +1,42 @@
1
1
  'use strict';
2
2
 
3
- var chunk65DTHLVX_cjs = require('../chunk-65DTHLVX.cjs');
3
+ var chunkWUKUWW7U_cjs = require('../chunk-WUKUWW7U.cjs');
4
4
  require('../chunk-VM7WFMKI.cjs');
5
5
  require('../chunk-SGYXYMKZ.cjs');
6
6
  require('../chunk-VC5LMUVQ.cjs');
7
7
  require('../chunk-GPHQGLR5.cjs');
8
- require('../chunk-6QIQCUYC.cjs');
8
+ require('../chunk-HWEIKJCR.cjs');
9
9
  require('../chunk-LJADZITX.cjs');
10
10
 
11
11
 
12
12
 
13
13
  Object.defineProperty(exports, "ArticleCard", {
14
14
  enumerable: true,
15
- get: function () { return chunk65DTHLVX_cjs.ArticleCard; }
15
+ get: function () { return chunkWUKUWW7U_cjs.ArticleCard; }
16
16
  });
17
17
  Object.defineProperty(exports, "AuthorBio", {
18
18
  enumerable: true,
19
- get: function () { return chunk65DTHLVX_cjs.AuthorBio; }
19
+ get: function () { return chunkWUKUWW7U_cjs.AuthorBio; }
20
20
  });
21
21
  Object.defineProperty(exports, "BrowserFrame", {
22
22
  enumerable: true,
23
- get: function () { return chunk65DTHLVX_cjs.BrowserFrame; }
23
+ get: function () { return chunkWUKUWW7U_cjs.BrowserFrame; }
24
24
  });
25
25
  Object.defineProperty(exports, "LongFormLayout", {
26
26
  enumerable: true,
27
- get: function () { return chunk65DTHLVX_cjs.LongFormLayout; }
27
+ get: function () { return chunkWUKUWW7U_cjs.LongFormLayout; }
28
28
  });
29
29
  Object.defineProperty(exports, "ReadingProgress", {
30
30
  enumerable: true,
31
- get: function () { return chunk65DTHLVX_cjs.ReadingProgress; }
31
+ get: function () { return chunkWUKUWW7U_cjs.ReadingProgress; }
32
32
  });
33
33
  Object.defineProperty(exports, "RelatedContent", {
34
34
  enumerable: true,
35
- get: function () { return chunk65DTHLVX_cjs.RelatedContent; }
35
+ get: function () { return chunkWUKUWW7U_cjs.RelatedContent; }
36
36
  });
37
37
  Object.defineProperty(exports, "TableOfContents", {
38
38
  enumerable: true,
39
- get: function () { return chunk65DTHLVX_cjs.TableOfContents; }
39
+ get: function () { return chunkWUKUWW7U_cjs.TableOfContents; }
40
40
  });
41
41
  //# sourceMappingURL=out.js.map
42
42
  //# sourceMappingURL=index.cjs.map
@@ -1,5 +1,5 @@
1
1
  import React__default from 'react';
2
- import { a as SectionShellProps } from '../SectionShell-CrgrzWK6.cjs';
2
+ import { a as SectionShellProps } from '../SectionShell-C_pxaLbf.cjs';
3
3
 
4
4
  interface ArticleCardProps extends Omit<React__default.AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> {
5
5
  /** Target URL */
@@ -1,5 +1,5 @@
1
1
  import React__default from 'react';
2
- import { a as SectionShellProps } from '../SectionShell-CrgrzWK6.js';
2
+ import { a as SectionShellProps } from '../SectionShell-C_pxaLbf.js';
3
3
 
4
4
  interface ArticleCardProps extends Omit<React__default.AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> {
5
5
  /** Target URL */
@@ -1,9 +1,9 @@
1
- export { ArticleCard, AuthorBio, BrowserFrame, LongFormLayout, ReadingProgress, RelatedContent, TableOfContents } from '../chunk-CLXLQCNQ.js';
1
+ export { ArticleCard, AuthorBio, BrowserFrame, LongFormLayout, ReadingProgress, RelatedContent, TableOfContents } from '../chunk-ICELMF2C.js';
2
2
  import '../chunk-Y3CPKNB7.js';
3
3
  import '../chunk-SFXTB7JL.js';
4
4
  import '../chunk-2GARWEJK.js';
5
5
  import '../chunk-RSLA2FJN.js';
6
- import '../chunk-AMNY5TS3.js';
6
+ import '../chunk-MPOYZNAA.js';
7
7
  import '../chunk-KJ2OXQF4.js';
8
8
  //# sourceMappingURL=out.js.map
9
9
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk6QIQCUYC_cjs = require('./chunk-6QIQCUYC.cjs');
3
+ var chunkHWEIKJCR_cjs = require('./chunk-HWEIKJCR.cjs');
4
4
  var react = require('react');
5
5
  var clsx = require('clsx');
6
6
  var jsxRuntime = require('react/jsx-runtime');
@@ -49,7 +49,7 @@ var HeroSection = react.forwardRef(
49
49
  floatingElement && /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx__default.default("ds-hero__float", `ds-hero__float--${floatingPosition}`), children: floatingElement })
50
50
  ] });
51
51
  return /* @__PURE__ */ jsxRuntime.jsx(
52
- chunk6QIQCUYC_cjs.SectionShell,
52
+ chunkHWEIKJCR_cjs.SectionShell,
53
53
  {
54
54
  ref,
55
55
  className: clsx__default.default(
@@ -125,8 +125,8 @@ var FeatureSection = react.forwardRef(
125
125
  className,
126
126
  ...props
127
127
  }, ref) => {
128
- return /* @__PURE__ */ jsxRuntime.jsxs(chunk6QIQCUYC_cjs.SectionShell, { ref, className: clsx__default.default("ds-feature-section", className), ...props, children: [
129
- /* @__PURE__ */ jsxRuntime.jsx(chunk6QIQCUYC_cjs.SectionHeader, { title, subtitle, eyebrow, align: alignHeader }),
128
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkHWEIKJCR_cjs.SectionShell, { ref, className: clsx__default.default("ds-feature-section", className), ...props, children: [
129
+ /* @__PURE__ */ jsxRuntime.jsx(chunkHWEIKJCR_cjs.SectionHeader, { title, subtitle, eyebrow, align: alignHeader }),
130
130
  variant === "grid" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx__default.default("ds-feature-grid", `ds-feature-grid--${columns}-col`), children: features.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsx(FeatureCard, { item: feature }, index)) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-feature-zigzag", children: features.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsx(FeatureRow, { item: feature }, index)) })
131
131
  ] });
132
132
  }
@@ -166,14 +166,14 @@ var CTASection = react.forwardRef(
166
166
  ] }),
167
167
  children
168
168
  ] });
169
- return /* @__PURE__ */ jsxRuntime.jsx(chunk6QIQCUYC_cjs.SectionShell, { ref, className: clsx__default.default(className), ...props, children: isBoxed ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-cta-card", children: Content }) : Content });
169
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkHWEIKJCR_cjs.SectionShell, { ref, className: clsx__default.default(className), ...props, children: isBoxed ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-cta-card", children: Content }) : Content });
170
170
  }
171
171
  );
172
172
  CTASection.displayName = "CTASection";
173
173
  var StatsSection = react.forwardRef(
174
174
  ({ stats, columns = 4, title, subtitle, eyebrow, className, ...props }, ref) => {
175
- return /* @__PURE__ */ jsxRuntime.jsxs(chunk6QIQCUYC_cjs.SectionShell, { ref, className: clsx__default.default("ds-stats-section", className), ...props, children: [
176
- /* @__PURE__ */ jsxRuntime.jsx(chunk6QIQCUYC_cjs.SectionHeader, { title, subtitle, eyebrow }),
175
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkHWEIKJCR_cjs.SectionShell, { ref, className: clsx__default.default("ds-stats-section", className), ...props, children: [
176
+ /* @__PURE__ */ jsxRuntime.jsx(chunkHWEIKJCR_cjs.SectionHeader, { title, subtitle, eyebrow }),
177
177
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ds-stats-grid", style: { "--stats-columns": columns }, children: stats.map((stat, idx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-stat-card", children: [
178
178
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ds-stat-value", children: [
179
179
  stat.prefix,
@@ -192,4 +192,4 @@ exports.FeatureSection = FeatureSection;
192
192
  exports.HeroSection = HeroSection;
193
193
  exports.StatsSection = StatsSection;
194
194
  //# sourceMappingURL=out.js.map
195
- //# sourceMappingURL=chunk-CVLD5RQK.cjs.map
195
+ //# sourceMappingURL=chunk-32B2EWHK.cjs.map