@eduardoalvarez/arrecife 0.2.0 → 0.4.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/CHANGELOG.md +40 -0
- package/README.md +124 -2
- package/dist/brand/index.cjs +9 -8
- package/dist/brand/index.js +4 -2
- package/dist/chart/index.cjs +287 -0
- package/dist/chart/index.d.cts +127 -0
- package/dist/chart/index.d.ts +127 -0
- package/dist/chart/index.js +103 -0
- package/dist/chunk-KPZNNMV5.js +83 -0
- package/dist/chunk-MLKGABMK.js +7 -0
- package/dist/chunk-NHS7ETKJ.js +27 -0
- package/dist/{chunk-ZL5X6XO7.js → chunk-TB3IYPOD.js} +4 -25
- package/dist/{chunk-DHF63QNM.js → chunk-TSPJOM6K.js} +10 -12
- package/dist/chunk-UOWIDFCB.js +81 -0
- package/dist/{chunk-22OXRTAL.js → chunk-VPT32GPG.js} +2 -1
- package/dist/chunk-ZEOQKRQ7.js +19 -0
- package/dist/form/index.cjs +301 -0
- package/dist/form/index.d.cts +86 -0
- package/dist/form/index.d.ts +86 -0
- package/dist/form/index.js +84 -0
- package/dist/index.cjs +832 -332
- package/dist/index.d.cts +332 -29
- package/dist/index.d.ts +332 -29
- package/dist/index.js +746 -445
- package/dist/label-DuTvJGxD.d.cts +14 -0
- package/dist/label-DuTvJGxD.d.ts +14 -0
- package/dist/og/index.js +2 -1
- package/dist/shiki/index.js +2 -1
- package/dist/tema/index.cjs +94 -0
- package/dist/tema/index.d.cts +110 -0
- package/dist/tema/index.d.ts +110 -0
- package/dist/tema/index.js +2 -0
- package/dist/tokens/index.cjs +11 -5
- package/dist/tokens/index.d.cts +65 -11
- package/dist/tokens/index.d.ts +65 -11
- package/dist/tokens/index.js +3 -2
- package/dist/tokens/theme.css +21 -5
- package/llms.txt +329 -24
- package/package.json +35 -4
package/dist/index.cjs
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var AccordionPrimitive = require('@radix-ui/react-accordion');
|
|
4
4
|
var clsx = require('clsx');
|
|
5
5
|
var tailwindMerge = require('tailwind-merge');
|
|
6
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
-
var
|
|
7
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
8
|
+
var AlertDialogPrimitive = require('@radix-ui/react-alert-dialog');
|
|
8
9
|
var reactSlot = require('@radix-ui/react-slot');
|
|
10
|
+
var AvatarPrimitive = require('@radix-ui/react-avatar');
|
|
9
11
|
var locale = require('date-fns/locale');
|
|
10
12
|
var reactDayPicker = require('react-day-picker');
|
|
11
13
|
var CheckboxPrimitive = require('@radix-ui/react-checkbox');
|
|
@@ -20,8 +22,8 @@ var SeparatorPrimitive = require('@radix-ui/react-separator');
|
|
|
20
22
|
var SwitchPrimitive = require('@radix-ui/react-switch');
|
|
21
23
|
var TabsPrimitive = require('@radix-ui/react-tabs');
|
|
22
24
|
var ToastPrimitive = require('@radix-ui/react-toast');
|
|
23
|
-
var TooltipPrimitive = require('@radix-ui/react-tooltip');
|
|
24
25
|
var react = require('react');
|
|
26
|
+
var TooltipPrimitive = require('@radix-ui/react-tooltip');
|
|
25
27
|
|
|
26
28
|
function _interopNamespace(e) {
|
|
27
29
|
if (e && e.__esModule) return e;
|
|
@@ -41,6 +43,8 @@ function _interopNamespace(e) {
|
|
|
41
43
|
return Object.freeze(n);
|
|
42
44
|
}
|
|
43
45
|
|
|
46
|
+
var AccordionPrimitive__namespace = /*#__PURE__*/_interopNamespace(AccordionPrimitive);
|
|
47
|
+
var AlertDialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(AlertDialogPrimitive);
|
|
44
48
|
var AvatarPrimitive__namespace = /*#__PURE__*/_interopNamespace(AvatarPrimitive);
|
|
45
49
|
var CheckboxPrimitive__namespace = /*#__PURE__*/_interopNamespace(CheckboxPrimitive);
|
|
46
50
|
var DialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(DialogPrimitive);
|
|
@@ -220,11 +224,11 @@ var control = {
|
|
|
220
224
|
icon: 42
|
|
221
225
|
};
|
|
222
226
|
var spacing = {
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
227
|
+
stepXs: 8,
|
|
228
|
+
stepSm: 12,
|
|
229
|
+
stepMd: 16,
|
|
230
|
+
stepLg: 26,
|
|
231
|
+
stepXl: 40,
|
|
228
232
|
section: 96
|
|
229
233
|
};
|
|
230
234
|
var size = {
|
|
@@ -249,6 +253,10 @@ var sintaxis = {
|
|
|
249
253
|
/** `markup.deleted`, `invalid`. */
|
|
250
254
|
invalido: dark.error
|
|
251
255
|
};
|
|
256
|
+
var series = {
|
|
257
|
+
dark: [dark.accent, dark.warm, brand.body, dark.textMuted],
|
|
258
|
+
light: [light.accent, light.warm, brand.body, light.textMuted]
|
|
259
|
+
};
|
|
252
260
|
var profundo = "#0D2129";
|
|
253
261
|
var gradient = {
|
|
254
262
|
dark: {
|
|
@@ -299,15 +307,99 @@ var tokens = {
|
|
|
299
307
|
size,
|
|
300
308
|
gradient,
|
|
301
309
|
sintaxis,
|
|
310
|
+
series,
|
|
302
311
|
shadow,
|
|
303
312
|
motion,
|
|
304
313
|
tagline,
|
|
305
314
|
naming
|
|
306
315
|
};
|
|
316
|
+
|
|
317
|
+
// src/tema/index.ts
|
|
318
|
+
var TEMA_CLAVE = "arrecife-tema";
|
|
319
|
+
var TEMA_ATRIBUTO = "data-theme";
|
|
320
|
+
var TEMA_EVENTO = "arrecife:tema";
|
|
321
|
+
var esTema = (valor) => valor === "dark" || valor === "light";
|
|
322
|
+
function temaActual() {
|
|
323
|
+
if (typeof document === "undefined") return "dark";
|
|
324
|
+
const puesto = document.documentElement.getAttribute(TEMA_ATRIBUTO);
|
|
325
|
+
return esTema(puesto) ? puesto : "dark";
|
|
326
|
+
}
|
|
327
|
+
function temaGuardado() {
|
|
328
|
+
if (typeof localStorage === "undefined") return null;
|
|
329
|
+
try {
|
|
330
|
+
const valor = localStorage.getItem(TEMA_CLAVE);
|
|
331
|
+
return esTema(valor) ? valor : null;
|
|
332
|
+
} catch {
|
|
333
|
+
return null;
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
function temaPreferido() {
|
|
337
|
+
const guardado = temaGuardado();
|
|
338
|
+
if (guardado) return guardado;
|
|
339
|
+
if (typeof matchMedia === "undefined") return "dark";
|
|
340
|
+
return matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";
|
|
341
|
+
}
|
|
342
|
+
function aplicarTema(tema, persistir = true) {
|
|
343
|
+
if (typeof document === "undefined") return;
|
|
344
|
+
document.documentElement.setAttribute(TEMA_ATRIBUTO, tema);
|
|
345
|
+
document.documentElement.style.colorScheme = tema;
|
|
346
|
+
if (persistir) {
|
|
347
|
+
try {
|
|
348
|
+
localStorage.setItem(TEMA_CLAVE, tema);
|
|
349
|
+
} catch {
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
dispatchEvent(new CustomEvent(TEMA_EVENTO, { detail: tema }));
|
|
353
|
+
}
|
|
354
|
+
function alternarTema() {
|
|
355
|
+
const siguiente = temaActual() === "dark" ? "light" : "dark";
|
|
356
|
+
aplicarTema(siguiente);
|
|
357
|
+
return siguiente;
|
|
358
|
+
}
|
|
359
|
+
function escucharTema(alCambiar) {
|
|
360
|
+
if (typeof window === "undefined") return () => {
|
|
361
|
+
};
|
|
362
|
+
const propio = (evento) => {
|
|
363
|
+
const detalle = evento.detail;
|
|
364
|
+
if (esTema(detalle)) alCambiar(detalle);
|
|
365
|
+
};
|
|
366
|
+
const otraPestana = (evento) => {
|
|
367
|
+
if (evento.key !== TEMA_CLAVE) return;
|
|
368
|
+
const tema = esTema(evento.newValue) ? evento.newValue : temaPreferido();
|
|
369
|
+
aplicarTema(tema, false);
|
|
370
|
+
alCambiar(tema);
|
|
371
|
+
};
|
|
372
|
+
addEventListener(TEMA_EVENTO, propio);
|
|
373
|
+
addEventListener("storage", otraPestana);
|
|
374
|
+
return () => {
|
|
375
|
+
removeEventListener(TEMA_EVENTO, propio);
|
|
376
|
+
removeEventListener("storage", otraPestana);
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
var scriptTema = [
|
|
380
|
+
"(function () {",
|
|
381
|
+
" var CLAVE = " + JSON.stringify(TEMA_CLAVE) + ";",
|
|
382
|
+
" function resolver() {",
|
|
383
|
+
" try {",
|
|
384
|
+
" var guardado = localStorage.getItem(CLAVE);",
|
|
385
|
+
' if (guardado === "dark" || guardado === "light") return guardado;',
|
|
386
|
+
" } catch (e) {}",
|
|
387
|
+
' return matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";',
|
|
388
|
+
" }",
|
|
389
|
+
" function aplicar() {",
|
|
390
|
+
" var tema = resolver();",
|
|
391
|
+
" document.documentElement.setAttribute(" + JSON.stringify(TEMA_ATRIBUTO) + ", tema);",
|
|
392
|
+
" document.documentElement.style.colorScheme = tema;",
|
|
393
|
+
" }",
|
|
394
|
+
" aplicar();",
|
|
395
|
+
' document.addEventListener("astro:after-swap", aplicar);',
|
|
396
|
+
"})();"
|
|
397
|
+
].join("\n");
|
|
398
|
+
var kebab = (nombre) => nombre.replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`);
|
|
307
399
|
var escalas = Object.keys(typeScale);
|
|
308
400
|
var radios = Object.keys(radius);
|
|
309
|
-
var espacios = Object.keys(spacing);
|
|
310
|
-
var controles = Object.keys(control).map((nombre) => `control-${nombre}`);
|
|
401
|
+
var espacios = Object.keys(spacing).map(kebab);
|
|
402
|
+
var controles = Object.keys(control).map((nombre) => `control-${kebab(nombre)}`);
|
|
311
403
|
var twMerge = tailwindMerge.extendTailwindMerge({
|
|
312
404
|
extend: {
|
|
313
405
|
classGroups: {
|
|
@@ -324,7 +416,165 @@ var twMerge = tailwindMerge.extendTailwindMerge({
|
|
|
324
416
|
function cn(...inputs) {
|
|
325
417
|
return twMerge(clsx.clsx(inputs));
|
|
326
418
|
}
|
|
327
|
-
|
|
419
|
+
function Glyph({ children, ...props }) {
|
|
420
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
421
|
+
"svg",
|
|
422
|
+
{
|
|
423
|
+
viewBox: "0 0 16 16",
|
|
424
|
+
width: "1em",
|
|
425
|
+
height: "1em",
|
|
426
|
+
fill: "none",
|
|
427
|
+
stroke: "currentColor",
|
|
428
|
+
strokeWidth: 1.75,
|
|
429
|
+
strokeLinecap: "round",
|
|
430
|
+
strokeLinejoin: "round",
|
|
431
|
+
"aria-hidden": "true",
|
|
432
|
+
focusable: "false",
|
|
433
|
+
...props,
|
|
434
|
+
children
|
|
435
|
+
}
|
|
436
|
+
);
|
|
437
|
+
}
|
|
438
|
+
var Check = (props) => /* @__PURE__ */ jsxRuntime.jsx(Glyph, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 8.5 6.5 12 13 4.5" }) });
|
|
439
|
+
var Minus = (props) => /* @__PURE__ */ jsxRuntime.jsx(Glyph, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3.5 8h9" }) });
|
|
440
|
+
var ChevronDown = (props) => /* @__PURE__ */ jsxRuntime.jsx(Glyph, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4 6l4 4 4-4" }) });
|
|
441
|
+
var ChevronUp = (props) => /* @__PURE__ */ jsxRuntime.jsx(Glyph, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4 10l4-4 4 4" }) });
|
|
442
|
+
var ChevronLeft = (props) => /* @__PURE__ */ jsxRuntime.jsx(Glyph, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10 4L6 8l4 4" }) });
|
|
443
|
+
var ChevronRight = (props) => /* @__PURE__ */ jsxRuntime.jsx(Glyph, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 4l4 4-4 4" }) });
|
|
444
|
+
var Close = (props) => /* @__PURE__ */ jsxRuntime.jsx(Glyph, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4 4l8 8M12 4l-8 8" }) });
|
|
445
|
+
var Copy = (props) => /* @__PURE__ */ jsxRuntime.jsxs(Glyph, { ...props, children: [
|
|
446
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "5.5", y: "5.5", width: "8", height: "8", rx: "1.5" }),
|
|
447
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10.5 3.5h-7a1.5 1.5 0 0 0-1.5 1.5v7" })
|
|
448
|
+
] });
|
|
449
|
+
var ArrowUpRight = (props) => /* @__PURE__ */ jsxRuntime.jsx(Glyph, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M5 11l6-6M5.5 5h5.5v5.5" }) });
|
|
450
|
+
var Ellipsis = (props) => /* @__PURE__ */ jsxRuntime.jsx(Glyph, { ...props, strokeWidth: 2.25, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4 8h.01M8 8h.01M12 8h.01" }) });
|
|
451
|
+
var Spinner = (props) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
452
|
+
"svg",
|
|
453
|
+
{
|
|
454
|
+
viewBox: "0 0 16 16",
|
|
455
|
+
width: "1em",
|
|
456
|
+
height: "1em",
|
|
457
|
+
fill: "none",
|
|
458
|
+
stroke: "currentColor",
|
|
459
|
+
strokeWidth: 2,
|
|
460
|
+
strokeLinecap: "round",
|
|
461
|
+
"aria-hidden": "true",
|
|
462
|
+
focusable: "false",
|
|
463
|
+
className: "motion-safe:animate-spin",
|
|
464
|
+
...props,
|
|
465
|
+
children: [
|
|
466
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "8", cy: "8", r: "6", opacity: 0.3 }),
|
|
467
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 2a6 6 0 0 1 6 6" })
|
|
468
|
+
]
|
|
469
|
+
}
|
|
470
|
+
);
|
|
471
|
+
var Sol = (props) => /* @__PURE__ */ jsxRuntime.jsxs(Glyph, { ...props, children: [
|
|
472
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "8", cy: "8", r: "3" }),
|
|
473
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 1.5v1.2M8 13.3v1.2M14.5 8h-1.2M2.7 8H1.5M12.6 3.4l-.85.85M4.25 11.75l-.85.85M12.6 12.6l-.85-.85M4.25 4.25l-.85-.85" })
|
|
474
|
+
] });
|
|
475
|
+
var Luna = (props) => /* @__PURE__ */ jsxRuntime.jsx(Glyph, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M13.5 9.4A5.8 5.8 0 0 1 6.6 2.5a5.8 5.8 0 1 0 6.9 6.9Z" }) });
|
|
476
|
+
function GlifoMedia({ children, ...props }) {
|
|
477
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
478
|
+
"svg",
|
|
479
|
+
{
|
|
480
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
481
|
+
viewBox: "0 0 24 24",
|
|
482
|
+
fill: "none",
|
|
483
|
+
"aria-hidden": "true",
|
|
484
|
+
focusable: "false",
|
|
485
|
+
...props,
|
|
486
|
+
children
|
|
487
|
+
}
|
|
488
|
+
);
|
|
489
|
+
}
|
|
490
|
+
var Play = (props) => /* @__PURE__ */ jsxRuntime.jsx(GlifoMedia, { fill: "currentColor", ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 5v14l11-7z" }) });
|
|
491
|
+
var Pause = (props) => /* @__PURE__ */ jsxRuntime.jsx(GlifoMedia, { fill: "currentColor", ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 4h4v16H6V4zm8 0h4v16h-4V4z" }) });
|
|
492
|
+
var Retry = (props) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
493
|
+
GlifoMedia,
|
|
494
|
+
{
|
|
495
|
+
stroke: "currentColor",
|
|
496
|
+
strokeWidth: 2,
|
|
497
|
+
strokeLinecap: "round",
|
|
498
|
+
strokeLinejoin: "round",
|
|
499
|
+
...props,
|
|
500
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15" })
|
|
501
|
+
}
|
|
502
|
+
);
|
|
503
|
+
var GoBackSeconds = (props) => /* @__PURE__ */ jsxRuntime.jsxs(GlifoMedia, { stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", ...props, children: [
|
|
504
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16.5 8.5H13.8604C13.6452 8.5 13.4541 8.63772 13.386 8.84189L12.7194 10.8419C12.6114 11.1657 12.8524 11.5 13.1937 11.5H14.5C15.6046 11.5 16.5 12.3954 16.5 13.5C16.5 14.6046 15.6046 15.5 14.5 15.5H12.5" }),
|
|
505
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7.5 10.5L10 8.5V15.5", strokeLinejoin: "round" }),
|
|
506
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
507
|
+
"path",
|
|
508
|
+
{
|
|
509
|
+
d: "M14 4.5L12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C8.7288 22 5.82446 20.4293 4 18.001M8 2.83209C6.87754 3.32251 5.86251 4.01303 5 4.85857C3.14864 6.67349 2 9.20261 2 12C2 12.6849 2.06886 13.3538 2.20004 14",
|
|
510
|
+
strokeLinejoin: "round"
|
|
511
|
+
}
|
|
512
|
+
)
|
|
513
|
+
] });
|
|
514
|
+
var AdvanceSeconds = (props) => /* @__PURE__ */ jsxRuntime.jsxs(GlifoMedia, { stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", ...props, children: [
|
|
515
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16.5 8.5H13.8604C13.6452 8.5 13.4541 8.63772 13.386 8.84189L12.7194 10.8419C12.6114 11.1657 12.8524 11.5 13.1937 11.5H14.5C15.6046 11.5 16.5 12.3954 16.5 13.5C16.5 14.6046 15.6046 15.5 14.5 15.5H12.5" }),
|
|
516
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7.5 10.5L10 8.5V15.5", strokeLinejoin: "round" }),
|
|
517
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
518
|
+
"path",
|
|
519
|
+
{
|
|
520
|
+
d: "M10 4.5L12 2C6.47715 2 2 6.47715 2 12C2 12.6849 2.06886 13.3538 2.20004 14M16 2.83209C19.5318 4.3752 22 7.89936 22 12C22 17.5228 17.5228 22 12 22C8.72852 22 5.82443 20.4287 4 18",
|
|
521
|
+
strokeLinejoin: "round"
|
|
522
|
+
}
|
|
523
|
+
)
|
|
524
|
+
] });
|
|
525
|
+
var VolumeOn = (props) => /* @__PURE__ */ jsxRuntime.jsx(GlifoMedia, { fill: "currentColor", ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z" }) });
|
|
526
|
+
var VolumeMuted = (props) => /* @__PURE__ */ jsxRuntime.jsx(GlifoMedia, { fill: "currentColor", ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16.5 12c0-1.77-1.02-3.29-2.5-4.03v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51C20.63 14.91 21 13.5 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06c1.38-.31 2.63-.95 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4L9.91 6.09 12 8.18V4z" }) });
|
|
527
|
+
function Accordion({ className, ...props }) {
|
|
528
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
529
|
+
AccordionPrimitive__namespace.Root,
|
|
530
|
+
{
|
|
531
|
+
className: cn("border-hairline w-full border-t", className),
|
|
532
|
+
...props
|
|
533
|
+
}
|
|
534
|
+
);
|
|
535
|
+
}
|
|
536
|
+
function AccordionItem({
|
|
537
|
+
className,
|
|
538
|
+
...props
|
|
539
|
+
}) {
|
|
540
|
+
return /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Item, { className: cn("border-hairline border-b", className), ...props });
|
|
541
|
+
}
|
|
542
|
+
function AccordionTrigger({
|
|
543
|
+
className,
|
|
544
|
+
children,
|
|
545
|
+
headingLevel = 3,
|
|
546
|
+
...props
|
|
547
|
+
}) {
|
|
548
|
+
const Encabezado = `h${headingLevel}`;
|
|
549
|
+
return /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Header, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Encabezado, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
550
|
+
AccordionPrimitive__namespace.Trigger,
|
|
551
|
+
{
|
|
552
|
+
className: cn(
|
|
553
|
+
"gap-step-sm py-step-sm flex w-full cursor-pointer items-center justify-between text-left",
|
|
554
|
+
"font-sans text-lead font-medium text-text-primary",
|
|
555
|
+
"transition-standard",
|
|
556
|
+
"hover:text-accent",
|
|
557
|
+
"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent",
|
|
558
|
+
"disabled:pointer-events-none disabled:opacity-50",
|
|
559
|
+
"[&[data-state=open]>svg]:rotate-180",
|
|
560
|
+
className
|
|
561
|
+
),
|
|
562
|
+
...props,
|
|
563
|
+
children: [
|
|
564
|
+
children,
|
|
565
|
+
/* @__PURE__ */ jsxRuntime.jsx(ChevronDown, { className: "text-text-muted shrink-0" })
|
|
566
|
+
]
|
|
567
|
+
}
|
|
568
|
+
) }) });
|
|
569
|
+
}
|
|
570
|
+
function AccordionContent({
|
|
571
|
+
className,
|
|
572
|
+
children,
|
|
573
|
+
...props
|
|
574
|
+
}) {
|
|
575
|
+
return /* @__PURE__ */ jsxRuntime.jsx(AccordionPrimitive__namespace.Content, { className: "overflow-hidden", ...props, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("pb-step-md font-sans text-ui text-text-secondary max-w-measure", className), children }) });
|
|
576
|
+
}
|
|
577
|
+
var alert = classVarianceAuthority.cva("w-full rounded-card border p-step-md font-sans text-ui", {
|
|
328
578
|
variants: {
|
|
329
579
|
variant: {
|
|
330
580
|
accent: "text-text-secondary",
|
|
@@ -377,7 +627,7 @@ function Alert({
|
|
|
377
627
|
role: tono === "error" ? "alert" : "status",
|
|
378
628
|
className: cn(alert({ variant, enfasis }), className),
|
|
379
629
|
...props,
|
|
380
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-sm flex items-start", children: [
|
|
630
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-step-sm flex items-start", children: [
|
|
381
631
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
382
632
|
"span",
|
|
383
633
|
{
|
|
@@ -387,13 +637,183 @@ function Alert({
|
|
|
387
637
|
}
|
|
388
638
|
),
|
|
389
639
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
390
|
-
title ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-xs text-text-primary font-medium", children: title }) : null,
|
|
640
|
+
title ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-step-xs text-text-primary font-medium", children: title }) : null,
|
|
391
641
|
children ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-measure", children }) : null
|
|
392
642
|
] })
|
|
393
643
|
] })
|
|
394
644
|
}
|
|
395
645
|
);
|
|
396
646
|
}
|
|
647
|
+
var button = classVarianceAuthority.cva(
|
|
648
|
+
[
|
|
649
|
+
"inline-flex cursor-pointer items-center justify-center gap-step-xs whitespace-nowrap select-none",
|
|
650
|
+
"rounded-control font-sans font-medium",
|
|
651
|
+
"transition-standard",
|
|
652
|
+
"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent",
|
|
653
|
+
"disabled:pointer-events-none disabled:opacity-50",
|
|
654
|
+
"[&_svg]:shrink-0"
|
|
655
|
+
],
|
|
656
|
+
{
|
|
657
|
+
variants: {
|
|
658
|
+
variant: {
|
|
659
|
+
primary: [
|
|
660
|
+
"bg-accent text-accent-on hover:bg-accent-hover",
|
|
661
|
+
"light:bg-brand-hull light:text-accent-on light:hover:bg-text-secondary"
|
|
662
|
+
],
|
|
663
|
+
conversion: "bg-warm text-warm-on hover:bg-warm-hover",
|
|
664
|
+
secondary: [
|
|
665
|
+
"border-hairline-hover border bg-transparent text-text-primary",
|
|
666
|
+
"hover:border-accent hover:text-accent"
|
|
667
|
+
],
|
|
668
|
+
tertiary: [
|
|
669
|
+
"bg-transparent font-mono font-normal text-text-secondary",
|
|
670
|
+
"hover:text-accent hover:underline hover:underline-offset-4"
|
|
671
|
+
]
|
|
672
|
+
},
|
|
673
|
+
size: {
|
|
674
|
+
sm: "h-8 px-control-sm text-label",
|
|
675
|
+
md: "h-10 px-control-md text-ui",
|
|
676
|
+
lg: "h-12 px-control-lg text-lead",
|
|
677
|
+
/** Cuadrado 42×42, sin texto. Lleva `aria-label` obligatorio. */
|
|
678
|
+
icon: "size-control-icon p-0"
|
|
679
|
+
}
|
|
680
|
+
},
|
|
681
|
+
compoundVariants: [
|
|
682
|
+
/**
|
|
683
|
+
* El terciario no tiene caja: ni padding horizontal ni alto de control.
|
|
684
|
+
* Va aquí y no como `px-0` en la variante para que gane al `px-*` del
|
|
685
|
+
* tamaño sin depender del orden en que cva concatena las clases.
|
|
686
|
+
*/
|
|
687
|
+
{ variant: "tertiary", size: ["sm", "md", "lg"], class: "h-auto px-0" }
|
|
688
|
+
],
|
|
689
|
+
defaultVariants: { variant: "primary", size: "md" }
|
|
690
|
+
}
|
|
691
|
+
);
|
|
692
|
+
function Button({
|
|
693
|
+
className,
|
|
694
|
+
variant,
|
|
695
|
+
size: size2,
|
|
696
|
+
asChild = false,
|
|
697
|
+
loading = false,
|
|
698
|
+
icon,
|
|
699
|
+
children,
|
|
700
|
+
disabled,
|
|
701
|
+
...props
|
|
702
|
+
}) {
|
|
703
|
+
if (asChild) {
|
|
704
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactSlot.Slot, { className: cn(button({ variant, size: size2 }), className), ...props, children });
|
|
705
|
+
}
|
|
706
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
707
|
+
"button",
|
|
708
|
+
{
|
|
709
|
+
className: cn(button({ variant, size: size2 }), className),
|
|
710
|
+
disabled: disabled === true || loading,
|
|
711
|
+
"aria-busy": loading || void 0,
|
|
712
|
+
...props,
|
|
713
|
+
children: [
|
|
714
|
+
loading ? /* @__PURE__ */ jsxRuntime.jsx(Spinner, {}) : icon,
|
|
715
|
+
children
|
|
716
|
+
]
|
|
717
|
+
}
|
|
718
|
+
);
|
|
719
|
+
}
|
|
720
|
+
var AlertDialog = AlertDialogPrimitive__namespace.Root;
|
|
721
|
+
var AlertDialogTrigger = AlertDialogPrimitive__namespace.Trigger;
|
|
722
|
+
function AlertDialogOverlay({
|
|
723
|
+
className,
|
|
724
|
+
...props
|
|
725
|
+
}) {
|
|
726
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
727
|
+
AlertDialogPrimitive__namespace.Overlay,
|
|
728
|
+
{
|
|
729
|
+
className: cn("bg-brand-hull/70 fixed inset-0 z-50", className),
|
|
730
|
+
...props
|
|
731
|
+
}
|
|
732
|
+
);
|
|
733
|
+
}
|
|
734
|
+
function AlertDialogContent({
|
|
735
|
+
className,
|
|
736
|
+
children,
|
|
737
|
+
...props
|
|
738
|
+
}) {
|
|
739
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(AlertDialogPrimitive__namespace.Portal, { children: [
|
|
740
|
+
/* @__PURE__ */ jsxRuntime.jsx(AlertDialogOverlay, {}),
|
|
741
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
742
|
+
AlertDialogPrimitive__namespace.Content,
|
|
743
|
+
{
|
|
744
|
+
className: cn(
|
|
745
|
+
"fixed top-1/2 left-1/2 z-50 w-full max-w-content -translate-x-1/2 -translate-y-1/2",
|
|
746
|
+
"gap-step-md p-step-lg flex flex-col",
|
|
747
|
+
"rounded-panel border-border bg-surface shadow-standard border",
|
|
748
|
+
"text-text-primary font-sans",
|
|
749
|
+
className
|
|
750
|
+
),
|
|
751
|
+
...props,
|
|
752
|
+
children
|
|
753
|
+
}
|
|
754
|
+
)
|
|
755
|
+
] });
|
|
756
|
+
}
|
|
757
|
+
function AlertDialogHeader({ className, ...props }) {
|
|
758
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("gap-step-xs flex flex-col", className), ...props });
|
|
759
|
+
}
|
|
760
|
+
function AlertDialogFooter({ className, ...props }) {
|
|
761
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
762
|
+
"div",
|
|
763
|
+
{
|
|
764
|
+
className: cn("gap-step-sm flex flex-col-reverse sm:flex-row sm:justify-end", className),
|
|
765
|
+
...props
|
|
766
|
+
}
|
|
767
|
+
);
|
|
768
|
+
}
|
|
769
|
+
function AlertDialogTitle({
|
|
770
|
+
className,
|
|
771
|
+
...props
|
|
772
|
+
}) {
|
|
773
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
774
|
+
AlertDialogPrimitive__namespace.Title,
|
|
775
|
+
{
|
|
776
|
+
className: cn("text-h3 font-display text-text-primary", className),
|
|
777
|
+
...props
|
|
778
|
+
}
|
|
779
|
+
);
|
|
780
|
+
}
|
|
781
|
+
function AlertDialogDescription({
|
|
782
|
+
className,
|
|
783
|
+
...props
|
|
784
|
+
}) {
|
|
785
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
786
|
+
AlertDialogPrimitive__namespace.Description,
|
|
787
|
+
{
|
|
788
|
+
className: cn("text-ui text-text-secondary max-w-measure", className),
|
|
789
|
+
...props
|
|
790
|
+
}
|
|
791
|
+
);
|
|
792
|
+
}
|
|
793
|
+
function AlertDialogCancel({
|
|
794
|
+
className,
|
|
795
|
+
...props
|
|
796
|
+
}) {
|
|
797
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
798
|
+
AlertDialogPrimitive__namespace.Cancel,
|
|
799
|
+
{
|
|
800
|
+
className: cn(button({ variant: "secondary" }), className),
|
|
801
|
+
...props
|
|
802
|
+
}
|
|
803
|
+
);
|
|
804
|
+
}
|
|
805
|
+
function AlertDialogAction({
|
|
806
|
+
className,
|
|
807
|
+
...props
|
|
808
|
+
}) {
|
|
809
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
810
|
+
AlertDialogPrimitive__namespace.Action,
|
|
811
|
+
{
|
|
812
|
+
className: cn(button({ variant: "primary" }), className),
|
|
813
|
+
...props
|
|
814
|
+
}
|
|
815
|
+
);
|
|
816
|
+
}
|
|
397
817
|
var avatar = classVarianceAuthority.cva(
|
|
398
818
|
"relative flex shrink-0 overflow-hidden rounded-pill bg-surface-raised border border-hairline",
|
|
399
819
|
{
|
|
@@ -433,7 +853,7 @@ function AvatarFallback({
|
|
|
433
853
|
);
|
|
434
854
|
}
|
|
435
855
|
var badge = classVarianceAuthority.cva(
|
|
436
|
-
["inline-flex items-center gap-xs", "rounded-chip px-xs py-0.5", "font-sans text-tag", "transition-standard"],
|
|
856
|
+
["inline-flex items-center gap-step-xs", "rounded-chip px-step-xs py-0.5", "font-sans text-tag", "transition-standard"],
|
|
437
857
|
{
|
|
438
858
|
variants: {
|
|
439
859
|
variant: {
|
|
@@ -453,8 +873,8 @@ function Badge({ className, variant, ...props }) {
|
|
|
453
873
|
}
|
|
454
874
|
var categoria = classVarianceAuthority.cva(
|
|
455
875
|
[
|
|
456
|
-
"inline-flex items-center gap-xs",
|
|
457
|
-
"rounded-pill px-sm py-0.5",
|
|
876
|
+
"inline-flex items-center gap-step-xs",
|
|
877
|
+
"rounded-pill px-step-sm py-0.5",
|
|
458
878
|
"font-mono text-chip",
|
|
459
879
|
"border transition-standard"
|
|
460
880
|
],
|
|
@@ -478,192 +898,16 @@ function CategoryBadge({ className, active = false, ...props }) {
|
|
|
478
898
|
}
|
|
479
899
|
);
|
|
480
900
|
}
|
|
481
|
-
var metrica = ["inline-flex items-center gap-xs", "rounded-pill", "font-mono text-chip text-text-muted"];
|
|
901
|
+
var metrica = ["inline-flex items-center gap-step-xs", "rounded-pill", "font-mono text-chip text-text-muted"];
|
|
482
902
|
function MetricBadge({ className, boxed = false, ...props }) {
|
|
483
903
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
484
904
|
"span",
|
|
485
905
|
{
|
|
486
|
-
className: cn(metrica, boxed && "border-hairline px-sm py-0.5 border", className),
|
|
906
|
+
className: cn(metrica, boxed && "border-hairline px-step-sm py-0.5 border", className),
|
|
487
907
|
...props
|
|
488
908
|
}
|
|
489
909
|
);
|
|
490
910
|
}
|
|
491
|
-
function Glyph({ children, ...props }) {
|
|
492
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
493
|
-
"svg",
|
|
494
|
-
{
|
|
495
|
-
viewBox: "0 0 16 16",
|
|
496
|
-
width: "1em",
|
|
497
|
-
height: "1em",
|
|
498
|
-
fill: "none",
|
|
499
|
-
stroke: "currentColor",
|
|
500
|
-
strokeWidth: 1.75,
|
|
501
|
-
strokeLinecap: "round",
|
|
502
|
-
strokeLinejoin: "round",
|
|
503
|
-
"aria-hidden": "true",
|
|
504
|
-
focusable: "false",
|
|
505
|
-
...props,
|
|
506
|
-
children
|
|
507
|
-
}
|
|
508
|
-
);
|
|
509
|
-
}
|
|
510
|
-
var Check = (props) => /* @__PURE__ */ jsxRuntime.jsx(Glyph, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 8.5 6.5 12 13 4.5" }) });
|
|
511
|
-
var Minus = (props) => /* @__PURE__ */ jsxRuntime.jsx(Glyph, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3.5 8h9" }) });
|
|
512
|
-
var ChevronDown = (props) => /* @__PURE__ */ jsxRuntime.jsx(Glyph, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4 6l4 4 4-4" }) });
|
|
513
|
-
var ChevronUp = (props) => /* @__PURE__ */ jsxRuntime.jsx(Glyph, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4 10l4-4 4 4" }) });
|
|
514
|
-
var ChevronLeft = (props) => /* @__PURE__ */ jsxRuntime.jsx(Glyph, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10 4L6 8l4 4" }) });
|
|
515
|
-
var ChevronRight = (props) => /* @__PURE__ */ jsxRuntime.jsx(Glyph, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 4l4 4-4 4" }) });
|
|
516
|
-
var Close = (props) => /* @__PURE__ */ jsxRuntime.jsx(Glyph, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4 4l8 8M12 4l-8 8" }) });
|
|
517
|
-
var Copy = (props) => /* @__PURE__ */ jsxRuntime.jsxs(Glyph, { ...props, children: [
|
|
518
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "5.5", y: "5.5", width: "8", height: "8", rx: "1.5" }),
|
|
519
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10.5 3.5h-7a1.5 1.5 0 0 0-1.5 1.5v7" })
|
|
520
|
-
] });
|
|
521
|
-
var ArrowUpRight = (props) => /* @__PURE__ */ jsxRuntime.jsx(Glyph, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M5 11l6-6M5.5 5h5.5v5.5" }) });
|
|
522
|
-
var Ellipsis = (props) => /* @__PURE__ */ jsxRuntime.jsx(Glyph, { ...props, strokeWidth: 2.25, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4 8h.01M8 8h.01M12 8h.01" }) });
|
|
523
|
-
var Spinner = (props) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
524
|
-
"svg",
|
|
525
|
-
{
|
|
526
|
-
viewBox: "0 0 16 16",
|
|
527
|
-
width: "1em",
|
|
528
|
-
height: "1em",
|
|
529
|
-
fill: "none",
|
|
530
|
-
stroke: "currentColor",
|
|
531
|
-
strokeWidth: 2,
|
|
532
|
-
strokeLinecap: "round",
|
|
533
|
-
"aria-hidden": "true",
|
|
534
|
-
focusable: "false",
|
|
535
|
-
className: "motion-safe:animate-spin",
|
|
536
|
-
...props,
|
|
537
|
-
children: [
|
|
538
|
-
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "8", cy: "8", r: "6", opacity: 0.3 }),
|
|
539
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 2a6 6 0 0 1 6 6" })
|
|
540
|
-
]
|
|
541
|
-
}
|
|
542
|
-
);
|
|
543
|
-
function GlifoMedia({ children, ...props }) {
|
|
544
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
545
|
-
"svg",
|
|
546
|
-
{
|
|
547
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
548
|
-
viewBox: "0 0 24 24",
|
|
549
|
-
fill: "none",
|
|
550
|
-
"aria-hidden": "true",
|
|
551
|
-
focusable: "false",
|
|
552
|
-
...props,
|
|
553
|
-
children
|
|
554
|
-
}
|
|
555
|
-
);
|
|
556
|
-
}
|
|
557
|
-
var Play = (props) => /* @__PURE__ */ jsxRuntime.jsx(GlifoMedia, { fill: "currentColor", ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 5v14l11-7z" }) });
|
|
558
|
-
var Pause = (props) => /* @__PURE__ */ jsxRuntime.jsx(GlifoMedia, { fill: "currentColor", ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 4h4v16H6V4zm8 0h4v16h-4V4z" }) });
|
|
559
|
-
var Retry = (props) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
560
|
-
GlifoMedia,
|
|
561
|
-
{
|
|
562
|
-
stroke: "currentColor",
|
|
563
|
-
strokeWidth: 2,
|
|
564
|
-
strokeLinecap: "round",
|
|
565
|
-
strokeLinejoin: "round",
|
|
566
|
-
...props,
|
|
567
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15" })
|
|
568
|
-
}
|
|
569
|
-
);
|
|
570
|
-
var GoBackSeconds = (props) => /* @__PURE__ */ jsxRuntime.jsxs(GlifoMedia, { stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", ...props, children: [
|
|
571
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16.5 8.5H13.8604C13.6452 8.5 13.4541 8.63772 13.386 8.84189L12.7194 10.8419C12.6114 11.1657 12.8524 11.5 13.1937 11.5H14.5C15.6046 11.5 16.5 12.3954 16.5 13.5C16.5 14.6046 15.6046 15.5 14.5 15.5H12.5" }),
|
|
572
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7.5 10.5L10 8.5V15.5", strokeLinejoin: "round" }),
|
|
573
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
574
|
-
"path",
|
|
575
|
-
{
|
|
576
|
-
d: "M14 4.5L12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C8.7288 22 5.82446 20.4293 4 18.001M8 2.83209C6.87754 3.32251 5.86251 4.01303 5 4.85857C3.14864 6.67349 2 9.20261 2 12C2 12.6849 2.06886 13.3538 2.20004 14",
|
|
577
|
-
strokeLinejoin: "round"
|
|
578
|
-
}
|
|
579
|
-
)
|
|
580
|
-
] });
|
|
581
|
-
var AdvanceSeconds = (props) => /* @__PURE__ */ jsxRuntime.jsxs(GlifoMedia, { stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "round", ...props, children: [
|
|
582
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16.5 8.5H13.8604C13.6452 8.5 13.4541 8.63772 13.386 8.84189L12.7194 10.8419C12.6114 11.1657 12.8524 11.5 13.1937 11.5H14.5C15.6046 11.5 16.5 12.3954 16.5 13.5C16.5 14.6046 15.6046 15.5 14.5 15.5H12.5" }),
|
|
583
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7.5 10.5L10 8.5V15.5", strokeLinejoin: "round" }),
|
|
584
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
585
|
-
"path",
|
|
586
|
-
{
|
|
587
|
-
d: "M10 4.5L12 2C6.47715 2 2 6.47715 2 12C2 12.6849 2.06886 13.3538 2.20004 14M16 2.83209C19.5318 4.3752 22 7.89936 22 12C22 17.5228 17.5228 22 12 22C8.72852 22 5.82443 20.4287 4 18",
|
|
588
|
-
strokeLinejoin: "round"
|
|
589
|
-
}
|
|
590
|
-
)
|
|
591
|
-
] });
|
|
592
|
-
var VolumeOn = (props) => /* @__PURE__ */ jsxRuntime.jsx(GlifoMedia, { fill: "currentColor", ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z" }) });
|
|
593
|
-
var VolumeMuted = (props) => /* @__PURE__ */ jsxRuntime.jsx(GlifoMedia, { fill: "currentColor", ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16.5 12c0-1.77-1.02-3.29-2.5-4.03v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51C20.63 14.91 21 13.5 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06c1.38-.31 2.63-.95 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4L9.91 6.09 12 8.18V4z" }) });
|
|
594
|
-
var button = classVarianceAuthority.cva(
|
|
595
|
-
[
|
|
596
|
-
"inline-flex cursor-pointer items-center justify-center gap-xs whitespace-nowrap select-none",
|
|
597
|
-
"rounded-control font-sans font-medium",
|
|
598
|
-
"transition-standard",
|
|
599
|
-
"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent",
|
|
600
|
-
"disabled:pointer-events-none disabled:opacity-50",
|
|
601
|
-
"[&_svg]:shrink-0"
|
|
602
|
-
],
|
|
603
|
-
{
|
|
604
|
-
variants: {
|
|
605
|
-
variant: {
|
|
606
|
-
primary: [
|
|
607
|
-
"bg-accent text-accent-on hover:bg-accent-hover",
|
|
608
|
-
"light:bg-brand-hull light:text-accent-on light:hover:bg-text-secondary"
|
|
609
|
-
],
|
|
610
|
-
conversion: "bg-warm text-warm-on hover:bg-warm-hover",
|
|
611
|
-
secondary: [
|
|
612
|
-
"border-hairline-hover border bg-transparent text-text-primary",
|
|
613
|
-
"hover:border-accent hover:text-accent"
|
|
614
|
-
],
|
|
615
|
-
tertiary: [
|
|
616
|
-
"bg-transparent font-mono font-normal text-text-secondary",
|
|
617
|
-
"hover:text-accent hover:underline hover:underline-offset-4"
|
|
618
|
-
]
|
|
619
|
-
},
|
|
620
|
-
size: {
|
|
621
|
-
sm: "h-8 px-control-sm text-label",
|
|
622
|
-
md: "h-10 px-control-md text-ui",
|
|
623
|
-
lg: "h-12 px-control-lg text-lead",
|
|
624
|
-
/** Cuadrado 42×42, sin texto. Lleva `aria-label` obligatorio. */
|
|
625
|
-
icon: "size-control-icon p-0"
|
|
626
|
-
}
|
|
627
|
-
},
|
|
628
|
-
compoundVariants: [
|
|
629
|
-
/**
|
|
630
|
-
* El terciario no tiene caja: ni padding horizontal ni alto de control.
|
|
631
|
-
* Va aquí y no como `px-0` en la variante para que gane al `px-*` del
|
|
632
|
-
* tamaño sin depender del orden en que cva concatena las clases.
|
|
633
|
-
*/
|
|
634
|
-
{ variant: "tertiary", size: ["sm", "md", "lg"], class: "h-auto px-0" }
|
|
635
|
-
],
|
|
636
|
-
defaultVariants: { variant: "primary", size: "md" }
|
|
637
|
-
}
|
|
638
|
-
);
|
|
639
|
-
function Button({
|
|
640
|
-
className,
|
|
641
|
-
variant,
|
|
642
|
-
size: size2,
|
|
643
|
-
asChild = false,
|
|
644
|
-
loading = false,
|
|
645
|
-
icon,
|
|
646
|
-
children,
|
|
647
|
-
disabled,
|
|
648
|
-
...props
|
|
649
|
-
}) {
|
|
650
|
-
if (asChild) {
|
|
651
|
-
return /* @__PURE__ */ jsxRuntime.jsx(reactSlot.Slot, { className: cn(button({ variant, size: size2 }), className), ...props, children });
|
|
652
|
-
}
|
|
653
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
654
|
-
"button",
|
|
655
|
-
{
|
|
656
|
-
className: cn(button({ variant, size: size2 }), className),
|
|
657
|
-
disabled: disabled === true || loading,
|
|
658
|
-
"aria-busy": loading || void 0,
|
|
659
|
-
...props,
|
|
660
|
-
children: [
|
|
661
|
-
loading ? /* @__PURE__ */ jsxRuntime.jsx(Spinner, {}) : icon,
|
|
662
|
-
children
|
|
663
|
-
]
|
|
664
|
-
}
|
|
665
|
-
);
|
|
666
|
-
}
|
|
667
911
|
function Calendar({
|
|
668
912
|
className,
|
|
669
913
|
classNames,
|
|
@@ -702,8 +946,8 @@ function Calendar({
|
|
|
702
946
|
// la raíz, y sin esto se ancla al primer ancestro posicionado —o al
|
|
703
947
|
// viewport— y las flechas acaban en los bordes de la página.
|
|
704
948
|
root: cn("relative", fullWidth ? "w-full" : "w-fit"),
|
|
705
|
-
months: cn("gap-md flex flex-col sm:flex-row", fullWidth && "w-full"),
|
|
706
|
-
month: cn("gap-sm flex flex-col", fullWidth && "min-w-0 flex-1"),
|
|
949
|
+
months: cn("gap-step-md flex flex-col sm:flex-row", fullWidth && "w-full"),
|
|
950
|
+
month: cn("gap-step-sm flex flex-col", fullWidth && "min-w-0 flex-1"),
|
|
707
951
|
month_caption: "h-8 flex items-center justify-center",
|
|
708
952
|
caption_label: "text-ui font-sans font-medium text-text-primary capitalize",
|
|
709
953
|
nav: "absolute inset-x-0 top-0 flex items-center justify-between",
|
|
@@ -731,7 +975,7 @@ function Calendar({
|
|
|
731
975
|
range_start: "[&_button]:bg-accent [&_button]:text-accent-on [&_button]:rounded-r-none",
|
|
732
976
|
range_middle: "[&_button]:bg-surface-raised [&_button]:text-text-primary [&_button]:rounded-none",
|
|
733
977
|
range_end: "[&_button]:bg-accent [&_button]:text-accent-on [&_button]:rounded-l-none",
|
|
734
|
-
footer: "text-label font-sans text-text-secondary pt-sm",
|
|
978
|
+
footer: "text-label font-sans text-text-secondary pt-step-sm",
|
|
735
979
|
...classNames
|
|
736
980
|
},
|
|
737
981
|
components: {
|
|
@@ -821,7 +1065,7 @@ function Card({ className, ...props }) {
|
|
|
821
1065
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(SUPERFICIE_TARJETA, className), ...props });
|
|
822
1066
|
}
|
|
823
1067
|
function CardHeader({ className, ...props }) {
|
|
824
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("gap-xs p-lg flex flex-col", className), ...props });
|
|
1068
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("gap-step-xs p-step-lg flex flex-col", className), ...props });
|
|
825
1069
|
}
|
|
826
1070
|
function CardTitle({ className, ...props }) {
|
|
827
1071
|
return /* @__PURE__ */ jsxRuntime.jsx(Text, { as: "h3", variant: "h3", className, ...props });
|
|
@@ -830,13 +1074,13 @@ function CardDescription({ className, ...props }) {
|
|
|
830
1074
|
return /* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "ui", tone: "secondary", className, ...props });
|
|
831
1075
|
}
|
|
832
1076
|
function CardContent({ className, ...props }) {
|
|
833
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("px-lg pb-lg", className), ...props });
|
|
1077
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("px-step-lg pb-step-lg", className), ...props });
|
|
834
1078
|
}
|
|
835
1079
|
function CardFooter({ className, ...props }) {
|
|
836
1080
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
837
1081
|
"div",
|
|
838
1082
|
{
|
|
839
|
-
className: cn("border-hairline px-lg py-md gap-sm flex items-center border-t", className),
|
|
1083
|
+
className: cn("border-hairline px-step-lg py-step-md gap-step-sm flex items-center border-t", className),
|
|
840
1084
|
...props
|
|
841
1085
|
}
|
|
842
1086
|
);
|
|
@@ -887,7 +1131,7 @@ function DateField({
|
|
|
887
1131
|
"data-invalid": invalid || void 0,
|
|
888
1132
|
"aria-invalid": invalid || void 0,
|
|
889
1133
|
className: cn(
|
|
890
|
-
"px-sm h-10 w-full",
|
|
1134
|
+
"px-step-sm h-10 w-full",
|
|
891
1135
|
"rounded-control border-border bg-surface border",
|
|
892
1136
|
"font-mono text-ui text-text-primary",
|
|
893
1137
|
"transition-standard",
|
|
@@ -930,7 +1174,7 @@ function DialogContent({
|
|
|
930
1174
|
{
|
|
931
1175
|
className: cn(
|
|
932
1176
|
"fixed top-1/2 left-1/2 z-50 w-full max-w-content -translate-x-1/2 -translate-y-1/2",
|
|
933
|
-
"gap-md p-lg flex flex-col",
|
|
1177
|
+
"gap-step-md p-step-lg flex flex-col",
|
|
934
1178
|
"rounded-panel border-border bg-surface shadow-standard border",
|
|
935
1179
|
"text-text-primary font-sans",
|
|
936
1180
|
className
|
|
@@ -957,10 +1201,10 @@ function DialogContent({
|
|
|
957
1201
|
] });
|
|
958
1202
|
}
|
|
959
1203
|
function DialogHeader({ className, ...props }) {
|
|
960
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("gap-xs flex flex-col pr-8", className), ...props });
|
|
1204
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("gap-step-xs flex flex-col pr-8", className), ...props });
|
|
961
1205
|
}
|
|
962
1206
|
function DialogFooter({ className, ...props }) {
|
|
963
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("gap-sm flex flex-col-reverse sm:flex-row sm:justify-end", className), ...props });
|
|
1207
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("gap-step-sm flex flex-col-reverse sm:flex-row sm:justify-end", className), ...props });
|
|
964
1208
|
}
|
|
965
1209
|
function DialogTitle({
|
|
966
1210
|
className,
|
|
@@ -997,7 +1241,7 @@ var panel = [
|
|
|
997
1241
|
"text-text-primary font-sans"
|
|
998
1242
|
];
|
|
999
1243
|
var item = [
|
|
1000
|
-
"rounded-chip px-sm relative flex h-9 cursor-default items-center gap-2 select-none",
|
|
1244
|
+
"rounded-chip px-step-sm relative flex h-9 cursor-default items-center gap-2 select-none",
|
|
1001
1245
|
"text-ui text-text-secondary transition-standard",
|
|
1002
1246
|
"data-[highlighted]:bg-surface data-[highlighted]:text-text-primary",
|
|
1003
1247
|
"data-[disabled]:pointer-events-none data-[disabled]:opacity-50"
|
|
@@ -1049,7 +1293,7 @@ function DropdownMenuLabel({
|
|
|
1049
1293
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1050
1294
|
DropdownMenuPrimitive__namespace.Label,
|
|
1051
1295
|
{
|
|
1052
|
-
className: cn("px-sm text-eyebrow font-mono text-text-secondary py-1.5 uppercase", className),
|
|
1296
|
+
className: cn("px-step-sm text-eyebrow font-mono text-text-secondary py-1.5 uppercase", className),
|
|
1053
1297
|
...props
|
|
1054
1298
|
}
|
|
1055
1299
|
);
|
|
@@ -1090,7 +1334,7 @@ function Input({ className, invalid = false, ...props }) {
|
|
|
1090
1334
|
"data-invalid": invalid || void 0,
|
|
1091
1335
|
"aria-invalid": invalid || void 0,
|
|
1092
1336
|
className: cn(
|
|
1093
|
-
"h-10 w-full px-sm",
|
|
1337
|
+
"h-10 w-full px-step-sm",
|
|
1094
1338
|
"rounded-control border border-border bg-surface",
|
|
1095
1339
|
"font-sans text-ui text-text-primary placeholder:text-text-muted",
|
|
1096
1340
|
"transition-standard",
|
|
@@ -1098,7 +1342,7 @@ function Input({ className, invalid = false, ...props }) {
|
|
|
1098
1342
|
"focus-visible:border-accent focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent",
|
|
1099
1343
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
1100
1344
|
"data-[invalid]:border-error data-[invalid]:focus-visible:outline-error",
|
|
1101
|
-
"file:mr-sm file:border-0 file:bg-transparent file:font-sans file:text-label file:text-text-secondary",
|
|
1345
|
+
"file:mr-step-sm file:border-0 file:bg-transparent file:font-sans file:text-label file:text-text-secondary",
|
|
1102
1346
|
className
|
|
1103
1347
|
),
|
|
1104
1348
|
...props
|
|
@@ -1130,7 +1374,7 @@ function Pagination({ className, ...props }) {
|
|
|
1130
1374
|
);
|
|
1131
1375
|
}
|
|
1132
1376
|
function PaginationContent({ className, ...props }) {
|
|
1133
|
-
return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("gap-xs flex flex-row items-center", className), ...props });
|
|
1377
|
+
return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("gap-step-xs flex flex-row items-center", className), ...props });
|
|
1134
1378
|
}
|
|
1135
1379
|
function PaginationItem(props) {
|
|
1136
1380
|
return /* @__PURE__ */ jsxRuntime.jsx("li", { ...props });
|
|
@@ -1141,7 +1385,7 @@ function PaginationLink({ className, isActive = false, ...props }) {
|
|
|
1141
1385
|
{
|
|
1142
1386
|
"aria-current": isActive ? "page" : void 0,
|
|
1143
1387
|
className: cn(
|
|
1144
|
-
"rounded-chip px-sm inline-flex h-9 min-w-9 cursor-pointer items-center justify-center",
|
|
1388
|
+
"rounded-chip px-step-sm inline-flex h-9 min-w-9 cursor-pointer items-center justify-center",
|
|
1145
1389
|
"font-sans text-ui text-text-secondary",
|
|
1146
1390
|
"transition-standard",
|
|
1147
1391
|
"hover:bg-surface hover:text-text-primary",
|
|
@@ -1154,13 +1398,13 @@ function PaginationLink({ className, isActive = false, ...props }) {
|
|
|
1154
1398
|
);
|
|
1155
1399
|
}
|
|
1156
1400
|
function PaginationPrevious({ className, ...props }) {
|
|
1157
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(PaginationLink, { "aria-label": "P\xE1gina anterior", className: cn("gap-xs", className), ...props, children: [
|
|
1401
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(PaginationLink, { "aria-label": "P\xE1gina anterior", className: cn("gap-step-xs", className), ...props, children: [
|
|
1158
1402
|
/* @__PURE__ */ jsxRuntime.jsx(ChevronLeft, {}),
|
|
1159
1403
|
"Anterior"
|
|
1160
1404
|
] });
|
|
1161
1405
|
}
|
|
1162
1406
|
function PaginationNext({ className, ...props }) {
|
|
1163
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(PaginationLink, { "aria-label": "P\xE1gina siguiente", className: cn("gap-xs", className), ...props, children: [
|
|
1407
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(PaginationLink, { "aria-label": "P\xE1gina siguiente", className: cn("gap-step-xs", className), ...props, children: [
|
|
1164
1408
|
"Siguiente",
|
|
1165
1409
|
/* @__PURE__ */ jsxRuntime.jsx(ChevronRight, {})
|
|
1166
1410
|
] });
|
|
@@ -1191,7 +1435,7 @@ function PopoverContent({
|
|
|
1191
1435
|
align,
|
|
1192
1436
|
sideOffset,
|
|
1193
1437
|
className: cn(
|
|
1194
|
-
"z-50 w-72 p-md",
|
|
1438
|
+
"z-50 w-72 p-step-md",
|
|
1195
1439
|
"rounded-panel border-border bg-surface-raised shadow-standard border",
|
|
1196
1440
|
"text-text-primary font-sans text-ui",
|
|
1197
1441
|
"outline-none",
|
|
@@ -1220,7 +1464,7 @@ function Progress({ className, value, label, tone = "accent", ...props }) {
|
|
|
1220
1464
|
);
|
|
1221
1465
|
}
|
|
1222
1466
|
function RadioGroup2({ className, ...props }) {
|
|
1223
|
-
return /* @__PURE__ */ jsxRuntime.jsx(RadioGroupPrimitive__namespace.Root, { className: cn("gap-sm grid", className), ...props });
|
|
1467
|
+
return /* @__PURE__ */ jsxRuntime.jsx(RadioGroupPrimitive__namespace.Root, { className: cn("gap-step-sm grid", className), ...props });
|
|
1224
1468
|
}
|
|
1225
1469
|
function RadioGroupItem({ className, ...props }) {
|
|
1226
1470
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1252,7 +1496,7 @@ function SelectTrigger({
|
|
|
1252
1496
|
SelectPrimitive__namespace.Trigger,
|
|
1253
1497
|
{
|
|
1254
1498
|
className: cn(
|
|
1255
|
-
"gap-sm px-sm flex h-10 w-full cursor-pointer items-center justify-between",
|
|
1499
|
+
"gap-step-sm px-step-sm flex h-10 w-full cursor-pointer items-center justify-between",
|
|
1256
1500
|
"rounded-control border-border bg-surface border",
|
|
1257
1501
|
"font-sans text-ui text-text-primary",
|
|
1258
1502
|
"transition-standard",
|
|
@@ -1303,7 +1547,7 @@ function SelectLabel({
|
|
|
1303
1547
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1304
1548
|
SelectPrimitive__namespace.Label,
|
|
1305
1549
|
{
|
|
1306
|
-
className: cn("px-sm text-eyebrow font-mono text-text-secondary py-1.5 uppercase", className),
|
|
1550
|
+
className: cn("px-step-sm text-eyebrow font-mono text-text-secondary py-1.5 uppercase", className),
|
|
1307
1551
|
...props
|
|
1308
1552
|
}
|
|
1309
1553
|
);
|
|
@@ -1317,7 +1561,7 @@ function SelectItem({
|
|
|
1317
1561
|
SelectPrimitive__namespace.Item,
|
|
1318
1562
|
{
|
|
1319
1563
|
className: cn(
|
|
1320
|
-
"rounded-chip px-sm relative flex h-9 w-full cursor-default items-center pr-8 select-none",
|
|
1564
|
+
"rounded-chip px-step-sm relative flex h-9 w-full cursor-default items-center pr-8 select-none",
|
|
1321
1565
|
"text-ui text-text-secondary transition-standard",
|
|
1322
1566
|
"data-[highlighted]:bg-surface data-[highlighted]:text-text-primary",
|
|
1323
1567
|
"data-[state=checked]:text-text-primary",
|
|
@@ -1419,19 +1663,19 @@ function SheetHeader({ className, ...props }) {
|
|
|
1419
1663
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1420
1664
|
"div",
|
|
1421
1665
|
{
|
|
1422
|
-
className: cn("border-hairline gap-xs p-lg flex flex-col border-b pr-12", className),
|
|
1666
|
+
className: cn("border-hairline gap-step-xs p-step-lg flex flex-col border-b pr-12", className),
|
|
1423
1667
|
...props
|
|
1424
1668
|
}
|
|
1425
1669
|
);
|
|
1426
1670
|
}
|
|
1427
1671
|
function SheetBody({ className, ...props }) {
|
|
1428
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("p-lg flex-1 overflow-y-auto", className), ...props });
|
|
1672
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("p-step-lg flex-1 overflow-y-auto", className), ...props });
|
|
1429
1673
|
}
|
|
1430
1674
|
function SheetFooter({ className, ...props }) {
|
|
1431
1675
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1432
1676
|
"div",
|
|
1433
1677
|
{
|
|
1434
|
-
className: cn("border-hairline gap-sm p-lg flex flex-wrap justify-end border-t", className),
|
|
1678
|
+
className: cn("border-hairline gap-step-sm p-step-lg flex flex-wrap justify-end border-t", className),
|
|
1435
1679
|
...props
|
|
1436
1680
|
}
|
|
1437
1681
|
);
|
|
@@ -1542,7 +1786,7 @@ function TableHead({ className, ...props }) {
|
|
|
1542
1786
|
"th",
|
|
1543
1787
|
{
|
|
1544
1788
|
className: cn(
|
|
1545
|
-
"px-sm h-10 text-left align-middle",
|
|
1789
|
+
"px-step-sm h-10 text-left align-middle",
|
|
1546
1790
|
"text-eyebrow font-mono text-text-muted uppercase",
|
|
1547
1791
|
className
|
|
1548
1792
|
),
|
|
@@ -1551,13 +1795,13 @@ function TableHead({ className, ...props }) {
|
|
|
1551
1795
|
);
|
|
1552
1796
|
}
|
|
1553
1797
|
function TableCell({ className, ...props }) {
|
|
1554
|
-
return /* @__PURE__ */ jsxRuntime.jsx("td", { className: cn("px-sm py-sm text-text-secondary align-middle", className), ...props });
|
|
1798
|
+
return /* @__PURE__ */ jsxRuntime.jsx("td", { className: cn("px-step-sm py-step-sm text-text-secondary align-middle", className), ...props });
|
|
1555
1799
|
}
|
|
1556
1800
|
function TableCaption({ className, ...props }) {
|
|
1557
|
-
return /* @__PURE__ */ jsxRuntime.jsx("caption", { className: cn("mt-sm text-label text-text-muted", className), ...props });
|
|
1801
|
+
return /* @__PURE__ */ jsxRuntime.jsx("caption", { className: cn("mt-step-sm text-label text-text-muted", className), ...props });
|
|
1558
1802
|
}
|
|
1559
1803
|
function Tabs({ className, ...props }) {
|
|
1560
|
-
return /* @__PURE__ */ jsxRuntime.jsx(TabsPrimitive__namespace.Root, { className: cn("gap-md flex flex-col", className), ...props });
|
|
1804
|
+
return /* @__PURE__ */ jsxRuntime.jsx(TabsPrimitive__namespace.Root, { className: cn("gap-step-md flex flex-col", className), ...props });
|
|
1561
1805
|
}
|
|
1562
1806
|
function TabsList({
|
|
1563
1807
|
className,
|
|
@@ -1566,7 +1810,7 @@ function TabsList({
|
|
|
1566
1810
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1567
1811
|
TabsPrimitive__namespace.List,
|
|
1568
1812
|
{
|
|
1569
|
-
className: cn("rounded-control bg-surface gap-xs inline-flex items-center p-1", className),
|
|
1813
|
+
className: cn("rounded-control bg-surface gap-step-xs inline-flex items-center p-1", className),
|
|
1570
1814
|
...props
|
|
1571
1815
|
}
|
|
1572
1816
|
);
|
|
@@ -1579,7 +1823,7 @@ function TabsTrigger({
|
|
|
1579
1823
|
TabsPrimitive__namespace.Trigger,
|
|
1580
1824
|
{
|
|
1581
1825
|
className: cn(
|
|
1582
|
-
"rounded-chip px-sm inline-flex h-8 cursor-pointer items-center justify-center whitespace-nowrap",
|
|
1826
|
+
"rounded-chip px-step-sm inline-flex h-8 cursor-pointer items-center justify-center whitespace-nowrap",
|
|
1583
1827
|
"font-sans text-label text-text-secondary",
|
|
1584
1828
|
"transition-standard",
|
|
1585
1829
|
"hover:text-text-primary",
|
|
@@ -1614,7 +1858,7 @@ function Textarea({ className, invalid = false, ...props }) {
|
|
|
1614
1858
|
"data-invalid": invalid || void 0,
|
|
1615
1859
|
"aria-invalid": invalid || void 0,
|
|
1616
1860
|
className: cn(
|
|
1617
|
-
"min-h-24 w-full px-sm py-xs",
|
|
1861
|
+
"min-h-24 w-full px-step-sm py-step-xs",
|
|
1618
1862
|
"rounded-control border border-border bg-surface",
|
|
1619
1863
|
"font-sans text-ui text-text-primary placeholder:text-text-muted",
|
|
1620
1864
|
"transition-standard",
|
|
@@ -1638,7 +1882,7 @@ function ToastViewport({
|
|
|
1638
1882
|
ToastPrimitive__namespace.Viewport,
|
|
1639
1883
|
{
|
|
1640
1884
|
className: cn(
|
|
1641
|
-
"gap-sm p-lg fixed right-0 bottom-0 z-50 flex max-h-screen w-full flex-col-reverse",
|
|
1885
|
+
"gap-step-sm p-step-lg fixed right-0 bottom-0 z-50 flex max-h-screen w-full flex-col-reverse",
|
|
1642
1886
|
"sm:max-w-[420px] sm:flex-col",
|
|
1643
1887
|
className
|
|
1644
1888
|
),
|
|
@@ -1648,7 +1892,7 @@ function ToastViewport({
|
|
|
1648
1892
|
}
|
|
1649
1893
|
var toast = classVarianceAuthority.cva(
|
|
1650
1894
|
[
|
|
1651
|
-
"gap-md p-md pr-10 relative flex w-full items-start justify-between",
|
|
1895
|
+
"gap-step-md p-step-md pr-10 relative flex w-full items-start justify-between",
|
|
1652
1896
|
"rounded-card border bg-surface shadow-standard",
|
|
1653
1897
|
"font-sans text-ui text-text-secondary"
|
|
1654
1898
|
],
|
|
@@ -1699,6 +1943,76 @@ function ToastDescription({
|
|
|
1699
1943
|
}) {
|
|
1700
1944
|
return /* @__PURE__ */ jsxRuntime.jsx(ToastPrimitive__namespace.Description, { className: cn("max-w-measure", className), ...props });
|
|
1701
1945
|
}
|
|
1946
|
+
var avisos = [];
|
|
1947
|
+
var suscriptores = /* @__PURE__ */ new Set();
|
|
1948
|
+
var contador = 0;
|
|
1949
|
+
function emitir(siguientes) {
|
|
1950
|
+
avisos = siguientes;
|
|
1951
|
+
for (const avisar of suscriptores) avisar();
|
|
1952
|
+
}
|
|
1953
|
+
var suscribirse = (avisar) => {
|
|
1954
|
+
suscriptores.add(avisar);
|
|
1955
|
+
return () => {
|
|
1956
|
+
suscriptores.delete(avisar);
|
|
1957
|
+
};
|
|
1958
|
+
};
|
|
1959
|
+
var leer = () => avisos;
|
|
1960
|
+
var VACIO = [];
|
|
1961
|
+
var enServidor = () => VACIO;
|
|
1962
|
+
function crear(mensaje, opciones = {}) {
|
|
1963
|
+
contador += 1;
|
|
1964
|
+
const id = `arrecife-toast-${contador}`;
|
|
1965
|
+
const { description, ...resto } = opciones;
|
|
1966
|
+
emitir([
|
|
1967
|
+
...avisos,
|
|
1968
|
+
{
|
|
1969
|
+
...resto,
|
|
1970
|
+
// El primer argumento es la línea principal. Si además llega `title`, el
|
|
1971
|
+
// mensaje pasa a ser la descripción: así `toast('Guardado')` y
|
|
1972
|
+
// `toast('No se pudo guardar', { title: 'Error' })` se leen igual de bien.
|
|
1973
|
+
...opciones.title ? { description: description ?? mensaje } : { title: mensaje, ...description === void 0 ? {} : { description } },
|
|
1974
|
+
id,
|
|
1975
|
+
abierto: true
|
|
1976
|
+
}
|
|
1977
|
+
]);
|
|
1978
|
+
return id;
|
|
1979
|
+
}
|
|
1980
|
+
function descartar(id) {
|
|
1981
|
+
emitir(avisos.map((a) => id === void 0 || a.id === id ? { ...a, abierto: false } : a));
|
|
1982
|
+
}
|
|
1983
|
+
function retirar(id) {
|
|
1984
|
+
emitir(avisos.filter((a) => a.id !== id));
|
|
1985
|
+
}
|
|
1986
|
+
var toast2 = Object.assign(crear, {
|
|
1987
|
+
success: (mensaje, opciones = {}) => crear(mensaje, { ...opciones, variant: "success" }),
|
|
1988
|
+
error: (mensaje, opciones = {}) => crear(mensaje, { ...opciones, variant: "error" }),
|
|
1989
|
+
dismiss: descartar
|
|
1990
|
+
});
|
|
1991
|
+
function Toaster({ duration = 5e3, label = "Avisos" }) {
|
|
1992
|
+
const lista = react.useSyncExternalStore(suscribirse, leer, enServidor);
|
|
1993
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(ToastProvider, { duration, label, children: [
|
|
1994
|
+
lista.map(({ id, title, description, variant, duration: propio, action, abierto }) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1995
|
+
Toast,
|
|
1996
|
+
{
|
|
1997
|
+
open: abierto,
|
|
1998
|
+
variant: variant ?? "neutral",
|
|
1999
|
+
...propio === void 0 ? {} : { duration: propio },
|
|
2000
|
+
onOpenChange: (sigue) => {
|
|
2001
|
+
if (!sigue) retirar(id);
|
|
2002
|
+
},
|
|
2003
|
+
children: [
|
|
2004
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
2005
|
+
title ? /* @__PURE__ */ jsxRuntime.jsx(ToastTitle, { children: title }) : null,
|
|
2006
|
+
description ? /* @__PURE__ */ jsxRuntime.jsx(ToastDescription, { children: description }) : null
|
|
2007
|
+
] }),
|
|
2008
|
+
action
|
|
2009
|
+
]
|
|
2010
|
+
},
|
|
2011
|
+
id
|
|
2012
|
+
)),
|
|
2013
|
+
/* @__PURE__ */ jsxRuntime.jsx(ToastViewport, {})
|
|
2014
|
+
] });
|
|
2015
|
+
}
|
|
1702
2016
|
var TooltipProvider = TooltipPrimitive__namespace.Provider;
|
|
1703
2017
|
var Tooltip = TooltipPrimitive__namespace.Root;
|
|
1704
2018
|
var TooltipTrigger = TooltipPrimitive__namespace.Trigger;
|
|
@@ -1712,7 +2026,7 @@ function TooltipContent({
|
|
|
1712
2026
|
{
|
|
1713
2027
|
sideOffset,
|
|
1714
2028
|
className: cn(
|
|
1715
|
-
"z-50 px-sm py-1.5",
|
|
2029
|
+
"z-50 px-step-sm py-1.5",
|
|
1716
2030
|
"rounded-chip border-border bg-surface-raised shadow-standard border",
|
|
1717
2031
|
"font-sans text-label text-text-primary",
|
|
1718
2032
|
className
|
|
@@ -1738,6 +2052,7 @@ function ArticleCard({
|
|
|
1738
2052
|
dateTime,
|
|
1739
2053
|
readingMinutes,
|
|
1740
2054
|
tags,
|
|
2055
|
+
headingLevel = 3,
|
|
1741
2056
|
className,
|
|
1742
2057
|
...props
|
|
1743
2058
|
}) {
|
|
@@ -1748,14 +2063,22 @@ function ArticleCard({
|
|
|
1748
2063
|
" min de lectura"
|
|
1749
2064
|
] }, "lectura") : null
|
|
1750
2065
|
].filter(Boolean);
|
|
1751
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Tarjeta, { className: cn("p-lg", className), ...props, children: /* @__PURE__ */ jsxRuntime.jsxs("article", { className: "gap-sm flex h-full flex-col", children: [
|
|
1752
|
-
meta.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "meta", tone: "muted", as: "p", className: "gap-xs flex items-center", children: meta.map((m, i) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "gap-xs flex items-center", children: [
|
|
2066
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Tarjeta, { className: cn("p-step-lg", className), ...props, children: /* @__PURE__ */ jsxRuntime.jsxs("article", { className: "gap-step-sm flex h-full flex-col", children: [
|
|
2067
|
+
meta.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "meta", tone: "muted", as: "p", className: "gap-step-xs flex items-center", children: meta.map((m, i) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "gap-step-xs flex items-center", children: [
|
|
1753
2068
|
i > 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", children: "\xB7" }) : null,
|
|
1754
2069
|
m
|
|
1755
2070
|
] }, i)) }) : null,
|
|
1756
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2071
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2072
|
+
Text,
|
|
2073
|
+
{
|
|
2074
|
+
as: headingLevel === 2 ? "h2" : "h3",
|
|
2075
|
+
variant: "h3",
|
|
2076
|
+
className: "group-hover:text-accent transition-standard",
|
|
2077
|
+
children: title
|
|
2078
|
+
}
|
|
2079
|
+
),
|
|
1757
2080
|
excerpt ? /* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "ui", tone: "secondary", className: "line-clamp-2", children: excerpt }) : null,
|
|
1758
|
-
tags && tags.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "gap-xs mt-auto flex flex-wrap pt-sm", children: tags.map((t) => /* @__PURE__ */ jsxRuntime.jsx(CategoryBadge, { children: t }, t)) }) : null
|
|
2081
|
+
tags && tags.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "gap-step-xs mt-auto flex flex-wrap pt-step-sm", children: tags.map((t) => /* @__PURE__ */ jsxRuntime.jsx(CategoryBadge, { children: t }, t)) }) : null
|
|
1759
2082
|
] }) });
|
|
1760
2083
|
}
|
|
1761
2084
|
var AVATAR = "size-[52px]";
|
|
@@ -1763,16 +2086,16 @@ function iniciales(nombre) {
|
|
|
1763
2086
|
return nombre.split(/\s+/).slice(0, 2).map((p) => p[0] ?? "").join("").toUpperCase();
|
|
1764
2087
|
}
|
|
1765
2088
|
function AuthorCard({ name, role, src, bio, action, className, ...props }) {
|
|
1766
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(SUPERFICIE_TARJETA, "p-lg gap-md flex items-start", className), ...props, children: [
|
|
2089
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(SUPERFICIE_TARJETA, "p-step-lg gap-step-md flex items-start", className), ...props, children: [
|
|
1767
2090
|
/* @__PURE__ */ jsxRuntime.jsxs(Avatar, { className: cn(AVATAR, "shrink-0"), children: [
|
|
1768
2091
|
src ? /* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src, alt: "" }) : null,
|
|
1769
2092
|
/* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { children: iniciales(name) })
|
|
1770
2093
|
] }),
|
|
1771
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-xs flex min-w-0 flex-1 flex-col", children: [
|
|
2094
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-step-xs flex min-w-0 flex-1 flex-col", children: [
|
|
1772
2095
|
/* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "ui", as: "p", className: "font-medium", children: name }),
|
|
1773
2096
|
role ? /* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "chip", tone: "muted", as: "p", children: role }) : null,
|
|
1774
|
-
bio ? /* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "ui", tone: "secondary", className: "mt-xs", children: bio }) : null,
|
|
1775
|
-
action ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-xs gap-sm flex flex-wrap items-center", children: action }) : null
|
|
2097
|
+
bio ? /* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "ui", tone: "secondary", className: "mt-step-xs", children: bio }) : null,
|
|
2098
|
+
action ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-step-xs gap-step-sm flex flex-wrap items-center", children: action }) : null
|
|
1776
2099
|
] })
|
|
1777
2100
|
] });
|
|
1778
2101
|
}
|
|
@@ -1891,7 +2214,7 @@ function Volumen({
|
|
|
1891
2214
|
onSilenciar,
|
|
1892
2215
|
onCambiarVolumen
|
|
1893
2216
|
}) {
|
|
1894
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-xs hidden items-center sm:flex", children: [
|
|
2217
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-step-xs hidden items-center sm:flex", children: [
|
|
1895
2218
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1896
2219
|
"button",
|
|
1897
2220
|
{
|
|
@@ -2138,8 +2461,8 @@ function AudioPlayer({ src, title, mode = "full", onFirstPlay }) {
|
|
|
2138
2461
|
...puntero
|
|
2139
2462
|
}
|
|
2140
2463
|
),
|
|
2141
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-surface/95 border-accent/25 border-t backdrop-blur-md", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-sm px-md flex items-center py-5", children: [
|
|
2142
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-xs flex shrink-0 items-center", children: [
|
|
2464
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-surface/95 border-accent/25 border-t backdrop-blur-md", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-step-sm px-step-md flex items-center py-5", children: [
|
|
2465
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-step-xs flex shrink-0 items-center", children: [
|
|
2143
2466
|
/* @__PURE__ */ jsxRuntime.jsx(Onda, { grosor: "w-[2px]", alto: "h-4", sonando: isPlaying }),
|
|
2144
2467
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-eyebrow font-mono text-accent hidden uppercase sm:block", children: "Narraci\xF3n" })
|
|
2145
2468
|
] }),
|
|
@@ -2156,7 +2479,7 @@ function AudioPlayer({ src, title, mode = "full", onFirstPlay }) {
|
|
|
2156
2479
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2157
2480
|
BotonPlay,
|
|
2158
2481
|
{
|
|
2159
|
-
className: "rounded-pill px-sm gap-xs flex items-center py-1.5",
|
|
2482
|
+
className: "rounded-pill px-step-sm gap-step-xs flex items-center py-1.5",
|
|
2160
2483
|
tamano: "w-4 h-4",
|
|
2161
2484
|
etiqueta: etiquetaPlay,
|
|
2162
2485
|
onAlternar: togglePlay,
|
|
@@ -2181,7 +2504,7 @@ function AudioPlayer({ src, title, mode = "full", onFirstPlay }) {
|
|
|
2181
2504
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2182
2505
|
/* @__PURE__ */ jsxRuntime.jsx("audio", { ref: audioRef, src, preload: "metadata" }),
|
|
2183
2506
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { ref: staticRef, children: [
|
|
2184
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-sm mb-md flex items-center", children: [
|
|
2507
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-step-sm mb-step-md flex items-center", children: [
|
|
2185
2508
|
/* @__PURE__ */ jsxRuntime.jsx(Onda, { grosor: "w-[3px]", alto: "h-5", sonando: isPlaying }),
|
|
2186
2509
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-eyebrow font-mono text-accent uppercase", children: "Narraci\xF3n de audio" }),
|
|
2187
2510
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-chip font-mono text-text-muted ml-auto tabular-nums", children: [
|
|
@@ -2190,13 +2513,13 @@ function AudioPlayer({ src, title, mode = "full", onFirstPlay }) {
|
|
|
2190
2513
|
formatTime(duration)
|
|
2191
2514
|
] })
|
|
2192
2515
|
] }),
|
|
2193
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-md", children: /* @__PURE__ */ jsxRuntime.jsx(BarraProgreso, { alto: "h-1.5", perilla: 14, progreso: progress, ...puntero }) }),
|
|
2194
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-sm flex items-center", children: [
|
|
2516
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-step-md", children: /* @__PURE__ */ jsxRuntime.jsx(BarraProgreso, { alto: "h-1.5", perilla: 14, progreso: progress, ...puntero }) }),
|
|
2517
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-step-sm flex items-center", children: [
|
|
2195
2518
|
/* @__PURE__ */ jsxRuntime.jsx(BotonSalto, { segundos: -15, className: "p-2", tamano: "w-6 h-6", onSaltar: skip }),
|
|
2196
2519
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2197
2520
|
BotonPlay,
|
|
2198
2521
|
{
|
|
2199
|
-
className: "rounded-pill px-lg gap-xs text-ui flex items-center py-2 font-medium",
|
|
2522
|
+
className: "rounded-pill px-step-lg gap-step-xs text-ui flex items-center py-2 font-medium",
|
|
2200
2523
|
tamano: "w-4 h-4",
|
|
2201
2524
|
etiqueta: etiquetaPlay,
|
|
2202
2525
|
texto: etiquetaPlay,
|
|
@@ -2205,7 +2528,7 @@ function AudioPlayer({ src, title, mode = "full", onFirstPlay }) {
|
|
|
2205
2528
|
}
|
|
2206
2529
|
),
|
|
2207
2530
|
/* @__PURE__ */ jsxRuntime.jsx(BotonSalto, { segundos: 15, className: "p-2", tamano: "w-6 h-6", onSaltar: skip }),
|
|
2208
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-sm ml-auto flex items-center", children: [
|
|
2531
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-step-sm ml-auto flex items-center", children: [
|
|
2209
2532
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2210
2533
|
BotonVelocidad,
|
|
2211
2534
|
{
|
|
@@ -2235,8 +2558,8 @@ function AudioPlayer({ src, title, mode = "full", onFirstPlay }) {
|
|
|
2235
2558
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2236
2559
|
/* @__PURE__ */ jsxRuntime.jsx("audio", { ref: audioRef, src, preload: "metadata" }),
|
|
2237
2560
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { ref: staticRef, className: "w-full", children: [
|
|
2238
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-xs", children: /* @__PURE__ */ jsxRuntime.jsx(BarraProgreso, { alto: "h-1.5", perilla: 12, progreso: progress, ...puntero }) }),
|
|
2239
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-chip font-mono text-text-muted mb-sm flex justify-between", children: [
|
|
2561
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-step-xs", children: /* @__PURE__ */ jsxRuntime.jsx(BarraProgreso, { alto: "h-1.5", perilla: 12, progreso: progress, ...puntero }) }),
|
|
2562
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-chip font-mono text-text-muted mb-step-sm flex justify-between", children: [
|
|
2240
2563
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: formatTime(currentTime) }),
|
|
2241
2564
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: formatTime(duration) })
|
|
2242
2565
|
] }),
|
|
@@ -2268,16 +2591,16 @@ function AudioPlayer({ src, title, mode = "full", onFirstPlay }) {
|
|
|
2268
2591
|
flotanteJsx
|
|
2269
2592
|
] });
|
|
2270
2593
|
}
|
|
2271
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-surface rounded-control border-border p-md w-full border", children: [
|
|
2594
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-surface rounded-control border-border p-step-md w-full border", children: [
|
|
2272
2595
|
/* @__PURE__ */ jsxRuntime.jsx("audio", { ref: audioRef, src, preload: "metadata" }),
|
|
2273
|
-
title ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-ui font-sans text-text-secondary mb-sm truncate", children: title }) : null,
|
|
2274
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-sm", children: /* @__PURE__ */ jsxRuntime.jsx(BarraProgreso, { alto: "h-2", perilla: 16, progreso: progress, ...puntero }) }),
|
|
2275
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-chip font-mono text-text-muted mb-sm flex justify-between", children: [
|
|
2596
|
+
title ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-ui font-sans text-text-secondary mb-step-sm truncate", children: title }) : null,
|
|
2597
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-step-sm", children: /* @__PURE__ */ jsxRuntime.jsx(BarraProgreso, { alto: "h-2", perilla: 16, progreso: progress, ...puntero }) }),
|
|
2598
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-chip font-mono text-text-muted mb-step-sm flex justify-between", children: [
|
|
2276
2599
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: formatTime(currentTime) }),
|
|
2277
2600
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: formatTime(duration) })
|
|
2278
2601
|
] }),
|
|
2279
2602
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
2280
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-xs flex items-center", children: [
|
|
2603
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-step-xs flex items-center", children: [
|
|
2281
2604
|
/* @__PURE__ */ jsxRuntime.jsx(BotonSalto, { segundos: -15, className: "p-2", tamano: "w-5 h-5", onSaltar: skip }),
|
|
2282
2605
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2283
2606
|
BotonPlay,
|
|
@@ -2291,7 +2614,7 @@ function AudioPlayer({ src, title, mode = "full", onFirstPlay }) {
|
|
|
2291
2614
|
),
|
|
2292
2615
|
/* @__PURE__ */ jsxRuntime.jsx(BotonSalto, { segundos: 15, className: "p-2", tamano: "w-5 h-5", onSaltar: skip })
|
|
2293
2616
|
] }),
|
|
2294
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-sm flex items-center", children: [
|
|
2617
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-step-sm flex items-center", children: [
|
|
2295
2618
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2296
2619
|
BotonVelocidad,
|
|
2297
2620
|
{
|
|
@@ -2319,11 +2642,11 @@ function Blockquote({ children, author, source, className, ...props }) {
|
|
|
2319
2642
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2320
2643
|
"blockquote",
|
|
2321
2644
|
{
|
|
2322
|
-
className: cn("border-accent pl-md my-lg border-l-2", className),
|
|
2645
|
+
className: cn("border-accent pl-step-md my-step-lg border-l-2", className),
|
|
2323
2646
|
...props,
|
|
2324
2647
|
children: [
|
|
2325
2648
|
/* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "body", tone: "secondary", children }),
|
|
2326
|
-
author || source ? /* @__PURE__ */ jsxRuntime.jsx("footer", { className: "mt-sm", children: /* @__PURE__ */ jsxRuntime.jsxs(Text, { variant: "label", tone: "muted", as: "span", children: [
|
|
2649
|
+
author || source ? /* @__PURE__ */ jsxRuntime.jsx("footer", { className: "mt-step-sm", children: /* @__PURE__ */ jsxRuntime.jsxs(Text, { variant: "label", tone: "muted", as: "span", children: [
|
|
2327
2650
|
author ? /* @__PURE__ */ jsxRuntime.jsx("cite", { className: "not-italic", children: author }) : null,
|
|
2328
2651
|
author && source ? " \xB7 " : null,
|
|
2329
2652
|
source
|
|
@@ -2342,11 +2665,11 @@ function Breadcrumb({
|
|
|
2342
2665
|
...props
|
|
2343
2666
|
}) {
|
|
2344
2667
|
const enlace = (href, contenido) => linkAsChild ? /* @__PURE__ */ jsxRuntime.jsx(reactSlot.Slot, { className: ENLACE, children: linkAsChild({ href, children: contenido }) }) : /* @__PURE__ */ jsxRuntime.jsx("a", { href, className: ENLACE, children: contenido });
|
|
2345
|
-
return /* @__PURE__ */ jsxRuntime.jsx("nav", { "aria-label": "Ruta", className: cn("font-mono text-meta text-text-muted", className), ...props, children: /* @__PURE__ */ jsxRuntime.jsxs("ol", { className: "gap-xs flex flex-wrap items-center", children: [
|
|
2668
|
+
return /* @__PURE__ */ jsxRuntime.jsx("nav", { "aria-label": "Ruta", className: cn("font-mono text-meta text-text-muted", className), ...props, children: /* @__PURE__ */ jsxRuntime.jsxs("ol", { className: "gap-step-xs flex flex-wrap items-center", children: [
|
|
2346
2669
|
/* @__PURE__ */ jsxRuntime.jsx("li", { children: enlace(homeHref, /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-label": homeLabel, children: "~" })) }),
|
|
2347
2670
|
items.map((item2, i) => {
|
|
2348
2671
|
const ultimo = i === items.length - 1;
|
|
2349
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "gap-xs flex items-center", children: [
|
|
2672
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "gap-step-xs flex items-center", children: [
|
|
2350
2673
|
/* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: "text-border", children: "/" }),
|
|
2351
2674
|
item2.href && !ultimo ? enlace(item2.href, item2.label) : /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-current": ultimo ? "page" : void 0, className: "text-text-secondary", children: item2.label })
|
|
2352
2675
|
] }, i);
|
|
@@ -2376,7 +2699,7 @@ function CodeBlock({ children, language, copyText, className, ...props }) {
|
|
|
2376
2699
|
),
|
|
2377
2700
|
...props,
|
|
2378
2701
|
children: [
|
|
2379
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-hairline px-sm flex items-center justify-between border-b py-1.5", children: [
|
|
2702
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-hairline px-step-sm flex items-center justify-between border-b py-1.5", children: [
|
|
2380
2703
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-eyebrow font-mono text-text-muted uppercase", children: [
|
|
2381
2704
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-accent", children: "\u276F" }),
|
|
2382
2705
|
" ",
|
|
@@ -2390,7 +2713,7 @@ function CodeBlock({ children, language, copyText, className, ...props }) {
|
|
|
2390
2713
|
"aria-label": copiado ? "C\xF3digo copiado" : "Copiar c\xF3digo",
|
|
2391
2714
|
"aria-live": "polite",
|
|
2392
2715
|
className: cn(
|
|
2393
|
-
"gap-xs rounded-chip flex items-center px-2 py-1",
|
|
2716
|
+
"gap-step-xs rounded-chip flex items-center px-2 py-1",
|
|
2394
2717
|
"text-label font-mono text-text-muted cursor-pointer",
|
|
2395
2718
|
"transition-standard hover:bg-surface hover:text-text-primary",
|
|
2396
2719
|
"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent"
|
|
@@ -2402,7 +2725,7 @@ function CodeBlock({ children, language, copyText, className, ...props }) {
|
|
|
2402
2725
|
}
|
|
2403
2726
|
) : null
|
|
2404
2727
|
] }),
|
|
2405
|
-
/* @__PURE__ */ jsxRuntime.jsx("pre", { className: "p-md font-mono text-meta text-text-primary overflow-x-auto leading-relaxed", children })
|
|
2728
|
+
/* @__PURE__ */ jsxRuntime.jsx("pre", { className: "p-step-md font-mono text-meta text-text-primary overflow-x-auto leading-relaxed", children })
|
|
2406
2729
|
]
|
|
2407
2730
|
}
|
|
2408
2731
|
);
|
|
@@ -2416,15 +2739,15 @@ function CourseCard({
|
|
|
2416
2739
|
className,
|
|
2417
2740
|
...props
|
|
2418
2741
|
}) {
|
|
2419
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Tarjeta, { className: cn("p-lg", className), ...props, children: /* @__PURE__ */ jsxRuntime.jsxs("article", { className: "gap-sm flex h-full flex-col", children: [
|
|
2742
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Tarjeta, { className: cn("p-step-lg", className), ...props, children: /* @__PURE__ */ jsxRuntime.jsxs("article", { className: "gap-step-sm flex h-full flex-col", children: [
|
|
2420
2743
|
status ? /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "warm", children: status }) }) : null,
|
|
2421
2744
|
/* @__PURE__ */ jsxRuntime.jsx(Text, { as: "h3", variant: "h3", className: "group-hover:text-accent transition-standard", children: title }),
|
|
2422
2745
|
summary ? /* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "ui", tone: "secondary", className: "line-clamp-3", children: summary }) : null,
|
|
2423
|
-
meta && meta.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "label", tone: "muted", as: "p", className: "gap-xs flex flex-wrap items-center", children: meta.map((m, i) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "gap-xs flex items-center", children: [
|
|
2746
|
+
meta && meta.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "label", tone: "muted", as: "p", className: "gap-step-xs flex flex-wrap items-center", children: meta.map((m, i) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "gap-step-xs flex items-center", children: [
|
|
2424
2747
|
i > 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", children: "\xB7" }) : null,
|
|
2425
2748
|
m
|
|
2426
2749
|
] }, i)) }) : null,
|
|
2427
|
-
typeof progress === "number" ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-xs mt-auto flex flex-col pt-sm", children: [
|
|
2750
|
+
typeof progress === "number" ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-step-xs mt-auto flex flex-col pt-step-sm", children: [
|
|
2428
2751
|
/* @__PURE__ */ jsxRuntime.jsx(Progress, { value: progress, tone: "warm", label: `Progreso del curso: ${progress}%` }),
|
|
2429
2752
|
/* @__PURE__ */ jsxRuntime.jsxs(Text, { variant: "label", tone: "muted", as: "p", children: [
|
|
2430
2753
|
progress,
|
|
@@ -2515,13 +2838,13 @@ function EmptyState({
|
|
|
2515
2838
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2516
2839
|
"div",
|
|
2517
2840
|
{
|
|
2518
|
-
className: cn(SUPERFICIE_TARJETA, "p-lg gap-sm flex flex-col items-center text-center", className),
|
|
2841
|
+
className: cn(SUPERFICIE_TARJETA, "p-step-lg gap-step-sm flex flex-col items-center text-center", className),
|
|
2519
2842
|
...props,
|
|
2520
2843
|
children: [
|
|
2521
2844
|
/* @__PURE__ */ jsxRuntime.jsx(CaraDeMascota, { expresion, className: CARA, basePath }),
|
|
2522
2845
|
/* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "ui", as: "p", className: "font-medium", children: title }),
|
|
2523
2846
|
description ? /* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "label", tone: "muted", as: "p", className: "max-w-measure font-normal", children: description }) : null,
|
|
2524
|
-
action ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-xs", children: action }) : null
|
|
2847
|
+
action ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-step-xs", children: action }) : null
|
|
2525
2848
|
]
|
|
2526
2849
|
}
|
|
2527
2850
|
);
|
|
@@ -2530,11 +2853,13 @@ function Footer({
|
|
|
2530
2853
|
social,
|
|
2531
2854
|
year = (/* @__PURE__ */ new Date()).getFullYear(),
|
|
2532
2855
|
children,
|
|
2856
|
+
brand: brand2,
|
|
2533
2857
|
className,
|
|
2534
2858
|
...props
|
|
2535
2859
|
}) {
|
|
2536
|
-
return /* @__PURE__ */ jsxRuntime.jsx("footer", { className: cn("border-hairline w-full border-t", className), ...props, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-wide px-md py-xl gap-lg mx-auto flex flex-col", children: [
|
|
2537
|
-
|
|
2860
|
+
return /* @__PURE__ */ jsxRuntime.jsx("footer", { className: cn("border-hairline w-full border-t", className), ...props, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-wide px-step-md py-step-xl gap-step-lg mx-auto flex flex-col", children: [
|
|
2861
|
+
brand2 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center", children: brand2 }) : null,
|
|
2862
|
+
children ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "gap-step-md flex flex-wrap items-center", children }) : null,
|
|
2538
2863
|
social && social.length > 0 ? (
|
|
2539
2864
|
// 18px de separación, del documento. No es un escalón de `spacing`:
|
|
2540
2865
|
// es el ritmo de una fila de iconos, no el de una página.
|
|
@@ -2584,27 +2909,55 @@ function Hero({
|
|
|
2584
2909
|
action,
|
|
2585
2910
|
pose,
|
|
2586
2911
|
basePath,
|
|
2912
|
+
variant = "cabecera",
|
|
2587
2913
|
className,
|
|
2588
2914
|
...props
|
|
2589
2915
|
}) {
|
|
2916
|
+
const centrado = variant === "centrado";
|
|
2590
2917
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2591
2918
|
"section",
|
|
2592
2919
|
{
|
|
2593
2920
|
className: cn(
|
|
2594
2921
|
"degradado-hero rounded-panel border-hairline relative overflow-hidden border",
|
|
2595
2922
|
// 44 arriba, 40 a los lados y abajo. Del documento.
|
|
2596
|
-
"px-xl pt-[44px] pb-xl",
|
|
2923
|
+
"px-step-xl pt-[44px] pb-step-xl",
|
|
2597
2924
|
className
|
|
2598
2925
|
),
|
|
2599
2926
|
...props,
|
|
2600
2927
|
children: [
|
|
2601
|
-
/* @__PURE__ */ jsxRuntime.
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
|
|
2928
|
+
centrado && pose ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2929
|
+
Mascota,
|
|
2930
|
+
{
|
|
2931
|
+
pose,
|
|
2932
|
+
basePath,
|
|
2933
|
+
className: "mb-step-md mx-auto w-48 md:w-56"
|
|
2934
|
+
}
|
|
2935
|
+
) : null,
|
|
2936
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2937
|
+
"div",
|
|
2938
|
+
{
|
|
2939
|
+
className: cn(
|
|
2940
|
+
"gap-step-md flex flex-col",
|
|
2941
|
+
centrado ? "items-center text-center" : "md:max-w-[62%]"
|
|
2942
|
+
),
|
|
2943
|
+
children: [
|
|
2944
|
+
eyebrow ? /* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "eyebrow", tone: "accent", as: "p", children: eyebrow }) : null,
|
|
2945
|
+
/* @__PURE__ */ jsxRuntime.jsx(Text, { as: "h1", variant: "display", children: title }),
|
|
2946
|
+
description ? /* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "body", tone: "secondary", children: description }) : null,
|
|
2947
|
+
action ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2948
|
+
"div",
|
|
2949
|
+
{
|
|
2950
|
+
className: cn(
|
|
2951
|
+
"gap-step-sm mt-step-xs flex flex-wrap items-center",
|
|
2952
|
+
centrado && "justify-center"
|
|
2953
|
+
),
|
|
2954
|
+
children: action
|
|
2955
|
+
}
|
|
2956
|
+
) : null
|
|
2957
|
+
]
|
|
2958
|
+
}
|
|
2959
|
+
),
|
|
2960
|
+
!centrado && pose ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2608
2961
|
Mascota,
|
|
2609
2962
|
{
|
|
2610
2963
|
pose,
|
|
@@ -2612,7 +2965,7 @@ function Hero({
|
|
|
2612
2965
|
className: cn(
|
|
2613
2966
|
// En móvil, en el flujo y bajo los botones. Desde md, sangrando por
|
|
2614
2967
|
// la esquina inferior derecha.
|
|
2615
|
-
"mt-lg mx-auto w-40",
|
|
2968
|
+
"mt-step-lg mx-auto w-40",
|
|
2616
2969
|
"md:mt-0 md:absolute md:right-0 md:-bottom-4 md:mx-0 md:w-64"
|
|
2617
2970
|
)
|
|
2618
2971
|
}
|
|
@@ -2634,11 +2987,11 @@ function LinkRow({
|
|
|
2634
2987
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2635
2988
|
Tarjeta,
|
|
2636
2989
|
{
|
|
2637
|
-
className: cn("px-md py-sm", className),
|
|
2990
|
+
className: cn("px-step-md py-step-sm", className),
|
|
2638
2991
|
...props,
|
|
2639
2992
|
rel,
|
|
2640
2993
|
...target ? { target } : {},
|
|
2641
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "gap-sm flex items-center", children: [
|
|
2994
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "gap-step-sm flex items-center", children: [
|
|
2642
2995
|
icon ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-text-muted group-hover:text-accent transition-standard shrink-0 text-2xl", children: icon }) : null,
|
|
2643
2996
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "min-w-0 flex-1", children: [
|
|
2644
2997
|
/* @__PURE__ */ jsxRuntime.jsx(Text, { as: "span", variant: "ui", className: "group-hover:text-accent transition-standard block font-medium", children: name }),
|
|
@@ -2668,10 +3021,10 @@ function Nav({ brand: brand2, children, actions, className, ...props }) {
|
|
|
2668
3021
|
className
|
|
2669
3022
|
),
|
|
2670
3023
|
...props,
|
|
2671
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-wide px-md h-nav gap-lg mx-auto flex items-center", children: [
|
|
3024
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-wide px-step-md h-nav gap-step-lg mx-auto flex items-center", children: [
|
|
2672
3025
|
brand2 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: brand2 }) : null,
|
|
2673
|
-
children ? /* @__PURE__ */ jsxRuntime.jsx("nav", { "aria-label": "Principal", className: "min-w-0 flex-1", children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "gap-md flex items-center", children }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1" }),
|
|
2674
|
-
actions ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "gap-sm flex shrink-0 items-center", children: actions }) : null
|
|
3026
|
+
children ? /* @__PURE__ */ jsxRuntime.jsx("nav", { "aria-label": "Principal", className: "min-w-0 flex-1", children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "gap-step-md flex items-center", children }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1" }),
|
|
3027
|
+
actions ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "gap-step-sm flex shrink-0 items-center", children: actions }) : null
|
|
2675
3028
|
] })
|
|
2676
3029
|
}
|
|
2677
3030
|
);
|
|
@@ -2709,6 +3062,10 @@ function NewsletterForm({
|
|
|
2709
3062
|
submitLabel = "Suscribirme",
|
|
2710
3063
|
placeholder = "tu@correo.dev",
|
|
2711
3064
|
fieldLabel = "Correo electr\xF3nico",
|
|
3065
|
+
nameField = false,
|
|
3066
|
+
nameLabel = "Nombre",
|
|
3067
|
+
namePlaceholder = "C\xF3mo te llamas",
|
|
3068
|
+
nameInputProps,
|
|
2712
3069
|
className,
|
|
2713
3070
|
...props
|
|
2714
3071
|
}) {
|
|
@@ -2719,53 +3076,74 @@ function NewsletterForm({
|
|
|
2719
3076
|
evento.preventDefault();
|
|
2720
3077
|
const datos = new FormData(evento.currentTarget);
|
|
2721
3078
|
const correo = String(datos.get("email") ?? "");
|
|
2722
|
-
|
|
3079
|
+
const nombre = nameField ? String(datos.get("name") ?? "") : void 0;
|
|
3080
|
+
onSubmitEmail?.(correo, nombre);
|
|
2723
3081
|
}
|
|
3082
|
+
const boton = /* @__PURE__ */ jsxRuntime.jsx(
|
|
3083
|
+
Button,
|
|
3084
|
+
{
|
|
3085
|
+
type: "submit",
|
|
3086
|
+
variant: "conversion",
|
|
3087
|
+
loading: enviando,
|
|
3088
|
+
className: cn("disabled:opacity-60", nameField && "sm:self-start"),
|
|
3089
|
+
children: submitLabel
|
|
3090
|
+
}
|
|
3091
|
+
);
|
|
2724
3092
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2725
3093
|
"section",
|
|
2726
3094
|
{
|
|
2727
3095
|
className: cn(
|
|
2728
|
-
"degradado-seccion rounded-panel border-hairline p-lg gap-md flex flex-col border",
|
|
3096
|
+
"degradado-seccion rounded-panel border-hairline p-step-lg gap-step-md flex flex-col border",
|
|
2729
3097
|
className
|
|
2730
3098
|
),
|
|
2731
3099
|
...props,
|
|
2732
3100
|
children: [
|
|
2733
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-xs flex flex-col", children: [
|
|
3101
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-step-xs flex flex-col", children: [
|
|
2734
3102
|
/* @__PURE__ */ jsxRuntime.jsx(Text, { as: "h2", variant: "h3", children: title }),
|
|
2735
3103
|
description ? /* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "ui", tone: "secondary", children: description }) : null
|
|
2736
3104
|
] }),
|
|
2737
|
-
/* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: enviar, className: "gap-sm flex flex-col
|
|
2738
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-
|
|
2739
|
-
/* @__PURE__ */ jsxRuntime.
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
|
|
2753
|
-
|
|
3105
|
+
/* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: enviar, className: "gap-step-sm flex flex-col", noValidate: true, children: [
|
|
3106
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-step-sm flex flex-col sm:flex-row sm:items-end", children: [
|
|
3107
|
+
nameField ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-step-xs flex flex-1 flex-col", children: [
|
|
3108
|
+
/* @__PURE__ */ jsxRuntime.jsx(Label2, { htmlFor: `${id}-nombre`, children: nameLabel }),
|
|
3109
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3110
|
+
Input,
|
|
3111
|
+
{
|
|
3112
|
+
id: `${id}-nombre`,
|
|
3113
|
+
name: "name",
|
|
3114
|
+
type: "text",
|
|
3115
|
+
autoComplete: "name",
|
|
3116
|
+
required: true,
|
|
3117
|
+
placeholder: namePlaceholder,
|
|
3118
|
+
disabled: enviando,
|
|
3119
|
+
...nameInputProps
|
|
3120
|
+
}
|
|
3121
|
+
)
|
|
3122
|
+
] }) : null,
|
|
3123
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-step-xs flex flex-1 flex-col", children: [
|
|
3124
|
+
/* @__PURE__ */ jsxRuntime.jsx(Label2, { htmlFor: id, children: fieldLabel }),
|
|
3125
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3126
|
+
Input,
|
|
3127
|
+
{
|
|
3128
|
+
id,
|
|
3129
|
+
name: "email",
|
|
3130
|
+
type: "email",
|
|
3131
|
+
autoComplete: "email",
|
|
3132
|
+
required: true,
|
|
3133
|
+
placeholder,
|
|
3134
|
+
disabled: enviando,
|
|
3135
|
+
invalid: error,
|
|
3136
|
+
"aria-describedby": state === "exito" || error ? `${id}-aviso` : void 0
|
|
3137
|
+
}
|
|
3138
|
+
)
|
|
3139
|
+
] }),
|
|
3140
|
+
nameField ? null : boton
|
|
2754
3141
|
] }),
|
|
2755
|
-
|
|
2756
|
-
Button,
|
|
2757
|
-
{
|
|
2758
|
-
type: "submit",
|
|
2759
|
-
variant: "conversion",
|
|
2760
|
-
loading: enviando,
|
|
2761
|
-
className: "disabled:opacity-60",
|
|
2762
|
-
children: submitLabel
|
|
2763
|
-
}
|
|
2764
|
-
)
|
|
3142
|
+
nameField ? boton : null
|
|
2765
3143
|
] }),
|
|
2766
3144
|
state === "exito" ? /* @__PURE__ */ jsxRuntime.jsx(Alert, { id: `${id}-aviso`, variant: "success", enfasis: "fuerte", children: successMessage }) : null,
|
|
2767
3145
|
error ? /* @__PURE__ */ jsxRuntime.jsx(Alert, { id: `${id}-aviso`, variant: "error", enfasis: "fuerte", children: errorMessage }) : null,
|
|
2768
|
-
disclaimer ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-sm flex items-center", children: [
|
|
3146
|
+
disclaimer ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-step-sm flex items-center", children: [
|
|
2769
3147
|
expresion ? /* @__PURE__ */ jsxRuntime.jsx(CaraDeMascota, { expresion, basePath, className: "w-10 max-w-none" }) : null,
|
|
2770
3148
|
/* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "label", tone: "muted", as: "p", className: "font-normal", children: disclaimer })
|
|
2771
3149
|
] }) : null
|
|
@@ -2773,11 +3151,11 @@ function NewsletterForm({
|
|
|
2773
3151
|
}
|
|
2774
3152
|
);
|
|
2775
3153
|
}
|
|
2776
|
-
var cabecera = classVarianceAuthority.cva("gap-sm flex flex-col", {
|
|
3154
|
+
var cabecera = classVarianceAuthority.cva("gap-step-sm flex flex-col", {
|
|
2777
3155
|
variants: {
|
|
2778
3156
|
size: {
|
|
2779
3157
|
display: "py-section",
|
|
2780
|
-
page: "py-xl"
|
|
3158
|
+
page: "py-step-xl"
|
|
2781
3159
|
}
|
|
2782
3160
|
},
|
|
2783
3161
|
defaultVariants: { size: "page" }
|
|
@@ -2796,9 +3174,65 @@ function PageHeader({
|
|
|
2796
3174
|
eyebrow ? /* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "eyebrow", tone: "accent", as: "p", children: eyebrow }) : null,
|
|
2797
3175
|
/* @__PURE__ */ jsxRuntime.jsx(Text, { as, variant: size2 === "display" ? "display" : "h1", className: "max-w-measure", children: title }),
|
|
2798
3176
|
description ? /* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "body", tone: "secondary", children: description }) : null,
|
|
2799
|
-
action ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "gap-sm mt-sm flex flex-wrap items-center", children: action }) : null
|
|
3177
|
+
action ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "gap-step-sm mt-step-sm flex flex-wrap items-center", children: action }) : null
|
|
2800
3178
|
] });
|
|
2801
3179
|
}
|
|
3180
|
+
function ScrollingProgressBar({
|
|
3181
|
+
target,
|
|
3182
|
+
tone = "accent",
|
|
3183
|
+
sticky = true,
|
|
3184
|
+
className,
|
|
3185
|
+
...props
|
|
3186
|
+
}) {
|
|
3187
|
+
const [avance, setAvance] = react.useState(0);
|
|
3188
|
+
const pendiente = react.useRef(0);
|
|
3189
|
+
react.useEffect(() => {
|
|
3190
|
+
const medir = () => {
|
|
3191
|
+
pendiente.current = 0;
|
|
3192
|
+
const elemento = target?.current;
|
|
3193
|
+
const inicio = elemento ? elemento.getBoundingClientRect().top + scrollY : 0;
|
|
3194
|
+
const alto = elemento ? elemento.offsetHeight : document.documentElement.scrollHeight;
|
|
3195
|
+
const recorrible = alto - innerHeight;
|
|
3196
|
+
if (recorrible <= 0) {
|
|
3197
|
+
setAvance(scrollY >= inicio ? 100 : 0);
|
|
3198
|
+
return;
|
|
3199
|
+
}
|
|
3200
|
+
const recorrido = scrollY - inicio;
|
|
3201
|
+
setAvance(Math.min(100, Math.max(0, recorrido / recorrible * 100)));
|
|
3202
|
+
};
|
|
3203
|
+
const alMoverse = () => {
|
|
3204
|
+
if (pendiente.current) return;
|
|
3205
|
+
pendiente.current = requestAnimationFrame(medir);
|
|
3206
|
+
};
|
|
3207
|
+
medir();
|
|
3208
|
+
addEventListener("scroll", alMoverse, { passive: true });
|
|
3209
|
+
addEventListener("resize", alMoverse);
|
|
3210
|
+
return () => {
|
|
3211
|
+
if (pendiente.current) cancelAnimationFrame(pendiente.current);
|
|
3212
|
+
removeEventListener("scroll", alMoverse);
|
|
3213
|
+
removeEventListener("resize", alMoverse);
|
|
3214
|
+
};
|
|
3215
|
+
}, [target]);
|
|
3216
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3217
|
+
"div",
|
|
3218
|
+
{
|
|
3219
|
+
"aria-hidden": "true",
|
|
3220
|
+
className: cn(
|
|
3221
|
+
"h-1 w-full overflow-hidden",
|
|
3222
|
+
sticky && "sticky top-0 z-40",
|
|
3223
|
+
className
|
|
3224
|
+
),
|
|
3225
|
+
...props,
|
|
3226
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3227
|
+
"div",
|
|
3228
|
+
{
|
|
3229
|
+
className: cn("h-full", tone === "warm" ? "bg-warm" : "bg-accent"),
|
|
3230
|
+
style: { width: `${avance}%` }
|
|
3231
|
+
}
|
|
3232
|
+
)
|
|
3233
|
+
}
|
|
3234
|
+
);
|
|
3235
|
+
}
|
|
2802
3236
|
function SidebarItem({
|
|
2803
3237
|
active = false,
|
|
2804
3238
|
asChild = false,
|
|
@@ -2813,7 +3247,7 @@ function SidebarItem({
|
|
|
2813
3247
|
{
|
|
2814
3248
|
"aria-current": active ? "page" : void 0,
|
|
2815
3249
|
className: cn(
|
|
2816
|
-
"rounded-chip px-sm gap-xs flex cursor-pointer items-center py-1.5",
|
|
3250
|
+
"rounded-chip px-step-sm gap-step-xs flex cursor-pointer items-center py-1.5",
|
|
2817
3251
|
"font-mono text-meta transition-standard",
|
|
2818
3252
|
"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent",
|
|
2819
3253
|
// El activo es fondo `surfaceRaised` y tinta primaria, igual que
|
|
@@ -2847,14 +3281,14 @@ function SidebarNav({
|
|
|
2847
3281
|
{
|
|
2848
3282
|
"aria-label": typeof title === "string" ? title : "Administraci\xF3n",
|
|
2849
3283
|
className: cn(
|
|
2850
|
-
"border-hairline bg-surface p-sm gap-sm flex h-full flex-col border-r",
|
|
3284
|
+
"border-hairline bg-surface p-step-sm gap-step-sm flex h-full flex-col border-r",
|
|
2851
3285
|
className
|
|
2852
3286
|
),
|
|
2853
3287
|
...props,
|
|
2854
3288
|
children: [
|
|
2855
|
-
title ? /* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "eyebrow", tone: "muted", as: "p", className: "px-sm", children: title }) : null,
|
|
3289
|
+
title ? /* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "eyebrow", tone: "muted", as: "p", className: "px-step-sm", children: title }) : null,
|
|
2856
3290
|
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "gap-0.5 flex flex-1 flex-col", children }),
|
|
2857
|
-
pie.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "meta", tone: "muted", as: "p", className: "border-hairline px-sm pt-sm border-t", children: pie.map((p, i) => /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
3291
|
+
pie.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "meta", tone: "muted", as: "p", className: "border-hairline px-step-sm pt-step-sm border-t", children: pie.map((p, i) => /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
2858
3292
|
i > 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", children: " \xB7 " }) : null,
|
|
2859
3293
|
p
|
|
2860
3294
|
] }, i)) }) : null
|
|
@@ -2863,7 +3297,7 @@ function SidebarNav({
|
|
|
2863
3297
|
);
|
|
2864
3298
|
}
|
|
2865
3299
|
function Stat({ value, label, tone = "neutral", progress, className, ...props }) {
|
|
2866
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(SUPERFICIE_TARJETA, "p-lg gap-xs flex flex-col", className), ...props, children: [
|
|
3300
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(SUPERFICIE_TARJETA, "p-step-lg gap-step-xs flex flex-col", className), ...props, children: [
|
|
2867
3301
|
/* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "stat", as: "p", tone: tone === "alerta" ? "warm" : "accent", children: value }),
|
|
2868
3302
|
/* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "eyebrow", tone: "muted", as: "p", children: label }),
|
|
2869
3303
|
typeof progress === "number" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2872,7 +3306,7 @@ function Stat({ value, label, tone = "neutral", progress, className, ...props })
|
|
|
2872
3306
|
value: progress,
|
|
2873
3307
|
tone: tone === "alerta" ? "warm" : "accent",
|
|
2874
3308
|
label: `${label}: ${progress}%`,
|
|
2875
|
-
className: "mt-sm"
|
|
3309
|
+
className: "mt-step-sm"
|
|
2876
3310
|
}
|
|
2877
3311
|
) : null
|
|
2878
3312
|
] });
|
|
@@ -2884,6 +3318,7 @@ function TalkCard({
|
|
|
2884
3318
|
dateTime,
|
|
2885
3319
|
location,
|
|
2886
3320
|
status,
|
|
3321
|
+
description,
|
|
2887
3322
|
className,
|
|
2888
3323
|
...props
|
|
2889
3324
|
}) {
|
|
@@ -2891,18 +3326,49 @@ function TalkCard({
|
|
|
2891
3326
|
date ? /* @__PURE__ */ jsxRuntime.jsx("time", { dateTime, children: date }, "fecha") : null,
|
|
2892
3327
|
location ? /* @__PURE__ */ jsxRuntime.jsx("span", { children: location }, "lugar") : null
|
|
2893
3328
|
].filter(Boolean);
|
|
2894
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Tarjeta, { className: cn("p-lg", className), ...props, children: /* @__PURE__ */ jsxRuntime.jsxs("article", { className: "gap-sm flex h-full flex-col", children: [
|
|
2895
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-sm flex items-start justify-between", children: [
|
|
3329
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Tarjeta, { className: cn("p-step-lg", className), ...props, children: /* @__PURE__ */ jsxRuntime.jsxs("article", { className: "gap-step-sm flex h-full flex-col", children: [
|
|
3330
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "gap-step-sm flex items-start justify-between", children: [
|
|
2896
3331
|
/* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "eyebrow", tone: "accent", as: "p", children: event }),
|
|
2897
3332
|
status ? /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "neutral", children: status }) : null
|
|
2898
3333
|
] }),
|
|
2899
3334
|
/* @__PURE__ */ jsxRuntime.jsx(Text, { as: "h3", variant: "h3", className: "group-hover:text-accent transition-standard", children: title }),
|
|
2900
|
-
|
|
3335
|
+
description ? /* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "ui", tone: "secondary", className: "line-clamp-2", children: description }) : null,
|
|
3336
|
+
pie.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "label", tone: "muted", as: "p", className: "gap-step-xs mt-auto flex items-center pt-step-sm", children: pie.map((m, i) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "gap-step-xs flex items-center", children: [
|
|
2901
3337
|
i > 0 ? /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", children: "\xB7" }) : null,
|
|
2902
3338
|
m
|
|
2903
3339
|
] }, i)) }) : null
|
|
2904
3340
|
] }) });
|
|
2905
3341
|
}
|
|
3342
|
+
function ThemeToggle({
|
|
3343
|
+
label = "Cambiar de tema",
|
|
3344
|
+
onThemeChange,
|
|
3345
|
+
variant = "secondary",
|
|
3346
|
+
size: size2 = "icon",
|
|
3347
|
+
className,
|
|
3348
|
+
...props
|
|
3349
|
+
}) {
|
|
3350
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3351
|
+
Button,
|
|
3352
|
+
{
|
|
3353
|
+
type: "button",
|
|
3354
|
+
variant,
|
|
3355
|
+
size: size2,
|
|
3356
|
+
"aria-label": label,
|
|
3357
|
+
className: cn("[&_svg]:size-[19px]", className),
|
|
3358
|
+
onClick: () => onThemeChange?.(alternarTema()),
|
|
3359
|
+
...props,
|
|
3360
|
+
children: [
|
|
3361
|
+
/* @__PURE__ */ jsxRuntime.jsx(Sol, { className: "light:hidden" }),
|
|
3362
|
+
/* @__PURE__ */ jsxRuntime.jsx(Luna, { className: "hidden light:block" })
|
|
3363
|
+
]
|
|
3364
|
+
}
|
|
3365
|
+
);
|
|
3366
|
+
}
|
|
3367
|
+
function useTema() {
|
|
3368
|
+
return react.useSyncExternalStore(suscribirse2, temaActual, servidor);
|
|
3369
|
+
}
|
|
3370
|
+
var suscribirse2 = (avisar) => escucharTema(() => avisar());
|
|
3371
|
+
var servidor = () => "dark";
|
|
2906
3372
|
function TableOfContents({
|
|
2907
3373
|
items,
|
|
2908
3374
|
title = "En esta p\xE1gina",
|
|
@@ -2911,17 +3377,21 @@ function TableOfContents({
|
|
|
2911
3377
|
className,
|
|
2912
3378
|
...props
|
|
2913
3379
|
}) {
|
|
2914
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("nav", { "aria-label": typeof title === "string" ? title : "En esta p\xE1gina", className: cn("gap-sm flex flex-col", className), ...props, children: [
|
|
3380
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("nav", { "aria-label": typeof title === "string" ? title : "En esta p\xE1gina", className: cn("gap-step-sm flex flex-col", className), ...props, children: [
|
|
2915
3381
|
/* @__PURE__ */ jsxRuntime.jsx(Text, { variant: "eyebrow", tone: "muted", as: "p", children: title }),
|
|
2916
|
-
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "border-hairline gap-xs flex flex-col border-l", children: items.map((item2) => {
|
|
3382
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "border-hairline gap-step-xs flex flex-col border-l", children: items.map((item2) => {
|
|
2917
3383
|
const activo = item2.href === activeHref;
|
|
2918
3384
|
const clases = cn(
|
|
2919
|
-
"px-sm -ml-px block border-l",
|
|
3385
|
+
"px-step-sm -ml-px block border-l",
|
|
2920
3386
|
"font-sans text-label transition-standard",
|
|
2921
3387
|
"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent",
|
|
2922
3388
|
"cursor-pointer",
|
|
2923
|
-
item2.nested && "pl-lg",
|
|
2924
|
-
|
|
3389
|
+
item2.nested && "pl-step-lg",
|
|
3390
|
+
"border-transparent text-text-secondary hover:text-text-primary",
|
|
3391
|
+
// El hover del activo se declara con las dos variantes juntas para
|
|
3392
|
+
// que gane al `hover:` de arriba por especificidad y no por el orden
|
|
3393
|
+
// en que Tailwind decida emitir las reglas.
|
|
3394
|
+
"aria-[current]:border-accent aria-[current]:text-accent aria-[current]:hover:text-accent"
|
|
2925
3395
|
);
|
|
2926
3396
|
return /* @__PURE__ */ jsxRuntime.jsx("li", { children: linkAsChild ? /* @__PURE__ */ jsxRuntime.jsx(reactSlot.Slot, { className: clases, "aria-current": activo ? "location" : void 0, children: linkAsChild({ href: item2.href, children: item2.label }) }) : /* @__PURE__ */ jsxRuntime.jsx("a", { href: item2.href, className: clases, "aria-current": activo ? "location" : void 0, children: item2.label }) }, item2.href);
|
|
2927
3397
|
}) })
|
|
@@ -2954,7 +3424,7 @@ function Logo({
|
|
|
2954
3424
|
className,
|
|
2955
3425
|
...props
|
|
2956
3426
|
}) {
|
|
2957
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("gap-xs inline-flex items-center", className), ...props, children: [
|
|
3427
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("gap-step-xs inline-flex items-center", className), ...props, children: [
|
|
2958
3428
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2959
3429
|
Isotipo,
|
|
2960
3430
|
{
|
|
@@ -3029,7 +3499,21 @@ var Correo = (props) => /* @__PURE__ */ jsxRuntime.jsxs(Funcional, { ...props, c
|
|
|
3029
3499
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "m3.5 7.5 7.4 5.2a2 2 0 0 0 2.2 0l7.4-5.2" })
|
|
3030
3500
|
] });
|
|
3031
3501
|
|
|
3502
|
+
exports.Accordion = Accordion;
|
|
3503
|
+
exports.AccordionContent = AccordionContent;
|
|
3504
|
+
exports.AccordionItem = AccordionItem;
|
|
3505
|
+
exports.AccordionTrigger = AccordionTrigger;
|
|
3032
3506
|
exports.Alert = Alert;
|
|
3507
|
+
exports.AlertDialog = AlertDialog;
|
|
3508
|
+
exports.AlertDialogAction = AlertDialogAction;
|
|
3509
|
+
exports.AlertDialogCancel = AlertDialogCancel;
|
|
3510
|
+
exports.AlertDialogContent = AlertDialogContent;
|
|
3511
|
+
exports.AlertDialogDescription = AlertDialogDescription;
|
|
3512
|
+
exports.AlertDialogFooter = AlertDialogFooter;
|
|
3513
|
+
exports.AlertDialogHeader = AlertDialogHeader;
|
|
3514
|
+
exports.AlertDialogOverlay = AlertDialogOverlay;
|
|
3515
|
+
exports.AlertDialogTitle = AlertDialogTitle;
|
|
3516
|
+
exports.AlertDialogTrigger = AlertDialogTrigger;
|
|
3033
3517
|
exports.ArticleCard = ArticleCard;
|
|
3034
3518
|
exports.AudioPlayer = AudioPlayer;
|
|
3035
3519
|
exports.AuthorCard = AuthorCard;
|
|
@@ -3108,6 +3592,7 @@ exports.RUTA_ASSETS = RUTA_ASSETS;
|
|
|
3108
3592
|
exports.RadioGroup = RadioGroup2;
|
|
3109
3593
|
exports.RadioGroupItem = RadioGroupItem;
|
|
3110
3594
|
exports.SUPERFICIE_TARJETA = SUPERFICIE_TARJETA;
|
|
3595
|
+
exports.ScrollingProgressBar = ScrollingProgressBar;
|
|
3111
3596
|
exports.Select = Select;
|
|
3112
3597
|
exports.SelectContent = SelectContent;
|
|
3113
3598
|
exports.SelectGroup = SelectGroup;
|
|
@@ -3131,6 +3616,9 @@ exports.SidebarNav = SidebarNav;
|
|
|
3131
3616
|
exports.Skeleton = Skeleton;
|
|
3132
3617
|
exports.Stat = Stat;
|
|
3133
3618
|
exports.Switch = Switch;
|
|
3619
|
+
exports.TEMA_ATRIBUTO = TEMA_ATRIBUTO;
|
|
3620
|
+
exports.TEMA_CLAVE = TEMA_CLAVE;
|
|
3621
|
+
exports.TEMA_EVENTO = TEMA_EVENTO;
|
|
3134
3622
|
exports.Table = Table;
|
|
3135
3623
|
exports.TableBody = TableBody;
|
|
3136
3624
|
exports.TableCaption = TableCaption;
|
|
@@ -3147,18 +3635,22 @@ exports.TabsTrigger = TabsTrigger;
|
|
|
3147
3635
|
exports.TalkCard = TalkCard;
|
|
3148
3636
|
exports.Text = Text;
|
|
3149
3637
|
exports.Textarea = Textarea;
|
|
3638
|
+
exports.ThemeToggle = ThemeToggle;
|
|
3150
3639
|
exports.Toast = Toast;
|
|
3151
3640
|
exports.ToastAction = ToastAction;
|
|
3152
3641
|
exports.ToastDescription = ToastDescription;
|
|
3153
3642
|
exports.ToastProvider = ToastProvider;
|
|
3154
3643
|
exports.ToastTitle = ToastTitle;
|
|
3155
3644
|
exports.ToastViewport = ToastViewport;
|
|
3645
|
+
exports.Toaster = Toaster;
|
|
3156
3646
|
exports.Tooltip = Tooltip;
|
|
3157
3647
|
exports.TooltipContent = TooltipContent;
|
|
3158
3648
|
exports.TooltipProvider = TooltipProvider;
|
|
3159
3649
|
exports.TooltipTrigger = TooltipTrigger;
|
|
3160
3650
|
exports.alertVariants = alert;
|
|
3161
3651
|
exports.aletas = aletas;
|
|
3652
|
+
exports.alternarTema = alternarTema;
|
|
3653
|
+
exports.aplicarTema = aplicarTema;
|
|
3162
3654
|
exports.avatarVariants = avatar;
|
|
3163
3655
|
exports.badgeVariants = badge;
|
|
3164
3656
|
exports.brand = brand;
|
|
@@ -3169,6 +3661,7 @@ exports.cn = cn;
|
|
|
3169
3661
|
exports.colors = colors;
|
|
3170
3662
|
exports.control = control;
|
|
3171
3663
|
exports.dark = dark;
|
|
3664
|
+
exports.escucharTema = escucharTema;
|
|
3172
3665
|
exports.fonts = fonts;
|
|
3173
3666
|
exports.gradient = gradient;
|
|
3174
3667
|
exports.light = light;
|
|
@@ -3179,13 +3672,20 @@ exports.motion = motion;
|
|
|
3179
3672
|
exports.naming = naming;
|
|
3180
3673
|
exports.poses = poses;
|
|
3181
3674
|
exports.radius = radius;
|
|
3675
|
+
exports.scriptTema = scriptTema;
|
|
3676
|
+
exports.series = series;
|
|
3182
3677
|
exports.shadow = shadow;
|
|
3183
3678
|
exports.sintaxis = sintaxis;
|
|
3184
3679
|
exports.size = size;
|
|
3185
3680
|
exports.social = social_exports;
|
|
3186
3681
|
exports.spacing = spacing;
|
|
3187
3682
|
exports.tagline = tagline;
|
|
3683
|
+
exports.temaActual = temaActual;
|
|
3684
|
+
exports.temaGuardado = temaGuardado;
|
|
3685
|
+
exports.temaPreferido = temaPreferido;
|
|
3188
3686
|
exports.textVariants = texto;
|
|
3687
|
+
exports.toast = toast2;
|
|
3189
3688
|
exports.tokens = tokens;
|
|
3190
3689
|
exports.typeScale = typeScale;
|
|
3690
|
+
exports.useTema = useTema;
|
|
3191
3691
|
exports.usoDeCara = usoDeCara;
|