@frequencyads/components 0.1.5 → 0.1.7

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 (148) hide show
  1. package/dist/brand/BrandLogos/BrandLogos.d.ts +7 -0
  2. package/dist/brand/BrandLogos/BrandLogos.d.ts.map +1 -0
  3. package/dist/brand/BrandLogos/index.d.ts +2 -0
  4. package/dist/brand/BrandLogos/index.d.ts.map +1 -0
  5. package/dist/brand/BrandedAppName/BrandedAppName.d.ts +15 -0
  6. package/dist/brand/BrandedAppName/BrandedAppName.d.ts.map +1 -0
  7. package/dist/brand/BrandedAppName/index.d.ts +2 -0
  8. package/dist/brand/BrandedAppName/index.d.ts.map +1 -0
  9. package/dist/components.css +1 -1
  10. package/dist/content/DosDonts/DosDonts.d.ts.map +1 -0
  11. package/dist/content/DosDonts/index.d.ts.map +1 -0
  12. package/dist/content/ExpandableCard/ExpandableCard.d.ts.map +1 -0
  13. package/dist/content/ExpandableCard/index.d.ts.map +1 -0
  14. package/dist/content/HintBadge/HintBadge.d.ts.map +1 -0
  15. package/dist/content/HintBadge/index.d.ts.map +1 -0
  16. package/dist/content/PrincipleCard/PrincipleCard.d.ts.map +1 -0
  17. package/dist/content/PrincipleCard/index.d.ts.map +1 -0
  18. package/dist/content/TestimonialCard/TestimonialCard.d.ts.map +1 -0
  19. package/dist/content/TestimonialCard/index.d.ts.map +1 -0
  20. package/dist/data-display/DonutChart/DonutChart.d.ts +2 -0
  21. package/dist/data-display/DonutChart/DonutChart.d.ts.map +1 -0
  22. package/dist/data-display/DonutChart/index.d.ts +2 -0
  23. package/dist/data-display/DonutChart/index.d.ts.map +1 -0
  24. package/dist/decorations/AnimatedWaveform/AnimatedWaveform.d.ts.map +1 -0
  25. package/dist/decorations/AnimatedWaveform/index.d.ts.map +1 -0
  26. package/dist/decorations/AudioWaveform/AudioWaveform.d.ts.map +1 -0
  27. package/dist/decorations/AudioWaveform/index.d.ts.map +1 -0
  28. package/dist/decorations/FrequencyWave/FrequencyWave.d.ts.map +1 -0
  29. package/dist/decorations/FrequencyWave/index.d.ts.map +1 -0
  30. package/dist/decorations/VideoBackground/VideoBackground.d.ts.map +1 -0
  31. package/dist/decorations/VideoBackground/index.d.ts.map +1 -0
  32. package/dist/design-tokens/ColorPalette/ColorPalette.d.ts.map +1 -0
  33. package/dist/design-tokens/ColorPalette/index.d.ts.map +1 -0
  34. package/dist/design-tokens/ColorSwatch/ColorSwatch.d.ts.map +1 -0
  35. package/dist/design-tokens/ColorSwatch/index.d.ts.map +1 -0
  36. package/dist/design-tokens/GradientSwatch/GradientSwatch.d.ts.map +1 -0
  37. package/dist/design-tokens/GradientSwatch/index.d.ts.map +1 -0
  38. package/dist/design-tokens/TypographyColors/TypographyColors.d.ts +2 -0
  39. package/dist/design-tokens/TypographyColors/TypographyColors.d.ts.map +1 -0
  40. package/dist/design-tokens/TypographyColors/index.d.ts +2 -0
  41. package/dist/design-tokens/TypographyColors/index.d.ts.map +1 -0
  42. package/dist/index.d.ts +26 -21
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +1 -1
  45. package/dist/index.mjs +1237 -983
  46. package/dist/media/AudioPlayer/AudioPlayer.d.ts.map +1 -0
  47. package/dist/media/AudioPlayer/index.d.ts.map +1 -0
  48. package/dist/media/MiniAudioPlayer/MiniAudioPlayer.d.ts.map +1 -0
  49. package/dist/media/MiniAudioPlayer/index.d.ts.map +1 -0
  50. package/dist/navigation/SpeedDial/SpeedDial.d.ts.map +1 -0
  51. package/dist/navigation/SpeedDial/index.d.ts.map +1 -0
  52. package/dist/sections/Hero/Hero.d.ts.map +1 -0
  53. package/dist/sections/Hero/index.d.ts.map +1 -0
  54. package/dist/sections/SplitSection/SplitSection.d.ts.map +1 -0
  55. package/dist/sections/SplitSection/index.d.ts.map +1 -0
  56. package/dist/utilities/AnimatedCounter/AnimatedCounter.d.ts.map +1 -0
  57. package/dist/utilities/AnimatedCounter/index.d.ts.map +1 -0
  58. package/dist/utilities/CodeBlock/CodeBlock.d.ts.map +1 -0
  59. package/dist/utilities/CodeBlock/index.d.ts.map +1 -0
  60. package/dist/utilities/Copyable/Copyable.d.ts.map +1 -0
  61. package/dist/utilities/Copyable/index.d.ts.map +1 -0
  62. package/dist/utilities/FadeInSection/FadeInSection.d.ts.map +1 -0
  63. package/dist/utilities/FadeInSection/index.d.ts.map +1 -0
  64. package/package.json +1 -1
  65. package/dist/AnimatedCounter/AnimatedCounter.d.ts.map +0 -1
  66. package/dist/AnimatedCounter/index.d.ts.map +0 -1
  67. package/dist/AnimatedWaveform/AnimatedWaveform.d.ts.map +0 -1
  68. package/dist/AnimatedWaveform/index.d.ts.map +0 -1
  69. package/dist/AudioPlayer/AudioPlayer.d.ts.map +0 -1
  70. package/dist/AudioPlayer/index.d.ts.map +0 -1
  71. package/dist/AudioWaveform/AudioWaveform.d.ts.map +0 -1
  72. package/dist/AudioWaveform/index.d.ts.map +0 -1
  73. package/dist/CodeBlock/CodeBlock.d.ts.map +0 -1
  74. package/dist/CodeBlock/index.d.ts.map +0 -1
  75. package/dist/ColorPalette/ColorPalette.d.ts.map +0 -1
  76. package/dist/ColorPalette/index.d.ts.map +0 -1
  77. package/dist/ColorSwatch/ColorSwatch.d.ts.map +0 -1
  78. package/dist/ColorSwatch/index.d.ts.map +0 -1
  79. package/dist/Copyable/Copyable.d.ts.map +0 -1
  80. package/dist/Copyable/index.d.ts.map +0 -1
  81. package/dist/DosDonts/DosDonts.d.ts.map +0 -1
  82. package/dist/DosDonts/index.d.ts.map +0 -1
  83. package/dist/ExpandableCard/ExpandableCard.d.ts.map +0 -1
  84. package/dist/ExpandableCard/index.d.ts.map +0 -1
  85. package/dist/FadeInSection/FadeInSection.d.ts.map +0 -1
  86. package/dist/FadeInSection/index.d.ts.map +0 -1
  87. package/dist/FrequencyWave/FrequencyWave.d.ts.map +0 -1
  88. package/dist/FrequencyWave/index.d.ts.map +0 -1
  89. package/dist/GradientSwatch/GradientSwatch.d.ts.map +0 -1
  90. package/dist/GradientSwatch/index.d.ts.map +0 -1
  91. package/dist/Hero/Hero.d.ts.map +0 -1
  92. package/dist/Hero/index.d.ts.map +0 -1
  93. package/dist/HintBadge/HintBadge.d.ts.map +0 -1
  94. package/dist/HintBadge/index.d.ts.map +0 -1
  95. package/dist/MiniAudioPlayer/MiniAudioPlayer.d.ts.map +0 -1
  96. package/dist/MiniAudioPlayer/index.d.ts.map +0 -1
  97. package/dist/PrincipleCard/PrincipleCard.d.ts.map +0 -1
  98. package/dist/PrincipleCard/index.d.ts.map +0 -1
  99. package/dist/SpeedDial/SpeedDial.d.ts.map +0 -1
  100. package/dist/SpeedDial/index.d.ts.map +0 -1
  101. package/dist/SplitSection/SplitSection.d.ts.map +0 -1
  102. package/dist/SplitSection/index.d.ts.map +0 -1
  103. package/dist/TestimonialCard/TestimonialCard.d.ts.map +0 -1
  104. package/dist/TestimonialCard/index.d.ts.map +0 -1
  105. package/dist/VideoBackground/VideoBackground.d.ts.map +0 -1
  106. package/dist/VideoBackground/index.d.ts.map +0 -1
  107. /package/dist/{DosDonts → content/DosDonts}/DosDonts.d.ts +0 -0
  108. /package/dist/{DosDonts → content/DosDonts}/index.d.ts +0 -0
  109. /package/dist/{ExpandableCard → content/ExpandableCard}/ExpandableCard.d.ts +0 -0
  110. /package/dist/{ExpandableCard → content/ExpandableCard}/index.d.ts +0 -0
  111. /package/dist/{HintBadge → content/HintBadge}/HintBadge.d.ts +0 -0
  112. /package/dist/{HintBadge → content/HintBadge}/index.d.ts +0 -0
  113. /package/dist/{PrincipleCard → content/PrincipleCard}/PrincipleCard.d.ts +0 -0
  114. /package/dist/{PrincipleCard → content/PrincipleCard}/index.d.ts +0 -0
  115. /package/dist/{TestimonialCard → content/TestimonialCard}/TestimonialCard.d.ts +0 -0
  116. /package/dist/{TestimonialCard → content/TestimonialCard}/index.d.ts +0 -0
  117. /package/dist/{AnimatedWaveform → decorations/AnimatedWaveform}/AnimatedWaveform.d.ts +0 -0
  118. /package/dist/{AnimatedWaveform → decorations/AnimatedWaveform}/index.d.ts +0 -0
  119. /package/dist/{AudioWaveform → decorations/AudioWaveform}/AudioWaveform.d.ts +0 -0
  120. /package/dist/{AudioWaveform → decorations/AudioWaveform}/index.d.ts +0 -0
  121. /package/dist/{FrequencyWave → decorations/FrequencyWave}/FrequencyWave.d.ts +0 -0
  122. /package/dist/{FrequencyWave → decorations/FrequencyWave}/index.d.ts +0 -0
  123. /package/dist/{VideoBackground → decorations/VideoBackground}/VideoBackground.d.ts +0 -0
  124. /package/dist/{VideoBackground → decorations/VideoBackground}/index.d.ts +0 -0
  125. /package/dist/{ColorPalette → design-tokens/ColorPalette}/ColorPalette.d.ts +0 -0
  126. /package/dist/{ColorPalette → design-tokens/ColorPalette}/index.d.ts +0 -0
  127. /package/dist/{ColorSwatch → design-tokens/ColorSwatch}/ColorSwatch.d.ts +0 -0
  128. /package/dist/{ColorSwatch → design-tokens/ColorSwatch}/index.d.ts +0 -0
  129. /package/dist/{GradientSwatch → design-tokens/GradientSwatch}/GradientSwatch.d.ts +0 -0
  130. /package/dist/{GradientSwatch → design-tokens/GradientSwatch}/index.d.ts +0 -0
  131. /package/dist/{AudioPlayer → media/AudioPlayer}/AudioPlayer.d.ts +0 -0
  132. /package/dist/{AudioPlayer → media/AudioPlayer}/index.d.ts +0 -0
  133. /package/dist/{MiniAudioPlayer → media/MiniAudioPlayer}/MiniAudioPlayer.d.ts +0 -0
  134. /package/dist/{MiniAudioPlayer → media/MiniAudioPlayer}/index.d.ts +0 -0
  135. /package/dist/{SpeedDial → navigation/SpeedDial}/SpeedDial.d.ts +0 -0
  136. /package/dist/{SpeedDial → navigation/SpeedDial}/index.d.ts +0 -0
  137. /package/dist/{Hero → sections/Hero}/Hero.d.ts +0 -0
  138. /package/dist/{Hero → sections/Hero}/index.d.ts +0 -0
  139. /package/dist/{SplitSection → sections/SplitSection}/SplitSection.d.ts +0 -0
  140. /package/dist/{SplitSection → sections/SplitSection}/index.d.ts +0 -0
  141. /package/dist/{AnimatedCounter → utilities/AnimatedCounter}/AnimatedCounter.d.ts +0 -0
  142. /package/dist/{AnimatedCounter → utilities/AnimatedCounter}/index.d.ts +0 -0
  143. /package/dist/{CodeBlock → utilities/CodeBlock}/CodeBlock.d.ts +0 -0
  144. /package/dist/{CodeBlock → utilities/CodeBlock}/index.d.ts +0 -0
  145. /package/dist/{Copyable → utilities/Copyable}/Copyable.d.ts +0 -0
  146. /package/dist/{Copyable → utilities/Copyable}/index.d.ts +0 -0
  147. /package/dist/{FadeInSection → utilities/FadeInSection}/FadeInSection.d.ts +0 -0
  148. /package/dist/{FadeInSection → utilities/FadeInSection}/index.d.ts +0 -0
package/dist/index.mjs CHANGED
@@ -1,84 +1,489 @@
1
1
  'use client';
2
- import { jsxs as m, jsx as e, Fragment as ze } from "react/jsx-runtime";
3
- import { useState as z, useRef as D, useEffect as P, forwardRef as xe, useImperativeHandle as Be, useCallback as S } from "react";
4
- import { Text as N, Box as k, Group as F, ActionIcon as Y, Slider as Se, Button as re, Portal as Te, Notification as Pe, Title as oe, SimpleGrid as Me, Paper as U, Stack as ce, ThemeIcon as We, useMantineColorScheme as Ee, Badge as $e, Transition as De, Tooltip as Fe, Avatar as je } from "@mantine/core";
5
- import { motion as B } from "framer-motion";
6
- import { IconPlayerPauseFilled as Ce, IconPlayerPlayFilled as ke, IconVolumeOff as Ge, IconVolume as Re, IconDownload as Ae, IconX as Oe, IconCheck as He, IconPlus as ue, IconQuote as Ve } from "@tabler/icons-react";
7
- import qe from "@frequencyads/brand/assets/frequency-mark-white.svg";
8
- import { gradients as Ue } from "@frequencyads/brand/colors";
9
- function Cn({
10
- value: t,
11
- suffix: o = "",
12
- prefix: a = "",
13
- duration: s = 2e3,
14
- threshold: r = 0.5,
15
- abbreviate: f = !0,
16
- decimals: y,
17
- ...g
2
+ import { useMantineColorScheme as De, Anchor as Pe, Group as I, Image as Z, Box as x, Text as v, Container as He, Title as se, SimpleGrid as re, Card as be, Stack as X, Paper as Y, ThemeIcon as Ue, Badge as We, Avatar as Ke, Button as ae, Portal as Xe, Notification as Ye, useComputedColorScheme as Je, ActionIcon as ee, Slider as Qe, Transition as Ze, Tooltip as et } from "@mantine/core";
3
+ import { Anchor as Xo, Badge as Yo, Box as Jo, Button as Qo, Card as Zo, Container as er, Divider as tr, Flex as nr, Grid as or, Group as rr, Image as ar, SimpleGrid as sr, Stack as ir, Text as lr, Title as cr } from "@mantine/core";
4
+ import { jsx as e, jsxs as l, Fragment as Fe } from "react/jsx-runtime";
5
+ import { textmarkWhite as Ee, textmark as Ae, markWhite as je, mark as qe } from "@frequencyads/brand/logos";
6
+ import { fonts as ve } from "@frequencyads/brand/typography";
7
+ import tt from "@frequencyads/brand/assets/frequency-mark.svg?url";
8
+ import nt from "@frequencyads/brand/assets/frequency-mark-white.svg?url";
9
+ import ot from "@frequencyads/brand/assets/frequency-textmark.png";
10
+ import rt from "@frequencyads/brand/assets/frequency-textmark-white.png";
11
+ import { useRef as A, useState as T, useEffect as D, forwardRef as Ge, useImperativeHandle as at, useCallback as L } from "react";
12
+ import { IconX as st, IconCheck as it, IconQuote as lt, IconPlayerPauseFilled as Re, IconPlayerPlayFilled as Oe, IconVolumeOff as ct, IconVolume as dt, IconDownload as mt, IconPlus as ye } from "@tabler/icons-react";
13
+ import { motion as S } from "framer-motion";
14
+ import ht from "@frequencyads/brand/assets/frequency-mark-white.svg";
15
+ import { gradients as ut } from "@frequencyads/brand/colors";
16
+ const gt = "_container_pj3iu_1", pt = "_logo_pj3iu_7", ft = "_divider_pj3iu_11", _t = "_appName_pj3iu_16", ce = {
17
+ container: gt,
18
+ logo: pt,
19
+ divider: ft,
20
+ appName: _t
21
+ }, ke = {
22
+ [qe.svg]: tt,
23
+ [je.svg]: nt,
24
+ [Ae.png]: ot,
25
+ [Ee.png]: rt
26
+ };
27
+ function zo({
28
+ appName: t,
29
+ variant: o = "circle",
30
+ logoHeight: r = 28,
31
+ textColor: a,
32
+ href: s = "/",
33
+ ...u
18
34
  }) {
19
- const [_, l] = z(0), [d, w] = z(!1), i = D(null);
20
- return P(() => {
21
- const u = i.current;
22
- if (!u) return;
23
- const c = new IntersectionObserver(
24
- ([b]) => {
25
- b.isIntersecting && !d && w(!0);
35
+ const { colorScheme: y } = De(), g = y === "dark", m = (() => {
36
+ if (o === "circle") {
37
+ const _ = g ? je.svg : qe.svg;
38
+ return ke[_];
39
+ }
40
+ const i = g ? Ee.png : Ae.png;
41
+ return ke[i];
42
+ })(), h = g ? "dark.0" : "gray.9", k = g ? "dark.3" : "gray.3";
43
+ return /* @__PURE__ */ e(
44
+ Pe,
45
+ {
46
+ href: s,
47
+ className: ce.container,
48
+ underline: "never",
49
+ style: {
50
+ // @ts-ignore - CSS custom properties
51
+ "--heading-font-family": ve.heading.family,
52
+ "--heading-font-weight-semibold": ve.heading.weights.semibold
53
+ },
54
+ ...u,
55
+ children: /* @__PURE__ */ l(I, { gap: "md", wrap: "nowrap", children: [
56
+ /* @__PURE__ */ e(Z, { src: m, alt: "Frequency", h: r, w: "auto", className: ce.logo }),
57
+ /* @__PURE__ */ e(
58
+ x,
59
+ {
60
+ className: ce.divider,
61
+ bg: k,
62
+ style: {
63
+ height: r
64
+ }
65
+ }
66
+ ),
67
+ /* @__PURE__ */ e(v, { className: ce.appName, c: a ?? h, children: t })
68
+ ] })
69
+ }
70
+ );
71
+ }
72
+ const bt = "_root_6irix_1", vt = "_visible_6irix_9", we = {
73
+ root: bt,
74
+ visible: vt
75
+ };
76
+ function de({
77
+ children: t,
78
+ delay: o = 0,
79
+ threshold: r = 0.1,
80
+ className: a,
81
+ ...s
82
+ }) {
83
+ const u = A(null), [y, g] = T(!1);
84
+ return D(() => {
85
+ const p = u.current;
86
+ if (!p) return;
87
+ const m = new IntersectionObserver(
88
+ ([h]) => {
89
+ h.isIntersecting && (o > 0 ? setTimeout(() => g(!0), o) : g(!0));
26
90
  },
27
91
  { threshold: r }
28
92
  );
29
- return c.observe(u), () => c.disconnect();
30
- }, [d, r]), P(() => {
31
- if (!d) return;
32
- let u, c;
33
- const b = (n) => {
34
- u || (u = n);
35
- const p = Math.min((n - u) / s, 1), I = 1 - Math.pow(1 - p, 3);
36
- l(I * t), p < 1 && (c = requestAnimationFrame(b));
37
- };
38
- return c = requestAnimationFrame(b), () => cancelAnimationFrame(c);
39
- }, [d, t, s]), /* @__PURE__ */ m(
40
- N,
93
+ return m.observe(p), () => m.disconnect();
94
+ }, [o, r]), /* @__PURE__ */ e(
95
+ x,
41
96
  {
42
- component: "span",
43
- ref: i,
44
- style: { fontVariantNumeric: "tabular-nums" },
45
- ...g,
46
- children: [
47
- a,
48
- (() => {
49
- if (f && t >= 1e3) {
50
- const u = _ / 1e3;
51
- return u % 1 === 0 ? `${Math.round(u)}K` : `${u.toFixed(1)}K`;
97
+ ref: u,
98
+ className: `${we.root} ${y ? we.visible : ""} ${a ?? ""}`,
99
+ ...s,
100
+ children: t
101
+ }
102
+ );
103
+ }
104
+ const yt = "_root_1bo86_1", kt = "_label_1bo86_6", wt = "_title_1bo86_11", xt = "_description_1bo86_17", Nt = "_logoCard_1bo86_22", Q = {
105
+ root: yt,
106
+ label: kt,
107
+ title: wt,
108
+ description: xt,
109
+ logoCard: Nt
110
+ };
111
+ function Mo({
112
+ title: t = "Our Logos",
113
+ label: o = "Identity",
114
+ description: r = "The Frequency identity comes in two forms — the horizontal textmark for standard use and the circular brand mark for compact spaces and hero moments."
115
+ }) {
116
+ return /* @__PURE__ */ e("section", { className: Q.root, children: /* @__PURE__ */ l(He, { size: "xl", children: [
117
+ /* @__PURE__ */ l(de, { children: [
118
+ /* @__PURE__ */ e(v, { className: Q.label, size: "xs", tt: "uppercase", c: "blue.5", mb: "xs", children: o }),
119
+ /* @__PURE__ */ e(se, { order: 2, className: Q.title, mb: "lg", children: t }),
120
+ /* @__PURE__ */ e(v, { className: Q.description, size: "lg", c: "gray.6", mb: 60, maw: 600, children: r })
121
+ ] }),
122
+ /* @__PURE__ */ l(re, { cols: { base: 1, lg: 2 }, spacing: 32, mb: 48, children: [
123
+ /* @__PURE__ */ e(de, { delay: 100, children: /* @__PURE__ */ e(be, { padding: 0, radius: "lg", className: Q.logoCard, children: /* @__PURE__ */ l(X, { gap: 0, children: [
124
+ /* @__PURE__ */ e(I, { justify: "center", align: "center", bg: "white", h: 240, children: /* @__PURE__ */ e(
125
+ Z,
126
+ {
127
+ src: "/images/Frequency_logo-light.png",
128
+ alt: "Frequency textmark on light",
129
+ h: 48,
130
+ fit: "contain"
131
+ }
132
+ ) }),
133
+ /* @__PURE__ */ e(I, { justify: "center", align: "center", bg: "gray.9", h: 240, children: /* @__PURE__ */ e(
134
+ Z,
135
+ {
136
+ src: "/images/Frequency_logo-dark.png",
137
+ alt: "Frequency textmark on dark",
138
+ h: 48,
139
+ fit: "contain"
52
140
  }
53
- return y !== void 0 ? _.toFixed(y) : t !== Math.floor(t) ? _.toFixed(1) : Math.round(_).toString();
54
- })(),
141
+ ) }),
142
+ /* @__PURE__ */ e(x, { p: "md", bg: "gray.1", children: /* @__PURE__ */ e(v, { size: "sm", c: "gray.6", fw: 600, ff: "Montserrat, sans-serif", children: "Primary Textmark" }) })
143
+ ] }) }) }),
144
+ /* @__PURE__ */ e(de, { delay: 200, children: /* @__PURE__ */ e(be, { padding: 0, radius: "lg", className: Q.logoCard, children: /* @__PURE__ */ l(X, { gap: 0, children: [
145
+ /* @__PURE__ */ l(re, { cols: 3, children: [
146
+ /* @__PURE__ */ e(I, { justify: "center", align: "center", bg: "white", style: { aspectRatio: "1/1" }, children: /* @__PURE__ */ e(
147
+ Z,
148
+ {
149
+ src: "/images/new-frequency-logo.png",
150
+ alt: "Brand mark on light",
151
+ w: 80,
152
+ h: 80,
153
+ fit: "contain"
154
+ }
155
+ ) }),
156
+ /* @__PURE__ */ e(I, { justify: "center", align: "center", bg: "gray.9", style: { aspectRatio: "1/1" }, children: /* @__PURE__ */ e(
157
+ Z,
158
+ {
159
+ src: "/images/frequency-mark-white.svg",
160
+ alt: "Brand mark on dark",
161
+ w: 80,
162
+ h: 80,
163
+ fit: "contain"
164
+ }
165
+ ) }),
166
+ /* @__PURE__ */ e(
167
+ I,
168
+ {
169
+ justify: "center",
170
+ align: "center",
171
+ style: {
172
+ aspectRatio: "1/1",
173
+ background: "linear-gradient(135deg, #169BDE 0%, #7E57C2 100%)"
174
+ },
175
+ children: /* @__PURE__ */ e(
176
+ Z,
177
+ {
178
+ src: "/images/frequency-mark-white.svg",
179
+ alt: "Brand mark on gradient",
180
+ w: 80,
181
+ h: 80,
182
+ fit: "contain"
183
+ }
184
+ )
185
+ }
186
+ )
187
+ ] }),
188
+ /* @__PURE__ */ e(x, { p: "md", bg: "gray.1", children: /* @__PURE__ */ e(v, { size: "sm", c: "gray.6", fw: 600, ff: "Montserrat, sans-serif", children: "Circular Brand Mark" }) })
189
+ ] }) }) })
190
+ ] }),
191
+ /* @__PURE__ */ e(de, { delay: 300, children: /* @__PURE__ */ l(
192
+ Pe,
193
+ {
194
+ href: "/logos",
195
+ fw: 600,
196
+ c: "blue.5",
197
+ underline: "hover",
198
+ style: { display: "flex", alignItems: "center", gap: 8 },
199
+ children: [
200
+ "View all logo variants and usage rules",
201
+ /* @__PURE__ */ e(
202
+ "svg",
203
+ {
204
+ className: "w-4 h-4",
205
+ fill: "none",
206
+ stroke: "currentColor",
207
+ strokeWidth: "2",
208
+ viewBox: "0 0 24 24",
209
+ children: /* @__PURE__ */ e("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M17 8l4 4m0 0l-4 4m4-4H3" })
210
+ }
211
+ )
212
+ ]
213
+ }
214
+ ) })
215
+ ] }) });
216
+ }
217
+ const Tt = "_root_dzed6_1", $t = "_dont_dzed6_7", Ct = "_dontIcon_dzed6_12", It = "_dontLabel_dzed6_13", zt = "_doIcon_dzed6_22", Mt = "_doLabel_dzed6_23", U = {
218
+ root: Tt,
219
+ dont: $t,
220
+ dontIcon: Ct,
221
+ dontLabel: It,
222
+ do: "_do_dzed6_7",
223
+ doIcon: zt,
224
+ doLabel: Mt
225
+ };
226
+ function Bo({ items: t }) {
227
+ return /* @__PURE__ */ e("div", { className: U.root, children: t.map((o, r) => /* @__PURE__ */ l(re, { cols: { base: 1, sm: 2 }, spacing: "md", children: [
228
+ /* @__PURE__ */ l(Y, { className: U.dont, p: "md", radius: "md", children: [
229
+ /* @__PURE__ */ l(I, { gap: 6, mb: 6, children: [
230
+ /* @__PURE__ */ e(st, { size: 16, className: U.dontIcon }),
231
+ /* @__PURE__ */ e(v, { size: "sm", fw: 600, className: U.dontLabel, children: "Don't" })
232
+ ] }),
233
+ /* @__PURE__ */ e(v, { size: "sm", children: o.dont })
234
+ ] }),
235
+ /* @__PURE__ */ l(Y, { className: U.do, p: "md", radius: "md", children: [
236
+ /* @__PURE__ */ l(I, { gap: 6, mb: 6, children: [
237
+ /* @__PURE__ */ e(it, { size: 16, className: U.doIcon }),
238
+ /* @__PURE__ */ e(v, { size: "sm", fw: 600, className: U.doLabel, children: "Do" })
239
+ ] }),
240
+ /* @__PURE__ */ e(v, { size: "sm", children: o.do })
241
+ ] })
242
+ ] }, r)) });
243
+ }
244
+ const Bt = "_root_xi08i_1", St = "_inner_xi08i_6", xe = {
245
+ root: Bt,
246
+ inner: St
247
+ };
248
+ function So({
249
+ title: t,
250
+ description: o,
251
+ expandedContent: r,
252
+ icon: a,
253
+ color: s = "blue",
254
+ iconSize: u = "lg",
255
+ collapsedHeight: y = 120,
256
+ threshold: g = 0.5,
257
+ delay: p = 300,
258
+ expanded: m,
259
+ onExpandedChange: h
260
+ }) {
261
+ const k = A(null), [i, _] = T(!1), c = m !== void 0, d = c ? m : i;
262
+ return D(() => {
263
+ if (c) return;
264
+ const w = k.current;
265
+ if (!w) return;
266
+ const n = new IntersectionObserver(
267
+ ([b]) => {
268
+ b.isIntersecting && setTimeout(() => {
269
+ _(!0), h == null || h(!0);
270
+ }, p);
271
+ },
272
+ { threshold: g }
273
+ );
274
+ return n.observe(w), () => n.disconnect();
275
+ }, [c, g, p, h]), /* @__PURE__ */ e(
276
+ Y,
277
+ {
278
+ ref: k,
279
+ radius: 4,
280
+ className: xe.root,
281
+ component: S.div,
282
+ animate: { height: d ? "auto" : y },
283
+ transition: { duration: 0.5, ease: "easeOut" },
284
+ children: /* @__PURE__ */ e("div", { className: xe.inner, children: /* @__PURE__ */ l(I, { align: "flex-start", justify: "space-between", gap: "lg", wrap: "nowrap", children: [
285
+ /* @__PURE__ */ l(X, { gap: "xs", style: { flex: 1 }, children: [
286
+ /* @__PURE__ */ e(v, { fw: 700, size: "xl", lh: 1.3, children: t }),
287
+ /* @__PURE__ */ e(v, { size: "md", c: "dimmed", children: o }),
288
+ /* @__PURE__ */ e(
289
+ S.div,
290
+ {
291
+ initial: { opacity: 0, height: 0 },
292
+ animate: {
293
+ opacity: d ? 1 : 0,
294
+ height: d ? "auto" : 0
295
+ },
296
+ transition: { duration: 0.4, delay: 0.2 },
297
+ style: { overflow: "hidden" },
298
+ children: typeof r == "string" ? /* @__PURE__ */ e(v, { size: "sm", c: "dimmed", mt: "sm", children: r }) : r
299
+ }
300
+ )
301
+ ] }),
302
+ /* @__PURE__ */ e(S.div, { animate: { scale: d ? 1.1 : 1 }, transition: { duration: 0.3 }, children: /* @__PURE__ */ e(Ue, { size: u, radius: 4, color: s, variant: "filled", children: /* @__PURE__ */ e(a, { size: 20, stroke: 1.5 }) }) })
303
+ ] }) })
304
+ }
305
+ );
306
+ }
307
+ function Ne({ variant: t, children: o }) {
308
+ const r = t === "do";
309
+ return /* @__PURE__ */ l(
310
+ We,
311
+ {
312
+ variant: "light",
313
+ color: r ? "green" : "red",
314
+ size: "lg",
315
+ radius: "sm",
316
+ styles: {
317
+ root: { textTransform: "none", fontWeight: 400 },
318
+ label: { whiteSpace: "normal", lineHeight: 1.4 }
319
+ },
320
+ children: [
321
+ /* @__PURE__ */ l("strong", { children: [
322
+ r ? "Do" : "Don't",
323
+ ":"
324
+ ] }),
325
+ " ",
55
326
  o
56
327
  ]
57
328
  }
58
329
  );
59
330
  }
60
- const Xe = "_root_1bq7s_1", Ye = "_svg_1bq7s_12", me = {
61
- root: Xe,
62
- svg: Ye
63
- }, Ke = 140, he = 3, pe = 10, Le = 150, V = Le / 2;
64
- function fe({
65
- barCount: t = Ke,
331
+ const Lt = "_root_1bah1_1", Dt = {
332
+ root: Lt
333
+ };
334
+ function Lo({
335
+ accentColor: t,
336
+ title: o,
337
+ description: r,
338
+ doHint: a,
339
+ dontHint: s
340
+ }) {
341
+ return /* @__PURE__ */ l(Y, { className: Dt.root, p: "lg", radius: "md", style: { borderLeftColor: t }, children: [
342
+ /* @__PURE__ */ e(se, { order: 3, size: "h4", mb: "xs", children: o }),
343
+ /* @__PURE__ */ e(v, { c: "dimmed", children: r }),
344
+ (a || s) && /* @__PURE__ */ l(I, { gap: "sm", mt: "md", wrap: "wrap", children: [
345
+ a && /* @__PURE__ */ e(Ne, { variant: "do", children: a }),
346
+ s && /* @__PURE__ */ e(Ne, { variant: "dont", children: s })
347
+ ] })
348
+ ] });
349
+ }
350
+ const Pt = "_root_ioshc_1", Wt = "_quoteIcon_ioshc_6", Te = {
351
+ root: Pt,
352
+ quoteIcon: Wt
353
+ };
354
+ function Ft(t) {
355
+ return t.split(" ").map((o) => o[0]).join("").toUpperCase().slice(0, 2);
356
+ }
357
+ function Do({
358
+ quote: t,
359
+ name: o,
360
+ role: r,
361
+ company: a,
362
+ avatarSrc: s,
363
+ accentColor: u = "blue"
364
+ }) {
365
+ const y = `var(--mantine-color-${u}-filled)`;
366
+ return /* @__PURE__ */ l(Y, { className: Te.root, p: "lg", radius: "md", style: { borderLeftColor: y }, children: [
367
+ /* @__PURE__ */ e(lt, { size: 32, className: Te.quoteIcon, color: y }),
368
+ /* @__PURE__ */ e(v, { fs: "italic", mt: "xs", mb: "md", children: t }),
369
+ /* @__PURE__ */ l(I, { gap: "sm", children: [
370
+ /* @__PURE__ */ e(Ke, { src: s, alt: o, color: u, radius: "xl", size: "md", children: Ft(o) }),
371
+ /* @__PURE__ */ l(X, { gap: 0, children: [
372
+ /* @__PURE__ */ e(v, { fw: 600, size: "sm", children: o }),
373
+ (r || a) && /* @__PURE__ */ e(v, { size: "xs", c: "dimmed", children: [r, a].filter(Boolean).join(", ") })
374
+ ] })
375
+ ] })
376
+ ] });
377
+ }
378
+ const Et = "_root_1r7u3_1", At = "_chartWrapper_1r7u3_5", jt = "_circle_1r7u3_9", qt = "_centerText_1r7u3_13", Gt = "_toggle_1r7u3_20", Rt = "_toggleTrack_1r7u3_26", Ot = "_toggleTrackDark_1r7u3_35", Vt = "_toggleThumb_1r7u3_39", Ht = "_toggleThumbDark_1r7u3_51", Ut = "_swatch_1r7u3_55", E = {
379
+ root: Et,
380
+ chartWrapper: At,
381
+ circle: jt,
382
+ centerText: qt,
383
+ toggle: Gt,
384
+ toggleTrack: Rt,
385
+ toggleTrackDark: Ot,
386
+ toggleThumb: Vt,
387
+ toggleThumbDark: Ht,
388
+ swatch: Ut
389
+ };
390
+ function Po() {
391
+ const [t, o] = T(!1), [r, a] = T(0), s = [
392
+ { color: "#5AB267", label: "Success" },
393
+ { color: "#E63459", label: "Error" },
394
+ { color: "#E79E26", label: "Warning" }
395
+ ];
396
+ D(() => {
397
+ const c = setInterval(() => a((d) => (d + 1) % 3), 2e3);
398
+ return () => clearInterval(c);
399
+ }, []);
400
+ const u = s[r], y = [
401
+ t ? { label: "Dark Backgrounds", pct: 50, color: "#1A1A1A", border: "1px solid #424242" } : { label: "White Backgrounds", pct: 50, color: "#ffffff", border: "1px solid #e3e3e3" },
402
+ { label: "Primary Blue", pct: 20, color: "#169BDE" },
403
+ t ? { label: "Light Text & UI", pct: 15, color: "#f0f0f0", border: "1px solid #bdbdbd" } : { label: "Dark Text & UI", pct: 15, color: "#212121" },
404
+ { label: "Secondary Violet", pct: 10, color: "#7E57C2" },
405
+ { label: `Semantic (${u.label})`, pct: 5, color: u.color }
406
+ ], g = 80, p = 120, m = 120, h = 36, k = 2 * Math.PI * g;
407
+ let i = 0;
408
+ const _ = y.map((c) => {
409
+ const d = c.pct / 100 * k, w = { ...c, dasharray: `${d} ${k - d}`, dashoffset: -i };
410
+ return i += d, w;
411
+ });
412
+ return /* @__PURE__ */ l(I, { gap: 40, align: "center", my: "xl", className: E.root, children: [
413
+ /* @__PURE__ */ e(x, { className: E.chartWrapper, children: /* @__PURE__ */ l("svg", { width: 240, height: 240, viewBox: "0 0 240 240", children: [
414
+ _.map((c, d) => /* @__PURE__ */ e(
415
+ "circle",
416
+ {
417
+ cx: p,
418
+ cy: m,
419
+ r: g,
420
+ fill: "none",
421
+ stroke: c.color,
422
+ strokeWidth: h,
423
+ strokeDasharray: c.dasharray,
424
+ strokeDashoffset: c.dashoffset,
425
+ transform: `rotate(-90 ${p} ${m})`,
426
+ className: E.circle
427
+ },
428
+ d
429
+ )),
430
+ /* @__PURE__ */ l("text", { x: p, y: m + 6, textAnchor: "middle", className: E.centerText, children: [
431
+ t ? "Dark" : "Light",
432
+ " Mode"
433
+ ] })
434
+ ] }) }),
435
+ /* @__PURE__ */ l(X, { gap: "lg", children: [
436
+ /* @__PURE__ */ e(
437
+ ae,
438
+ {
439
+ onClick: () => o(!t),
440
+ variant: "default",
441
+ radius: "xl",
442
+ size: "sm",
443
+ className: E.toggle,
444
+ leftSection: /* @__PURE__ */ e(x, { className: `${E.toggleTrack} ${t ? E.toggleTrackDark : ""}`, children: /* @__PURE__ */ e(x, { className: `${E.toggleThumb} ${t ? E.toggleThumbDark : ""}` }) }),
445
+ children: t ? "Dark Mode" : "Light Mode"
446
+ }
447
+ ),
448
+ /* @__PURE__ */ e(X, { gap: 8, children: y.map((c, d) => /* @__PURE__ */ l(I, { gap: 8, wrap: "nowrap", children: [
449
+ /* @__PURE__ */ e(
450
+ x,
451
+ {
452
+ className: E.swatch,
453
+ style: { backgroundColor: c.color, border: c.border || "none" }
454
+ }
455
+ ),
456
+ /* @__PURE__ */ l(v, { size: "sm", fw: 600, w: 36, children: [
457
+ c.pct,
458
+ "%"
459
+ ] }),
460
+ /* @__PURE__ */ e(v, { size: "sm", c: "dimmed", children: c.label })
461
+ ] }, d)) })
462
+ ] })
463
+ ] });
464
+ }
465
+ const Kt = "_root_1bq7s_1", Xt = "_svg_1bq7s_12", $e = {
466
+ root: Kt,
467
+ svg: Xt
468
+ }, Yt = 140, Ce = 3, Ie = 10, Ve = 150, K = Ve / 2;
469
+ function ze({
470
+ barCount: t = Yt,
66
471
  duration: o = 3,
67
- repeatDelay: a = 3
472
+ repeatDelay: r = 3
68
473
  }) {
69
- const [s, r] = z(!1);
70
- if (P(() => {
71
- r(!0);
72
- }, []), !s) return null;
73
- const f = t * pe;
74
- return /* @__PURE__ */ e("div", { className: me.root, children: /* @__PURE__ */ m(
474
+ const [a, s] = T(!1);
475
+ if (D(() => {
476
+ s(!0);
477
+ }, []), !a) return null;
478
+ const u = t * Ie;
479
+ return /* @__PURE__ */ e("div", { className: $e.root, children: /* @__PURE__ */ l(
75
480
  "svg",
76
481
  {
77
- className: me.svg,
78
- viewBox: `0 0 ${f} ${Le}`,
482
+ className: $e.svg,
483
+ viewBox: `0 0 ${u} ${Ve}`,
79
484
  preserveAspectRatio: "none",
80
485
  children: [
81
- /* @__PURE__ */ e("defs", { children: /* @__PURE__ */ m("linearGradient", { id: "waveformBarGradient", x1: "0%", y1: "0%", x2: "100%", y2: "0%", children: [
486
+ /* @__PURE__ */ e("defs", { children: /* @__PURE__ */ l("linearGradient", { id: "waveformBarGradient", x1: "0%", y1: "0%", x2: "100%", y2: "0%", children: [
82
487
  /* @__PURE__ */ e("stop", { offset: "0%", stopColor: "white", stopOpacity: "0" }),
83
488
  /* @__PURE__ */ e("stop", { offset: "15%", stopColor: "white", stopOpacity: "0.15" }),
84
489
  /* @__PURE__ */ e("stop", { offset: "50%", stopColor: "white", stopOpacity: "0.25" }),
@@ -86,53 +491,65 @@ function fe({
86
491
  /* @__PURE__ */ e("stop", { offset: "100%", stopColor: "white", stopOpacity: "0" })
87
492
  ] }) }),
88
493
  [...Array(t)].map((y, g) => {
89
- const _ = g * pe, l = 18 + Math.sin(g * 0.4) * 6 + Math.cos(g * 0.7) * 4, d = Math.min(g, t - 1 - g) * 0.04;
90
- return /* @__PURE__ */ m("g", { children: [
494
+ const p = g * Ie, m = 18 + Math.sin(g * 0.4) * 6 + Math.cos(g * 0.7) * 4, h = Math.min(g, t - 1 - g) * 0.04;
495
+ return /* @__PURE__ */ l("g", { children: [
91
496
  /* @__PURE__ */ e(
92
- B.rect,
497
+ S.rect,
93
498
  {
94
- x: _,
95
- width: he,
499
+ x: p,
500
+ width: Ce,
96
501
  rx: "1.5",
97
502
  fill: "url(#waveformBarGradient)",
98
- initial: { height: l / 2, y: V - l / 4 },
503
+ initial: { height: m / 2, y: K - m / 4 },
99
504
  animate: {
100
- height: [l / 2, l * 2, l / 2, l * 1.2, l / 2],
505
+ height: [
506
+ m / 2,
507
+ m * 2,
508
+ m / 2,
509
+ m * 1.2,
510
+ m / 2
511
+ ],
101
512
  y: [
102
- V - l / 4,
103
- V - l,
104
- V - l / 4,
105
- V - l * 0.6,
106
- V - l / 4
513
+ K - m / 4,
514
+ K - m,
515
+ K - m / 4,
516
+ K - m * 0.6,
517
+ K - m / 4
107
518
  ]
108
519
  },
109
520
  transition: {
110
521
  duration: o,
111
522
  repeat: 1 / 0,
112
523
  ease: "easeInOut",
113
- delay: d,
114
- repeatDelay: a
524
+ delay: h,
525
+ repeatDelay: r
115
526
  }
116
527
  }
117
528
  ),
118
529
  /* @__PURE__ */ e(
119
- B.rect,
530
+ S.rect,
120
531
  {
121
- x: _,
122
- y: V,
123
- width: he,
532
+ x: p,
533
+ y: K,
534
+ width: Ce,
124
535
  rx: "1.5",
125
536
  fill: "url(#waveformBarGradient)",
126
- initial: { height: l / 2 },
537
+ initial: { height: m / 2 },
127
538
  animate: {
128
- height: [l / 2, l * 2, l / 2, l * 1.2, l / 2]
539
+ height: [
540
+ m / 2,
541
+ m * 2,
542
+ m / 2,
543
+ m * 1.2,
544
+ m / 2
545
+ ]
129
546
  },
130
547
  transition: {
131
548
  duration: o,
132
549
  repeat: 1 / 0,
133
550
  ease: "easeInOut",
134
- delay: d,
135
- repeatDelay: a
551
+ delay: h,
552
+ repeatDelay: r
136
553
  }
137
554
  }
138
555
  )
@@ -142,531 +559,168 @@ function fe({
142
559
  }
143
560
  ) });
144
561
  }
145
- const Je = "_root_1pkxe_1", Qe = "_progressOverlay_1pkxe_9", Ze = "_bars_1pkxe_19", et = "_bar_1pkxe_19", tt = "_loading_1pkxe_34", J = {
146
- root: Je,
147
- progressOverlay: Qe,
148
- bars: Ze,
149
- bar: et,
150
- loading: tt
562
+ const Jt = "_root_1pkxe_1", Qt = "_progressOverlay_1pkxe_9", Zt = "_bars_1pkxe_19", en = "_bar_1pkxe_19", tn = "_loading_1pkxe_34", ne = {
563
+ root: Jt,
564
+ progressOverlay: Qt,
565
+ bars: Zt,
566
+ bar: en,
567
+ loading: tn
151
568
  };
152
- function nt(t = 100) {
569
+ function nn(t = 100) {
153
570
  const o = [];
154
- for (let a = 0; a < t; a++) {
155
- const s = a / (t - 1), r = 20 + Math.sin(a * 0.1) * 15, f = (Math.random() - 0.5) * 20, y = Math.sin(s * Math.PI) * 30, g = s > 0.2 && s < 0.8 ? Math.random() * 10 : 0, _ = s < 0.05 || s > 0.95 ? Math.min(s / 0.05, (1 - s) / 0.05) : 1;
156
- o.push(Math.max(5, Math.min(90, (r + f + y + g) * _)));
571
+ for (let r = 0; r < t; r++) {
572
+ const a = r / (t - 1), s = 20 + Math.sin(r * 0.1) * 15, u = (Math.random() - 0.5) * 20, y = Math.sin(a * Math.PI) * 30, g = a > 0.2 && a < 0.8 ? Math.random() * 10 : 0, p = a < 0.05 || a > 0.95 ? Math.min(a / 0.05, (1 - a) / 0.05) : 1;
573
+ o.push(Math.max(5, Math.min(90, (s + u + y + g) * p)));
157
574
  }
158
575
  return o;
159
576
  }
160
- const le = xe(
577
+ const _e = Ge(
161
578
  ({
162
579
  audioRef: t,
163
580
  currentTime: o = 0,
164
- onSeek: a,
165
- loading: s = !1,
166
- waveColor: r = "#CCCCCC",
167
- progressColor: f = "#169bde",
581
+ onSeek: r,
582
+ loading: a = !1,
583
+ waveColor: s = "#CCCCCC",
584
+ progressColor: u = "#169bde",
168
585
  height: y = 60,
169
586
  barWidth: g = 2,
170
- barGap: _ = 1
171
- }, l) => {
172
- const d = D(null), [w] = z(() => nt()), [i, v] = z(0), [u, c] = z(0);
173
- Be(l, () => ({
587
+ barGap: p = 1
588
+ }, m) => {
589
+ const h = A(null), [k] = T(() => nn()), [i, _] = T(0), [c, d] = T(0);
590
+ at(m, () => ({
174
591
  seekTo: (n) => {
175
- i > 0 && c(Math.max(0, Math.min(100, n / i * 100)));
592
+ i > 0 && d(Math.max(0, Math.min(100, n / i * 100)));
176
593
  },
177
- getCurrentTime: () => u / 100 * i,
594
+ getCurrentTime: () => c / 100 * i,
178
595
  getDuration: () => i
179
- })), P(() => {
596
+ })), D(() => {
180
597
  const n = t.current;
181
598
  if (!n) return;
182
- const p = () => {
183
- n.duration && !isNaN(n.duration) && v(n.duration);
184
- }, I = () => {
185
- n.duration > 0 && c(n.currentTime / n.duration * 100);
599
+ const b = () => {
600
+ n.duration && !isNaN(n.duration) && _(n.duration);
601
+ }, N = () => {
602
+ n.duration > 0 && d(n.currentTime / n.duration * 100);
186
603
  };
187
- return n.duration && !isNaN(n.duration) && v(n.duration), n.addEventListener("loadedmetadata", p), n.addEventListener("timeupdate", I), () => {
188
- n.removeEventListener("loadedmetadata", p), n.removeEventListener("timeupdate", I);
604
+ return n.duration && !isNaN(n.duration) && _(n.duration), n.addEventListener("loadedmetadata", b), n.addEventListener("timeupdate", N), () => {
605
+ n.removeEventListener("loadedmetadata", b), n.removeEventListener("timeupdate", N);
189
606
  };
190
- }, [t]), P(() => {
191
- i > 0 && typeof o == "number" && c(o / i * 100);
607
+ }, [t]), D(() => {
608
+ i > 0 && typeof o == "number" && d(o / i * 100);
192
609
  }, [o, i]);
193
- const b = S(
610
+ const w = L(
194
611
  (n) => {
195
- if (!d.current || !a || i === 0) return;
196
- const p = d.current.getBoundingClientRect(), I = (n.clientX - p.left) / p.width * i;
197
- a(I);
612
+ if (!h.current || !r || i === 0) return;
613
+ const b = h.current.getBoundingClientRect(), N = (n.clientX - b.left) / b.width * i;
614
+ r(N);
198
615
  },
199
- [a, i]
616
+ [r, i]
200
617
  );
201
- return /* @__PURE__ */ m(
202
- k,
203
- {
204
- ref: d,
205
- className: J.root,
206
- style: { height: y },
207
- onClick: b,
208
- children: [
209
- /* @__PURE__ */ e(
210
- "div",
211
- {
212
- className: J.progressOverlay,
213
- style: { width: `${u}%`, backgroundColor: `${f}15` }
214
- }
215
- ),
216
- /* @__PURE__ */ e("div", { className: J.bars, style: { gap: _ }, children: w.map((n, p) => {
217
- const I = p / w.length * 100 <= u;
218
- return /* @__PURE__ */ e(
219
- "div",
220
- {
221
- className: J.bar,
222
- style: {
223
- width: g,
224
- height: `${n}%`,
225
- backgroundColor: I ? f : r
226
- }
227
- },
228
- p
229
- );
230
- }) }),
231
- s && /* @__PURE__ */ e("div", { className: J.loading, children: "Loading waveform..." })
232
- ]
233
- }
234
- );
235
- }
236
- );
237
- le.displayName = "AudioWaveform";
238
- const ot = "_root_n9zxy_1", st = "_playButton_n9zxy_8", at = "_time_n9zxy_22", it = "_volumeGroup_n9zxy_28", Q = {
239
- root: ot,
240
- playButton: st,
241
- time: at,
242
- volumeGroup: it
243
- };
244
- function se(t) {
245
- const o = Math.floor(t / 60), a = Math.floor(t % 60);
246
- return `${o.toString().padStart(2, "0")}:${a.toString().padStart(2, "0")}`;
247
- }
248
- function kn({
249
- src: t,
250
- filename: o = "audio",
251
- playButtonColor: a,
252
- playButtonSize: s = 32,
253
- waveColor: r = "#D0D0D0",
254
- progressColor: f = "#a8a8a8",
255
- waveHeight: y = 64,
256
- barWidth: g = 3,
257
- barGap: _ = 2,
258
- showVolume: l = !0,
259
- showDownload: d = !0
260
- }) {
261
- const w = D(null), [i, v] = z(!1), [u, c] = z(0), [b, n] = z("00:00"), [p, I] = z("00:00"), [T, R] = z(50), [A, j] = z(50), [C, M] = z(!1);
262
- P(() => {
263
- const h = w.current;
264
- if (!h) return;
265
- h.volume = T / 100;
266
- const x = () => {
267
- c(h.currentTime), n(se(h.currentTime));
268
- }, L = () => I(se(h.duration)), X = () => {
269
- setTimeout(() => {
270
- c(0), n("00:00"), v(!1);
271
- }, 500);
272
- }, Z = () => v(!0), ee = () => v(!1);
273
- return h.addEventListener("timeupdate", x), h.addEventListener("loadedmetadata", L), h.addEventListener("ended", X), h.addEventListener("play", Z), h.addEventListener("pause", ee), () => {
274
- h.removeEventListener("timeupdate", x), h.removeEventListener("loadedmetadata", L), h.removeEventListener("ended", X), h.removeEventListener("play", Z), h.removeEventListener("pause", ee);
275
- };
276
- }, [t]);
277
- const E = S(() => {
278
- const h = w.current;
279
- h && (i ? h.pause() : h.play().catch(() => {
280
- }));
281
- }, [i]), G = S((h) => {
282
- const x = w.current;
283
- x && !isNaN(h) && isFinite(h) && (x.currentTime = h, c(h), n(se(h)));
284
- }, []), O = S(
285
- (h) => {
286
- const x = w.current;
287
- x && (x.volume = h / 100, R(h), h > 0 ? (j(h), M(!1)) : M(!0));
288
- },
289
- []
290
- ), H = S(() => {
291
- const h = w.current;
292
- if (h)
293
- if (C) {
294
- const x = A || 50;
295
- h.volume = x / 100, R(x), M(!1);
296
- } else
297
- j(T), h.volume = 0, R(0), M(!0);
298
- }, [C, T, A]), K = S(() => {
299
- fetch(t).then((h) => h.blob()).then((h) => {
300
- const x = URL.createObjectURL(h), L = document.createElement("a");
301
- L.href = x, L.download = o, document.body.appendChild(L), L.click(), document.body.removeChild(L), URL.revokeObjectURL(x);
302
- }).catch(() => window.open(t, "_blank"));
303
- }, [t, o]);
304
- return /* @__PURE__ */ m(F, { gap: "sm", wrap: "nowrap", className: Q.root, children: [
305
- /* @__PURE__ */ e("audio", { ref: w, src: t, preload: "metadata" }),
306
- /* @__PURE__ */ e(
307
- Y,
308
- {
309
- variant: "filled",
310
- radius: "xl",
311
- size: s,
312
- color: a,
313
- onClick: E,
314
- "aria-label": i ? "Pause" : "Play",
315
- className: Q.playButton,
316
- children: i ? /* @__PURE__ */ e(Ce, { size: s * 0.5 }) : /* @__PURE__ */ e(ke, { size: s * 0.5 })
317
- }
318
- ),
319
- /* @__PURE__ */ e(N, { size: "xs", ff: "monospace", c: "dimmed", className: Q.time, children: b }),
320
- /* @__PURE__ */ e(k, { style: { flex: 1, minWidth: 0 }, children: /* @__PURE__ */ e(
321
- le,
322
- {
323
- audioRef: w,
324
- currentTime: u,
325
- onSeek: G,
326
- waveColor: r,
327
- progressColor: f,
328
- height: y,
329
- barWidth: g,
330
- barGap: _
331
- }
332
- ) }),
333
- /* @__PURE__ */ e(N, { size: "xs", ff: "monospace", c: "dimmed", className: Q.time, children: p }),
334
- l && /* @__PURE__ */ m(F, { gap: 4, wrap: "nowrap", className: Q.volumeGroup, children: [
335
- /* @__PURE__ */ e(
336
- Y,
337
- {
338
- variant: "subtle",
339
- size: "sm",
340
- onClick: H,
341
- "aria-label": C ? "Unmute" : "Mute",
342
- children: C ? /* @__PURE__ */ e(Ge, { size: 16 }) : /* @__PURE__ */ e(Re, { size: 16 })
343
- }
344
- ),
345
- /* @__PURE__ */ e(
346
- Se,
347
- {
348
- value: T,
349
- onChange: O,
350
- size: "xs",
351
- w: 80,
352
- "aria-label": "Volume"
353
- }
354
- )
355
- ] }),
356
- d && /* @__PURE__ */ e(Y, { variant: "subtle", size: "sm", onClick: K, "aria-label": "Download", children: /* @__PURE__ */ e(Ae, { size: 16 }) })
357
- ] });
358
- }
359
- const rt = "_root_ujac8_1", ct = "_textarea_ujac8_5", _e = {
360
- root: rt,
361
- textarea: ct
362
- };
363
- function Ln({ code: t, filename: o, height: a = 384 }) {
364
- const [s, r] = z(!1), f = S(async () => {
365
- try {
366
- await navigator.clipboard.writeText(t), r(!0), setTimeout(() => r(!1), 2e3);
367
- } catch {
368
- }
369
- }, [t]);
370
- return /* @__PURE__ */ m(k, { className: _e.root, children: [
371
- /* @__PURE__ */ m(F, { justify: "space-between", mb: "xs", children: [
372
- o && /* @__PURE__ */ e(N, { size: "sm", fw: 500, c: "dimmed", children: o }),
373
- /* @__PURE__ */ e(
374
- re,
375
- {
376
- size: "xs",
377
- radius: "md",
378
- color: s ? "green" : "blue",
379
- onClick: f,
380
- children: s ? "Copied!" : "Copy"
381
- }
382
- )
383
- ] }),
384
- /* @__PURE__ */ e(
385
- "textarea",
386
- {
387
- readOnly: !0,
388
- value: t,
389
- className: _e.textarea,
390
- style: { height: a }
391
- }
392
- )
393
- ] });
394
- }
395
- const lt = "_root_ix1b2_1", dt = "_toast_ix1b2_5", ve = {
396
- root: lt,
397
- toast: dt
398
- };
399
- function de({ value: t, children: o }) {
400
- const [a, s] = z(null), r = S(() => {
401
- navigator.clipboard.writeText(t).then(() => {
402
- s(`Copied ${t}`), setTimeout(() => s(null), 1800);
403
- });
404
- }, [t]);
405
- return /* @__PURE__ */ m(ze, { children: [
406
- /* @__PURE__ */ e(
407
- "span",
408
- {
409
- onClick: r,
410
- className: ve.root,
411
- title: `Click to copy ${t}`,
412
- children: o
413
- }
414
- ),
415
- a && /* @__PURE__ */ e(Te, { children: /* @__PURE__ */ e(
416
- Pe,
417
- {
418
- withCloseButton: !1,
419
- className: ve.toast,
420
- color: "blue",
421
- children: a
422
- }
423
- ) })
424
- ] });
425
- }
426
- const ut = "_root_3ht5s_1", mt = "_shade_3ht5s_5", ht = "_color_3ht5s_10", pt = "_main_3ht5s_20", te = {
427
- root: ut,
428
- shade: mt,
429
- color: ht,
430
- main: pt
431
- };
432
- function Bn({ name: t, shades: o, mainIndex: a = 5 }) {
433
- return /* @__PURE__ */ m("div", { className: te.root, children: [
434
- /* @__PURE__ */ e(oe, { order: 4, size: "lg", tt: "capitalize", mb: "xs", children: t }),
435
- /* @__PURE__ */ e(Me, { cols: 10, spacing: 4, children: o.map((s, r) => /* @__PURE__ */ e(de, { value: s, children: /* @__PURE__ */ m("div", { className: te.shade, children: [
618
+ return /* @__PURE__ */ l(x, { ref: h, className: ne.root, style: { height: y }, onClick: w, children: [
436
619
  /* @__PURE__ */ e(
437
620
  "div",
438
621
  {
439
- className: `${te.color} ${r === a ? te.main : ""}`,
440
- style: { backgroundColor: s }
622
+ className: ne.progressOverlay,
623
+ style: { width: `${c}%`, backgroundColor: `${u}15` }
441
624
  }
442
625
  ),
443
- /* @__PURE__ */ e(N, { size: "xs", c: "dimmed", ta: "center", mt: 4, children: r }),
444
- /* @__PURE__ */ e(N, { size: "xs", c: "dimmed", ta: "center", ff: "monospace", children: s })
445
- ] }) }, r)) })
446
- ] });
447
- }
448
- const ft = "_root_1vxkx_1", _t = "_preview_1vxkx_11", vt = "_info_1vxkx_15", ae = {
449
- root: ft,
450
- preview: _t,
451
- info: vt
452
- };
453
- function Sn({ name: t, hex: o, label: a }) {
454
- return /* @__PURE__ */ e(de, { value: o, children: /* @__PURE__ */ m(U, { className: ae.root, shadow: "lg", radius: "md", withBorder: !1, children: [
455
- /* @__PURE__ */ e("div", { className: ae.preview, style: { backgroundColor: o } }),
456
- /* @__PURE__ */ m("div", { className: ae.info, children: [
457
- /* @__PURE__ */ e(N, { fw: 600, size: "sm", children: t }),
458
- /* @__PURE__ */ e(N, { size: "xs", c: "dimmed", ff: "monospace", children: o }),
459
- a && /* @__PURE__ */ e(N, { size: "xs", c: "dimmed", children: a })
460
- ] })
461
- ] }) });
462
- }
463
- const gt = "_root_dzed6_1", yt = "_dont_dzed6_7", bt = "_dontIcon_dzed6_12", wt = "_dontLabel_dzed6_13", Nt = "_doIcon_dzed6_22", It = "_doLabel_dzed6_23", q = {
464
- root: gt,
465
- dont: yt,
466
- dontIcon: bt,
467
- dontLabel: wt,
468
- do: "_do_dzed6_7",
469
- doIcon: Nt,
470
- doLabel: It
471
- };
472
- function Tn({ items: t }) {
473
- return /* @__PURE__ */ e("div", { className: q.root, children: t.map((o, a) => /* @__PURE__ */ m(Me, { cols: { base: 1, sm: 2 }, spacing: "md", children: [
474
- /* @__PURE__ */ m(U, { className: q.dont, p: "md", radius: "md", children: [
475
- /* @__PURE__ */ m(F, { gap: 6, mb: 6, children: [
476
- /* @__PURE__ */ e(Oe, { size: 16, className: q.dontIcon }),
477
- /* @__PURE__ */ e(N, { size: "sm", fw: 600, className: q.dontLabel, children: "Don't" })
478
- ] }),
479
- /* @__PURE__ */ e(N, { size: "sm", children: o.dont })
480
- ] }),
481
- /* @__PURE__ */ m(U, { className: q.do, p: "md", radius: "md", children: [
482
- /* @__PURE__ */ m(F, { gap: 6, mb: 6, children: [
483
- /* @__PURE__ */ e(He, { size: 16, className: q.doIcon }),
484
- /* @__PURE__ */ e(N, { size: "sm", fw: 600, className: q.doLabel, children: "Do" })
485
- ] }),
486
- /* @__PURE__ */ e(N, { size: "sm", children: o.do })
487
- ] })
488
- ] }, a)) });
489
- }
490
- const zt = "_root_xi08i_1", xt = "_inner_xi08i_6", ge = {
491
- root: zt,
492
- inner: xt
493
- };
494
- function Pn({
495
- title: t,
496
- description: o,
497
- expandedContent: a,
498
- icon: s,
499
- color: r = "blue",
500
- iconSize: f = "lg",
501
- collapsedHeight: y = 120,
502
- threshold: g = 0.5,
503
- delay: _ = 300,
504
- expanded: l,
505
- onExpandedChange: d
506
- }) {
507
- const w = D(null), [i, v] = z(!1), u = l !== void 0, c = u ? l : i;
508
- return P(() => {
509
- if (u) return;
510
- const b = w.current;
511
- if (!b) return;
512
- const n = new IntersectionObserver(
513
- ([p]) => {
514
- p.isIntersecting && setTimeout(() => {
515
- v(!0), d == null || d(!0);
516
- }, _);
517
- },
518
- { threshold: g }
519
- );
520
- return n.observe(b), () => n.disconnect();
521
- }, [u, g, _, d]), /* @__PURE__ */ e(
522
- U,
523
- {
524
- ref: w,
525
- radius: 4,
526
- className: ge.root,
527
- component: B.div,
528
- animate: { height: c ? "auto" : y },
529
- transition: { duration: 0.5, ease: "easeOut" },
530
- children: /* @__PURE__ */ e("div", { className: ge.inner, children: /* @__PURE__ */ m(F, { align: "flex-start", justify: "space-between", gap: "lg", wrap: "nowrap", children: [
531
- /* @__PURE__ */ m(ce, { gap: "xs", style: { flex: 1 }, children: [
532
- /* @__PURE__ */ e(N, { fw: 700, size: "xl", lh: 1.3, children: t }),
533
- /* @__PURE__ */ e(N, { size: "md", c: "dimmed", children: o }),
534
- /* @__PURE__ */ e(
535
- B.div,
536
- {
537
- initial: { opacity: 0, height: 0 },
538
- animate: {
539
- opacity: c ? 1 : 0,
540
- height: c ? "auto" : 0
541
- },
542
- transition: { duration: 0.4, delay: 0.2 },
543
- style: { overflow: "hidden" },
544
- children: typeof a == "string" ? /* @__PURE__ */ e(N, { size: "sm", c: "dimmed", mt: "sm", children: a }) : a
545
- }
546
- )
547
- ] }),
548
- /* @__PURE__ */ e(
549
- B.div,
550
- {
551
- animate: { scale: c ? 1.1 : 1 },
552
- transition: { duration: 0.3 },
553
- children: /* @__PURE__ */ e(We, { size: f, radius: 4, color: r, variant: "filled", children: /* @__PURE__ */ e(s, { size: 20, stroke: 1.5 }) })
554
- }
555
- )
556
- ] }) })
557
- }
558
- );
559
- }
560
- const Mt = "_root_ho0ln_1", $t = "_visible_ho0ln_7", ye = {
561
- root: Mt,
562
- visible: $t
563
- };
564
- function Wn({
565
- children: t,
566
- delay: o = 0,
567
- threshold: a = 0.1,
568
- className: s,
569
- ...r
570
- }) {
571
- const f = D(null), [y, g] = z(!1);
572
- return P(() => {
573
- const _ = f.current;
574
- if (!_) return;
575
- const l = new IntersectionObserver(
576
- ([d]) => {
577
- d.isIntersecting && (o > 0 ? setTimeout(() => g(!0), o) : g(!0));
578
- },
579
- { threshold: a }
580
- );
581
- return l.observe(_), () => l.disconnect();
582
- }, [o, a]), /* @__PURE__ */ e(
583
- k,
584
- {
585
- ref: f,
586
- className: `${ye.root} ${y ? ye.visible : ""} ${s ?? ""}`,
587
- ...r,
588
- children: t
589
- }
590
- );
591
- }
592
- function En({ isActive: t = !1, height: o = 60 }) {
593
- const a = D(null), s = D(void 0), [r, f] = z(!1), y = D(null), g = D(null), { colorScheme: _ } = Ee(), l = _ === "dark", d = {
594
- start: l ? "#7950F2" : "#9775FA",
595
- mid: l ? "#BE4BDB" : "#DA77F2",
596
- end: l ? "#15AABF" : "#22B8CF"
597
- }, w = S(
598
- (i, v, u, c) => {
599
- i.clearRect(0, 0, v, u);
600
- const b = t || r, n = u * 0.65, p = t ? 5 : r ? 7 : 1.5;
601
- b && (g.current === null && (g.current = Math.random()), Math.floor(c / 500) !== Math.floor((c - 16) / 500) && (g.current = Math.random()));
602
- const I = i.createLinearGradient(0, 0, v, 0);
603
- I.addColorStop(0, d.start), I.addColorStop(0.5, d.mid), I.addColorStop(1, d.end), i.strokeStyle = I, i.lineWidth = b ? 2.5 : 1.5, i.lineCap = "round", i.lineJoin = "round", b ? (i.shadowColor = d.mid, i.shadowBlur = r ? 12 : 8) : i.shadowBlur = 0, i.beginPath();
604
- const T = 300, R = v / T, A = t ? 0.02 : r ? 0.025 : 3e-3;
605
- for (let j = 0; j <= T; j++) {
606
- const C = j * R, M = C / v;
607
- let E = n;
608
- if (b) {
609
- const G = Math.sin(M * Math.PI * 6 + c * A) * p, O = Math.sin(M * Math.PI * 12 + c * A * 1.3) * (p * 0.4), H = Math.sin(M * Math.PI * 18 + c * A * 0.8) * (p * 0.2), K = g.current ?? 0.5, h = Math.abs(M - K), x = h < 0.15 ? (1 - h / 0.15) * p * 1 : 0, L = Math.sin(M * Math.PI * 20 + c * A * 2) * x;
610
- let X = 0;
611
- r && (X = Math.sin(M * Math.PI * 30 + c * 0.03) * p * 0.4, X += Math.sin(M * Math.PI * 8 + c * 0.015) * p * 0.5);
612
- const Z = G + O + H + L + X, ee = Math.sin(M * Math.PI);
613
- E = n + Z * ee;
626
+ /* @__PURE__ */ e("div", { className: ne.bars, style: { gap: p }, children: k.map((n, b) => {
627
+ const N = b / k.length * 100 <= c;
628
+ return /* @__PURE__ */ e(
629
+ "div",
630
+ {
631
+ className: ne.bar,
632
+ style: {
633
+ width: g,
634
+ height: `${n}%`,
635
+ backgroundColor: N ? u : s
636
+ }
637
+ },
638
+ b
639
+ );
640
+ }) }),
641
+ a && /* @__PURE__ */ e("div", { className: ne.loading, children: "Loading waveform..." })
642
+ ] });
643
+ }
644
+ );
645
+ _e.displayName = "AudioWaveform";
646
+ function Wo({ isActive: t = !1, height: o = 60 }) {
647
+ const r = A(null), a = A(void 0), [s, u] = T(!1), y = A(null), g = A(null), { colorScheme: p } = De(), m = p === "dark", h = {
648
+ start: m ? "#7950F2" : "#9775FA",
649
+ mid: m ? "#BE4BDB" : "#DA77F2",
650
+ end: m ? "#15AABF" : "#22B8CF"
651
+ }, k = L(
652
+ (i, _, c, d) => {
653
+ i.clearRect(0, 0, _, c);
654
+ const w = t || s, n = c * 0.65, b = t ? 5 : s ? 7 : 1.5;
655
+ w && (g.current === null && (g.current = Math.random()), Math.floor(d / 500) !== Math.floor((d - 16) / 500) && (g.current = Math.random()));
656
+ const N = i.createLinearGradient(0, 0, _, 0);
657
+ N.addColorStop(0, h.start), N.addColorStop(0.5, h.mid), N.addColorStop(1, h.end), i.strokeStyle = N, i.lineWidth = w ? 2.5 : 1.5, i.lineCap = "round", i.lineJoin = "round", w ? (i.shadowColor = h.mid, i.shadowBlur = s ? 12 : 8) : i.shadowBlur = 0, i.beginPath();
658
+ const P = 300, R = _ / P, O = t ? 0.02 : s ? 0.025 : 3e-3;
659
+ for (let j = 0; j <= P; j++) {
660
+ const M = j * R, C = M / _;
661
+ let F = n;
662
+ if (w) {
663
+ const q = Math.sin(C * Math.PI * 6 + d * O) * b, V = Math.sin(C * Math.PI * 12 + d * O * 1.3) * (b * 0.4), H = Math.sin(C * Math.PI * 18 + d * O * 0.8) * (b * 0.2), te = g.current ?? 0.5, f = Math.abs(C - te), $ = f < 0.15 ? (1 - f / 0.15) * b * 1 : 0, B = Math.sin(C * Math.PI * 20 + d * O * 2) * $;
664
+ let J = 0;
665
+ s && (J = Math.sin(C * Math.PI * 30 + d * 0.03) * b * 0.4, J += Math.sin(C * Math.PI * 8 + d * 0.015) * b * 0.5);
666
+ const ie = q + V + H + B + J, le = Math.sin(C * Math.PI);
667
+ F = n + ie * le;
614
668
  } else
615
- E += Math.sin(M * Math.PI * 2 + c * A) * p;
616
- j === 0 ? i.moveTo(C, E) : i.lineTo(C, E);
669
+ F += Math.sin(C * Math.PI * 2 + d * O) * b;
670
+ j === 0 ? i.moveTo(M, F) : i.lineTo(M, F);
617
671
  }
618
672
  if (i.stroke(), t) {
619
- const M = v / 80, E = 16;
673
+ const C = _ / 80, F = 16;
620
674
  i.shadowBlur = 3;
621
- for (let G = 0; G < 80; G++) {
622
- const O = G * M + M / 2, H = O / v, K = Math.sin(H * Math.PI * 8 + c * 0.025) * 0.5 + Math.sin(H * Math.PI * 14 + c * 0.018) * 0.3 + Math.sin(H * Math.PI * 4 + c * 0.03) * 0.2, h = Math.sin(H * Math.PI), x = Math.abs(K) * E * h, L = i.createLinearGradient(
623
- O,
624
- n - x / 2,
625
- O,
626
- n + x / 2
675
+ for (let q = 0; q < 80; q++) {
676
+ const V = q * C + C / 2, H = V / _, te = Math.sin(H * Math.PI * 8 + d * 0.025) * 0.5 + Math.sin(H * Math.PI * 14 + d * 0.018) * 0.3 + Math.sin(H * Math.PI * 4 + d * 0.03) * 0.2, f = Math.sin(H * Math.PI), $ = Math.abs(te) * F * f, B = i.createLinearGradient(
677
+ V,
678
+ n - $ / 2,
679
+ V,
680
+ n + $ / 2
627
681
  );
628
- L.addColorStop(0, d.start + "90"), L.addColorStop(0.5, d.mid + "70"), L.addColorStop(1, d.end + "50"), i.fillStyle = L, i.fillRect(O - 2 / 2, n - x / 2, 2, x);
682
+ B.addColorStop(0, h.start + "90"), B.addColorStop(0.5, h.mid + "70"), B.addColorStop(1, h.end + "50"), i.fillStyle = B, i.fillRect(V - 2 / 2, n - $ / 2, 2, $);
629
683
  }
630
684
  }
631
- if (r)
632
- for (let C = 0; C < 15; C++) {
633
- const M = (Math.sin(c * 1e-3 + C * 1.5) * 0.5 + 0.5) * v, E = n + Math.sin(c * 2e-3 + C) * 8, G = 1.5 + Math.sin(c * 3e-3 + C * 2) * 0.5;
634
- i.beginPath(), i.arc(M, E, G, 0, Math.PI * 2), i.fillStyle = C % 2 === 0 ? d.start + "80" : d.end + "80", i.fill();
685
+ if (s)
686
+ for (let M = 0; M < 15; M++) {
687
+ const C = (Math.sin(d * 1e-3 + M * 1.5) * 0.5 + 0.5) * _, F = n + Math.sin(d * 2e-3 + M) * 8, q = 1.5 + Math.sin(d * 3e-3 + M * 2) * 0.5;
688
+ i.beginPath(), i.arc(C, F, q, 0, Math.PI * 2), i.fillStyle = M % 2 === 0 ? h.start + "80" : h.end + "80", i.fill();
635
689
  }
636
690
  },
637
- [t, r, d.start, d.mid, d.end]
691
+ [t, s, h.start, h.mid, h.end]
638
692
  );
639
- return P(() => {
640
- const i = a.current;
693
+ return D(() => {
694
+ const i = r.current;
641
695
  if (!i) return;
642
- const v = i.getContext("2d");
643
- if (!v) return;
644
- const u = () => {
645
- const n = window.devicePixelRatio || 1, p = i.getBoundingClientRect();
646
- i.width = p.width * n, i.height = p.height * n, v.scale(n, n);
696
+ const _ = i.getContext("2d");
697
+ if (!_) return;
698
+ const c = () => {
699
+ const n = window.devicePixelRatio || 1, b = i.getBoundingClientRect();
700
+ i.width = b.width * n, i.height = b.height * n, _.scale(n, n);
647
701
  };
648
- u(), window.addEventListener("resize", u);
649
- const c = performance.now(), b = (n) => {
650
- const p = n - c, I = i.getBoundingClientRect();
651
- w(v, I.width, I.height, p), s.current = requestAnimationFrame(b);
702
+ c(), window.addEventListener("resize", c);
703
+ const d = performance.now(), w = (n) => {
704
+ const b = n - d, N = i.getBoundingClientRect();
705
+ k(_, N.width, N.height, b), a.current = requestAnimationFrame(w);
652
706
  };
653
- return s.current = requestAnimationFrame(b), () => {
654
- window.removeEventListener("resize", u), s.current && cancelAnimationFrame(s.current);
707
+ return a.current = requestAnimationFrame(w), () => {
708
+ window.removeEventListener("resize", c), a.current && cancelAnimationFrame(a.current);
655
709
  };
656
- }, [w]), P(() => {
710
+ }, [k]), D(() => {
657
711
  if (t) {
658
- queueMicrotask(() => f(!1)), y.current = Date.now();
712
+ queueMicrotask(() => u(!1)), y.current = Date.now();
659
713
  return;
660
714
  }
661
- const v = setInterval(() => {
662
- const u = Date.now();
663
- y.current === null && (y.current = u);
664
- const c = u - y.current, b = 12e4 + Math.random() * 6e4;
665
- c >= b && !r && (f(!0), y.current = u, setTimeout(() => f(!1), 4e3));
715
+ const _ = setInterval(() => {
716
+ const c = Date.now();
717
+ y.current === null && (y.current = c);
718
+ const d = c - y.current, w = 12e4 + Math.random() * 6e4;
719
+ d >= w && !s && (u(!0), y.current = c, setTimeout(() => u(!1), 4e3));
666
720
  }, 5e3);
667
- return () => clearInterval(v);
668
- }, [t, r]), /* @__PURE__ */ e(
669
- k,
721
+ return () => clearInterval(_);
722
+ }, [t, s]), /* @__PURE__ */ e(
723
+ x,
670
724
  {
671
725
  style: {
672
726
  position: "relative",
@@ -674,12 +728,12 @@ function En({ isActive: t = !1, height: o = 60 }) {
674
728
  height: o,
675
729
  overflow: "hidden",
676
730
  pointerEvents: "none",
677
- opacity: l ? 1 : 0.8
731
+ opacity: m ? 1 : 0.8
678
732
  },
679
733
  children: /* @__PURE__ */ e(
680
734
  "canvas",
681
735
  {
682
- ref: a,
736
+ ref: r,
683
737
  style: {
684
738
  width: "100%",
685
739
  height: "100%",
@@ -690,19 +744,78 @@ function En({ isActive: t = !1, height: o = 60 }) {
690
744
  }
691
745
  );
692
746
  }
693
- const Ct = "_root_9li00_1", kt = "_preview_9li00_11", Lt = "_info_9li00_15", ie = {
694
- root: Ct,
695
- preview: kt,
696
- info: Lt
747
+ const on = "_root_1vlvy_1", rn = "_video_1vlvy_9", Me = {
748
+ root: on,
749
+ video: rn
750
+ };
751
+ function an({ src: t, opacity: o = 0.3 }) {
752
+ return /* @__PURE__ */ e("div", { className: Me.root, style: { opacity: o }, children: /* @__PURE__ */ e("video", { autoPlay: !0, muted: !0, loop: !0, playsInline: !0, className: Me.video, children: /* @__PURE__ */ e("source", { src: t, type: "video/mp4" }) }) });
753
+ }
754
+ const sn = "_root_ix1b2_1", ln = "_toast_ix1b2_5", Be = {
755
+ root: sn,
756
+ toast: ln
757
+ };
758
+ function ue({ value: t, children: o }) {
759
+ const [r, a] = T(null), s = L(() => {
760
+ navigator.clipboard.writeText(t).then(() => {
761
+ a(`Copied ${t}`), setTimeout(() => a(null), 1800);
762
+ });
763
+ }, [t]);
764
+ return /* @__PURE__ */ l(Fe, { children: [
765
+ /* @__PURE__ */ e("span", { onClick: s, className: Be.root, title: `Click to copy ${t}`, children: o }),
766
+ r && /* @__PURE__ */ e(Xe, { children: /* @__PURE__ */ e(Ye, { withCloseButton: !1, className: Be.toast, color: "blue", children: r }) })
767
+ ] });
768
+ }
769
+ const cn = "_root_3ht5s_1", dn = "_shade_3ht5s_5", mn = "_color_3ht5s_10", hn = "_main_3ht5s_20", me = {
770
+ root: cn,
771
+ shade: dn,
772
+ color: mn,
773
+ main: hn
774
+ };
775
+ function Fo({ name: t, shades: o, mainIndex: r = 5 }) {
776
+ return /* @__PURE__ */ l("div", { className: me.root, children: [
777
+ /* @__PURE__ */ e(se, { order: 4, size: "lg", tt: "capitalize", mb: "xs", children: t }),
778
+ /* @__PURE__ */ e(re, { cols: 10, spacing: 4, children: o.map((a, s) => /* @__PURE__ */ e(ue, { value: a, children: /* @__PURE__ */ l("div", { className: me.shade, children: [
779
+ /* @__PURE__ */ e(
780
+ "div",
781
+ {
782
+ className: `${me.color} ${s === r ? me.main : ""}`,
783
+ style: { backgroundColor: a }
784
+ }
785
+ ),
786
+ /* @__PURE__ */ e(v, { size: "xs", c: "dimmed", ta: "center", mt: 4, children: s }),
787
+ /* @__PURE__ */ e(v, { size: "xs", c: "dimmed", ta: "center", ff: "monospace", children: a })
788
+ ] }) }, s)) })
789
+ ] });
790
+ }
791
+ const un = "_root_1vxkx_1", gn = "_preview_1vxkx_11", pn = "_info_1vxkx_15", ge = {
792
+ root: un,
793
+ preview: gn,
794
+ info: pn
795
+ };
796
+ function Eo({ name: t, hex: o, label: r }) {
797
+ return /* @__PURE__ */ e(ue, { value: o, children: /* @__PURE__ */ l(Y, { className: ge.root, shadow: "lg", radius: "md", withBorder: !1, children: [
798
+ /* @__PURE__ */ e("div", { className: ge.preview, style: { backgroundColor: o } }),
799
+ /* @__PURE__ */ l("div", { className: ge.info, children: [
800
+ /* @__PURE__ */ e(v, { fw: 600, size: "sm", children: t }),
801
+ /* @__PURE__ */ e(v, { size: "xs", c: "dimmed", ff: "monospace", children: o }),
802
+ r && /* @__PURE__ */ e(v, { size: "xs", c: "dimmed", children: r })
803
+ ] })
804
+ ] }) });
805
+ }
806
+ const fn = "_root_9li00_1", _n = "_preview_9li00_11", bn = "_info_9li00_15", pe = {
807
+ root: fn,
808
+ preview: _n,
809
+ info: bn
697
810
  };
698
- function Dn({ name: t, colors: o, description: a }) {
699
- const s = `linear-gradient(135deg, ${o[0]} 0%, ${o[1]} 100%)`;
700
- return /* @__PURE__ */ e(de, { value: s, children: /* @__PURE__ */ m(U, { className: ie.root, shadow: "lg", radius: "md", children: [
701
- /* @__PURE__ */ e("div", { className: ie.preview, style: { background: s } }),
702
- /* @__PURE__ */ m("div", { className: ie.info, children: [
703
- /* @__PURE__ */ e(N, { fw: 600, size: "sm", children: t }),
704
- a && /* @__PURE__ */ e(N, { size: "xs", c: "dimmed", children: a }),
705
- /* @__PURE__ */ m(N, { size: "xs", c: "dimmed", ff: "monospace", children: [
811
+ function Ao({ name: t, colors: o, description: r }) {
812
+ const a = `linear-gradient(135deg, ${o[0]} 0%, ${o[1]} 100%)`;
813
+ return /* @__PURE__ */ e(ue, { value: a, children: /* @__PURE__ */ l(Y, { className: pe.root, shadow: "lg", radius: "md", children: [
814
+ /* @__PURE__ */ e("div", { className: pe.preview, style: { background: a } }),
815
+ /* @__PURE__ */ l("div", { className: pe.info, children: [
816
+ /* @__PURE__ */ e(v, { fw: 600, size: "sm", children: t }),
817
+ r && /* @__PURE__ */ e(v, { size: "xs", c: "dimmed", children: r }),
818
+ /* @__PURE__ */ l(v, { size: "xs", c: "dimmed", ff: "monospace", children: [
706
819
  o[0],
707
820
  " → ",
708
821
  o[1]
@@ -710,167 +823,493 @@ function Dn({ name: t, colors: o, description: a }) {
710
823
  ] })
711
824
  ] }) });
712
825
  }
713
- const Bt = "_root_1vlvy_1", St = "_video_1vlvy_9", be = {
714
- root: Bt,
715
- video: St
826
+ const vn = "_toggle_1nlbe_1", yn = "_toggleTrack_1nlbe_7", kn = "_toggleTrackDark_1nlbe_16", wn = "_toggleThumb_1nlbe_20", xn = "_toggleThumbDark_1nlbe_32", Nn = "_card_1nlbe_36", Tn = "_preview_1nlbe_49", $n = "_sampleText_1nlbe_58", Cn = "_details_1nlbe_65", G = {
827
+ toggle: vn,
828
+ toggleTrack: yn,
829
+ toggleTrackDark: kn,
830
+ toggleThumb: wn,
831
+ toggleThumbDark: xn,
832
+ card: Nn,
833
+ preview: Tn,
834
+ sampleText: $n,
835
+ details: Cn
836
+ };
837
+ function jo() {
838
+ const [t, o] = T(!1);
839
+ Je("light");
840
+ const r = {
841
+ light: {
842
+ bg: "#FFFFFF",
843
+ border: "1px solid #e3e3e3",
844
+ colors: [
845
+ { name: "Primary Text", hex: "#212121", label: "gray[9]" },
846
+ { name: "Secondary Text", hex: "#808080", label: "gray[6]" },
847
+ { name: "Disabled Text", hex: "#CCCCCC", label: "" }
848
+ ]
849
+ },
850
+ dark: {
851
+ bg: "#1A1A1A",
852
+ border: "1px solid #424242",
853
+ colors: [
854
+ { name: "Primary Text", hex: "#FAFAFA", label: "gray[0]" },
855
+ { name: "Secondary Text", hex: "#9E9E9E", label: "gray[5]" },
856
+ { name: "Disabled Text", hex: "#424242", label: "gray[8]" }
857
+ ]
858
+ }
859
+ }, a = t ? r.dark : r.light;
860
+ return /* @__PURE__ */ l(x, { my: "xl", children: [
861
+ /* @__PURE__ */ e(x, { mb: "lg", style: { display: "flex", alignItems: "center" }, children: /* @__PURE__ */ e(
862
+ ae,
863
+ {
864
+ onClick: () => o(!t),
865
+ variant: "default",
866
+ radius: "xl",
867
+ size: "sm",
868
+ className: G.toggle,
869
+ leftSection: /* @__PURE__ */ e(x, { className: `${G.toggleTrack} ${t ? G.toggleTrackDark : ""}`, children: /* @__PURE__ */ e(x, { className: `${G.toggleThumb} ${t ? G.toggleThumbDark : ""}` }) }),
870
+ children: t ? "Dark Mode" : "Light Mode"
871
+ }
872
+ ) }),
873
+ /* @__PURE__ */ e(re, { cols: { base: 1, md: 3 }, spacing: "lg", children: a.colors.map((s) => /* @__PURE__ */ e(ue, { value: s.hex, children: /* @__PURE__ */ l(x, { className: G.card, children: [
874
+ /* @__PURE__ */ e(
875
+ x,
876
+ {
877
+ className: G.preview,
878
+ style: { backgroundColor: a.bg, border: a.border },
879
+ children: /* @__PURE__ */ e(v, { style: { color: s.hex }, className: G.sampleText, children: "Aa" })
880
+ }
881
+ ),
882
+ /* @__PURE__ */ l(x, { p: "md", className: G.details, children: [
883
+ /* @__PURE__ */ e(v, { fw: 600, children: s.name }),
884
+ /* @__PURE__ */ e(v, { size: "sm", c: "dimmed", ff: "monospace", children: s.hex }),
885
+ s.label && /* @__PURE__ */ e(v, { size: "xs", c: "dimmed", children: s.label })
886
+ ] })
887
+ ] }) }, s.name + s.hex)) })
888
+ ] });
889
+ }
890
+ const In = "_root_n9zxy_1", zn = "_playButton_n9zxy_8", Mn = "_time_n9zxy_22", Bn = "_volumeGroup_n9zxy_28", oe = {
891
+ root: In,
892
+ playButton: zn,
893
+ time: Mn,
894
+ volumeGroup: Bn
716
895
  };
717
- function Tt({ src: t, opacity: o = 0.3 }) {
718
- return /* @__PURE__ */ e("div", { className: be.root, style: { opacity: o }, children: /* @__PURE__ */ e("video", { autoPlay: !0, muted: !0, loop: !0, playsInline: !0, className: be.video, children: /* @__PURE__ */ e("source", { src: t, type: "video/mp4" }) }) });
896
+ function fe(t) {
897
+ const o = Math.floor(t / 60), r = Math.floor(t % 60);
898
+ return `${o.toString().padStart(2, "0")}:${r.toString().padStart(2, "0")}`;
719
899
  }
720
- const Pt = "_root_1suaa_1", Wt = "_content_1suaa_8", Et = "_label_1suaa_21", Dt = "_vignette_1suaa_37", Ft = "_logoWrapper_1suaa_50", jt = "_logo_1suaa_50", Gt = "_glow_1suaa_73", Rt = "_textWrapper_1suaa_85", At = "_heading_1suaa_91", Ot = "_shimmer_1suaa_125", Ht = "_tagline_1suaa_129", Vt = "_primaryButton_1suaa_143", qt = "_secondaryButton_1suaa_148", Ut = "_scrollIndicator_1suaa_160", Xt = "_scrollLabel_1suaa_171", Yt = "_scrollLine_1suaa_179", $ = {
721
- root: Pt,
722
- content: Wt,
723
- label: Et,
724
- vignette: Dt,
725
- logoWrapper: Ft,
726
- logo: jt,
727
- glow: Gt,
728
- textWrapper: Rt,
729
- heading: At,
730
- shimmer: Ot,
731
- tagline: Ht,
732
- primaryButton: Vt,
733
- secondaryButton: qt,
734
- scrollIndicator: Ut,
735
- scrollLabel: Xt,
736
- scrollLine: Yt
900
+ function qo({
901
+ src: t,
902
+ filename: o = "audio",
903
+ playButtonColor: r,
904
+ playButtonSize: a = 32,
905
+ waveColor: s = "#D0D0D0",
906
+ progressColor: u = "#a8a8a8",
907
+ waveHeight: y = 64,
908
+ barWidth: g = 3,
909
+ barGap: p = 2,
910
+ showVolume: m = !0,
911
+ showDownload: h = !0
912
+ }) {
913
+ const k = A(null), [i, _] = T(!1), [c, d] = T(0), [w, n] = T("00:00"), [b, N] = T("00:00"), [P, R] = T(50), [O, j] = T(50), [M, C] = T(!1);
914
+ D(() => {
915
+ const f = k.current;
916
+ if (!f) return;
917
+ f.volume = P / 100;
918
+ const $ = () => {
919
+ d(f.currentTime), n(fe(f.currentTime));
920
+ }, B = () => N(fe(f.duration)), J = () => {
921
+ setTimeout(() => {
922
+ d(0), n("00:00"), _(!1);
923
+ }, 500);
924
+ }, ie = () => _(!0), le = () => _(!1);
925
+ return f.addEventListener("timeupdate", $), f.addEventListener("loadedmetadata", B), f.addEventListener("ended", J), f.addEventListener("play", ie), f.addEventListener("pause", le), () => {
926
+ f.removeEventListener("timeupdate", $), f.removeEventListener("loadedmetadata", B), f.removeEventListener("ended", J), f.removeEventListener("play", ie), f.removeEventListener("pause", le);
927
+ };
928
+ }, [t]);
929
+ const F = L(() => {
930
+ const f = k.current;
931
+ f && (i ? f.pause() : f.play().catch(() => {
932
+ }));
933
+ }, [i]), q = L((f) => {
934
+ const $ = k.current;
935
+ $ && !isNaN(f) && isFinite(f) && ($.currentTime = f, d(f), n(fe(f)));
936
+ }, []), V = L((f) => {
937
+ const $ = k.current;
938
+ $ && ($.volume = f / 100, R(f), f > 0 ? (j(f), C(!1)) : C(!0));
939
+ }, []), H = L(() => {
940
+ const f = k.current;
941
+ if (f)
942
+ if (M) {
943
+ const $ = O || 50;
944
+ f.volume = $ / 100, R($), C(!1);
945
+ } else
946
+ j(P), f.volume = 0, R(0), C(!0);
947
+ }, [M, P, O]), te = L(() => {
948
+ fetch(t).then((f) => f.blob()).then((f) => {
949
+ const $ = URL.createObjectURL(f), B = document.createElement("a");
950
+ B.href = $, B.download = o, document.body.appendChild(B), B.click(), document.body.removeChild(B), URL.revokeObjectURL($);
951
+ }).catch(() => window.open(t, "_blank"));
952
+ }, [t, o]);
953
+ return /* @__PURE__ */ l(I, { gap: "sm", wrap: "nowrap", className: oe.root, children: [
954
+ /* @__PURE__ */ e("audio", { ref: k, src: t, preload: "metadata" }),
955
+ /* @__PURE__ */ e(
956
+ ee,
957
+ {
958
+ variant: "filled",
959
+ radius: "xl",
960
+ size: a,
961
+ color: r,
962
+ onClick: F,
963
+ "aria-label": i ? "Pause" : "Play",
964
+ className: oe.playButton,
965
+ children: i ? /* @__PURE__ */ e(Re, { size: a * 0.5 }) : /* @__PURE__ */ e(Oe, { size: a * 0.5 })
966
+ }
967
+ ),
968
+ /* @__PURE__ */ e(v, { size: "xs", ff: "monospace", c: "dimmed", className: oe.time, children: w }),
969
+ /* @__PURE__ */ e(x, { style: { flex: 1, minWidth: 0 }, children: /* @__PURE__ */ e(
970
+ _e,
971
+ {
972
+ audioRef: k,
973
+ currentTime: c,
974
+ onSeek: q,
975
+ waveColor: s,
976
+ progressColor: u,
977
+ height: y,
978
+ barWidth: g,
979
+ barGap: p
980
+ }
981
+ ) }),
982
+ /* @__PURE__ */ e(v, { size: "xs", ff: "monospace", c: "dimmed", className: oe.time, children: b }),
983
+ m && /* @__PURE__ */ l(I, { gap: 4, wrap: "nowrap", className: oe.volumeGroup, children: [
984
+ /* @__PURE__ */ e(
985
+ ee,
986
+ {
987
+ variant: "subtle",
988
+ size: "sm",
989
+ onClick: H,
990
+ "aria-label": M ? "Unmute" : "Mute",
991
+ children: M ? /* @__PURE__ */ e(ct, { size: 16 }) : /* @__PURE__ */ e(dt, { size: 16 })
992
+ }
993
+ ),
994
+ /* @__PURE__ */ e(
995
+ Qe,
996
+ {
997
+ value: P,
998
+ onChange: V,
999
+ size: "xs",
1000
+ w: 80,
1001
+ "aria-label": "Volume"
1002
+ }
1003
+ )
1004
+ ] }),
1005
+ h && /* @__PURE__ */ e(ee, { variant: "subtle", size: "sm", onClick: te, "aria-label": "Download", children: /* @__PURE__ */ e(mt, { size: 16 }) })
1006
+ ] });
1007
+ }
1008
+ const Sn = "_root_13w21_1", Ln = "_playButton_13w21_11", Se = {
1009
+ root: Sn,
1010
+ playButton: Ln
1011
+ }, Dn = {
1012
+ mini: { height: 24, buttonSize: 20, iconSize: 14, waveHeight: 16, barWidth: 1, barGap: 0 },
1013
+ small: { height: 32, buttonSize: 28, iconSize: 16, waveHeight: 20, barWidth: 1, barGap: 0 },
1014
+ compact: { height: 40, buttonSize: 32, iconSize: 18, waveHeight: 24, barWidth: 2, barGap: 1 }
1015
+ }, Pn = Ge(
1016
+ ({
1017
+ audioUrl: t,
1018
+ size: o = "mini",
1019
+ waveColor: r = "#CCCCCC",
1020
+ progressColor: a = "#169bde",
1021
+ onPlay: s,
1022
+ onPause: u,
1023
+ className: y,
1024
+ style: g
1025
+ }, p) => {
1026
+ const m = A(null), [h, k] = T(!1), [i, _] = T(0), c = Dn[o];
1027
+ D(() => {
1028
+ const n = m.current;
1029
+ if (!n) return;
1030
+ const b = () => _(n.currentTime), N = () => {
1031
+ k(!1), _(0);
1032
+ }, P = () => k(!1), R = () => k(!0);
1033
+ return n.addEventListener("timeupdate", b), n.addEventListener("ended", N), n.addEventListener("pause", P), n.addEventListener("play", R), () => {
1034
+ n.removeEventListener("timeupdate", b), n.removeEventListener("ended", N), n.removeEventListener("pause", P), n.removeEventListener("play", R);
1035
+ };
1036
+ }, [t]);
1037
+ const d = L(() => {
1038
+ const n = m.current;
1039
+ n && (h ? (n.pause(), u == null || u()) : (n.play().catch(() => {
1040
+ }), s == null || s()));
1041
+ }, [h, s, u]), w = L((n) => {
1042
+ const b = m.current;
1043
+ b && !isNaN(n) && isFinite(n) && (b.currentTime = n, _(n));
1044
+ }, []);
1045
+ return /* @__PURE__ */ l(
1046
+ I,
1047
+ {
1048
+ ref: p,
1049
+ gap: o === "mini" ? 6 : o === "small" ? 8 : 10,
1050
+ wrap: "nowrap",
1051
+ className: `${Se.root} ${y ?? ""}`,
1052
+ style: { height: c.height, ...g },
1053
+ children: [
1054
+ /* @__PURE__ */ e("audio", { ref: m, src: t, preload: "metadata" }),
1055
+ /* @__PURE__ */ e(
1056
+ ee,
1057
+ {
1058
+ variant: "filled",
1059
+ color: "blue",
1060
+ radius: "xl",
1061
+ size: c.buttonSize,
1062
+ onClick: d,
1063
+ "aria-label": h ? "Pause" : "Play",
1064
+ className: Se.playButton,
1065
+ children: h ? /* @__PURE__ */ e(Re, { size: c.iconSize }) : /* @__PURE__ */ e(Oe, { size: c.iconSize })
1066
+ }
1067
+ ),
1068
+ /* @__PURE__ */ e(x, { style: { flex: 1, minWidth: 80 }, children: /* @__PURE__ */ e(
1069
+ _e,
1070
+ {
1071
+ audioRef: m,
1072
+ currentTime: i,
1073
+ onSeek: w,
1074
+ waveColor: r,
1075
+ progressColor: a,
1076
+ height: c.waveHeight,
1077
+ barWidth: c.barWidth,
1078
+ barGap: c.barGap
1079
+ }
1080
+ ) })
1081
+ ]
1082
+ }
1083
+ );
1084
+ }
1085
+ );
1086
+ Pn.displayName = "MiniAudioPlayer";
1087
+ const Wn = "_root_4fblk_1", Fn = "_actions_4fblk_22", En = "_fab_4fblk_43", An = "_actionButton_4fblk_63", he = {
1088
+ root: Wn,
1089
+ actions: Fn,
1090
+ fab: En,
1091
+ actionButton: An
1092
+ };
1093
+ function Go({
1094
+ actions: t,
1095
+ icon: o,
1096
+ openIcon: r,
1097
+ direction: a = "up",
1098
+ color: s = "blue",
1099
+ size: u = 56,
1100
+ defaultOpen: y = !1,
1101
+ open: g,
1102
+ onOpenChange: p,
1103
+ style: m,
1104
+ className: h
1105
+ }) {
1106
+ const [k, i] = T(y), _ = g ?? k, c = L(() => {
1107
+ const n = !_;
1108
+ i(n), p == null || p(n);
1109
+ }, [_, p]), d = L(() => {
1110
+ i(!1), p == null || p(!1);
1111
+ }, [p]), w = a === "up" || a === "down";
1112
+ return /* @__PURE__ */ l(x, { className: `${he.root} ${h ?? ""}`, style: m, "data-direction": a, children: [
1113
+ /* @__PURE__ */ e("div", { className: he.actions, "data-direction": a, children: t.map((n, b) => {
1114
+ const N = a === "up" || a === "left" ? t.length - 1 - b : b;
1115
+ return /* @__PURE__ */ e(
1116
+ Ze,
1117
+ {
1118
+ mounted: _,
1119
+ transition: w ? "slide-up" : "slide-right",
1120
+ duration: 200,
1121
+ timingFunction: "ease",
1122
+ enterDelay: N * 40,
1123
+ children: (P) => /* @__PURE__ */ e(et, { label: n.label, position: w ? "left" : "top", children: /* @__PURE__ */ e(
1124
+ ee,
1125
+ {
1126
+ variant: "filled",
1127
+ color: "gray",
1128
+ radius: "xl",
1129
+ size: u * 0.7,
1130
+ style: P,
1131
+ className: he.actionButton,
1132
+ onClick: () => {
1133
+ n.onClick(), d();
1134
+ },
1135
+ "aria-label": n.label,
1136
+ children: n.icon
1137
+ }
1138
+ ) })
1139
+ },
1140
+ n.label
1141
+ );
1142
+ }) }),
1143
+ /* @__PURE__ */ e(
1144
+ ee,
1145
+ {
1146
+ variant: "filled",
1147
+ color: s,
1148
+ radius: "xl",
1149
+ size: u,
1150
+ onClick: c,
1151
+ className: he.fab,
1152
+ "data-open": _ || void 0,
1153
+ "aria-label": _ ? "Close actions" : "Open actions",
1154
+ children: _ ? r ?? o ?? /* @__PURE__ */ e(ye, { size: u * 0.45 }) : o ?? /* @__PURE__ */ e(ye, { size: u * 0.45 })
1155
+ }
1156
+ )
1157
+ ] });
1158
+ }
1159
+ const jn = "_root_h15rs_1", qn = "_content_h15rs_8", Gn = "_label_h15rs_21", Rn = "_vignette_h15rs_38", On = "_logoWrapper_h15rs_51", Vn = "_logo_h15rs_51", Hn = "_glow_h15rs_74", Un = "_textWrapper_h15rs_86", Kn = "_heading_h15rs_92", Xn = "_shimmer_h15rs_126", Yn = "_tagline_h15rs_130", Jn = "_primaryButton_h15rs_146", Qn = "_secondaryButton_h15rs_157", Zn = "_scrollIndicator_h15rs_173", eo = "_scrollLabel_h15rs_184", to = "_scrollLine_h15rs_192", z = {
1160
+ root: jn,
1161
+ content: qn,
1162
+ label: Gn,
1163
+ vignette: Rn,
1164
+ logoWrapper: On,
1165
+ logo: Vn,
1166
+ glow: Hn,
1167
+ textWrapper: Un,
1168
+ heading: Kn,
1169
+ shimmer: Xn,
1170
+ tagline: Yn,
1171
+ primaryButton: Jn,
1172
+ secondaryButton: Qn,
1173
+ scrollIndicator: Zn,
1174
+ scrollLabel: eo,
1175
+ scrollLine: to
737
1176
  };
738
- function Fn({
1177
+ function Ro({
739
1178
  variant: t = "logo",
740
1179
  heading: o,
741
- label: a,
742
- tagline: s,
743
- logoSrc: r = qe,
744
- gradient: f = "frequencyAlive",
1180
+ label: r,
1181
+ tagline: a,
1182
+ logoSrc: s = ht,
1183
+ gradient: u = "frequencyAlive",
745
1184
  shimmer: y = !0,
746
1185
  primaryAction: g,
747
- secondaryAction: _,
748
- backgroundVideoSrc: l,
749
- showWaveform: d,
750
- showScrollIndicator: w = !1
1186
+ secondaryAction: p,
1187
+ backgroundVideoSrc: m,
1188
+ showWaveform: h,
1189
+ showScrollIndicator: k = !1
751
1190
  }) {
752
- const [i, v] = z(!1), u = typeof r == "string" ? r : r == null ? void 0 : r.src, c = o ?? (t === "text" ? "Your Message" : void 0), b = a || (t === "logo" ? "Welcome" : void 0), n = g || _, p = d ?? !0, I = Ue[f];
753
- return P(() => {
754
- v(!0);
755
- }, []), /* @__PURE__ */ m(k, { component: "section", className: $.root, children: [
756
- l && /* @__PURE__ */ e(Tt, { src: l }),
757
- /* @__PURE__ */ m("div", { className: $.content, children: [
758
- i && /* @__PURE__ */ m(ze, { children: [
759
- b && /* @__PURE__ */ e(
760
- B.p,
1191
+ const [i, _] = T(!1), c = typeof s == "string" ? s : s == null ? void 0 : s.src, d = o ?? (t === "text" ? "Your Message" : void 0), w = r || (t === "logo" ? "Welcome" : void 0), n = g || p, b = h ?? !0, N = ut[u];
1192
+ return D(() => {
1193
+ _(!0);
1194
+ }, []), /* @__PURE__ */ l(x, { component: "section", className: z.root, children: [
1195
+ m && /* @__PURE__ */ e(an, { src: m }),
1196
+ /* @__PURE__ */ l("div", { className: z.content, children: [
1197
+ i && /* @__PURE__ */ l(Fe, { children: [
1198
+ w && /* @__PURE__ */ e(
1199
+ S.p,
761
1200
  {
762
1201
  initial: { opacity: 0 },
763
1202
  animate: { opacity: 1 },
764
1203
  transition: { duration: 0.8, delay: 0.2 },
765
- className: $.label,
766
- children: b
1204
+ className: z.label,
1205
+ children: w
767
1206
  }
768
1207
  ),
769
- t === "logo" && /* @__PURE__ */ m(
770
- B.div,
1208
+ t === "logo" && /* @__PURE__ */ l(
1209
+ S.div,
771
1210
  {
772
1211
  initial: { opacity: 0, scale: 0.8 },
773
1212
  animate: { opacity: 1, scale: 1 },
774
1213
  transition: { duration: 1.2, delay: 0.3, ease: "easeOut" },
775
- className: $.logoWrapper,
1214
+ className: z.logoWrapper,
776
1215
  children: [
777
- p && /* @__PURE__ */ e(fe, {}),
778
- p && /* @__PURE__ */ e("div", { className: $.vignette }),
1216
+ b && /* @__PURE__ */ e(ze, {}),
1217
+ b && /* @__PURE__ */ e("div", { className: z.vignette }),
779
1218
  /* @__PURE__ */ e(
780
- B.img,
1219
+ S.img,
781
1220
  {
782
- src: u,
783
- alt: c ?? "Frequency",
784
- className: $.logo,
1221
+ src: c,
1222
+ alt: d ?? "Frequency",
1223
+ className: z.logo,
785
1224
  animate: { rotate: [0, 0.5, -0.5, 0] },
786
1225
  transition: { duration: 8, repeat: 1 / 0, ease: "easeInOut" }
787
1226
  }
788
1227
  ),
789
- /* @__PURE__ */ e("div", { className: $.glow })
1228
+ /* @__PURE__ */ e("div", { className: z.glow })
790
1229
  ]
791
1230
  }
792
1231
  ),
793
- t === "text" && c && /* @__PURE__ */ m(
794
- B.div,
1232
+ t === "text" && d && /* @__PURE__ */ l(
1233
+ S.div,
795
1234
  {
796
1235
  initial: { opacity: 0, scale: 0.8 },
797
1236
  animate: { opacity: 1, scale: 1 },
798
1237
  transition: { duration: 1.2, delay: 0.3, ease: "easeOut" },
799
- className: $.textWrapper,
1238
+ className: z.textWrapper,
800
1239
  children: [
801
- p && /* @__PURE__ */ e(fe, {}),
802
- p && /* @__PURE__ */ e("div", { className: $.vignette }),
1240
+ b && /* @__PURE__ */ e(ze, {}),
1241
+ b && /* @__PURE__ */ e("div", { className: z.vignette }),
803
1242
  /* @__PURE__ */ e(
804
- oe,
1243
+ se,
805
1244
  {
806
1245
  order: 1,
807
- className: `${$.heading} ${y ? $.shimmer : ""}`,
1246
+ className: `${z.heading} ${y ? z.shimmer : ""}`,
808
1247
  style: {
809
- backgroundImage: `linear-gradient(135deg, ${I.from}, ${I.to}, ${I.from})`,
1248
+ backgroundImage: `linear-gradient(135deg, ${N.from}, ${N.to}, ${N.from})`,
810
1249
  backgroundSize: y ? "200% 100%" : void 0
811
1250
  },
812
- children: c
1251
+ children: d
813
1252
  }
814
1253
  )
815
1254
  ]
816
1255
  }
817
1256
  ),
818
- s && /* @__PURE__ */ e(
819
- B.div,
1257
+ a && /* @__PURE__ */ e(
1258
+ S.div,
820
1259
  {
821
1260
  initial: { opacity: 0, y: 20 },
822
1261
  animate: { opacity: 1, y: 0 },
823
1262
  transition: { duration: 0.8, delay: 0.7 },
824
- children: /* @__PURE__ */ e(N, { className: $.tagline, children: s })
1263
+ children: /* @__PURE__ */ e(v, { className: z.tagline, children: a })
825
1264
  }
826
1265
  ),
827
1266
  n && /* @__PURE__ */ e(
828
- B.div,
1267
+ S.div,
829
1268
  {
830
1269
  initial: { opacity: 0, y: 20 },
831
1270
  animate: { opacity: 1, y: 0 },
832
1271
  transition: { duration: 0.8, delay: 0.9 },
833
- children: /* @__PURE__ */ m(F, { gap: "md", justify: "center", wrap: "wrap", children: [
1272
+ children: /* @__PURE__ */ l(I, { gap: "xl", justify: "center", wrap: "wrap", children: [
834
1273
  g && /* @__PURE__ */ e(
835
- re,
1274
+ ae,
836
1275
  {
837
1276
  component: "a",
838
1277
  href: g.href,
839
1278
  size: "lg",
840
1279
  radius: 4,
841
- className: $.primaryButton,
1280
+ className: z.primaryButton,
842
1281
  children: g.label
843
1282
  }
844
1283
  ),
845
- _ && /* @__PURE__ */ e(
846
- re,
1284
+ p && /* @__PURE__ */ e(
1285
+ ae,
847
1286
  {
848
1287
  component: "a",
849
- href: _.href,
1288
+ href: p.href,
850
1289
  size: "lg",
851
1290
  radius: 4,
852
1291
  variant: "outline",
853
- className: $.secondaryButton,
854
- children: _.label
1292
+ className: z.secondaryButton,
1293
+ children: p.label
855
1294
  }
856
1295
  )
857
1296
  ] })
858
1297
  }
859
1298
  )
860
1299
  ] }),
861
- i && w && /* @__PURE__ */ m(
862
- B.div,
1300
+ i && k && /* @__PURE__ */ l(
1301
+ S.div,
863
1302
  {
864
- className: $.scrollIndicator,
1303
+ className: z.scrollIndicator,
865
1304
  initial: { opacity: 0 },
866
1305
  animate: { opacity: 1 },
867
1306
  transition: { duration: 1, delay: 1.4 },
868
1307
  children: [
869
- /* @__PURE__ */ e("span", { className: $.scrollLabel, children: "Scroll" }),
1308
+ /* @__PURE__ */ e("span", { className: z.scrollLabel, children: "Scroll" }),
870
1309
  /* @__PURE__ */ e(
871
- B.div,
1310
+ S.div,
872
1311
  {
873
- className: $.scrollLine,
1312
+ className: z.scrollLine,
874
1313
  animate: { scaleY: [1, 1.5, 1] },
875
1314
  transition: { duration: 1.5, repeat: 1 / 0 }
876
1315
  }
@@ -881,350 +1320,165 @@ function Fn({
881
1320
  ] })
882
1321
  ] });
883
1322
  }
884
- function we({ variant: t, children: o }) {
885
- const a = t === "do";
886
- return /* @__PURE__ */ m(
887
- $e,
888
- {
889
- variant: "light",
890
- color: a ? "green" : "red",
891
- size: "lg",
892
- radius: "sm",
893
- styles: {
894
- root: { textTransform: "none", fontWeight: 400 },
895
- label: { whiteSpace: "normal", lineHeight: 1.4 }
896
- },
897
- children: [
898
- /* @__PURE__ */ m("strong", { children: [
899
- a ? "Do" : "Don't",
900
- ":"
901
- ] }),
902
- " ",
903
- o
904
- ]
905
- }
906
- );
907
- }
908
- const Kt = "_root_13w21_1", Jt = "_playButton_13w21_11", Ne = {
909
- root: Kt,
910
- playButton: Jt
911
- }, Qt = {
912
- mini: { height: 24, buttonSize: 20, iconSize: 14, waveHeight: 16, barWidth: 1, barGap: 0 },
913
- small: { height: 32, buttonSize: 28, iconSize: 16, waveHeight: 20, barWidth: 1, barGap: 0 },
914
- compact: { height: 40, buttonSize: 32, iconSize: 18, waveHeight: 24, barWidth: 2, barGap: 1 }
915
- }, Zt = xe(
916
- ({
917
- audioUrl: t,
918
- size: o = "mini",
919
- waveColor: a = "#CCCCCC",
920
- progressColor: s = "#169bde",
921
- onPlay: r,
922
- onPause: f,
923
- className: y,
924
- style: g
925
- }, _) => {
926
- const l = D(null), [d, w] = z(!1), [i, v] = z(0), u = Qt[o];
927
- P(() => {
928
- const n = l.current;
929
- if (!n) return;
930
- const p = () => v(n.currentTime), I = () => {
931
- w(!1), v(0);
932
- }, T = () => w(!1), R = () => w(!0);
933
- return n.addEventListener("timeupdate", p), n.addEventListener("ended", I), n.addEventListener("pause", T), n.addEventListener("play", R), () => {
934
- n.removeEventListener("timeupdate", p), n.removeEventListener("ended", I), n.removeEventListener("pause", T), n.removeEventListener("play", R);
935
- };
936
- }, [t]);
937
- const c = S(() => {
938
- const n = l.current;
939
- n && (d ? (n.pause(), f == null || f()) : (n.play().catch(() => {
940
- }), r == null || r()));
941
- }, [d, r, f]), b = S((n) => {
942
- const p = l.current;
943
- p && !isNaN(n) && isFinite(n) && (p.currentTime = n, v(n));
944
- }, []);
945
- return /* @__PURE__ */ m(
946
- F,
947
- {
948
- ref: _,
949
- gap: o === "mini" ? 6 : o === "small" ? 8 : 10,
950
- wrap: "nowrap",
951
- className: `${Ne.root} ${y ?? ""}`,
952
- style: { height: u.height, ...g },
953
- children: [
954
- /* @__PURE__ */ e("audio", { ref: l, src: t, preload: "metadata" }),
955
- /* @__PURE__ */ e(
956
- Y,
957
- {
958
- variant: "filled",
959
- color: "blue",
960
- radius: "xl",
961
- size: u.buttonSize,
962
- onClick: c,
963
- "aria-label": d ? "Pause" : "Play",
964
- className: Ne.playButton,
965
- children: d ? /* @__PURE__ */ e(Ce, { size: u.iconSize }) : /* @__PURE__ */ e(ke, { size: u.iconSize })
966
- }
967
- ),
968
- /* @__PURE__ */ e(k, { style: { flex: 1, minWidth: 80 }, children: /* @__PURE__ */ e(
969
- le,
970
- {
971
- audioRef: l,
972
- currentTime: i,
973
- onSeek: b,
974
- waveColor: a,
975
- progressColor: s,
976
- height: u.waveHeight,
977
- barWidth: u.barWidth,
978
- barGap: u.barGap
979
- }
980
- ) })
981
- ]
982
- }
983
- );
984
- }
985
- );
986
- Zt.displayName = "MiniAudioPlayer";
987
- const en = "_root_1bah1_1", tn = {
988
- root: en
989
- };
990
- function jn({
991
- accentColor: t,
992
- title: o,
993
- description: a,
994
- doHint: s,
995
- dontHint: r
996
- }) {
997
- return /* @__PURE__ */ m(
998
- U,
999
- {
1000
- className: tn.root,
1001
- p: "lg",
1002
- radius: "md",
1003
- style: { borderLeftColor: t },
1004
- children: [
1005
- /* @__PURE__ */ e(oe, { order: 3, size: "h4", mb: "xs", children: o }),
1006
- /* @__PURE__ */ e(N, { c: "dimmed", children: a }),
1007
- (s || r) && /* @__PURE__ */ m(F, { gap: "sm", mt: "md", wrap: "wrap", children: [
1008
- s && /* @__PURE__ */ e(we, { variant: "do", children: s }),
1009
- r && /* @__PURE__ */ e(we, { variant: "dont", children: r })
1010
- ] })
1011
- ]
1012
- }
1013
- );
1014
- }
1015
- const nn = "_root_ydu7j_1", on = "_actions_ydu7j_22", sn = "_fab_ydu7j_43", an = "_actionButton_ydu7j_61", ne = {
1016
- root: nn,
1017
- actions: on,
1018
- fab: sn,
1019
- actionButton: an
1020
- };
1021
- function Gn({
1022
- actions: t,
1023
- icon: o,
1024
- openIcon: a,
1025
- direction: s = "up",
1026
- color: r = "blue",
1027
- size: f = 56,
1028
- defaultOpen: y = !1,
1029
- open: g,
1030
- onOpenChange: _,
1031
- style: l,
1032
- className: d
1033
- }) {
1034
- const [w, i] = z(y), v = g ?? w, u = S(() => {
1035
- const n = !v;
1036
- i(n), _ == null || _(n);
1037
- }, [v, _]), c = S(() => {
1038
- i(!1), _ == null || _(!1);
1039
- }, [_]), b = s === "up" || s === "down";
1040
- return /* @__PURE__ */ m(
1041
- k,
1042
- {
1043
- className: `${ne.root} ${d ?? ""}`,
1044
- style: l,
1045
- "data-direction": s,
1046
- children: [
1047
- /* @__PURE__ */ e("div", { className: ne.actions, "data-direction": s, children: t.map((n, p) => {
1048
- const I = s === "up" || s === "left" ? t.length - 1 - p : p;
1049
- return /* @__PURE__ */ e(
1050
- De,
1051
- {
1052
- mounted: v,
1053
- transition: b ? "slide-up" : "slide-right",
1054
- duration: 200,
1055
- timingFunction: "ease",
1056
- enterDelay: I * 40,
1057
- children: (T) => /* @__PURE__ */ e(Fe, { label: n.label, position: b ? "left" : "top", children: /* @__PURE__ */ e(
1058
- Y,
1059
- {
1060
- variant: "filled",
1061
- color: "gray",
1062
- radius: "xl",
1063
- size: f * 0.7,
1064
- style: T,
1065
- className: ne.actionButton,
1066
- onClick: () => {
1067
- n.onClick(), c();
1068
- },
1069
- "aria-label": n.label,
1070
- children: n.icon
1071
- }
1072
- ) })
1073
- },
1074
- n.label
1075
- );
1076
- }) }),
1077
- /* @__PURE__ */ e(
1078
- Y,
1079
- {
1080
- variant: "filled",
1081
- color: r,
1082
- radius: "xl",
1083
- size: f,
1084
- onClick: u,
1085
- className: ne.fab,
1086
- "data-open": v || void 0,
1087
- "aria-label": v ? "Close actions" : "Open actions",
1088
- children: v ? a ?? o ?? /* @__PURE__ */ e(ue, { size: f * 0.45 }) : o ?? /* @__PURE__ */ e(ue, { size: f * 0.45 })
1089
- }
1090
- )
1091
- ]
1092
- }
1093
- );
1094
- }
1095
- const rn = "_container_9xj91_1", cn = "_layout_9xj91_16", ln = "_reversed_9xj91_29", dn = "_headingSide_9xj91_39", un = "_sticky_9xj91_49", mn = "_stickyInner_9xj91_54", hn = "_contentSide_9xj91_65", pn = "_title_9xj91_76", fn = "_preTitle_9xj91_82", _n = "_titleHighlight_9xj91_88", vn = "_description_9xj91_95", W = {
1096
- container: rn,
1097
- layout: cn,
1098
- reversed: ln,
1099
- headingSide: dn,
1100
- sticky: un,
1101
- stickyInner: mn,
1102
- contentSide: hn,
1103
- title: pn,
1104
- preTitle: fn,
1105
- titleHighlight: _n,
1106
- description: vn
1323
+ const no = "_container_9xj91_1", oo = "_layout_9xj91_16", ro = "_reversed_9xj91_29", ao = "_headingSide_9xj91_39", so = "_sticky_9xj91_49", io = "_stickyInner_9xj91_54", lo = "_contentSide_9xj91_65", co = "_title_9xj91_76", mo = "_preTitle_9xj91_82", ho = "_titleHighlight_9xj91_88", uo = "_description_9xj91_95", W = {
1324
+ container: no,
1325
+ layout: oo,
1326
+ reversed: ro,
1327
+ headingSide: ao,
1328
+ sticky: so,
1329
+ stickyInner: io,
1330
+ contentSide: lo,
1331
+ title: co,
1332
+ preTitle: mo,
1333
+ titleHighlight: ho,
1334
+ description: uo
1107
1335
  };
1108
- function Rn({
1336
+ function Oo({
1109
1337
  badge: t,
1110
1338
  badgeColor: o = "violet",
1111
- subtitle: a,
1112
- title: s,
1113
- titleColor: r = "blue",
1114
- preTitle: f,
1339
+ subtitle: r,
1340
+ title: a,
1341
+ titleColor: s = "blue",
1342
+ preTitle: u,
1115
1343
  description: y,
1116
1344
  actions: g,
1117
- heading: _,
1118
- children: l,
1119
- stickyHeading: d = !1,
1120
- py: w,
1345
+ heading: p,
1346
+ children: m,
1347
+ stickyHeading: h = !1,
1348
+ py: k,
1121
1349
  reversed: i = !1,
1122
- id: v,
1123
- className: u
1350
+ id: _,
1351
+ className: c
1124
1352
  }) {
1125
- const c = _ ?? /* @__PURE__ */ m(ce, { gap: "sm", children: [
1126
- t && /* @__PURE__ */ m(k, { children: [
1127
- /* @__PURE__ */ e(
1128
- $e,
1129
- {
1130
- color: o,
1131
- variant: "filled",
1132
- size: "sm",
1133
- radius: 4,
1134
- tt: "uppercase",
1135
- fw: 700,
1136
- children: t
1137
- }
1138
- ),
1139
- a && /* @__PURE__ */ e(N, { size: "sm", c: "dimmed", mt: "xs", tt: "uppercase", style: { letterSpacing: "0.05em" }, children: a })
1353
+ const d = p ?? /* @__PURE__ */ l(X, { gap: "sm", children: [
1354
+ t && /* @__PURE__ */ l(x, { children: [
1355
+ /* @__PURE__ */ e(We, { color: o, variant: "filled", size: "sm", radius: 4, tt: "uppercase", fw: 700, children: t }),
1356
+ r && /* @__PURE__ */ e(v, { size: "sm", c: "dimmed", mt: "xs", tt: "uppercase", style: { letterSpacing: "0.05em" }, children: r })
1140
1357
  ] }),
1141
- !t && a && /* @__PURE__ */ e(N, { size: "sm", c: "dimmed", tt: "uppercase", style: { letterSpacing: "0.05em" }, children: a }),
1142
- (f || s) && /* @__PURE__ */ m(oe, { order: 2, className: W.title, children: [
1143
- f && /* @__PURE__ */ e("span", { className: W.preTitle, children: f }),
1144
- f && /* @__PURE__ */ e("br", {}),
1145
- s && /* @__PURE__ */ e(
1146
- N,
1147
- {
1148
- component: "span",
1149
- inherit: !0,
1150
- className: W.titleHighlight,
1151
- c: r,
1152
- children: s
1153
- }
1154
- )
1358
+ !t && r && /* @__PURE__ */ e(v, { size: "sm", c: "dimmed", tt: "uppercase", style: { letterSpacing: "0.05em" }, children: r }),
1359
+ (u || a) && /* @__PURE__ */ l(se, { order: 2, className: W.title, children: [
1360
+ u && /* @__PURE__ */ e("span", { className: W.preTitle, children: u }),
1361
+ u && /* @__PURE__ */ e("br", {}),
1362
+ a && /* @__PURE__ */ e(v, { component: "span", inherit: !0, className: W.titleHighlight, c: s, children: a })
1155
1363
  ] }),
1156
- y && /* @__PURE__ */ e(N, { size: "lg", c: "dimmed", lh: 1.7, className: W.description, children: y }),
1157
- g && /* @__PURE__ */ e(k, { mt: "md", children: g })
1364
+ y && /* @__PURE__ */ e(v, { size: "lg", c: "dimmed", lh: 1.7, className: W.description, children: y }),
1365
+ g && /* @__PURE__ */ e(x, { mt: "md", children: g })
1158
1366
  ] });
1159
1367
  return /* @__PURE__ */ e(
1160
- k,
1368
+ x,
1161
1369
  {
1162
1370
  component: "section",
1163
- py: w ?? "calc(var(--mantine-spacing-xl) * 3)",
1371
+ py: k ?? "calc(var(--mantine-spacing-xl) * 3)",
1164
1372
  pos: "relative",
1165
- id: v,
1166
- className: u,
1167
- children: /* @__PURE__ */ e(k, { className: W.container, children: /* @__PURE__ */ m(k, { className: `${W.layout} ${i ? W.reversed : ""}`, children: [
1168
- /* @__PURE__ */ e(
1169
- k,
1170
- {
1171
- className: `${W.headingSide} ${d ? W.sticky : ""}`,
1172
- children: /* @__PURE__ */ e(k, { className: d ? W.stickyInner : void 0, children: c })
1173
- }
1174
- ),
1175
- /* @__PURE__ */ e(k, { className: W.contentSide, children: l })
1373
+ id: _,
1374
+ className: c,
1375
+ children: /* @__PURE__ */ e(x, { className: W.container, children: /* @__PURE__ */ l(x, { className: `${W.layout} ${i ? W.reversed : ""}`, children: [
1376
+ /* @__PURE__ */ e(x, { className: `${W.headingSide} ${h ? W.sticky : ""}`, children: /* @__PURE__ */ e(x, { className: h ? W.stickyInner : void 0, children: d }) }),
1377
+ /* @__PURE__ */ e(x, { className: W.contentSide, children: m })
1176
1378
  ] }) })
1177
1379
  }
1178
1380
  );
1179
1381
  }
1180
- const gn = "_root_ioshc_1", yn = "_quoteIcon_ioshc_6", Ie = {
1181
- root: gn,
1182
- quoteIcon: yn
1183
- };
1184
- function bn(t) {
1185
- return t.split(" ").map((o) => o[0]).join("").toUpperCase().slice(0, 2);
1186
- }
1187
- function An({
1188
- quote: t,
1189
- name: o,
1190
- role: a,
1191
- company: s,
1192
- avatarSrc: r,
1193
- accentColor: f = "blue"
1382
+ function Vo({
1383
+ value: t,
1384
+ suffix: o = "",
1385
+ prefix: r = "",
1386
+ duration: a = 2e3,
1387
+ threshold: s = 0.5,
1388
+ abbreviate: u = !0,
1389
+ decimals: y,
1390
+ ...g
1194
1391
  }) {
1195
- const y = `var(--mantine-color-${f}-filled)`;
1196
- return /* @__PURE__ */ m(U, { className: Ie.root, p: "lg", radius: "md", style: { borderLeftColor: y }, children: [
1197
- /* @__PURE__ */ e(Ve, { size: 32, className: Ie.quoteIcon, color: y }),
1198
- /* @__PURE__ */ e(N, { fs: "italic", mt: "xs", mb: "md", children: t }),
1199
- /* @__PURE__ */ m(F, { gap: "sm", children: [
1200
- /* @__PURE__ */ e(je, { src: r, alt: o, color: f, radius: "xl", size: "md", children: bn(o) }),
1201
- /* @__PURE__ */ m(ce, { gap: 0, children: [
1202
- /* @__PURE__ */ e(N, { fw: 600, size: "sm", children: o }),
1203
- (a || s) && /* @__PURE__ */ e(N, { size: "xs", c: "dimmed", children: [a, s].filter(Boolean).join(", ") })
1204
- ] })
1205
- ] })
1392
+ const [p, m] = T(0), [h, k] = T(!1), i = A(null);
1393
+ return D(() => {
1394
+ const c = i.current;
1395
+ if (!c) return;
1396
+ const d = new IntersectionObserver(
1397
+ ([w]) => {
1398
+ w.isIntersecting && !h && k(!0);
1399
+ },
1400
+ { threshold: s }
1401
+ );
1402
+ return d.observe(c), () => d.disconnect();
1403
+ }, [h, s]), D(() => {
1404
+ if (!h) return;
1405
+ let c, d;
1406
+ const w = (n) => {
1407
+ c || (c = n);
1408
+ const b = Math.min((n - c) / a, 1), N = 1 - Math.pow(1 - b, 3);
1409
+ m(N * t), b < 1 && (d = requestAnimationFrame(w));
1410
+ };
1411
+ return d = requestAnimationFrame(w), () => cancelAnimationFrame(d);
1412
+ }, [h, t, a]), /* @__PURE__ */ l(v, { component: "span", ref: i, style: { fontVariantNumeric: "tabular-nums" }, ...g, children: [
1413
+ r,
1414
+ (() => {
1415
+ if (u && t >= 1e3) {
1416
+ const c = p / 1e3;
1417
+ return c % 1 === 0 ? `${Math.round(c)}K` : `${c.toFixed(1)}K`;
1418
+ }
1419
+ return y !== void 0 ? p.toFixed(y) : t !== Math.floor(t) ? p.toFixed(1) : Math.round(p).toString();
1420
+ })(),
1421
+ o
1422
+ ] });
1423
+ }
1424
+ const go = "_root_ujac8_1", po = "_textarea_ujac8_5", Le = {
1425
+ root: go,
1426
+ textarea: po
1427
+ };
1428
+ function Ho({ code: t, filename: o, height: r = 384 }) {
1429
+ const [a, s] = T(!1), u = L(async () => {
1430
+ try {
1431
+ await navigator.clipboard.writeText(t), s(!0), setTimeout(() => s(!1), 2e3);
1432
+ } catch {
1433
+ }
1434
+ }, [t]);
1435
+ return /* @__PURE__ */ l(x, { className: Le.root, children: [
1436
+ /* @__PURE__ */ l(I, { justify: "space-between", mb: "xs", children: [
1437
+ o && /* @__PURE__ */ e(v, { size: "sm", fw: 500, c: "dimmed", children: o }),
1438
+ /* @__PURE__ */ e(ae, { size: "xs", radius: "md", color: a ? "green" : "blue", onClick: u, children: a ? "Copied!" : "Copy" })
1439
+ ] }),
1440
+ /* @__PURE__ */ e("textarea", { readOnly: !0, value: t, className: Le.textarea, style: { height: r } })
1206
1441
  ] });
1207
1442
  }
1208
1443
  export {
1209
- Cn as AnimatedCounter,
1210
- fe as AnimatedWaveform,
1211
- kn as AudioPlayer,
1212
- le as AudioWaveform,
1213
- Ln as CodeBlock,
1214
- Bn as ColorPalette,
1215
- Sn as ColorSwatch,
1216
- de as Copyable,
1217
- Tn as DosDonts,
1218
- Pn as ExpandableCard,
1219
- Wn as FadeInSection,
1220
- En as FrequencyWave,
1221
- Dn as GradientSwatch,
1222
- Fn as Hero,
1223
- we as HintBadge,
1224
- Zt as MiniAudioPlayer,
1225
- jn as PrincipleCard,
1226
- Gn as SpeedDial,
1227
- Rn as SplitSection,
1228
- An as TestimonialCard,
1229
- Tt as VideoBackground
1444
+ Xo as Anchor,
1445
+ Vo as AnimatedCounter,
1446
+ ze as AnimatedWaveform,
1447
+ qo as AudioPlayer,
1448
+ _e as AudioWaveform,
1449
+ Yo as Badge,
1450
+ Jo as Box,
1451
+ Mo as BrandLogos,
1452
+ zo as BrandedAppName,
1453
+ Qo as Button,
1454
+ Zo as Card,
1455
+ Ho as CodeBlock,
1456
+ Fo as ColorPalette,
1457
+ Eo as ColorSwatch,
1458
+ er as Container,
1459
+ ue as Copyable,
1460
+ tr as Divider,
1461
+ Po as DonutChart,
1462
+ Bo as DosDonts,
1463
+ So as ExpandableCard,
1464
+ de as FadeInSection,
1465
+ nr as Flex,
1466
+ Wo as FrequencyWave,
1467
+ Ao as GradientSwatch,
1468
+ or as Grid,
1469
+ rr as Group,
1470
+ Ro as Hero,
1471
+ Ne as HintBadge,
1472
+ ar as Image,
1473
+ Pn as MiniAudioPlayer,
1474
+ Lo as PrincipleCard,
1475
+ sr as SimpleGrid,
1476
+ Go as SpeedDial,
1477
+ Oo as SplitSection,
1478
+ ir as Stack,
1479
+ Do as TestimonialCard,
1480
+ lr as Text,
1481
+ cr as Title,
1482
+ jo as TypographyColors,
1483
+ an as VideoBackground
1230
1484
  };