@synthex-engineers/refined-tech 0.0.0-stage → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +187 -2
- package/dist/angular/index.cjs +1476 -0
- package/dist/angular/index.cjs.map +1 -0
- package/dist/angular/index.d.cts +237 -0
- package/dist/angular/index.d.ts +237 -0
- package/dist/angular/index.js +1463 -0
- package/dist/angular/index.js.map +1 -0
- package/dist/astro/components/ButtonOutline.astro +36 -0
- package/dist/astro/components/ButtonPrimary.astro +36 -0
- package/dist/astro/components/ButtonSecondary.astro +36 -0
- package/dist/astro/components/ClientTrustCard.astro +79 -0
- package/dist/astro/components/HelpTooltip.astro +119 -0
- package/dist/astro/components/LanguageSelectorPill.astro +35 -0
- package/dist/astro/components/ProcessStepCard.astro +68 -0
- package/dist/astro/components/SolutionBentoCard.astro +90 -0
- package/dist/astro/components/WavyUnderlineHeading.astro +90 -0
- package/dist/astro/index.d.ts +9 -0
- package/dist/astro/index.js +9 -0
- package/dist/chunk-EUXUH3YW.js +14 -0
- package/dist/chunk-EUXUH3YW.js.map +1 -0
- package/dist/chunk-PAHBEY3T.js +73 -0
- package/dist/chunk-PAHBEY3T.js.map +1 -0
- package/dist/index.cjs +910 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +82 -0
- package/dist/index.d.ts +82 -0
- package/dist/index.js +833 -0
- package/dist/index.js.map +1 -0
- package/dist/react/index.cjs +1171 -0
- package/dist/react/index.cjs.map +1 -0
- package/dist/react/index.d.cts +239 -0
- package/dist/react/index.d.ts +239 -0
- package/dist/react/index.js +1138 -0
- package/dist/react/index.js.map +1 -0
- package/dist/registry/components.json +791 -0
- package/dist/tokens/index.cjs +85 -0
- package/dist/tokens/index.cjs.map +1 -0
- package/dist/tokens/index.d.cts +133 -0
- package/dist/tokens/index.d.ts +133 -0
- package/dist/tokens/index.js +4 -0
- package/dist/tokens/index.js.map +1 -0
- package/dist/tokens/refined-tech.css +73 -0
- package/dist/tokens/tailwind-preset.d.ts +46 -0
- package/dist/tokens/tailwind-preset.js +74 -0
- package/package.json +93 -4
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
interface Props {
|
|
3
|
+
stepNumber?: string;
|
|
4
|
+
title: string;
|
|
5
|
+
description: string;
|
|
6
|
+
badge?: string;
|
|
7
|
+
className?: string;
|
|
8
|
+
stepNumberI18nKey?: string;
|
|
9
|
+
titleI18nKey?: string;
|
|
10
|
+
descI18nKey?: string;
|
|
11
|
+
badgeI18nKey?: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const {
|
|
15
|
+
stepNumber = "01",
|
|
16
|
+
title,
|
|
17
|
+
description,
|
|
18
|
+
badge,
|
|
19
|
+
className = "",
|
|
20
|
+
stepNumberI18nKey,
|
|
21
|
+
titleI18nKey,
|
|
22
|
+
descI18nKey,
|
|
23
|
+
badgeI18nKey,
|
|
24
|
+
} = Astro.props;
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
<article class={`p-8 rounded-3xl bg-slateSurface/80 border border-slateBorder hover:border-pistachio/40 transition-all duration-300 flex flex-col group shadow-sm font-sans h-full ${badge ? 'justify-between' : 'justify-start'} ${className}`}>
|
|
28
|
+
<div>
|
|
29
|
+
<div class="flex items-center justify-between mb-6">
|
|
30
|
+
<span
|
|
31
|
+
class="text-2xl sm:text-3xl font-mono font-bold text-pistachio tracking-tight"
|
|
32
|
+
data-i18n={stepNumberI18nKey}
|
|
33
|
+
>
|
|
34
|
+
{stepNumber}
|
|
35
|
+
</span>
|
|
36
|
+
<div class="w-8 h-8 rounded-lg bg-pistachio/10 border border-pistachio/20 flex items-center justify-center text-pistachio">
|
|
37
|
+
<slot name="icon">
|
|
38
|
+
<svg class="w-4 h-4" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" aria-hidden="true">
|
|
39
|
+
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4" />
|
|
40
|
+
</svg>
|
|
41
|
+
</slot>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
<h3
|
|
46
|
+
class="text-xl sm:text-2xl font-display font-bold text-white mb-3 group-hover:text-pistachio transition-colors"
|
|
47
|
+
data-i18n={titleI18nKey}
|
|
48
|
+
>
|
|
49
|
+
{title}
|
|
50
|
+
</h3>
|
|
51
|
+
|
|
52
|
+
<p
|
|
53
|
+
class="text-sm sm:text-base text-muted font-sans leading-relaxed"
|
|
54
|
+
data-i18n={descI18nKey}
|
|
55
|
+
>
|
|
56
|
+
{description}
|
|
57
|
+
</p>
|
|
58
|
+
</div>
|
|
59
|
+
|
|
60
|
+
{badge && (
|
|
61
|
+
<div
|
|
62
|
+
class="mt-8 pt-4 border-t border-slateBorder/50 text-sm font-mono text-muted"
|
|
63
|
+
data-i18n={badgeI18nKey}
|
|
64
|
+
>
|
|
65
|
+
{badge}
|
|
66
|
+
</div>
|
|
67
|
+
)}
|
|
68
|
+
</article>
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
interface Props {
|
|
3
|
+
title: string;
|
|
4
|
+
description: string;
|
|
5
|
+
badge?: string;
|
|
6
|
+
bulletPoints?: string[];
|
|
7
|
+
ctaText?: string;
|
|
8
|
+
ctaHref?: string;
|
|
9
|
+
className?: string;
|
|
10
|
+
badgeI18nKey?: string;
|
|
11
|
+
titleI18nKey?: string;
|
|
12
|
+
descI18nKey?: string;
|
|
13
|
+
ctaI18nKey?: string;
|
|
14
|
+
bulletPointsI18nKeys?: string[];
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const {
|
|
18
|
+
title,
|
|
19
|
+
description,
|
|
20
|
+
badge,
|
|
21
|
+
bulletPoints = [],
|
|
22
|
+
ctaText = "Ver tarifas",
|
|
23
|
+
ctaHref = "/servicios/",
|
|
24
|
+
className = "",
|
|
25
|
+
badgeI18nKey,
|
|
26
|
+
titleI18nKey,
|
|
27
|
+
descI18nKey,
|
|
28
|
+
ctaI18nKey,
|
|
29
|
+
bulletPointsI18nKeys = [],
|
|
30
|
+
} = Astro.props;
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
<article class={`p-8 sm:p-10 rounded-3xl bg-slateSurface/80 border border-slateBorder hover:border-pistachio/40 transition-all duration-300 flex flex-col justify-between group shadow-sm font-sans h-full ${className}`}>
|
|
34
|
+
<div>
|
|
35
|
+
<div class="flex items-center justify-between mb-6">
|
|
36
|
+
<div class="w-12 h-12 rounded-xl bg-pistachio/10 border border-pistachio/20 flex items-center justify-center text-pistachio group-hover:scale-105 transition-transform">
|
|
37
|
+
<slot name="icon">
|
|
38
|
+
<svg class="w-6 h-6" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" aria-hidden="true">
|
|
39
|
+
<path stroke-linecap="round" stroke-linejoin="round" d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4" />
|
|
40
|
+
</svg>
|
|
41
|
+
</slot>
|
|
42
|
+
</div>
|
|
43
|
+
{badge && (
|
|
44
|
+
<span
|
|
45
|
+
class="px-3.5 py-1 rounded-full bg-slateCard text-pistachio text-sm font-mono font-semibold border border-slateBorder"
|
|
46
|
+
data-i18n={badgeI18nKey}
|
|
47
|
+
>
|
|
48
|
+
{badge}
|
|
49
|
+
</span>
|
|
50
|
+
)}
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
<h3
|
|
54
|
+
class="text-2xl sm:text-3xl font-display font-bold text-white mb-4 group-hover:text-pistachio transition-colors"
|
|
55
|
+
data-i18n={titleI18nKey}
|
|
56
|
+
>
|
|
57
|
+
{title}
|
|
58
|
+
</h3>
|
|
59
|
+
|
|
60
|
+
<p
|
|
61
|
+
class="text-base text-muted font-sans leading-relaxed mb-8"
|
|
62
|
+
data-i18n={descI18nKey}
|
|
63
|
+
>
|
|
64
|
+
{description}
|
|
65
|
+
</p>
|
|
66
|
+
|
|
67
|
+
{bulletPoints.length > 0 && (
|
|
68
|
+
<ul class="space-y-3 mb-10 text-sm sm:text-base font-sans text-white/80">
|
|
69
|
+
{bulletPoints.map((point, idx) => (
|
|
70
|
+
<li class="flex items-start gap-3">
|
|
71
|
+
<span class="w-1.5 h-1.5 rounded-full bg-pistachio mt-2 shrink-0"></span>
|
|
72
|
+
<span data-i18n={bulletPointsI18nKeys[idx]}>{point}</span>
|
|
73
|
+
</li>
|
|
74
|
+
))}
|
|
75
|
+
</ul>
|
|
76
|
+
)}
|
|
77
|
+
</div>
|
|
78
|
+
|
|
79
|
+
<div>
|
|
80
|
+
<a
|
|
81
|
+
href={ctaHref}
|
|
82
|
+
class="inline-flex items-center justify-between w-full px-5 py-3.5 rounded-xl bg-slateCard hover:bg-slateBorder/80 text-white hover:text-pistachio border border-slateBorder hover:border-pistachio/50 font-display font-semibold text-sm sm:text-base transition-all duration-200 group/btn"
|
|
83
|
+
>
|
|
84
|
+
<span data-i18n={ctaI18nKey}>{ctaText}</span>
|
|
85
|
+
<svg class="w-4 h-4 text-pistachio transform group-hover/btn:translate-x-1 transition-transform" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" aria-hidden="true">
|
|
86
|
+
<path stroke-linecap="round" stroke-linejoin="round" d="M14 5l7 7m0 0l-7 7m7-7H3" />
|
|
87
|
+
</svg>
|
|
88
|
+
</a>
|
|
89
|
+
</div>
|
|
90
|
+
</article>
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
interface Props {
|
|
3
|
+
prefixText?: string;
|
|
4
|
+
highlightText?: string;
|
|
5
|
+
strokeColor?: string;
|
|
6
|
+
className?: string;
|
|
7
|
+
prefixI18nKey?: string;
|
|
8
|
+
highlightI18nKey?: string;
|
|
9
|
+
id?: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const {
|
|
13
|
+
prefixText = "Ingeniería con",
|
|
14
|
+
highlightText = "total transparencia.",
|
|
15
|
+
strokeColor = "#E0F9B5",
|
|
16
|
+
className = "",
|
|
17
|
+
prefixI18nKey,
|
|
18
|
+
highlightI18nKey,
|
|
19
|
+
id = "wavy-heading-" + Math.random().toString(36).substring(2, 7),
|
|
20
|
+
} = Astro.props;
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
<div class={`w-full text-center ${className}`}>
|
|
24
|
+
<h2 class="font-display font-bold text-white tracking-tight leading-snug">
|
|
25
|
+
{prefixText && (
|
|
26
|
+
<span data-i18n={prefixI18nKey}>{prefixText}</span>
|
|
27
|
+
)}{" "}
|
|
28
|
+
<span class="relative inline-block text-pistachio">
|
|
29
|
+
<span class="relative z-10" data-i18n={highlightI18nKey}>{highlightText}</span>
|
|
30
|
+
<svg
|
|
31
|
+
id={`${id}-svg`}
|
|
32
|
+
class="wavy-underline-svg absolute left-0 -bottom-2 w-full h-3 sm:h-4 overflow-visible pointer-events-none"
|
|
33
|
+
style="opacity: 0; visibility: hidden;"
|
|
34
|
+
viewBox="0 0 300 16"
|
|
35
|
+
preserveAspectRatio="none"
|
|
36
|
+
fill="none"
|
|
37
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
38
|
+
>
|
|
39
|
+
<path
|
|
40
|
+
id={`${id}-path`}
|
|
41
|
+
class="wavy-underline-path"
|
|
42
|
+
d="M2 10 Q 35 2, 75 9 T 150 9 T 225 9 T 298 9"
|
|
43
|
+
stroke={strokeColor}
|
|
44
|
+
stroke-width="3"
|
|
45
|
+
stroke-linecap="round"
|
|
46
|
+
style="stroke-dasharray: 450; stroke-dashoffset: 450; opacity: 0;"
|
|
47
|
+
/>
|
|
48
|
+
</svg>
|
|
49
|
+
</span>
|
|
50
|
+
</h2>
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
<script>
|
|
54
|
+
import gsap from 'gsap';
|
|
55
|
+
|
|
56
|
+
function initWavyHeadings() {
|
|
57
|
+
const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
|
58
|
+
const svgs = document.querySelectorAll<SVGSVGElement>('.wavy-underline-svg');
|
|
59
|
+
|
|
60
|
+
svgs.forEach((svg) => {
|
|
61
|
+
const path = svg.querySelector<SVGPathElement>('.wavy-underline-path');
|
|
62
|
+
if (!path) return;
|
|
63
|
+
|
|
64
|
+
if (prefersReducedMotion) {
|
|
65
|
+
gsap.set(svg, { opacity: 1, visibility: 'visible' });
|
|
66
|
+
gsap.set(path, { strokeDashoffset: 0, opacity: 1 });
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const pathLength = Math.ceil(path.getTotalLength()) + 20;
|
|
71
|
+
gsap.set(path, {
|
|
72
|
+
strokeDasharray: pathLength,
|
|
73
|
+
strokeDashoffset: pathLength,
|
|
74
|
+
opacity: 1,
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
gsap.timeline({ delay: 0.15 })
|
|
78
|
+
.set(svg, { visibility: 'visible' })
|
|
79
|
+
.to(svg, { opacity: 1, duration: 0.05 })
|
|
80
|
+
.to(path, {
|
|
81
|
+
strokeDashoffset: 0,
|
|
82
|
+
duration: 0.65,
|
|
83
|
+
ease: 'power2.inOut',
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
initWavyHeadings();
|
|
89
|
+
document.addEventListener('astro:page-load', initWavyHeadings);
|
|
90
|
+
</script>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const ButtonOutline: any;
|
|
2
|
+
export const ButtonPrimary: any;
|
|
3
|
+
export const ButtonSecondary: any;
|
|
4
|
+
export const ClientTrustCard: any;
|
|
5
|
+
export const HelpTooltip: any;
|
|
6
|
+
export const LanguageSelectorPill: any;
|
|
7
|
+
export const ProcessStepCard: any;
|
|
8
|
+
export const SolutionBentoCard: any;
|
|
9
|
+
export const WavyUnderlineHeading: any;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { default as ButtonOutline } from './components/ButtonOutline.astro';
|
|
2
|
+
export { default as ButtonPrimary } from './components/ButtonPrimary.astro';
|
|
3
|
+
export { default as ButtonSecondary } from './components/ButtonSecondary.astro';
|
|
4
|
+
export { default as ClientTrustCard } from './components/ClientTrustCard.astro';
|
|
5
|
+
export { default as HelpTooltip } from './components/HelpTooltip.astro';
|
|
6
|
+
export { default as LanguageSelectorPill } from './components/LanguageSelectorPill.astro';
|
|
7
|
+
export { default as ProcessStepCard } from './components/ProcessStepCard.astro';
|
|
8
|
+
export { default as SolutionBentoCard } from './components/SolutionBentoCard.astro';
|
|
9
|
+
export { default as WavyUnderlineHeading } from './components/WavyUnderlineHeading.astro';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
4
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
5
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6
|
+
if (decorator = decorators[i])
|
|
7
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
8
|
+
if (kind && result) __defProp(target, key, result);
|
|
9
|
+
return result;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export { __decorateClass };
|
|
13
|
+
//# sourceMappingURL=chunk-EUXUH3YW.js.map
|
|
14
|
+
//# sourceMappingURL=chunk-EUXUH3YW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-EUXUH3YW.js"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
// tokens/index.ts
|
|
2
|
+
var colors = {
|
|
3
|
+
charcoal: "#111111",
|
|
4
|
+
slateSurface: "#1E1E1E",
|
|
5
|
+
slateCard: "#1E1E1E",
|
|
6
|
+
slateBorder: "#2A2A2A",
|
|
7
|
+
pistachio: "#E0F9B5",
|
|
8
|
+
electric: "#CCF586",
|
|
9
|
+
snow: "#F4FDE4",
|
|
10
|
+
gold: "#D4AF37",
|
|
11
|
+
muted: "#8E8E93",
|
|
12
|
+
textPure: "#FFFFFF",
|
|
13
|
+
textDark: "#111111"
|
|
14
|
+
};
|
|
15
|
+
var fonts = {
|
|
16
|
+
display: "'Outfit', -apple-system, BlinkMacSystemFont, sans-serif",
|
|
17
|
+
body: "'Inter', -apple-system, BlinkMacSystemFont, sans-serif",
|
|
18
|
+
sans: "'Inter', -apple-system, BlinkMacSystemFont, sans-serif",
|
|
19
|
+
mono: "'JetBrains Mono', monospace"
|
|
20
|
+
};
|
|
21
|
+
var radii = {
|
|
22
|
+
sm: "6px",
|
|
23
|
+
md: "8px",
|
|
24
|
+
lg: "12px",
|
|
25
|
+
xl: "16px",
|
|
26
|
+
"2xl": "24px",
|
|
27
|
+
squircle: "52px",
|
|
28
|
+
full: "9999px"
|
|
29
|
+
};
|
|
30
|
+
var spacing = {
|
|
31
|
+
"0.5": "2px",
|
|
32
|
+
"1": "4px",
|
|
33
|
+
"1.5": "6px",
|
|
34
|
+
"2": "8px",
|
|
35
|
+
"3": "12px",
|
|
36
|
+
"4": "16px",
|
|
37
|
+
"5": "20px",
|
|
38
|
+
"6": "24px",
|
|
39
|
+
"8": "32px",
|
|
40
|
+
"10": "40px",
|
|
41
|
+
"12": "48px",
|
|
42
|
+
"16": "64px"
|
|
43
|
+
};
|
|
44
|
+
var heights = {
|
|
45
|
+
input: "44px",
|
|
46
|
+
btnPrimary: "44px",
|
|
47
|
+
btnSecondary: "36px",
|
|
48
|
+
btnMicro: "32px",
|
|
49
|
+
topbar: "64px",
|
|
50
|
+
sidebarWidth: "256px"
|
|
51
|
+
};
|
|
52
|
+
var shadows = {
|
|
53
|
+
subtle: "0 4px 14px rgba(0, 0, 0, 0.25)",
|
|
54
|
+
glowPistachio: "0 0 20px rgba(224, 249, 181, 0.15)",
|
|
55
|
+
glowElectric: "0 0 25px rgba(204, 245, 134, 0.20)"
|
|
56
|
+
};
|
|
57
|
+
var borders = {
|
|
58
|
+
thin: "1px solid #2A2A2A"
|
|
59
|
+
};
|
|
60
|
+
var tokens = {
|
|
61
|
+
colors,
|
|
62
|
+
fonts,
|
|
63
|
+
radii,
|
|
64
|
+
spacing,
|
|
65
|
+
heights,
|
|
66
|
+
shadows,
|
|
67
|
+
borders
|
|
68
|
+
};
|
|
69
|
+
var tokens_default = tokens;
|
|
70
|
+
|
|
71
|
+
export { borders, colors, fonts, heights, radii, shadows, spacing, tokens, tokens_default };
|
|
72
|
+
//# sourceMappingURL=chunk-PAHBEY3T.js.map
|
|
73
|
+
//# sourceMappingURL=chunk-PAHBEY3T.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../tokens/index.ts"],"names":[],"mappings":";AAKO,IAAM,MAAA,GAAS;AAAA,EACpB,QAAA,EAAU,SAAA;AAAA,EACV,YAAA,EAAc,SAAA;AAAA,EACd,SAAA,EAAW,SAAA;AAAA,EACX,WAAA,EAAa,SAAA;AAAA,EACb,SAAA,EAAW,SAAA;AAAA,EACX,QAAA,EAAU,SAAA;AAAA,EACV,IAAA,EAAM,SAAA;AAAA,EACN,IAAA,EAAM,SAAA;AAAA,EACN,KAAA,EAAO,SAAA;AAAA,EACP,QAAA,EAAU,SAAA;AAAA,EACV,QAAA,EAAU;AACZ;AAEO,IAAM,KAAA,GAAQ;AAAA,EACnB,OAAA,EAAS,yDAAA;AAAA,EACT,IAAA,EAAM,wDAAA;AAAA,EACN,IAAA,EAAM,wDAAA;AAAA,EACN,IAAA,EAAM;AACR;AAEO,IAAM,KAAA,GAAQ;AAAA,EACnB,EAAA,EAAI,KAAA;AAAA,EACJ,EAAA,EAAI,KAAA;AAAA,EACJ,EAAA,EAAI,MAAA;AAAA,EACJ,EAAA,EAAI,MAAA;AAAA,EACJ,KAAA,EAAO,MAAA;AAAA,EACP,QAAA,EAAU,MAAA;AAAA,EACV,IAAA,EAAM;AACR;AAEO,IAAM,OAAA,GAAU;AAAA,EACrB,KAAA,EAAO,KAAA;AAAA,EACP,GAAA,EAAK,KAAA;AAAA,EACL,KAAA,EAAO,KAAA;AAAA,EACP,GAAA,EAAK,KAAA;AAAA,EACL,GAAA,EAAK,MAAA;AAAA,EACL,GAAA,EAAK,MAAA;AAAA,EACL,GAAA,EAAK,MAAA;AAAA,EACL,GAAA,EAAK,MAAA;AAAA,EACL,GAAA,EAAK,MAAA;AAAA,EACL,IAAA,EAAM,MAAA;AAAA,EACN,IAAA,EAAM,MAAA;AAAA,EACN,IAAA,EAAM;AACR;AAEO,IAAM,OAAA,GAAU;AAAA,EACrB,KAAA,EAAO,MAAA;AAAA,EACP,UAAA,EAAY,MAAA;AAAA,EACZ,YAAA,EAAc,MAAA;AAAA,EACd,QAAA,EAAU,MAAA;AAAA,EACV,MAAA,EAAQ,MAAA;AAAA,EACR,YAAA,EAAc;AAChB;AAEO,IAAM,OAAA,GAAU;AAAA,EACrB,MAAA,EAAQ,gCAAA;AAAA,EACR,aAAA,EAAe,oCAAA;AAAA,EACf,YAAA,EAAc;AAChB;AAEO,IAAM,OAAA,GAAU;AAAA,EACrB,IAAA,EAAM;AACR;AAEO,IAAM,MAAA,GAAS;AAAA,EACpB,MAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF;AAWA,IAAO,cAAA,GAAQ","file":"chunk-PAHBEY3T.js","sourcesContent":["/**\n * Synthex Refined Tech — Tokens Canónicos de Diseño\n * Derivado de brand/02-guidelines/tokens.json y vault/Arquitecturas/Synthex - Sistema de Diseño y Guía de Estilo Visual.md\n */\n\nexport const colors = {\n charcoal: '#111111',\n slateSurface: '#1E1E1E',\n slateCard: '#1E1E1E',\n slateBorder: '#2A2A2A',\n pistachio: '#E0F9B5',\n electric: '#CCF586',\n snow: '#F4FDE4',\n gold: '#D4AF37',\n muted: '#8E8E93',\n textPure: '#FFFFFF',\n textDark: '#111111',\n} as const;\n\nexport const fonts = {\n display: \"'Outfit', -apple-system, BlinkMacSystemFont, sans-serif\",\n body: \"'Inter', -apple-system, BlinkMacSystemFont, sans-serif\",\n sans: \"'Inter', -apple-system, BlinkMacSystemFont, sans-serif\",\n mono: \"'JetBrains Mono', monospace\",\n} as const;\n\nexport const radii = {\n sm: '6px',\n md: '8px',\n lg: '12px',\n xl: '16px',\n '2xl': '24px',\n squircle: '52px',\n full: '9999px',\n} as const;\n\nexport const spacing = {\n '0.5': '2px',\n '1': '4px',\n '1.5': '6px',\n '2': '8px',\n '3': '12px',\n '4': '16px',\n '5': '20px',\n '6': '24px',\n '8': '32px',\n '10': '40px',\n '12': '48px',\n '16': '64px',\n} as const;\n\nexport const heights = {\n input: '44px',\n btnPrimary: '44px',\n btnSecondary: '36px',\n btnMicro: '32px',\n topbar: '64px',\n sidebarWidth: '256px',\n} as const;\n\nexport const shadows = {\n subtle: '0 4px 14px rgba(0, 0, 0, 0.25)',\n glowPistachio: '0 0 20px rgba(224, 249, 181, 0.15)',\n glowElectric: '0 0 25px rgba(204, 245, 134, 0.20)',\n} as const;\n\nexport const borders = {\n thin: '1px solid #2A2A2A',\n} as const;\n\nexport const tokens = {\n colors,\n fonts,\n radii,\n spacing,\n heights,\n shadows,\n borders,\n} as const;\n\nexport type Colors = typeof colors;\nexport type Fonts = typeof fonts;\nexport type Radii = typeof radii;\nexport type Spacing = typeof spacing;\nexport type Heights = typeof heights;\nexport type Shadows = typeof shadows;\nexport type Borders = typeof borders;\nexport type Tokens = typeof tokens;\n\nexport default tokens;\n"]}
|