@salesmind-ai/design-system 0.3.4 → 0.3.6

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 (203) hide show
  1. package/dist/{StatsSection-wgd8Vge1.d.cts → StatsSection-Dihy3zml.d.cts} +2 -0
  2. package/dist/{StatsSection-B8iD9L-o.d.ts → StatsSection-MfKKyqL1.d.ts} +2 -0
  3. package/dist/admin/index.cjs +68 -2928
  4. package/dist/admin/index.cjs.map +1 -1
  5. package/dist/admin/index.js +5 -2915
  6. package/dist/admin/index.js.map +1 -1
  7. package/dist/blog/index.cjs +53 -1064
  8. package/dist/blog/index.cjs.map +1 -1
  9. package/dist/blog/index.js +8 -1054
  10. package/dist/blog/index.js.map +1 -1
  11. package/dist/charts/index.cjs +46 -2694
  12. package/dist/charts/index.cjs.map +1 -1
  13. package/dist/charts/index.js +3 -2680
  14. package/dist/charts/index.js.map +1 -1
  15. package/dist/chunk-2GARWEJK.js +17 -0
  16. package/dist/chunk-2GARWEJK.js.map +1 -0
  17. package/dist/chunk-2KQVZ5FB.js +485 -0
  18. package/dist/chunk-2KQVZ5FB.js.map +1 -0
  19. package/dist/chunk-3NKRFUAR.js +37 -0
  20. package/dist/chunk-3NKRFUAR.js.map +1 -0
  21. package/dist/chunk-3TGSIILM.cjs +201 -0
  22. package/dist/chunk-3TGSIILM.cjs.map +1 -0
  23. package/dist/chunk-4GM5BGBN.cjs +801 -0
  24. package/dist/chunk-4GM5BGBN.cjs.map +1 -0
  25. package/dist/chunk-5LGDEZWY.cjs +2434 -0
  26. package/dist/chunk-5LGDEZWY.cjs.map +1 -0
  27. package/dist/chunk-6H4DSTXR.js +786 -0
  28. package/dist/chunk-6H4DSTXR.js.map +1 -0
  29. package/dist/chunk-6HKQ5ILL.cjs +1624 -0
  30. package/dist/chunk-6HKQ5ILL.cjs.map +1 -0
  31. package/dist/chunk-6UNG76Y2.js +153 -0
  32. package/dist/chunk-6UNG76Y2.js.map +1 -0
  33. package/dist/chunk-7PX2AZ6Y.js +39 -0
  34. package/dist/chunk-7PX2AZ6Y.js.map +1 -0
  35. package/dist/chunk-ARC5KXBC.js +187 -0
  36. package/dist/chunk-ARC5KXBC.js.map +1 -0
  37. package/dist/chunk-B6AVAX4F.js +1415 -0
  38. package/dist/chunk-B6AVAX4F.js.map +1 -0
  39. package/dist/chunk-BILT5KD3.js +264 -0
  40. package/dist/chunk-BILT5KD3.js.map +1 -0
  41. package/dist/chunk-C2BCDNAV.js +24 -0
  42. package/dist/chunk-C2BCDNAV.js.map +1 -0
  43. package/dist/chunk-CH42VPWE.cjs +421 -0
  44. package/dist/chunk-CH42VPWE.cjs.map +1 -0
  45. package/dist/chunk-CJ2MKVAF.cjs +46 -0
  46. package/dist/chunk-CJ2MKVAF.cjs.map +1 -0
  47. package/dist/chunk-DP74LUXG.cjs +98 -0
  48. package/dist/chunk-DP74LUXG.cjs.map +1 -0
  49. package/dist/chunk-E7D6EKJ4.cjs +44 -0
  50. package/dist/chunk-E7D6EKJ4.cjs.map +1 -0
  51. package/dist/chunk-ECXBTUH6.cjs +584 -0
  52. package/dist/chunk-ECXBTUH6.cjs.map +1 -0
  53. package/dist/chunk-EFRAP5ES.js +157 -0
  54. package/dist/chunk-EFRAP5ES.js.map +1 -0
  55. package/dist/chunk-EM7JHRYW.cjs +69 -0
  56. package/dist/chunk-EM7JHRYW.cjs.map +1 -0
  57. package/dist/chunk-FAFAP4L5.js +183 -0
  58. package/dist/chunk-FAFAP4L5.js.map +1 -0
  59. package/dist/chunk-H2Y6BSTL.cjs +69 -0
  60. package/dist/chunk-H2Y6BSTL.cjs.map +1 -0
  61. package/dist/chunk-HN4PHABT.js +126 -0
  62. package/dist/chunk-HN4PHABT.js.map +1 -0
  63. package/dist/chunk-HRENHNDJ.js +211 -0
  64. package/dist/chunk-HRENHNDJ.js.map +1 -0
  65. package/dist/chunk-I75BFEYT.cjs +2561 -0
  66. package/dist/chunk-I75BFEYT.cjs.map +1 -0
  67. package/dist/chunk-IFRATNLU.js +562 -0
  68. package/dist/chunk-IFRATNLU.js.map +1 -0
  69. package/dist/chunk-JNASH4OQ.js +1022 -0
  70. package/dist/chunk-JNASH4OQ.js.map +1 -0
  71. package/dist/chunk-JPJN4YBC.js +409 -0
  72. package/dist/chunk-JPJN4YBC.js.map +1 -0
  73. package/dist/chunk-KCKUSU2M.cjs +166 -0
  74. package/dist/chunk-KCKUSU2M.cjs.map +1 -0
  75. package/dist/chunk-KDLH35OI.cjs +1042 -0
  76. package/dist/chunk-KDLH35OI.cjs.map +1 -0
  77. package/dist/chunk-KJ2OXQF4.js +287 -0
  78. package/dist/chunk-KJ2OXQF4.js.map +1 -0
  79. package/dist/chunk-KK5UO2P4.cjs +717 -0
  80. package/dist/chunk-KK5UO2P4.cjs.map +1 -0
  81. package/dist/chunk-KNQEIU7O.cjs +1202 -0
  82. package/dist/chunk-KNQEIU7O.cjs.map +1 -0
  83. package/dist/chunk-KVGSVGRK.cjs +569 -0
  84. package/dist/chunk-KVGSVGRK.cjs.map +1 -0
  85. package/dist/chunk-L352JRV6.cjs +105 -0
  86. package/dist/chunk-L352JRV6.cjs.map +1 -0
  87. package/dist/chunk-LGNMFBLF.cjs +502 -0
  88. package/dist/chunk-LGNMFBLF.cjs.map +1 -0
  89. package/dist/chunk-LJADZITX.cjs +298 -0
  90. package/dist/chunk-LJADZITX.cjs.map +1 -0
  91. package/dist/chunk-LSR7JYVH.cjs +196 -0
  92. package/dist/chunk-LSR7JYVH.cjs.map +1 -0
  93. package/dist/chunk-MDB2WCRQ.cjs +137 -0
  94. package/dist/chunk-MDB2WCRQ.cjs.map +1 -0
  95. package/dist/chunk-MQDEE7HC.cjs +283 -0
  96. package/dist/chunk-MQDEE7HC.cjs.map +1 -0
  97. package/dist/chunk-MQRB634A.cjs +34 -0
  98. package/dist/chunk-MQRB634A.cjs.map +1 -0
  99. package/dist/chunk-MU6GW5ZV.js +2317 -0
  100. package/dist/chunk-MU6GW5ZV.js.map +1 -0
  101. package/dist/chunk-NN3TUHIH.js +28 -0
  102. package/dist/chunk-NN3TUHIH.js.map +1 -0
  103. package/dist/chunk-NT4LBP7D.cjs +111 -0
  104. package/dist/chunk-NT4LBP7D.cjs.map +1 -0
  105. package/dist/chunk-OGKGIXFC.cjs +2162 -0
  106. package/dist/chunk-OGKGIXFC.cjs.map +1 -0
  107. package/dist/chunk-OXNXEQY7.js +2538 -0
  108. package/dist/chunk-OXNXEQY7.js.map +1 -0
  109. package/dist/chunk-P5BOFE5A.js +546 -0
  110. package/dist/chunk-P5BOFE5A.js.map +1 -0
  111. package/dist/chunk-Q2MFGYTE.cjs +1449 -0
  112. package/dist/chunk-Q2MFGYTE.cjs.map +1 -0
  113. package/dist/chunk-Q75DBVDY.cjs +68 -0
  114. package/dist/chunk-Q75DBVDY.cjs.map +1 -0
  115. package/dist/chunk-RQUFZAZ7.js +1608 -0
  116. package/dist/chunk-RQUFZAZ7.js.map +1 -0
  117. package/dist/chunk-SICKWUWB.js +62 -0
  118. package/dist/chunk-SICKWUWB.js.map +1 -0
  119. package/dist/chunk-T343CCH5.js +1190 -0
  120. package/dist/chunk-T343CCH5.js.map +1 -0
  121. package/dist/chunk-T5H5PNLN.js +701 -0
  122. package/dist/chunk-T5H5PNLN.js.map +1 -0
  123. package/dist/chunk-U3LK2GID.js +2122 -0
  124. package/dist/chunk-U3LK2GID.js.map +1 -0
  125. package/dist/chunk-UFAJY2DM.js +62 -0
  126. package/dist/chunk-UFAJY2DM.js.map +1 -0
  127. package/dist/chunk-VC5LMUVQ.cjs +20 -0
  128. package/dist/chunk-VC5LMUVQ.cjs.map +1 -0
  129. package/dist/chunk-VM7WFMKI.cjs +76 -0
  130. package/dist/chunk-VM7WFMKI.cjs.map +1 -0
  131. package/dist/chunk-W2WTP6HS.cjs +233 -0
  132. package/dist/chunk-W2WTP6HS.cjs.map +1 -0
  133. package/dist/chunk-WH7PYHZY.cjs +35 -0
  134. package/dist/chunk-WH7PYHZY.cjs.map +1 -0
  135. package/dist/chunk-XU3OMQ7V.js +98 -0
  136. package/dist/chunk-XU3OMQ7V.js.map +1 -0
  137. package/dist/chunk-XWPDRMZG.js +62 -0
  138. package/dist/chunk-XWPDRMZG.js.map +1 -0
  139. package/dist/chunk-Y3CPKNB7.js +67 -0
  140. package/dist/chunk-Y3CPKNB7.js.map +1 -0
  141. package/dist/chunk-YNVRDD2P.js +98 -0
  142. package/dist/chunk-YNVRDD2P.js.map +1 -0
  143. package/dist/chunk-YSYR54XR.js +92 -0
  144. package/dist/chunk-YSYR54XR.js.map +1 -0
  145. package/dist/chunk-YTYDQBVY.cjs +162 -0
  146. package/dist/chunk-YTYDQBVY.cjs.map +1 -0
  147. package/dist/core/index.cjs +807 -4333
  148. package/dist/core/index.cjs.map +1 -1
  149. package/dist/core/index.js +14 -4130
  150. package/dist/core/index.js.map +1 -1
  151. package/dist/i18n/index.cjs +86 -558
  152. package/dist/i18n/index.cjs.map +1 -1
  153. package/dist/i18n/index.js +1 -544
  154. package/dist/i18n/index.js.map +1 -1
  155. package/dist/index.cjs +1432 -17140
  156. package/dist/index.cjs.map +1 -1
  157. package/dist/index.d.cts +1 -1
  158. package/dist/index.d.ts +1 -1
  159. package/dist/index.js +31 -16785
  160. package/dist/index.js.map +1 -1
  161. package/dist/marketing/index.cjs +142 -3072
  162. package/dist/marketing/index.cjs.map +1 -1
  163. package/dist/marketing/index.js +11 -3042
  164. package/dist/marketing/index.js.map +1 -1
  165. package/dist/motion/index.cjs +26 -1222
  166. package/dist/motion/index.cjs.map +1 -1
  167. package/dist/motion/index.js +2 -1215
  168. package/dist/motion/index.js.map +1 -1
  169. package/dist/nav/index.cjs +101 -1518
  170. package/dist/nav/index.cjs.map +1 -1
  171. package/dist/nav/index.js +4 -1498
  172. package/dist/nav/index.js.map +1 -1
  173. package/dist/report/index.cjs +171 -2403
  174. package/dist/report/index.cjs.map +1 -1
  175. package/dist/report/index.js +3 -2363
  176. package/dist/report/index.js.map +1 -1
  177. package/dist/sections/index.cjs +22 -377
  178. package/dist/sections/index.cjs.map +1 -1
  179. package/dist/sections/index.d.cts +1 -1
  180. package/dist/sections/index.d.ts +1 -1
  181. package/dist/sections/index.js +6 -369
  182. package/dist/sections/index.js.map +1 -1
  183. package/dist/social-proof/index.cjs +53 -1250
  184. package/dist/social-proof/index.cjs.map +1 -1
  185. package/dist/social-proof/index.js +6 -1235
  186. package/dist/social-proof/index.js.map +1 -1
  187. package/dist/theme/index.cjs +38 -565
  188. package/dist/theme/index.cjs.map +1 -1
  189. package/dist/theme/index.js +2 -555
  190. package/dist/theme/index.js.map +1 -1
  191. package/dist/web/client/index.cjs +38 -491
  192. package/dist/web/client/index.cjs.map +1 -1
  193. package/dist/web/client/index.js +4 -483
  194. package/dist/web/client/index.js.map +1 -1
  195. package/dist/web/index.cjs +158 -1346
  196. package/dist/web/index.cjs.map +1 -1
  197. package/dist/web/index.js +9 -1305
  198. package/dist/web/index.js.map +1 -1
  199. package/dist/web/server/index.cjs +26 -563
  200. package/dist/web/server/index.cjs.map +1 -1
  201. package/dist/web/server/index.js +1 -560
  202. package/dist/web/server/index.js.map +1 -1
  203. package/package.json +1 -1
@@ -1,378 +1,15 @@
1
+ export { CTASection, FeatureSection, HeroSection, StatsSection } from '../chunk-ARC5KXBC.js';
2
+ import '../chunk-NN3TUHIH.js';
3
+ import { SectionShell, SectionHeader } from '../chunk-UFAJY2DM.js';
4
+ import '../chunk-HN4PHABT.js';
1
5
  import { forwardRef } from 'react';
2
- import clsx5 from 'clsx';
3
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
+ import { jsx } from 'react/jsx-runtime';
4
7
 
5
- // src/sections/SectionShellBoundary.tsx
6
-
7
- // src/tokens/spacing.ts
8
- var SPACING = {
9
- 1: "var(--space-1)",
10
- 2: "var(--space-2)",
11
- 3: "var(--space-3)",
12
- 4: "var(--space-4)",
13
- 5: "var(--space-5)",
14
- 6: "var(--space-6)",
15
- 8: "var(--space-8)",
16
- 10: "var(--space-10)",
17
- 12: "var(--space-12)",
18
- 16: "var(--space-16)",
19
- 20: "var(--space-20)"
20
- };
21
-
22
- // src/components/LayoutPrimitives/utils.ts
23
- var SPACING_ALIASES = {
24
- xs: "var(--space-2)",
25
- sm: "var(--space-3)",
26
- md: "var(--space-4)",
27
- lg: "var(--space-6)",
28
- xl: "var(--space-8)",
29
- "2xl": "var(--space-12)"
30
- };
31
- function resolveSpacing(value) {
32
- if (value === void 0) return void 0;
33
- if (typeof value === "number" && SPACING[value]) {
34
- return SPACING[value];
35
- }
36
- if (typeof value === "string" && value in SPACING_ALIASES) {
37
- return SPACING_ALIASES[value];
38
- }
39
- return String(value);
40
- }
41
- function extractSpacingStyles(props) {
42
- const styles = {};
43
- if (props.m !== void 0) styles.margin = resolveSpacing(props.m);
44
- if (props.mt !== void 0) styles.marginTop = resolveSpacing(props.mt);
45
- if (props.mb !== void 0) styles.marginBottom = resolveSpacing(props.mb);
46
- if (props.ml !== void 0) styles.marginLeft = resolveSpacing(props.ml);
47
- if (props.mr !== void 0) styles.marginRight = resolveSpacing(props.mr);
48
- if (props.mx !== void 0) {
49
- styles.marginLeft = resolveSpacing(props.mx);
50
- styles.marginRight = resolveSpacing(props.mx);
51
- }
52
- if (props.my !== void 0) {
53
- styles.marginTop = resolveSpacing(props.my);
54
- styles.marginBottom = resolveSpacing(props.my);
55
- }
56
- if (props.p !== void 0) styles.padding = resolveSpacing(props.p);
57
- if (props.pt !== void 0) styles.paddingTop = resolveSpacing(props.pt);
58
- if (props.pb !== void 0) styles.paddingBottom = resolveSpacing(props.pb);
59
- if (props.pl !== void 0) styles.paddingLeft = resolveSpacing(props.pl);
60
- if (props.pr !== void 0) styles.paddingRight = resolveSpacing(props.pr);
61
- if (props.px !== void 0) {
62
- styles.paddingLeft = resolveSpacing(props.px);
63
- styles.paddingRight = resolveSpacing(props.px);
64
- }
65
- if (props.py !== void 0) {
66
- styles.paddingTop = resolveSpacing(props.py);
67
- styles.paddingBottom = resolveSpacing(props.py);
68
- }
69
- if (props.gap !== void 0) styles.gap = resolveSpacing(props.gap);
70
- return styles;
71
- }
72
- var Box = forwardRef(
73
- ({ as: Component = "div", className, style, children, ...props }, ref) => {
74
- const spacingStyles = extractSpacingStyles(props);
75
- const { m, mt, mb, ml, mr, mx, my, p, pt, pb, pl, pr, px, py, gap, ...domProps } = props;
76
- return /* @__PURE__ */ jsx(
77
- Component,
78
- {
79
- ref,
80
- className: clsx5("ds-box", className),
81
- style: { ...spacingStyles, ...style },
82
- ...domProps,
83
- children
84
- }
85
- );
86
- }
87
- );
88
- Box.displayName = "Box";
89
- var Stack = forwardRef(
90
- ({ direction = "column", align, justify, wrap, className, style, ...props }, ref) => {
91
- return /* @__PURE__ */ jsx(
92
- Box,
93
- {
94
- ref,
95
- className: clsx5("ds-stack", direction === "row" && "ds-stack--horizontal", className),
96
- style: {
97
- alignItems: align,
98
- justifyContent: justify === "between" ? "space-between" : justify,
99
- flexWrap: wrap ? "wrap" : void 0,
100
- ...style
101
- },
102
- ...props
103
- }
104
- );
105
- }
106
- );
107
- Stack.displayName = "Stack";
108
- var CONTAINER_SIZE_MAP = {
109
- sm: "768px",
110
- // 48rem — max-w-3xl
111
- md: "1024px",
112
- // 64rem — max-w-5xl
113
- lg: "1152px",
114
- // 72rem — max-w-6xl
115
- xl: "1280px",
116
- // 80rem — max-w-7xl
117
- full: "100%"
118
- };
119
- var Container = forwardRef(
120
- ({ size, fluid, maxWidth, className, style, ...props }, ref) => {
121
- let resolvedMaxWidth;
122
- if (fluid) {
123
- resolvedMaxWidth = "100%";
124
- } else if (size) {
125
- resolvedMaxWidth = CONTAINER_SIZE_MAP[size];
126
- } else {
127
- resolvedMaxWidth = maxWidth || "var(--container-default-max, 1200px)";
128
- }
129
- return /* @__PURE__ */ jsx(
130
- Box,
131
- {
132
- ref,
133
- className: clsx5("ds-container", className),
134
- style: {
135
- maxWidth: resolvedMaxWidth,
136
- ...style
137
- },
138
- ...props
139
- }
140
- );
141
- }
142
- );
143
- Container.displayName = "Container";
144
- var SectionHeader = forwardRef(
145
- ({ title, subtitle, eyebrow, align = "center", className, ...props }, ref) => {
146
- if (!title && !subtitle && !eyebrow) return null;
147
- return /* @__PURE__ */ jsxs(
148
- "header",
149
- {
150
- ref,
151
- className: clsx5("ds-section-header", `ds-section-header--${align}`, className),
152
- ...props,
153
- children: [
154
- eyebrow && /* @__PURE__ */ jsx("span", { className: "ds-section-header__eyebrow", children: eyebrow }),
155
- title && /* @__PURE__ */ jsx("h2", { className: "ds-section-header__title", children: title }),
156
- subtitle && /* @__PURE__ */ jsx("p", { className: "ds-section-header__subtitle", children: subtitle })
157
- ]
158
- }
159
- );
160
- }
161
- );
162
- SectionHeader.displayName = "SectionHeader";
163
- var SectionShell = forwardRef(
164
- ({
165
- className,
166
- children,
167
- background = "default",
168
- padding = "md",
169
- containerSize,
170
- containerFluid = false,
171
- ...props
172
- }, ref) => {
173
- return /* @__PURE__ */ jsx(
174
- "section",
175
- {
176
- ref,
177
- className: clsx5(
178
- "ds-section",
179
- `ds-section--bg-${background}`,
180
- `ds-section--padding-${padding}`,
181
- className
182
- ),
183
- ...props,
184
- children: /* @__PURE__ */ jsx(
185
- Container,
186
- {
187
- size: containerSize === "fluid" ? "full" : containerSize,
188
- fluid: containerFluid || containerSize === "fluid",
189
- children
190
- }
191
- )
192
- }
193
- );
194
- }
195
- );
196
- SectionShell.displayName = "SectionShell";
197
8
  var SectionShell2 = forwardRef((props, ref) => /* @__PURE__ */ jsx(SectionShell, { ref, ...props }));
198
9
  SectionShell2.displayName = "SectionShell";
199
10
  var SectionHeader2 = forwardRef((props, ref) => /* @__PURE__ */ jsx(SectionHeader, { ref, ...props }));
200
11
  SectionHeader2.displayName = "SectionHeader";
201
- var HeroSection = forwardRef(
202
- ({
203
- variant = "left",
204
- title,
205
- subtitle,
206
- eyebrow,
207
- primaryCta,
208
- secondaryCta,
209
- media,
210
- mediaBrowserFrame = false,
211
- floatingElement,
212
- floatingPosition = "bottom-left",
213
- withGrid = false,
214
- withGlow = false,
215
- align,
216
- className,
217
- children,
218
- ...props
219
- }, ref) => {
220
- const isSplit = variant === "split";
221
- const isCenter = variant === "center";
222
- const textAlignment = align || (isCenter ? "center" : "left");
223
- const ContentBlock = /* @__PURE__ */ jsxs("div", { className: clsx5("ds-hero__content", `ds-hero__content--${textAlignment}`), children: [
224
- eyebrow && /* @__PURE__ */ jsx("span", { className: "ds-section-header__eyebrow", style: { marginBottom: "var(--space-2)" }, children: eyebrow }),
225
- /* @__PURE__ */ jsx("h1", { className: "ds-hero__title", children: title }),
226
- subtitle && /* @__PURE__ */ jsx("p", { className: "ds-hero__subtitle", children: subtitle }),
227
- (primaryCta || secondaryCta) && /* @__PURE__ */ jsxs("div", { className: "ds-hero__actions", children: [
228
- primaryCta,
229
- secondaryCta
230
- ] }),
231
- children
232
- ] });
233
- const MediaBlock = media && /* @__PURE__ */ jsxs("div", { className: "ds-hero__media-wrapper", children: [
234
- /* @__PURE__ */ jsx("div", { className: clsx5("ds-hero__media", mediaBrowserFrame && "ds-hero__media--browser"), children: media }),
235
- floatingElement && /* @__PURE__ */ jsx("div", { className: clsx5("ds-hero__float", `ds-hero__float--${floatingPosition}`), children: floatingElement })
236
- ] });
237
- return /* @__PURE__ */ jsx(
238
- SectionShell,
239
- {
240
- ref,
241
- className: clsx5(
242
- "ds-hero",
243
- `ds-hero--${variant}`,
244
- withGrid && "ds-hero--bg-grid",
245
- withGlow && "ds-hero--bg-glow",
246
- className
247
- ),
248
- padding: "lg",
249
- ...props,
250
- children: isSplit ? /* @__PURE__ */ jsxs(
251
- "div",
252
- {
253
- style: {
254
- display: "grid",
255
- gridTemplateColumns: "repeat(auto-fit, minmax(min(100%, 500px), 1fr))",
256
- gap: "var(--space-16)",
257
- alignItems: "center"
258
- },
259
- children: [
260
- /* @__PURE__ */ jsx(Box, { children: ContentBlock }),
261
- /* @__PURE__ */ jsx(Box, { children: MediaBlock })
262
- ]
263
- }
264
- ) : /* @__PURE__ */ jsxs(Stack, { gap: 16, align: isCenter ? "center" : "start", children: [
265
- ContentBlock,
266
- MediaBlock && /* @__PURE__ */ jsx(
267
- Box,
268
- {
269
- style: {
270
- width: "100%",
271
- display: "flex",
272
- justifyContent: isCenter ? "center" : "flex-start"
273
- },
274
- children: /* @__PURE__ */ jsx("div", { style: { width: "100%", maxWidth: isCenter ? "1200px" : "100%" }, children: MediaBlock })
275
- }
276
- )
277
- ] })
278
- }
279
- );
280
- }
281
- );
282
- HeroSection.displayName = "HeroSection";
283
- var FeatureCard = ({ item }) => /* @__PURE__ */ jsxs("div", { className: "ds-feature-card", children: [
284
- item.icon && /* @__PURE__ */ jsx("div", { className: "ds-feature-card__icon", children: item.icon }),
285
- /* @__PURE__ */ jsx("h3", { className: "ds-feature-card__title", children: item.title }),
286
- /* @__PURE__ */ jsx("div", { className: "ds-feature-card__description", children: item.description }),
287
- item.cta && /* @__PURE__ */ jsx("div", { className: "ds-feature-card__cta", children: item.cta })
288
- ] });
289
- var FeatureRow = ({ item }) => /* @__PURE__ */ jsxs("div", { className: "ds-feature-row", children: [
290
- /* @__PURE__ */ jsxs("div", { className: "ds-feature-row__content", children: [
291
- item.step && /* @__PURE__ */ jsxs("div", { className: "ds-feature-row__step", children: [
292
- "STEP ",
293
- item.step
294
- ] }),
295
- item.icon && /* @__PURE__ */ jsx("div", { className: "ds-feature-card__icon", children: item.icon }),
296
- /* @__PURE__ */ jsx("h3", { className: "ds-section-header__title", style: { fontSize: "var(--font-size-2xl)" }, children: item.title }),
297
- /* @__PURE__ */ jsx("div", { className: "ds-section-header__subtitle", style: { fontSize: "var(--font-size-lg)" }, children: item.description }),
298
- item.cta && /* @__PURE__ */ jsx("div", { className: "ds-hero__actions", children: item.cta })
299
- ] }),
300
- /* @__PURE__ */ jsx("div", { className: "ds-feature-row__media", children: item.media || /* @__PURE__ */ jsx("div", { style: { paddingBottom: "56.25%", background: "var(--glass-base-active)" } }) })
301
- ] });
302
- var FeatureSection = forwardRef(
303
- ({
304
- variant = "grid",
305
- columns = 3,
306
- features,
307
- title,
308
- subtitle,
309
- eyebrow,
310
- alignHeader = "center",
311
- className,
312
- ...props
313
- }, ref) => {
314
- return /* @__PURE__ */ jsxs(SectionShell, { ref, className: clsx5("ds-feature-section", className), ...props, children: [
315
- /* @__PURE__ */ jsx(SectionHeader, { title, subtitle, eyebrow, align: alignHeader }),
316
- variant === "grid" ? /* @__PURE__ */ jsx("div", { className: clsx5("ds-feature-grid", `ds-feature-grid--${columns}-col`), children: features.map((feature, index) => /* @__PURE__ */ jsx(FeatureCard, { item: feature }, index)) }) : /* @__PURE__ */ jsx("div", { className: "ds-feature-zigzag", children: features.map((feature, index) => /* @__PURE__ */ jsx(FeatureRow, { item: feature }, index)) })
317
- ] });
318
- }
319
- );
320
- FeatureSection.displayName = "FeatureSection";
321
- var CTASection = forwardRef(
322
- ({
323
- variant = "center",
324
- title,
325
- description,
326
- primaryCta,
327
- secondaryCta,
328
- actions,
329
- className,
330
- children,
331
- ...props
332
- }, ref) => {
333
- const isBoxed = variant === "boxed";
334
- const effectiveVariant = isBoxed ? "center" : variant;
335
- const Content = /* @__PURE__ */ jsxs("div", { className: clsx5("ds-cta-section", `ds-cta-section--${effectiveVariant}`), children: [
336
- effectiveVariant === "split" ? /* @__PURE__ */ jsxs("div", { className: "ds-cta-section--split", children: [
337
- /* @__PURE__ */ jsxs("div", { className: "ds-cta-content", children: [
338
- /* @__PURE__ */ jsx("h2", { className: "ds-cta-title", children: title }),
339
- description && /* @__PURE__ */ jsx("p", { className: "ds-cta-description", children: description })
340
- ] }),
341
- /* @__PURE__ */ jsx("div", { className: "ds-cta-actions", children: actions || /* @__PURE__ */ jsxs(Fragment, { children: [
342
- primaryCta,
343
- secondaryCta
344
- ] }) })
345
- ] }) : /* @__PURE__ */ jsxs("div", { className: "ds-cta-content", children: [
346
- /* @__PURE__ */ jsx("h2", { className: "ds-cta-title", children: title }),
347
- description && /* @__PURE__ */ jsx("p", { className: "ds-cta-description", children: description }),
348
- /* @__PURE__ */ jsx("div", { className: "ds-cta-actions", children: actions || /* @__PURE__ */ jsxs(Fragment, { children: [
349
- primaryCta,
350
- secondaryCta
351
- ] }) })
352
- ] }),
353
- children
354
- ] });
355
- return /* @__PURE__ */ jsx(SectionShell, { ref, className: clsx5(className), ...props, children: isBoxed ? /* @__PURE__ */ jsx("div", { className: "ds-cta-card", children: Content }) : Content });
356
- }
357
- );
358
- CTASection.displayName = "CTASection";
359
- var StatsSection = forwardRef(
360
- ({ stats, title, subtitle, eyebrow, className, ...props }, ref) => {
361
- return /* @__PURE__ */ jsxs(SectionShell, { ref, className: clsx5("ds-stats-section", className), ...props, children: [
362
- /* @__PURE__ */ jsx(SectionHeader, { title, subtitle, eyebrow }),
363
- /* @__PURE__ */ jsx("div", { className: "ds-stats-grid", children: stats.map((stat, idx) => /* @__PURE__ */ jsxs("div", { className: "ds-stat-card", children: [
364
- /* @__PURE__ */ jsxs("div", { className: "ds-stat-value", children: [
365
- stat.prefix,
366
- stat.value,
367
- /* @__PURE__ */ jsx("span", { className: "ds-stat-suffix", children: stat.suffix })
368
- ] }),
369
- /* @__PURE__ */ jsx("div", { className: "ds-stat-label", children: stat.label })
370
- ] }, idx)) })
371
- ] });
372
- }
373
- );
374
- StatsSection.displayName = "StatsSection";
375
12
 
376
- export { CTASection, FeatureSection, HeroSection, SectionHeader2 as SectionHeader, SectionShell2 as SectionShell, StatsSection };
13
+ export { SectionHeader2 as SectionHeader, SectionShell2 as SectionShell };
377
14
  //# sourceMappingURL=out.js.map
378
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/sections/SectionShellBoundary.tsx","../../src/components/SectionShell/SectionShell.tsx","../../src/components/LayoutPrimitives/Box.tsx","../../src/tokens/spacing.ts","../../src/components/LayoutPrimitives/utils.ts","../../src/components/LayoutPrimitives/Stack.tsx","../../src/components/LayoutPrimitives/Container.tsx","../../src/components/HeroSection/HeroSection.tsx","../../src/components/FeatureSection/FeatureSection.tsx","../../src/components/CTASection/CTASection.tsx","../../src/components/StatsSection/StatsSection.tsx"],"names":["forwardRef","clsx","jsx","SectionShell","SectionHeader","jsxs"],"mappings":"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","sourcesContent":["import { forwardRef } from 'react';\nimport {\n SectionShell as BaseSectionShell,\n SectionHeader as BaseSectionHeader,\n type SectionShellProps,\n type SectionHeaderProps,\n} from '../components/SectionShell/SectionShell';\n\n/**\n * Stable public wrapper for the sections entry.\n *\n * This keeps the emitted `@salesmind-ai/design-system/sections` declaration\n * surface from degrading into hashed re-export aliases that confuse some\n * consumers during workspace builds.\n */\nexport const SectionShell = forwardRef<HTMLDivElement, SectionShellProps>((props, ref) => (\n <BaseSectionShell ref={ref} {...props} />\n));\n\nSectionShell.displayName = 'SectionShell';\n\nexport const SectionHeader = forwardRef<HTMLDivElement, SectionHeaderProps>((props, ref) => (\n <BaseSectionHeader ref={ref} {...props} />\n));\n\nSectionHeader.displayName = 'SectionHeader';\n\nexport type { SectionShellProps, SectionHeaderProps };\n","import React, { forwardRef, HTMLAttributes } from 'react';\nimport clsx from 'clsx';\nimport { Container } from '../LayoutPrimitives';\nimport './SectionShell.css';\n\n/* ============================================================================\n Section Header Component\n ============================================================================ */\n\nexport interface SectionHeaderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n title?: React.ReactNode;\n subtitle?: React.ReactNode;\n eyebrow?: React.ReactNode;\n align?: 'left' | 'center' | 'right';\n}\n\nexport const SectionHeader = forwardRef<HTMLDivElement, SectionHeaderProps>(\n ({ title, subtitle, eyebrow, align = 'center', className, ...props }, ref) => {\n if (!title && !subtitle && !eyebrow) return null;\n\n return (\n <header\n ref={ref}\n className={clsx('ds-section-header', `ds-section-header--${align}`, className)}\n {...props}\n >\n {eyebrow && <span className=\"ds-section-header__eyebrow\">{eyebrow}</span>}\n {title && <h2 className=\"ds-section-header__title\">{title}</h2>}\n {subtitle && <p className=\"ds-section-header__subtitle\">{subtitle}</p>}\n </header>\n );\n },\n);\nSectionHeader.displayName = 'SectionHeader';\n\n/* ============================================================================\n Section Shell Component\n ============================================================================ */\n\nexport interface SectionShellProps extends HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode;\n background?: 'default' | 'muted' | 'brand' | 'transparent';\n padding?: 'none' | 'sm' | 'md' | 'lg';\n containerSize?: 'sm' | 'md' | 'lg' | 'xl' | 'fluid'; // Maps to Container max-width\n containerFluid?: boolean;\n}\n\nexport const SectionShell = forwardRef<HTMLDivElement, SectionShellProps>(\n (\n {\n className,\n children,\n background = 'default',\n padding = 'md',\n containerSize,\n containerFluid = false,\n ...props\n },\n ref,\n ) => {\n return (\n <section\n ref={ref}\n className={clsx(\n 'ds-section',\n `ds-section--bg-${background}`,\n `ds-section--padding-${padding}`,\n className,\n )}\n {...props}\n >\n <Container\n size={containerSize === 'fluid' ? 'full' : (containerSize as 'sm' | 'md' | 'lg' | 'xl' | undefined)}\n fluid={containerFluid || containerSize === 'fluid'}\n >\n {children}\n </Container>\n </section>\n );\n },\n);\nSectionShell.displayName = 'SectionShell';\n","import { ElementType, HTMLAttributes, forwardRef } from 'react';\nimport clsx from 'clsx';\nimport { SpacingProps, extractSpacingStyles } from './utils';\nimport './LayoutPrimitives.css';\n\nexport interface BoxProps extends HTMLAttributes<HTMLElement>, SpacingProps {\n as?: ElementType;\n}\n\nexport const Box = forwardRef<HTMLElement, BoxProps>(\n ({ as: Component = 'div', className, style, children, ...props }, ref) => {\n const spacingStyles = extractSpacingStyles(props);\n\n // Filter out spacing props from passing to DOM\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { m, mt, mb, ml, mr, mx, my, p, pt, pb, pl, pr, px, py, gap, ...domProps } = props;\n\n return (\n <Component\n ref={ref}\n className={clsx('ds-box', className)}\n style={{ ...spacingStyles, ...style }}\n {...domProps}\n >\n {children}\n </Component>\n );\n },\n);\n\nBox.displayName = 'Box';\n","export const SPACING = {\n 1: 'var(--space-1)',\n 2: 'var(--space-2)',\n 3: 'var(--space-3)',\n 4: 'var(--space-4)',\n 5: 'var(--space-5)',\n 6: 'var(--space-6)',\n 8: 'var(--space-8)',\n 10: 'var(--space-10)',\n 12: 'var(--space-12)',\n 16: 'var(--space-16)',\n 20: 'var(--space-20)',\n} as const;\n\nexport type SpacingToken = keyof typeof SPACING;\n","import { CSSProperties } from 'react';\nimport { SPACING } from '../../tokens/spacing';\n\ntype SpacingValue = keyof typeof SPACING | number | string;\n\n/**\n * Named spacing aliases that map semantic sizes to DS space tokens.\n * Allows consumers to pass gap=\"lg\" instead of gap={6}.\n */\nconst SPACING_ALIASES: Record<string, string> = {\n xs: 'var(--space-2)',\n sm: 'var(--space-3)',\n md: 'var(--space-4)',\n lg: 'var(--space-6)',\n xl: 'var(--space-8)',\n '2xl': 'var(--space-12)',\n};\n\nexport function resolveSpacing(value: SpacingValue | undefined): string | undefined {\n if (value === undefined) return undefined;\n if (typeof value === 'number' && SPACING[value as keyof typeof SPACING]) {\n return SPACING[value as keyof typeof SPACING];\n }\n if (typeof value === 'string' && value in SPACING_ALIASES) {\n return SPACING_ALIASES[value];\n }\n return String(value);\n}\n\nexport interface SpacingProps {\n m?: SpacingValue;\n mt?: SpacingValue;\n mb?: SpacingValue;\n ml?: SpacingValue;\n mr?: SpacingValue;\n mx?: SpacingValue;\n my?: SpacingValue;\n p?: SpacingValue;\n pt?: SpacingValue;\n pb?: SpacingValue;\n pl?: SpacingValue;\n pr?: SpacingValue;\n px?: SpacingValue;\n py?: SpacingValue;\n gap?: SpacingValue;\n}\n\nexport function extractSpacingStyles(props: SpacingProps): CSSProperties {\n const styles: CSSProperties = {};\n\n if (props.m !== undefined) styles.margin = resolveSpacing(props.m);\n if (props.mt !== undefined) styles.marginTop = resolveSpacing(props.mt);\n if (props.mb !== undefined) styles.marginBottom = resolveSpacing(props.mb);\n if (props.ml !== undefined) styles.marginLeft = resolveSpacing(props.ml);\n if (props.mr !== undefined) styles.marginRight = resolveSpacing(props.mr);\n if (props.mx !== undefined) {\n styles.marginLeft = resolveSpacing(props.mx);\n styles.marginRight = resolveSpacing(props.mx);\n }\n if (props.my !== undefined) {\n styles.marginTop = resolveSpacing(props.my);\n styles.marginBottom = resolveSpacing(props.my);\n }\n\n if (props.p !== undefined) styles.padding = resolveSpacing(props.p);\n if (props.pt !== undefined) styles.paddingTop = resolveSpacing(props.pt);\n if (props.pb !== undefined) styles.paddingBottom = resolveSpacing(props.pb);\n if (props.pl !== undefined) styles.paddingLeft = resolveSpacing(props.pl);\n if (props.pr !== undefined) styles.paddingRight = resolveSpacing(props.pr);\n if (props.px !== undefined) {\n styles.paddingLeft = resolveSpacing(props.px);\n styles.paddingRight = resolveSpacing(props.px);\n }\n if (props.py !== undefined) {\n styles.paddingTop = resolveSpacing(props.py);\n styles.paddingBottom = resolveSpacing(props.py);\n }\n\n if (props.gap !== undefined) styles.gap = resolveSpacing(props.gap);\n\n return styles;\n}\n","import { forwardRef } from 'react';\nimport clsx from 'clsx';\nimport { Box, BoxProps } from './Box';\n\nexport interface StackProps extends BoxProps {\n direction?: 'row' | 'column';\n align?: 'start' | 'center' | 'end' | 'stretch' | 'baseline';\n justify?: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';\n wrap?: boolean;\n}\n\nexport const Stack = forwardRef<HTMLElement, StackProps>(\n ({ direction = 'column', align, justify, wrap, className, style, ...props }, ref) => {\n return (\n <Box\n ref={ref}\n className={clsx('ds-stack', direction === 'row' && 'ds-stack--horizontal', className)}\n style={{\n alignItems: align,\n justifyContent: justify === 'between' ? 'space-between' : justify,\n flexWrap: wrap ? 'wrap' : undefined,\n ...style,\n }}\n {...props}\n />\n );\n },\n);\n\nStack.displayName = 'Stack';\n","import { forwardRef } from 'react';\nimport clsx from 'clsx';\nimport { Box, BoxProps } from './Box';\n\nexport type ContainerSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';\n\n/**\n * Maps named sizes to max-width values.\n * Aligns with common web breakpoints (Tailwind `max-w-*` scale).\n */\n// eslint-disable-next-line react-refresh/only-export-components\nexport const CONTAINER_SIZE_MAP: Record<ContainerSize, string> = {\n sm: '768px', // 48rem — max-w-3xl\n md: '1024px', // 64rem — max-w-5xl\n lg: '1152px', // 72rem — max-w-6xl\n xl: '1280px', // 80rem — max-w-7xl\n full: '100%',\n};\n\nexport interface ContainerProps extends BoxProps {\n /**\n * Named size preset. Overrides `maxWidth` when set.\n * @example <Container size=\"lg\">…</Container>\n */\n size?: ContainerSize;\n /** Pass `true` to stretch to 100% width (same as `size=\"full\"`). */\n fluid?: boolean;\n /** Custom max-width value. Ignored when `size` or `fluid` is set. */\n maxWidth?: number | string;\n}\n\nexport const Container = forwardRef<HTMLElement, ContainerProps>(\n ({ size, fluid, maxWidth, className, style, ...props }, ref) => {\n let resolvedMaxWidth: string | number;\n if (fluid) {\n resolvedMaxWidth = '100%';\n } else if (size) {\n resolvedMaxWidth = CONTAINER_SIZE_MAP[size];\n } else {\n resolvedMaxWidth = maxWidth || 'var(--container-default-max, 1200px)';\n }\n\n return (\n <Box\n ref={ref}\n className={clsx('ds-container', className)}\n style={{\n maxWidth: resolvedMaxWidth,\n ...style,\n }}\n {...props}\n />\n );\n },\n);\n\nContainer.displayName = 'Container';\n","import React, { forwardRef } from 'react';\nimport clsx from 'clsx';\nimport { SectionShell, SectionShellProps } from '../SectionShell/SectionShell';\nimport { Stack, Box } from '../LayoutPrimitives';\nimport './HeroSection.css';\n\n/* ============================================================================\n Types\n ============================================================================ */\n\nexport interface HeroSectionProps extends Omit<SectionShellProps, 'title'> {\n variant?: 'left' | 'center' | 'split';\n title: React.ReactNode;\n subtitle?: React.ReactNode;\n eyebrow?: React.ReactNode;\n primaryCta?: React.ReactNode;\n secondaryCta?: React.ReactNode;\n\n /** Main visual (Image, Video, or Component) */\n media?: React.ReactNode;\n /** Adds a browser-like header bar to the media container */\n mediaBrowserFrame?: boolean;\n\n /** Optional floating elements (e.g. SocialProof cards) over the media */\n floatingElement?: React.ReactNode;\n floatingPosition?: 'top-right' | 'bottom-left';\n\n /** Background Visuals */\n withGrid?: boolean;\n withGlow?: boolean;\n\n align?: 'left' | 'center'; // Text alignment overrides variant default\n}\n\n/* ============================================================================\n Component\n ============================================================================ */\n\nexport const HeroSection = forwardRef<HTMLDivElement, HeroSectionProps>(\n (\n {\n variant = 'left',\n title,\n subtitle,\n eyebrow,\n primaryCta,\n secondaryCta,\n media,\n mediaBrowserFrame = false,\n floatingElement,\n floatingPosition = 'bottom-left',\n withGrid = false,\n withGlow = false,\n align,\n className,\n children,\n ...props\n },\n ref,\n ) => {\n // Determine layout based on variant\n const isSplit = variant === 'split';\n const isCenter = variant === 'center';\n\n // Default alignment\n const textAlignment = align || (isCenter ? 'center' : 'left');\n\n const ContentBlock = (\n <div className={clsx('ds-hero__content', `ds-hero__content--${textAlignment}`)}>\n {eyebrow && (\n <span className=\"ds-section-header__eyebrow\" style={{ marginBottom: 'var(--space-2)' }}>\n {eyebrow}\n </span>\n )}\n <h1 className=\"ds-hero__title\">{title}</h1>\n {subtitle && <p className=\"ds-hero__subtitle\">{subtitle}</p>}\n\n {(primaryCta || secondaryCta) && (\n <div className=\"ds-hero__actions\">\n {primaryCta}\n {secondaryCta}\n </div>\n )}\n {children}\n </div>\n );\n\n const MediaBlock = media && (\n <div className=\"ds-hero__media-wrapper\">\n <div className={clsx('ds-hero__media', mediaBrowserFrame && 'ds-hero__media--browser')}>\n {media}\n </div>\n {floatingElement && (\n <div className={clsx('ds-hero__float', `ds-hero__float--${floatingPosition}`)}>\n {floatingElement}\n </div>\n )}\n </div>\n );\n\n return (\n <SectionShell\n ref={ref}\n className={clsx(\n 'ds-hero',\n `ds-hero--${variant}`,\n withGrid && 'ds-hero--bg-grid',\n withGlow && 'ds-hero--bg-glow',\n className,\n )}\n padding=\"lg\"\n {...props}\n >\n {isSplit ? (\n <div\n style={{\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fit, minmax(min(100%, 500px), 1fr))',\n gap: 'var(--space-16)',\n alignItems: 'center',\n }}\n >\n <Box>{ContentBlock}</Box>\n <Box>{MediaBlock}</Box>\n </div>\n ) : (\n <Stack gap={16} align={isCenter ? 'center' : 'start'}>\n {ContentBlock}\n {MediaBlock && (\n <Box\n style={{\n width: '100%',\n display: 'flex',\n justifyContent: isCenter ? 'center' : 'flex-start',\n }}\n >\n <div style={{ width: '100%', maxWidth: isCenter ? '1200px' : '100%' }}>\n {MediaBlock}\n </div>\n </Box>\n )}\n </Stack>\n )}\n </SectionShell>\n );\n },\n);\n\nHeroSection.displayName = 'HeroSection';\n","import React, { forwardRef } from 'react';\nimport clsx from 'clsx';\nimport { SectionShell, SectionShellProps, SectionHeader } from '../SectionShell/SectionShell';\nimport './FeatureSection.css';\n\n/* ============================================================================\n Types\n ============================================================================ */\n\nexport interface FeatureItem {\n title: React.ReactNode;\n description: React.ReactNode;\n icon?: React.ReactNode;\n media?: React.ReactNode; // For ZigZag\n step?: string | number; // For ZigZag steps\n cta?: React.ReactNode;\n}\n\nexport interface FeatureSectionProps extends Omit<SectionShellProps, 'title'> {\n variant?: 'grid' | 'zigzag';\n columns?: 2 | 3 | 4; // For grid variant\n features: FeatureItem[];\n title?: React.ReactNode;\n subtitle?: React.ReactNode;\n eyebrow?: React.ReactNode;\n alignHeader?: 'left' | 'center' | 'right';\n}\n\n/* ============================================================================\n Components\n ============================================================================ */\n\nconst FeatureCard = ({ item }: { item: FeatureItem }) => (\n <div className=\"ds-feature-card\">\n {item.icon && <div className=\"ds-feature-card__icon\">{item.icon}</div>}\n <h3 className=\"ds-feature-card__title\">{item.title}</h3>\n <div className=\"ds-feature-card__description\">{item.description}</div>\n {item.cta && <div className=\"ds-feature-card__cta\">{item.cta}</div>}\n </div>\n);\n\nconst FeatureRow = ({ item }: { item: FeatureItem }) => (\n <div className=\"ds-feature-row\">\n <div className=\"ds-feature-row__content\">\n {item.step && <div className=\"ds-feature-row__step\">STEP {item.step}</div>}\n {item.icon && <div className=\"ds-feature-card__icon\">{item.icon}</div>}\n <h3 className=\"ds-section-header__title\" style={{ fontSize: 'var(--font-size-2xl)' }}>\n {item.title}\n </h3>\n <div className=\"ds-section-header__subtitle\" style={{ fontSize: 'var(--font-size-lg)' }}>\n {item.description}\n </div>\n {item.cta && <div className=\"ds-hero__actions\">{item.cta}</div>}\n </div>\n <div className=\"ds-feature-row__media\">\n {item.media || (\n <div style={{ paddingBottom: '56.25%', background: 'var(--glass-base-active)' }} />\n )}\n </div>\n </div>\n);\n\nexport const FeatureSection = forwardRef<HTMLDivElement, FeatureSectionProps>(\n (\n {\n variant = 'grid',\n columns = 3,\n features,\n title,\n subtitle,\n eyebrow,\n alignHeader = 'center',\n className,\n ...props\n },\n ref,\n ) => {\n return (\n <SectionShell ref={ref} className={clsx('ds-feature-section', className)} {...props}>\n <SectionHeader title={title} subtitle={subtitle} eyebrow={eyebrow} align={alignHeader} />\n\n {variant === 'grid' ? (\n <div className={clsx('ds-feature-grid', `ds-feature-grid--${columns}-col`)}>\n {features.map((feature, index) => (\n <FeatureCard key={index} item={feature} />\n ))}\n </div>\n ) : (\n <div className=\"ds-feature-zigzag\">\n {features.map((feature, index) => (\n <FeatureRow key={index} item={feature} />\n ))}\n </div>\n )}\n </SectionShell>\n );\n },\n);\nFeatureSection.displayName = 'FeatureSection';\n","import React, { forwardRef } from 'react';\nimport clsx from 'clsx';\nimport { SectionShell, SectionShellProps } from '../SectionShell/SectionShell';\nimport './CTASection.css';\n\nexport interface CTASectionProps extends Omit<SectionShellProps, 'title'> {\n variant?: 'center' | 'split' | 'boxed';\n title: React.ReactNode;\n description?: React.ReactNode;\n primaryCta?: React.ReactNode;\n secondaryCta?: React.ReactNode;\n actions?: React.ReactNode; // Custom actions slot\n}\n\nexport const CTASection = forwardRef<HTMLDivElement, CTASectionProps>(\n (\n {\n variant = 'center',\n title,\n description,\n primaryCta,\n secondaryCta,\n actions,\n className,\n children,\n ...props\n },\n ref,\n ) => {\n // \"Boxed\" is just centered content inside a card-like container within the section\n const isBoxed = variant === 'boxed';\n const effectiveVariant = isBoxed ? 'center' : variant;\n\n const Content = (\n <div className={clsx('ds-cta-section', `ds-cta-section--${effectiveVariant}`)}>\n {effectiveVariant === 'split' ? (\n <div className=\"ds-cta-section--split\">\n <div className=\"ds-cta-content\">\n <h2 className=\"ds-cta-title\">{title}</h2>\n {description && <p className=\"ds-cta-description\">{description}</p>}\n </div>\n <div className=\"ds-cta-actions\">\n {actions || (\n <>\n {primaryCta}\n {secondaryCta}\n </>\n )}\n </div>\n </div>\n ) : (\n <div className=\"ds-cta-content\">\n <h2 className=\"ds-cta-title\">{title}</h2>\n {description && <p className=\"ds-cta-description\">{description}</p>}\n <div className=\"ds-cta-actions\">\n {actions || (\n <>\n {primaryCta}\n {secondaryCta}\n </>\n )}\n </div>\n </div>\n )}\n {children}\n </div>\n );\n\n return (\n <SectionShell ref={ref} className={clsx(className)} {...props}>\n {isBoxed ? <div className=\"ds-cta-card\">{Content}</div> : Content}\n </SectionShell>\n );\n },\n);\nCTASection.displayName = 'CTASection';\n","import React, { forwardRef } from 'react';\nimport clsx from 'clsx';\nimport { SectionShell, SectionShellProps, SectionHeader } from '../SectionShell/SectionShell';\nimport './StatsSection.css';\n\nexport interface StatItem {\n label: string;\n value: string | number;\n suffix?: string;\n prefix?: string;\n}\n\nexport interface StatsSectionProps extends Omit<SectionShellProps, 'title'> {\n stats: StatItem[];\n title?: React.ReactNode;\n subtitle?: React.ReactNode;\n eyebrow?: React.ReactNode;\n}\n\nexport const StatsSection = forwardRef<HTMLDivElement, StatsSectionProps>(\n ({ stats, title, subtitle, eyebrow, className, ...props }, ref) => {\n return (\n <SectionShell ref={ref} className={clsx('ds-stats-section', className)} {...props}>\n <SectionHeader title={title} subtitle={subtitle} eyebrow={eyebrow} />\n\n <div className=\"ds-stats-grid\">\n {stats.map((stat, idx) => (\n <div key={idx} className=\"ds-stat-card\">\n <div className=\"ds-stat-value\">\n {stat.prefix}\n {stat.value}\n <span className=\"ds-stat-suffix\">{stat.suffix}</span>\n </div>\n <div className=\"ds-stat-label\">{stat.label}</div>\n </div>\n ))}\n </div>\n </SectionShell>\n );\n },\n);\nStatsSection.displayName = 'StatsSection';\n"]}
1
+ {"version":3,"sources":["../../src/sections/SectionShellBoundary.tsx"],"names":["SectionShell","SectionHeader"],"mappings":";;;;;;;;;;;;;;AAAA,SAAS,kBAAkB;AAgBzB;AADK,IAAMA,gBAAe,WAA8C,CAAC,OAAO,QAChF,oBAAC,gBAAiB,KAAW,GAAG,OAAO,CACxC;AAEDA,cAAa,cAAc;AAEpB,IAAMC,iBAAgB,WAA+C,CAAC,OAAO,QAClF,oBAAC,iBAAkB,KAAW,GAAG,OAAO,CACzC;AAEDA,eAAc,cAAc","sourcesContent":["import { forwardRef } from 'react';\nimport {\n SectionShell as BaseSectionShell,\n SectionHeader as BaseSectionHeader,\n type SectionShellProps,\n type SectionHeaderProps,\n} from '../components/SectionShell/SectionShell';\n\n/**\n * Stable public wrapper for the sections entry.\n *\n * This keeps the emitted `@salesmind-ai/design-system/sections` declaration\n * surface from degrading into hashed re-export aliases that confuse some\n * consumers during workspace builds.\n */\nexport const SectionShell = forwardRef<HTMLDivElement, SectionShellProps>((props, ref) => (\n <BaseSectionShell ref={ref} {...props} />\n));\n\nSectionShell.displayName = 'SectionShell';\n\nexport const SectionHeader = forwardRef<HTMLDivElement, SectionHeaderProps>((props, ref) => (\n <BaseSectionHeader ref={ref} {...props} />\n));\n\nSectionHeader.displayName = 'SectionHeader';\n\nexport type { SectionShellProps, SectionHeaderProps };\n"]}