@frequencyads/components 0.1.2 → 0.1.3

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 (92) hide show
  1. package/dist/AnimatedCounter/AnimatedCounter.d.ts +19 -0
  2. package/dist/AnimatedCounter/AnimatedCounter.d.ts.map +1 -0
  3. package/dist/AnimatedCounter/index.d.ts +2 -0
  4. package/dist/AnimatedCounter/index.d.ts.map +1 -0
  5. package/dist/AnimatedWaveform/AnimatedWaveform.d.ts +10 -0
  6. package/dist/AnimatedWaveform/AnimatedWaveform.d.ts.map +1 -0
  7. package/dist/AnimatedWaveform/index.d.ts +2 -0
  8. package/dist/AnimatedWaveform/index.d.ts.map +1 -0
  9. package/dist/AudioPlayer/AudioPlayer.d.ts +26 -0
  10. package/dist/AudioPlayer/AudioPlayer.d.ts.map +1 -0
  11. package/dist/AudioPlayer/index.d.ts +2 -0
  12. package/dist/AudioPlayer/index.d.ts.map +1 -0
  13. package/dist/AudioWaveform/AudioWaveform.d.ts +27 -0
  14. package/dist/AudioWaveform/AudioWaveform.d.ts.map +1 -0
  15. package/dist/AudioWaveform/index.d.ts +2 -0
  16. package/dist/AudioWaveform/index.d.ts.map +1 -0
  17. package/dist/CodeBlock/CodeBlock.d.ts +10 -0
  18. package/dist/CodeBlock/CodeBlock.d.ts.map +1 -0
  19. package/dist/CodeBlock/index.d.ts +2 -0
  20. package/dist/CodeBlock/index.d.ts.map +1 -0
  21. package/dist/ColorPalette/ColorPalette.d.ts +10 -0
  22. package/dist/ColorPalette/ColorPalette.d.ts.map +1 -0
  23. package/dist/ColorPalette/index.d.ts +2 -0
  24. package/dist/ColorPalette/index.d.ts.map +1 -0
  25. package/dist/ColorSwatch/ColorSwatch.d.ts +10 -0
  26. package/dist/ColorSwatch/ColorSwatch.d.ts.map +1 -0
  27. package/dist/ColorSwatch/index.d.ts +2 -0
  28. package/dist/ColorSwatch/index.d.ts.map +1 -0
  29. package/dist/Copyable/Copyable.d.ts +7 -0
  30. package/dist/Copyable/Copyable.d.ts.map +1 -0
  31. package/dist/Copyable/index.d.ts +2 -0
  32. package/dist/Copyable/index.d.ts.map +1 -0
  33. package/dist/DosDonts/DosDonts.d.ts +10 -0
  34. package/dist/DosDonts/DosDonts.d.ts.map +1 -0
  35. package/dist/DosDonts/index.d.ts +2 -0
  36. package/dist/DosDonts/index.d.ts.map +1 -0
  37. package/dist/ExpandableCard/ExpandableCard.d.ts +30 -0
  38. package/dist/ExpandableCard/ExpandableCard.d.ts.map +1 -0
  39. package/dist/ExpandableCard/index.d.ts +2 -0
  40. package/dist/ExpandableCard/index.d.ts.map +1 -0
  41. package/dist/FadeInSection/FadeInSection.d.ts +10 -0
  42. package/dist/FadeInSection/FadeInSection.d.ts.map +1 -0
  43. package/dist/FadeInSection/index.d.ts +2 -0
  44. package/dist/FadeInSection/index.d.ts.map +1 -0
  45. package/dist/FrequencyWave/FrequencyWave.d.ts +15 -0
  46. package/dist/FrequencyWave/FrequencyWave.d.ts.map +1 -0
  47. package/dist/FrequencyWave/index.d.ts +2 -0
  48. package/dist/FrequencyWave/index.d.ts.map +1 -0
  49. package/dist/GradientSwatch/GradientSwatch.d.ts +10 -0
  50. package/dist/GradientSwatch/GradientSwatch.d.ts.map +1 -0
  51. package/dist/GradientSwatch/index.d.ts +2 -0
  52. package/dist/GradientSwatch/index.d.ts.map +1 -0
  53. package/dist/Hero/Hero.d.ts +34 -0
  54. package/dist/Hero/Hero.d.ts.map +1 -0
  55. package/dist/Hero/index.d.ts +2 -0
  56. package/dist/Hero/index.d.ts.map +1 -0
  57. package/dist/HintBadge/HintBadge.d.ts +8 -0
  58. package/dist/HintBadge/HintBadge.d.ts.map +1 -0
  59. package/dist/HintBadge/index.d.ts +2 -0
  60. package/dist/HintBadge/index.d.ts.map +1 -0
  61. package/dist/MiniAudioPlayer/MiniAudioPlayer.d.ts +18 -0
  62. package/dist/MiniAudioPlayer/MiniAudioPlayer.d.ts.map +1 -0
  63. package/dist/MiniAudioPlayer/index.d.ts +2 -0
  64. package/dist/MiniAudioPlayer/index.d.ts.map +1 -0
  65. package/dist/PrincipleCard/PrincipleCard.d.ts +14 -0
  66. package/dist/PrincipleCard/PrincipleCard.d.ts.map +1 -0
  67. package/dist/PrincipleCard/index.d.ts +2 -0
  68. package/dist/PrincipleCard/index.d.ts.map +1 -0
  69. package/dist/SpeedDial/SpeedDial.d.ts +33 -0
  70. package/dist/SpeedDial/SpeedDial.d.ts.map +1 -0
  71. package/dist/SpeedDial/index.d.ts +2 -0
  72. package/dist/SpeedDial/index.d.ts.map +1 -0
  73. package/dist/SplitSection/SplitSection.d.ts +35 -0
  74. package/dist/SplitSection/SplitSection.d.ts.map +1 -0
  75. package/dist/SplitSection/index.d.ts +2 -0
  76. package/dist/SplitSection/index.d.ts.map +1 -0
  77. package/dist/TestimonialCard/TestimonialCard.d.ts +17 -0
  78. package/dist/TestimonialCard/TestimonialCard.d.ts.map +1 -0
  79. package/dist/TestimonialCard/index.d.ts +2 -0
  80. package/dist/TestimonialCard/index.d.ts.map +1 -0
  81. package/dist/VideoBackground/VideoBackground.d.ts +8 -0
  82. package/dist/VideoBackground/VideoBackground.d.ts.map +1 -0
  83. package/dist/VideoBackground/index.d.ts +2 -0
  84. package/dist/VideoBackground/index.d.ts.map +1 -0
  85. package/dist/components.css +1 -0
  86. package/dist/index.d.ts +25 -359
  87. package/dist/index.d.ts.map +1 -0
  88. package/dist/index.js +1 -1663
  89. package/dist/index.mjs +849 -1241
  90. package/package.json +10 -6
  91. package/dist/index.css +0 -609
  92. package/dist/index.d.mts +0 -361
package/package.json CHANGED
@@ -1,21 +1,23 @@
1
1
  {
2
2
  "name": "@frequencyads/components",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Shared Mantine UI components for Frequency apps",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.mjs",
8
8
  "types": "dist/index.d.ts",
9
+ "style": "dist/components.css",
9
10
  "exports": {
10
11
  ".": {
11
12
  "types": "./dist/index.d.ts",
12
13
  "import": "./dist/index.mjs",
13
14
  "require": "./dist/index.js"
14
- }
15
+ },
16
+ "./style.css": "./dist/components.css"
15
17
  },
16
18
  "scripts": {
17
- "build": "tsup",
18
- "dev": "tsup --watch",
19
+ "build": "vite build",
20
+ "dev": "vite build --watch",
19
21
  "lint": "eslint .",
20
22
  "type-check": "tsc --noEmit"
21
23
  },
@@ -36,10 +38,12 @@
36
38
  "@mantine/core": "^7",
37
39
  "@mantine/hooks": "^7",
38
40
  "@types/react": "^19",
41
+ "@vitejs/plugin-react": "^5.1.3",
39
42
  "postcss-preset-mantine": "^1",
40
43
  "postcss-simple-vars": "^7",
41
- "tsup": "^8",
42
- "typescript": "^5"
44
+ "typescript": "^5",
45
+ "vite": "^6",
46
+ "vite-plugin-dts": "^4.5.4"
43
47
  },
44
48
  "files": [
45
49
  "dist",
package/dist/index.css DELETED
@@ -1,609 +0,0 @@
1
- /* src/AnimatedWaveform/AnimatedWaveform.module.css */
2
- .root {
3
- position: absolute;
4
- top: 50%;
5
- left: 50%;
6
- transform: translate(-50%, -50%);
7
- width: 100vw;
8
- height: calc(12rem * var(--mantine-scale));
9
- pointer-events: none;
10
- opacity: 0.6;
11
- }
12
- .svg {
13
- width: 100%;
14
- height: 100%;
15
- }
16
-
17
- /* src/AudioWaveform/AudioWaveform.module.css */
18
- .root {
19
- position: relative;
20
- width: 100%;
21
- cursor: pointer;
22
- overflow: hidden;
23
- border-radius: 4px;
24
- }
25
- .progressOverlay {
26
- position: absolute;
27
- top: 0;
28
- left: 0;
29
- height: 100%;
30
- pointer-events: none;
31
- transition: width 0.1s linear;
32
- border-radius: 4px;
33
- }
34
- .bars {
35
- display: flex;
36
- align-items: center;
37
- height: 100%;
38
- padding: 4px;
39
- overflow: hidden;
40
- }
41
- .bar {
42
- min-height: 2px;
43
- border-radius: 1px;
44
- transition: background-color 0.15s linear;
45
- flex-shrink: 0;
46
- }
47
- .loading {
48
- position: absolute;
49
- inset: 0;
50
- display: flex;
51
- align-items: center;
52
- justify-content: center;
53
- background-color: rgba(255, 255, 255, 0.9);
54
- font-size: 14px;
55
- color: #666;
56
- z-index: 1;
57
- border-radius: 4px;
58
- backdrop-filter: blur(2px);
59
- }
60
-
61
- /* src/AudioPlayer/AudioPlayer.module.css */
62
- .root {
63
- width: 100%;
64
- padding: 12px 16px;
65
- background-color: var(--mantine-color-default);
66
- border-radius: var(--mantine-radius-sm);
67
- }
68
- .playButton {
69
- flex-shrink: 0;
70
- transition: transform 0.2s ease;
71
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
72
- }
73
- .playButton:hover {
74
- transform: scale(1.05);
75
- }
76
- .playButton:active {
77
- transform: scale(0.95);
78
- }
79
- .time {
80
- flex-shrink: 0;
81
- min-width: 40px;
82
- white-space: nowrap;
83
- }
84
- .volumeGroup {
85
- flex-shrink: 0;
86
- }
87
-
88
- /* src/CodeBlock/CodeBlock.module.css */
89
- .root {
90
- margin: var(--mantine-spacing-lg) 0;
91
- }
92
- .textarea {
93
- width: 100%;
94
- padding: var(--mantine-spacing-md);
95
- font-family:
96
- ui-monospace,
97
- SFMono-Regular,
98
- "SF Mono",
99
- Menlo,
100
- Consolas,
101
- monospace;
102
- font-size: var(--mantine-font-size-sm);
103
- background-color: var(--mantine-color-dark-9);
104
- color: var(--mantine-color-gray-1);
105
- border: 1px solid var(--mantine-color-dark-6);
106
- border-radius: var(--mantine-radius-md);
107
- resize: none;
108
- }
109
- .textarea:focus {
110
- outline: none;
111
- border-color: var(--mantine-color-blue-5);
112
- }
113
-
114
- /* src/Copyable/Copyable.module.css */
115
- .root {
116
- cursor: pointer;
117
- }
118
- .toast {
119
- position: fixed;
120
- bottom: calc(1.5rem * var(--mantine-scale));
121
- left: 50%;
122
- transform: translateX(-50%);
123
- z-index: 9999;
124
- animation: toast-in 0.2s ease-out;
125
- }
126
- @keyframes toast-in {
127
- from {
128
- opacity: 0;
129
- transform: translateX(-50%) translateY(calc(0.5rem * var(--mantine-scale)));
130
- }
131
- to {
132
- opacity: 1;
133
- transform: translateX(-50%) translateY(0);
134
- }
135
- }
136
-
137
- /* src/ColorPalette/ColorPalette.module.css */
138
- .root {
139
- margin-bottom: var(--mantine-spacing-lg);
140
- }
141
- .shade {
142
- cursor: pointer;
143
- text-align: center;
144
- }
145
- .color {
146
- height: calc(3rem * var(--mantine-scale));
147
- border-radius: var(--mantine-radius-sm);
148
- transition: transform 150ms ease;
149
- }
150
- .color:hover {
151
- transform: scale(1.05);
152
- }
153
- .main {
154
- outline: 2px solid var(--mantine-color-gray-4);
155
- outline-offset: 2px;
156
- }
157
-
158
- /* src/ColorSwatch/ColorSwatch.module.css */
159
- .root {
160
- overflow: hidden;
161
- cursor: pointer;
162
- transition: transform 150ms ease;
163
- }
164
- .root:hover {
165
- transform: translateY(calc(-0.125rem * var(--mantine-scale)));
166
- }
167
- .preview {
168
- height: calc(8rem * var(--mantine-scale));
169
- }
170
- .info {
171
- padding: var(--mantine-spacing-sm);
172
- }
173
-
174
- /* src/DosDonts/DosDonts.module.css */
175
- .root {
176
- display: flex;
177
- flex-direction: column;
178
- gap: var(--mantine-spacing-md);
179
- }
180
- .dont {
181
- background-color: var(--mantine-color-red-light);
182
- border: 1px solid var(--mantine-color-red-outline);
183
- }
184
- .dontIcon,
185
- .dontLabel {
186
- color: var(--mantine-color-red-filled);
187
- }
188
- .do {
189
- background-color: var(--mantine-color-green-light);
190
- border: 1px solid var(--mantine-color-green-outline);
191
- }
192
- .doIcon,
193
- .doLabel {
194
- color: var(--mantine-color-green-filled);
195
- }
196
-
197
- /* src/ExpandableCard/ExpandableCard.module.css */
198
- .root {
199
- overflow: hidden;
200
- background-color: var(--mantine-color-gray-1);
201
- }
202
- [data-mantine-color-scheme=dark] .root {
203
- background-color: var(--mantine-color-dark-6);
204
- }
205
- .inner {
206
- padding: var(--mantine-spacing-lg) var(--mantine-spacing-xl);
207
- }
208
-
209
- /* src/FadeInSection/FadeInSection.module.css */
210
- .root {
211
- opacity: 0;
212
- transform: translateY(calc(2rem * var(--mantine-scale)));
213
- transition: opacity 700ms ease-out, transform 700ms ease-out;
214
- }
215
- .visible {
216
- opacity: 1;
217
- transform: translateY(0);
218
- }
219
-
220
- /* src/GradientSwatch/GradientSwatch.module.css */
221
- .root {
222
- overflow: hidden;
223
- cursor: pointer;
224
- transition: transform 150ms ease;
225
- }
226
- .root:hover {
227
- transform: translateY(calc(-0.125rem * var(--mantine-scale)));
228
- }
229
- .preview {
230
- height: calc(5rem * var(--mantine-scale));
231
- }
232
- .info {
233
- padding: var(--mantine-spacing-sm);
234
- }
235
-
236
- /* src/VideoBackground/VideoBackground.module.css */
237
- .root {
238
- position: absolute;
239
- inset: 0;
240
- z-index: 1;
241
- overflow: hidden;
242
- pointer-events: none;
243
- }
244
- .video {
245
- width: 100%;
246
- height: 100%;
247
- object-fit: cover;
248
- }
249
-
250
- /* src/Hero/Hero.module.css */
251
- .root {
252
- position: relative;
253
- min-height: 100vh;
254
- overflow: hidden;
255
- background-color: #121212;
256
- }
257
- .content {
258
- position: relative;
259
- z-index: 10;
260
- min-height: 100vh;
261
- display: flex;
262
- flex-direction: column;
263
- align-items: center;
264
- justify-content: center;
265
- padding: var(--mantine-spacing-xl);
266
- text-align: center;
267
- }
268
- .label {
269
- position: relative;
270
- z-index: 20;
271
- font-family: Montserrat, sans-serif;
272
- font-size: calc(0.625rem * var(--mantine-scale));
273
- text-transform: uppercase;
274
- letter-spacing: 0.3em;
275
- color: rgba(255, 255, 255, 0.6);
276
- margin-bottom: calc(2rem * var(--mantine-scale));
277
- }
278
- @media (min-width: 48em) {
279
- .label {
280
- font-size: var(--mantine-font-size-xs);
281
- }
282
- }
283
- .vignette {
284
- position: absolute;
285
- top: 50%;
286
- left: 50%;
287
- transform: translate(-50%, -50%);
288
- width: calc(35rem * var(--mantine-scale));
289
- height: calc(35rem * var(--mantine-scale));
290
- background:
291
- radial-gradient(
292
- circle,
293
- #121212 0%,
294
- #121212 30%,
295
- transparent 65%);
296
- pointer-events: none;
297
- z-index: 1;
298
- }
299
- .logoWrapper {
300
- position: relative;
301
- margin-bottom: calc(2.5rem * var(--mantine-scale));
302
- }
303
- .logo {
304
- position: relative;
305
- z-index: 10;
306
- width: calc(10rem * var(--mantine-scale));
307
- height: calc(10rem * var(--mantine-scale));
308
- object-fit: contain;
309
- }
310
- @media (min-width: 48em) {
311
- .logo {
312
- width: calc(14rem * var(--mantine-scale));
313
- height: calc(14rem * var(--mantine-scale));
314
- }
315
- }
316
- @media (min-width: 75em) {
317
- .logo {
318
- width: calc(18rem * var(--mantine-scale));
319
- height: calc(18rem * var(--mantine-scale));
320
- }
321
- }
322
- .glow {
323
- position: absolute;
324
- inset: 0;
325
- z-index: 0;
326
- filter: blur(calc(3rem * var(--mantine-scale)));
327
- opacity: 0.3;
328
- background:
329
- radial-gradient(
330
- circle,
331
- #169bde 0%,
332
- #7e57c2 50%,
333
- transparent 70%);
334
- transform: scale(1.5);
335
- pointer-events: none;
336
- }
337
- .textWrapper {
338
- position: relative;
339
- margin-bottom: calc(2.5rem * var(--mantine-scale));
340
- }
341
- .heading {
342
- position: relative;
343
- z-index: 2;
344
- color: transparent;
345
- background-clip: text;
346
- -webkit-background-clip: text;
347
- font-size: calc(3rem * var(--mantine-scale));
348
- font-family: Montserrat, sans-serif;
349
- font-weight: 700;
350
- line-height: 1.1;
351
- letter-spacing: -2px;
352
- text-transform: uppercase;
353
- }
354
- @media (min-width: 48em) {
355
- .heading {
356
- font-size: calc(4rem * var(--mantine-scale));
357
- }
358
- }
359
- @media (min-width: 75em) {
360
- .heading {
361
- font-size: calc(6rem * var(--mantine-scale));
362
- }
363
- }
364
- @keyframes shimmer {
365
- 0% {
366
- background-position: 100% 50%;
367
- }
368
- 50% {
369
- background-position: 0% 50%;
370
- }
371
- 100% {
372
- background-position: 100% 50%;
373
- }
374
- }
375
- .shimmer {
376
- animation: shimmer 6s ease-in-out infinite;
377
- }
378
- .tagline {
379
- position: relative;
380
- z-index: 20;
381
- color: rgba(255, 255, 255, 0.6);
382
- font-size: var(--mantine-font-size-lg);
383
- font-family:
384
- "Source Sans 3",
385
- "Source Sans Pro",
386
- sans-serif;
387
- max-width: calc(35rem * var(--mantine-scale));
388
- margin-bottom: calc(3rem * var(--mantine-scale));
389
- }
390
- @media (min-width: 48em) {
391
- .tagline {
392
- font-size: var(--mantine-font-size-xl);
393
- }
394
- }
395
- .primaryButton {
396
- font-family: Montserrat, sans-serif;
397
- font-weight: 600;
398
- }
399
- .secondaryButton {
400
- font-family: Montserrat, sans-serif;
401
- font-weight: 600;
402
- border-color: rgba(255, 255, 255, 0.2);
403
- color: var(--mantine-color-white);
404
- }
405
- .secondaryButton:hover {
406
- background-color: rgba(255, 255, 255, 0.05);
407
- }
408
- .scrollIndicator {
409
- position: absolute;
410
- bottom: calc(3rem * var(--mantine-scale));
411
- left: 50%;
412
- transform: translateX(-50%);
413
- display: flex;
414
- flex-direction: column;
415
- align-items: center;
416
- gap: calc(1rem * var(--mantine-scale));
417
- }
418
- .scrollLabel {
419
- font-family: Montserrat, sans-serif;
420
- font-size: calc(0.625rem * var(--mantine-scale));
421
- text-transform: uppercase;
422
- letter-spacing: 0.3em;
423
- color: rgba(255, 255, 255, 0.2);
424
- }
425
- .scrollLine {
426
- width: 1px;
427
- height: calc(2rem * var(--mantine-scale));
428
- background:
429
- linear-gradient(
430
- to bottom,
431
- rgba(255, 255, 255, 0.4),
432
- transparent);
433
- }
434
-
435
- /* src/MiniAudioPlayer/MiniAudioPlayer.module.css */
436
- .root {
437
- padding: 4px 8px;
438
- border-radius: 4px;
439
- background-color: var(--mantine-color-default);
440
- border: 1px solid var(--mantine-color-default-border);
441
- width: fit-content;
442
- min-width: 120px;
443
- max-width: 300px;
444
- }
445
- .playButton {
446
- transition: transform 0.2s ease;
447
- }
448
- .playButton:hover {
449
- transform: scale(1.05);
450
- }
451
- .playButton:active {
452
- transform: scale(0.95);
453
- }
454
-
455
- /* src/PrincipleCard/PrincipleCard.module.css */
456
- .root {
457
- border-left: 4px solid;
458
- background-color: var(--mantine-color-default);
459
- }
460
-
461
- /* src/SpeedDial/SpeedDial.module.css */
462
- .root {
463
- display: inline-flex;
464
- flex-direction: column;
465
- align-items: center;
466
- gap: 12px;
467
- }
468
- .root[data-direction=down] {
469
- flex-direction: column-reverse;
470
- }
471
- .root[data-direction=left],
472
- .root[data-direction=right] {
473
- flex-direction: row;
474
- gap: 12px;
475
- }
476
- .root[data-direction=left] {
477
- flex-direction: row-reverse;
478
- }
479
- .actions {
480
- display: flex;
481
- flex-direction: column;
482
- align-items: center;
483
- gap: 8px;
484
- }
485
- .actions[data-direction=down] {
486
- flex-direction: column-reverse;
487
- }
488
- .actions[data-direction=left],
489
- .actions[data-direction=right] {
490
- flex-direction: row;
491
- gap: 8px;
492
- }
493
- .actions[data-direction=left] {
494
- flex-direction: row-reverse;
495
- }
496
- .fab {
497
- box-shadow: var(--mantine-shadow-md);
498
- transition: transform 0.2s ease, box-shadow 0.2s ease;
499
- }
500
- .fab:hover {
501
- box-shadow: var(--mantine-shadow-lg);
502
- transform: scale(1.05);
503
- }
504
- .fab[data-open] {
505
- transform: rotate(45deg);
506
- }
507
- .fab[data-open]:hover {
508
- transform: rotate(45deg) scale(1.05);
509
- }
510
- .actionButton {
511
- box-shadow: var(--mantine-shadow-sm);
512
- transition: transform 0.15s ease;
513
- }
514
- .actionButton:hover {
515
- transform: scale(1.1);
516
- }
517
-
518
- /* src/SplitSection/SplitSection.module.css */
519
- .container {
520
- max-width: 80rem;
521
- margin-left: auto;
522
- margin-right: auto;
523
- padding-left: var(--mantine-spacing-xl);
524
- padding-right: var(--mantine-spacing-xl);
525
- }
526
- @media (min-width: 48em) {
527
- .container {
528
- padding-left: calc(var(--mantine-spacing-xl) * 1.5);
529
- padding-right: calc(var(--mantine-spacing-xl) * 1.5);
530
- }
531
- }
532
- .layout {
533
- display: flex;
534
- flex-direction: column;
535
- gap: var(--mantine-spacing-xl);
536
- }
537
- @media (min-width: 62em) {
538
- .layout {
539
- flex-direction: row;
540
- gap: calc(var(--mantine-spacing-xl) * 2);
541
- }
542
- }
543
- .reversed {
544
- flex-direction: column;
545
- }
546
- @media (min-width: 62em) {
547
- .reversed {
548
- flex-direction: row-reverse;
549
- }
550
- }
551
- .headingSide {
552
- flex-shrink: 0;
553
- }
554
- @media (min-width: 62em) {
555
- .headingSide {
556
- width: 45%;
557
- }
558
- }
559
- .sticky {
560
- }
561
- @media (min-width: 62em) {
562
- .sticky .stickyInner {
563
- position: sticky;
564
- top: 50%;
565
- transform: translateY(-50%);
566
- }
567
- }
568
- .stickyInner {
569
- }
570
- .contentSide {
571
- flex: 1;
572
- min-width: 0;
573
- }
574
- @media (min-width: 62em) {
575
- .contentSide {
576
- padding-left: var(--mantine-spacing-lg);
577
- }
578
- }
579
- .title {
580
- text-transform: uppercase;
581
- line-height: 1.1;
582
- letter-spacing: -0.02em;
583
- }
584
- .preTitle {
585
- display: block;
586
- font-size: clamp(1.5rem, 3vw, 2.25rem);
587
- font-weight: 600;
588
- }
589
- .titleHighlight {
590
- display: block;
591
- font-size: clamp(2.5rem, 5vw, 3.75rem);
592
- font-weight: 700;
593
- letter-spacing: -0.02em;
594
- }
595
- .description {
596
- max-width: 36rem;
597
- }
598
-
599
- /* src/TestimonialCard/TestimonialCard.module.css */
600
- .root {
601
- border-left: 4px solid;
602
- background-color: var(--mantine-color-gray-0);
603
- }
604
- [data-mantine-color-scheme=dark] .root {
605
- background-color: var(--mantine-color-dark-6);
606
- }
607
- .quoteIcon {
608
- opacity: 0.3;
609
- }