@snksergio/design-system 0.39.0 → 0.40.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/dist-lib/chunks/app-shell-mocks-kWIVSzLs.mjs.map +1 -1
- package/dist-lib/chunks/app-shell-mocks-oO_IV3Gw.cjs.map +1 -1
- package/dist-lib/chunks/{avatar-DSmxOg-W.cjs → avatar-BiaG9OJS.cjs} +6 -1
- package/dist-lib/chunks/avatar-BiaG9OJS.cjs.map +1 -0
- package/dist-lib/chunks/{avatar-c1_uhYC5.mjs → avatar-DQYiVRlE.mjs} +6 -1
- package/dist-lib/chunks/avatar-DQYiVRlE.mjs.map +1 -0
- package/dist-lib/chunks/chat-v2-mocks-BV9Wha_Z.cjs.map +1 -1
- package/dist-lib/chunks/chat-v2-mocks-DvZRkhmz.mjs.map +1 -1
- package/dist-lib/chunks/{input-SiP1JWBU.mjs → input-CaC0B-_v.mjs} +2 -2
- package/dist-lib/chunks/{input-SiP1JWBU.mjs.map → input-CaC0B-_v.mjs.map} +1 -1
- package/dist-lib/chunks/{input-6P31vUfa.cjs → input-DMH5rSP1.cjs} +2 -2
- package/dist-lib/chunks/{input-6P31vUfa.cjs.map → input-DMH5rSP1.cjs.map} +1 -1
- package/dist-lib/chunks/{kpi-delta-BQ6waavJ.mjs → kpi-delta-CjR0OsdC.mjs} +3 -3
- package/dist-lib/chunks/{kpi-delta-BQ6waavJ.mjs.map → kpi-delta-CjR0OsdC.mjs.map} +1 -1
- package/dist-lib/chunks/{kpi-delta-NM4hUgz4.cjs → kpi-delta-NnEu4oIs.cjs} +3 -3
- package/dist-lib/chunks/{kpi-delta-NM4hUgz4.cjs.map → kpi-delta-NnEu4oIs.cjs.map} +1 -1
- package/dist-lib/chunks/{page-header-DEa2Lrl1.cjs → page-header-Cp_9Wog4.cjs} +2 -2
- package/dist-lib/chunks/page-header-Cp_9Wog4.cjs.map +1 -0
- package/dist-lib/chunks/{page-header-D3hIqlo2.mjs → page-header-DEGbgT4w.mjs} +2 -2
- package/dist-lib/chunks/page-header-DEGbgT4w.mjs.map +1 -0
- package/dist-lib/chunks/{panel-CsvrFQem.mjs → panel-B1xKDbjB.mjs} +5 -5
- package/dist-lib/chunks/panel-B1xKDbjB.mjs.map +1 -0
- package/dist-lib/chunks/{panel-CUXtnRRW.cjs → panel-ma7e3s4C.cjs} +5 -5
- package/dist-lib/chunks/panel-ma7e3s4C.cjs.map +1 -0
- package/dist-lib/chunks/{textarea-C1QmGVPr.mjs → textarea-DivoQmJw.mjs} +2 -2
- package/dist-lib/chunks/textarea-DivoQmJw.mjs.map +1 -0
- package/dist-lib/chunks/{textarea-BOEpteRb.cjs → textarea-c80RFmMP.cjs} +2 -2
- package/dist-lib/chunks/textarea-c80RFmMP.cjs.map +1 -0
- package/dist-lib/chunks/{tooltip-CO5noC2-.mjs → tooltip-mMF4YHZg.mjs} +146 -35
- package/dist-lib/chunks/tooltip-mMF4YHZg.mjs.map +1 -0
- package/dist-lib/chunks/{tooltip-CAZAtBhO.cjs → tooltip-pvZ_X-Ub.cjs} +145 -34
- package/dist-lib/chunks/tooltip-pvZ_X-Ub.cjs.map +1 -0
- package/dist-lib/chunks/{useTheme-C8eZFGSb.cjs → useTheme-BD0nloAv.cjs} +2 -2
- package/dist-lib/chunks/useTheme-BD0nloAv.cjs.map +1 -0
- package/dist-lib/chunks/{useTheme-Chash1gR.mjs → useTheme-D1QVzZDW.mjs} +2 -2
- package/dist-lib/chunks/useTheme-D1QVzZDW.mjs.map +1 -0
- package/dist-lib/index.cjs +71 -32
- package/dist-lib/index.cjs.map +1 -1
- package/dist-lib/index.mjs +77 -38
- package/dist-lib/index.mjs.map +1 -1
- package/dist-lib/preview/chat.cjs +3 -3
- package/dist-lib/preview/chat.cjs.map +1 -1
- package/dist-lib/preview/chat.mjs +3 -3
- package/dist-lib/preview/chat.mjs.map +1 -1
- package/dist-lib/preview/clientes.cjs +6 -6
- package/dist-lib/preview/clientes.mjs +6 -6
- package/dist-lib/preview/dashboard.cjs +4 -4
- package/dist-lib/preview/dashboard.mjs +4 -4
- package/dist-lib/shadcn.cjs +5 -4
- package/dist-lib/shadcn.cjs.map +1 -1
- package/dist-lib/shadcn.mjs +7 -6
- package/dist-lib/src/components/shadcn/input-otp.d.ts +83 -33
- package/dist-lib/src/components/shadcn/input-otp.d.ts.map +1 -1
- package/dist-lib/src/components/ui/Chart/chart.d.ts.map +1 -1
- package/dist-lib/src/components/ui/MarkdownText/markdown-text.d.ts.map +1 -1
- package/dist-lib/src/lib/utils.d.ts.map +1 -1
- package/dist-lib/theme/brand-blue.css +110 -110
- package/dist-lib/theme/brand-green.css +110 -110
- package/dist-lib/theme/brand-pay.css +189 -189
- package/dist-lib/theme/brand-vibrant.css +148 -148
- package/dist-lib/tokens.cjs.map +1 -1
- package/dist-lib/tokens.mjs.map +1 -1
- package/package.json +6 -3
- package/dist-lib/chunks/avatar-DSmxOg-W.cjs.map +0 -1
- package/dist-lib/chunks/avatar-c1_uhYC5.mjs.map +0 -1
- package/dist-lib/chunks/page-header-D3hIqlo2.mjs.map +0 -1
- package/dist-lib/chunks/page-header-DEa2Lrl1.cjs.map +0 -1
- package/dist-lib/chunks/panel-CUXtnRRW.cjs.map +0 -1
- package/dist-lib/chunks/panel-CsvrFQem.mjs.map +0 -1
- package/dist-lib/chunks/textarea-BOEpteRb.cjs.map +0 -1
- package/dist-lib/chunks/textarea-C1QmGVPr.mjs.map +0 -1
- package/dist-lib/chunks/tooltip-CAZAtBhO.cjs.map +0 -1
- package/dist-lib/chunks/tooltip-CO5noC2-.mjs.map +0 -1
- package/dist-lib/chunks/useTheme-C8eZFGSb.cjs.map +0 -1
- package/dist-lib/chunks/useTheme-Chash1gR.mjs.map +0 -1
package/dist-lib/index.cjs
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const panel = require("./chunks/panel-
|
|
4
|
-
const useTheme = require("./chunks/useTheme-
|
|
5
|
-
const avatar = require("./chunks/avatar-
|
|
3
|
+
const panel = require("./chunks/panel-ma7e3s4C.cjs");
|
|
4
|
+
const useTheme = require("./chunks/useTheme-BD0nloAv.cjs");
|
|
5
|
+
const avatar = require("./chunks/avatar-BiaG9OJS.cjs");
|
|
6
6
|
const jsxRuntime = require("react/jsx-runtime");
|
|
7
7
|
const React = require("react");
|
|
8
|
-
const textarea = require("./chunks/textarea-
|
|
8
|
+
const textarea = require("./chunks/textarea-c80RFmMP.cjs");
|
|
9
9
|
const lucideReact = require("lucide-react");
|
|
10
|
-
const tooltip = require("./chunks/tooltip-
|
|
10
|
+
const tooltip = require("./chunks/tooltip-pvZ_X-Ub.cjs");
|
|
11
11
|
require("@radix-ui/react-aspect-ratio");
|
|
12
12
|
require("react-day-picker");
|
|
13
13
|
require("@radix-ui/react-collapsible");
|
|
14
|
-
const input = require("./chunks/input-
|
|
14
|
+
const input = require("./chunks/input-DMH5rSP1.cjs");
|
|
15
15
|
const sonner = require("sonner");
|
|
16
|
-
const kpiDelta = require("./chunks/kpi-delta-
|
|
17
|
-
const pageHeader = require("./chunks/page-header-
|
|
16
|
+
const kpiDelta = require("./chunks/kpi-delta-NnEu4oIs.cjs");
|
|
17
|
+
const pageHeader = require("./chunks/page-header-Cp_9Wog4.cjs");
|
|
18
18
|
const RechartsPrimitive = require("recharts");
|
|
19
19
|
const reactVirtual = require("@tanstack/react-virtual");
|
|
20
20
|
require("@hello-pangea/dnd");
|
|
@@ -402,27 +402,63 @@ const markdownTextStyles = avatar.tv({
|
|
|
402
402
|
});
|
|
403
403
|
const CODE_RE = /```([\s\S]+?)```|`([^`]+?)`/g;
|
|
404
404
|
const URL_RE = /((?:https?:\/\/|www\.)[^\s<>()]+[^\s<>().,!?;:'"])/g;
|
|
405
|
+
function pushAll(dst, src) {
|
|
406
|
+
for (const node of src) dst.push(node);
|
|
407
|
+
}
|
|
408
|
+
const MARKERS = [
|
|
409
|
+
{ re: /\*([^*\n]+?)\*/, slot: "strong", el: "strong" },
|
|
410
|
+
{ re: /_([^_\n]+?)_/, slot: "em", el: "em" },
|
|
411
|
+
{ re: /~([^~\n]+?)~/, slot: "strike", el: "span" }
|
|
412
|
+
];
|
|
405
413
|
function parseInline(text, s, prefix) {
|
|
406
|
-
const
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
414
|
+
const root = [];
|
|
415
|
+
const frames = [root];
|
|
416
|
+
const work = [{ kind: "text", text, prefix }];
|
|
417
|
+
while (work.length) {
|
|
418
|
+
const task = work.pop();
|
|
419
|
+
if (task.kind === "open") {
|
|
420
|
+
frames.push([]);
|
|
421
|
+
continue;
|
|
422
|
+
}
|
|
423
|
+
if (task.kind === "close") {
|
|
424
|
+
const children = frames.pop();
|
|
425
|
+
const Tag = task.el;
|
|
426
|
+
frames[frames.length - 1].push(
|
|
427
|
+
/* @__PURE__ */ jsxRuntime.jsx(Tag, { className: task.className, children }, task.key)
|
|
428
|
+
);
|
|
429
|
+
continue;
|
|
430
|
+
}
|
|
431
|
+
const current = frames[frames.length - 1];
|
|
432
|
+
let mk = null;
|
|
433
|
+
let m = null;
|
|
434
|
+
for (const candidate of MARKERS) {
|
|
435
|
+
const found = candidate.re.exec(task.text);
|
|
436
|
+
if (found && found.index !== void 0) {
|
|
437
|
+
mk = candidate;
|
|
438
|
+
m = found;
|
|
439
|
+
break;
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
if (!mk || !m) {
|
|
443
|
+
if (task.text) current.push(task.text);
|
|
444
|
+
continue;
|
|
445
|
+
}
|
|
446
|
+
const before = task.text.slice(0, m.index);
|
|
415
447
|
const inner = m[1];
|
|
416
|
-
const after = text.slice(m.index + m[0].length);
|
|
417
|
-
const
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
448
|
+
const after = task.text.slice(m.index + m[0].length);
|
|
449
|
+
const className = mk.slot === "strong" ? s.strong() : mk.slot === "em" ? s.em() : s.strike();
|
|
450
|
+
work.push({ kind: "text", text: after, prefix: `${task.prefix}-a` });
|
|
451
|
+
work.push({
|
|
452
|
+
kind: "close",
|
|
453
|
+
el: mk.el,
|
|
454
|
+
className,
|
|
455
|
+
key: `${task.prefix}-${mk.slot}`
|
|
456
|
+
});
|
|
457
|
+
work.push({ kind: "text", text: inner, prefix: `${task.prefix}-i` });
|
|
458
|
+
work.push({ kind: "open" });
|
|
459
|
+
work.push({ kind: "text", text: before, prefix: `${task.prefix}-b` });
|
|
424
460
|
}
|
|
425
|
-
return
|
|
461
|
+
return root;
|
|
426
462
|
}
|
|
427
463
|
function parseLinksAndInline(text, s, prefix) {
|
|
428
464
|
const out = [];
|
|
@@ -432,7 +468,7 @@ function parseLinksAndInline(text, s, prefix) {
|
|
|
432
468
|
let m;
|
|
433
469
|
while ((m = URL_RE.exec(text)) !== null) {
|
|
434
470
|
if (m.index > last) {
|
|
435
|
-
out
|
|
471
|
+
pushAll(out, parseInline(text.slice(last, m.index), s, `${prefix}-${i}t`));
|
|
436
472
|
}
|
|
437
473
|
const raw = m[0];
|
|
438
474
|
const href = raw.startsWith("www.") ? `https://${raw}` : raw;
|
|
@@ -453,7 +489,7 @@ function parseLinksAndInline(text, s, prefix) {
|
|
|
453
489
|
i += 1;
|
|
454
490
|
}
|
|
455
491
|
if (last < text.length) {
|
|
456
|
-
out
|
|
492
|
+
pushAll(out, parseInline(text.slice(last), s, `${prefix}-${i}t`));
|
|
457
493
|
}
|
|
458
494
|
return out;
|
|
459
495
|
}
|
|
@@ -465,7 +501,7 @@ function parseMarkdown(source, s) {
|
|
|
465
501
|
let m;
|
|
466
502
|
while ((m = CODE_RE.exec(source)) !== null) {
|
|
467
503
|
if (m.index > last) {
|
|
468
|
-
out
|
|
504
|
+
pushAll(out, parseLinksAndInline(source.slice(last, m.index), s, `${i}t`));
|
|
469
505
|
}
|
|
470
506
|
const codeContent = m[1] ?? m[2] ?? "";
|
|
471
507
|
out.push(
|
|
@@ -475,7 +511,7 @@ function parseMarkdown(source, s) {
|
|
|
475
511
|
i += 1;
|
|
476
512
|
}
|
|
477
513
|
if (last < source.length) {
|
|
478
|
-
out
|
|
514
|
+
pushAll(out, parseLinksAndInline(source.slice(last), s, `${i}t`));
|
|
479
515
|
}
|
|
480
516
|
return out;
|
|
481
517
|
}
|
|
@@ -7433,9 +7469,12 @@ const ChartContainer = React__namespace.forwardRef(({ id, className, children, c
|
|
|
7433
7469
|
) });
|
|
7434
7470
|
});
|
|
7435
7471
|
ChartContainer.displayName = "ChartContainer";
|
|
7472
|
+
const SAFE_CSS_IDENT = /^[A-Za-z0-9_-]+$/;
|
|
7473
|
+
const SAFE_CSS_VALUE = /^[A-Za-z0-9\s#(),.%/_-]+$/;
|
|
7436
7474
|
const ChartStyle = ({ id, config }) => {
|
|
7475
|
+
if (!SAFE_CSS_IDENT.test(id)) return null;
|
|
7437
7476
|
const colorConfig = Object.entries(config).filter(
|
|
7438
|
-
([, c]) => c.theme || c.color
|
|
7477
|
+
([key, c]) => (c.theme || c.color) && SAFE_CSS_IDENT.test(key)
|
|
7439
7478
|
);
|
|
7440
7479
|
if (!colorConfig.length) return null;
|
|
7441
7480
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -7447,7 +7486,7 @@ const ChartStyle = ({ id, config }) => {
|
|
|
7447
7486
|
${prefix} [data-chart=${id}] {
|
|
7448
7487
|
${colorConfig.map(([key, itemConfig]) => {
|
|
7449
7488
|
const color = itemConfig.theme?.[theme] || itemConfig.color;
|
|
7450
|
-
return color ? ` --color-${key}: ${color};` : null;
|
|
7489
|
+
return color && SAFE_CSS_VALUE.test(color) ? ` --color-${key}: ${color};` : null;
|
|
7451
7490
|
}).filter(Boolean).join("\n")}
|
|
7452
7491
|
}
|
|
7453
7492
|
`
|