@khipu/design-system 0.3.4 → 0.3.5-alpha.2
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/beercss/khipu-beercss.css +62 -17
- package/dist/beercss/khipu-beercss.js +62 -0
- package/dist/beercss/khipu-beercss.min.css +1 -1
- package/dist/beercss/khipu-beercss.min.js +1 -1
- package/dist/beercss/khipu-beercss.scoped.css +62 -17
- package/dist/beercss/khipu-beercss.scoped.min.css +1 -1
- package/dist/beercss/metadata.json +5 -5
- package/dist/index.js +213 -147
- package/dist/index.mjs +83 -17
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -126,6 +126,9 @@ __export(index_exports, {
|
|
|
126
126
|
});
|
|
127
127
|
module.exports = __toCommonJS(index_exports);
|
|
128
128
|
|
|
129
|
+
// src/theme/KdsThemeProvider.tsx
|
|
130
|
+
var import_react = require("react");
|
|
131
|
+
|
|
129
132
|
// src/components/core/utils.ts
|
|
130
133
|
var import_clsx = require("clsx");
|
|
131
134
|
function hexToRgb(hex) {
|
|
@@ -199,7 +202,70 @@ function formatTime(iso) {
|
|
|
199
202
|
|
|
200
203
|
// src/theme/KdsThemeProvider.tsx
|
|
201
204
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
205
|
+
var CARD_MIN_DELTA_PX = 8;
|
|
206
|
+
var CARD_TRANSITION_MS = 280;
|
|
207
|
+
var BODY_CARD_SELECTOR = ".kds-screen > .kds-card-elevated";
|
|
208
|
+
var CARD_MARK_ATTRIBUTE = "data-kds-height-transition";
|
|
209
|
+
function useCardHeightTransition() {
|
|
210
|
+
(0, import_react.useEffect)(() => {
|
|
211
|
+
if (typeof window === "undefined" || typeof ResizeObserver === "undefined") {
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
if (typeof Element.prototype.animate !== "function") {
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
if (window.matchMedia?.("(prefers-reduced-motion: reduce)").matches) {
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
const observers = [];
|
|
221
|
+
const observe = (card) => {
|
|
222
|
+
if (card.getAttribute(CARD_MARK_ATTRIBUTE) === "on") {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
card.setAttribute(CARD_MARK_ATTRIBUTE, "on");
|
|
226
|
+
let previous = card.offsetHeight;
|
|
227
|
+
let animating = false;
|
|
228
|
+
const observer = new ResizeObserver(() => {
|
|
229
|
+
if (animating) {
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
const next = card.offsetHeight;
|
|
233
|
+
if (Math.abs(next - previous) < CARD_MIN_DELTA_PX) {
|
|
234
|
+
previous = next;
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
animating = true;
|
|
238
|
+
const animation = card.animate(
|
|
239
|
+
[{ height: `${previous}px` }, { height: `${next}px` }],
|
|
240
|
+
{ duration: CARD_TRANSITION_MS, easing: "ease-out" }
|
|
241
|
+
);
|
|
242
|
+
previous = next;
|
|
243
|
+
animation.finished.then(() => {
|
|
244
|
+
animating = false;
|
|
245
|
+
previous = card.offsetHeight;
|
|
246
|
+
}).catch(() => {
|
|
247
|
+
animating = false;
|
|
248
|
+
});
|
|
249
|
+
});
|
|
250
|
+
observer.observe(card);
|
|
251
|
+
observers.push(observer);
|
|
252
|
+
};
|
|
253
|
+
document.querySelectorAll(BODY_CARD_SELECTOR).forEach(observe);
|
|
254
|
+
const tree = new MutationObserver(() => {
|
|
255
|
+
document.querySelectorAll(BODY_CARD_SELECTOR).forEach(observe);
|
|
256
|
+
});
|
|
257
|
+
tree.observe(document.body, { childList: true, subtree: true });
|
|
258
|
+
return () => {
|
|
259
|
+
tree.disconnect();
|
|
260
|
+
observers.forEach((observer) => observer.disconnect());
|
|
261
|
+
document.querySelectorAll(BODY_CARD_SELECTOR).forEach((card) => {
|
|
262
|
+
card.removeAttribute(CARD_MARK_ATTRIBUTE);
|
|
263
|
+
});
|
|
264
|
+
};
|
|
265
|
+
}, []);
|
|
266
|
+
}
|
|
202
267
|
function KdsThemeProvider({ primaryColor, mode = "light", children }) {
|
|
268
|
+
useCardHeightTransition();
|
|
203
269
|
const style = primaryColor ? {
|
|
204
270
|
"--primary": primaryColor,
|
|
205
271
|
"--on-primary": getContrastColor(primaryColor),
|
|
@@ -1181,9 +1247,9 @@ var tokens = {
|
|
|
1181
1247
|
};
|
|
1182
1248
|
|
|
1183
1249
|
// src/components/core/KdsButton/KdsButton.tsx
|
|
1184
|
-
var
|
|
1250
|
+
var import_react2 = require("react");
|
|
1185
1251
|
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
1186
|
-
var KdsButton = (0,
|
|
1252
|
+
var KdsButton = (0, import_react2.forwardRef)(
|
|
1187
1253
|
({
|
|
1188
1254
|
variant = "primary",
|
|
1189
1255
|
size,
|
|
@@ -1227,9 +1293,9 @@ var KdsButton = (0, import_react.forwardRef)(
|
|
|
1227
1293
|
KdsButton.displayName = "KdsButton";
|
|
1228
1294
|
|
|
1229
1295
|
// src/components/core/KdsTextField/KdsTextField.tsx
|
|
1230
|
-
var
|
|
1296
|
+
var import_react3 = require("react");
|
|
1231
1297
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
1232
|
-
var KdsTextField = (0,
|
|
1298
|
+
var KdsTextField = (0, import_react3.forwardRef)(
|
|
1233
1299
|
({
|
|
1234
1300
|
label,
|
|
1235
1301
|
helperText,
|
|
@@ -1248,7 +1314,7 @@ var KdsTextField = (0, import_react2.forwardRef)(
|
|
|
1248
1314
|
requiredMark = true,
|
|
1249
1315
|
...props
|
|
1250
1316
|
}, ref) => {
|
|
1251
|
-
const [revealed, setRevealed] = (0,
|
|
1317
|
+
const [revealed, setRevealed] = (0, import_react3.useState)(false);
|
|
1252
1318
|
const fieldId = id || `kds-field-${label.toLowerCase().replace(/\s+/g, "-")}`;
|
|
1253
1319
|
const isRevealable = !!revealable && !readOnly && !props.disabled;
|
|
1254
1320
|
const inputType = isRevealable ? revealed ? "text" : "password" : type;
|
|
@@ -1317,9 +1383,9 @@ var KdsTextField = (0, import_react2.forwardRef)(
|
|
|
1317
1383
|
KdsTextField.displayName = "KdsTextField";
|
|
1318
1384
|
|
|
1319
1385
|
// src/components/core/KdsSearchField/KdsSearchField.tsx
|
|
1320
|
-
var
|
|
1386
|
+
var import_react4 = require("react");
|
|
1321
1387
|
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
1322
|
-
var KdsSearchField = (0,
|
|
1388
|
+
var KdsSearchField = (0, import_react4.forwardRef)(
|
|
1323
1389
|
({ className, withIcon = false, ...props }, ref) => {
|
|
1324
1390
|
const input = /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
1325
1391
|
"input",
|
|
@@ -1342,9 +1408,9 @@ var KdsSearchField = (0, import_react3.forwardRef)(
|
|
|
1342
1408
|
KdsSearchField.displayName = "KdsSearchField";
|
|
1343
1409
|
|
|
1344
1410
|
// src/components/core/KdsCheckbox/KdsCheckbox.tsx
|
|
1345
|
-
var
|
|
1411
|
+
var import_react5 = require("react");
|
|
1346
1412
|
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
1347
|
-
var KdsCheckbox = (0,
|
|
1413
|
+
var KdsCheckbox = (0, import_react5.forwardRef)(
|
|
1348
1414
|
({ label, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: (0, import_clsx.clsx)("checkbox", className), children: [
|
|
1349
1415
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("input", { ref, type: "checkbox", ...props }),
|
|
1350
1416
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { children: label })
|
|
@@ -1353,9 +1419,9 @@ var KdsCheckbox = (0, import_react4.forwardRef)(
|
|
|
1353
1419
|
KdsCheckbox.displayName = "KdsCheckbox";
|
|
1354
1420
|
|
|
1355
1421
|
// src/components/core/KdsCard/KdsCard.tsx
|
|
1356
|
-
var
|
|
1422
|
+
var import_react6 = require("react");
|
|
1357
1423
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
1358
|
-
var KdsCard = (0,
|
|
1424
|
+
var KdsCard = (0, import_react6.forwardRef)(
|
|
1359
1425
|
({ variant = "elevated", dimmed, children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
1360
1426
|
"article",
|
|
1361
1427
|
{
|
|
@@ -1371,28 +1437,28 @@ var KdsCard = (0, import_react5.forwardRef)(
|
|
|
1371
1437
|
)
|
|
1372
1438
|
);
|
|
1373
1439
|
KdsCard.displayName = "KdsCard";
|
|
1374
|
-
var KdsCardHeader = (0,
|
|
1440
|
+
var KdsCardHeader = (0, import_react6.forwardRef)(
|
|
1375
1441
|
({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { ref, className: (0, import_clsx.clsx)("kds-card-header", className), ...props, children })
|
|
1376
1442
|
);
|
|
1377
1443
|
KdsCardHeader.displayName = "KdsCardHeader";
|
|
1378
|
-
var KdsCardBody = (0,
|
|
1444
|
+
var KdsCardBody = (0, import_react6.forwardRef)(
|
|
1379
1445
|
({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { ref, className: (0, import_clsx.clsx)("kds-card-body", className), ...props, children })
|
|
1380
1446
|
);
|
|
1381
1447
|
KdsCardBody.displayName = "KdsCardBody";
|
|
1382
|
-
var KdsCardFooter = (0,
|
|
1448
|
+
var KdsCardFooter = (0, import_react6.forwardRef)(
|
|
1383
1449
|
({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { ref, className: (0, import_clsx.clsx)("kds-card-footer", className), ...props, children })
|
|
1384
1450
|
);
|
|
1385
1451
|
KdsCardFooter.displayName = "KdsCardFooter";
|
|
1386
1452
|
|
|
1387
1453
|
// src/components/core/KdsSpinner/KdsSpinner.tsx
|
|
1388
|
-
var
|
|
1454
|
+
var import_react7 = require("react");
|
|
1389
1455
|
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
1390
1456
|
var SIZE_CLASS = {
|
|
1391
1457
|
small: "small",
|
|
1392
1458
|
medium: null,
|
|
1393
1459
|
large: "large"
|
|
1394
1460
|
};
|
|
1395
|
-
var KdsSpinner = (0,
|
|
1461
|
+
var KdsSpinner = (0, import_react7.forwardRef)(
|
|
1396
1462
|
({ size = "medium", label, className, ...props }, ref) => {
|
|
1397
1463
|
const sizeClass = SIZE_CLASS[size];
|
|
1398
1464
|
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
|
|
@@ -1414,9 +1480,9 @@ var KdsSpinner = (0, import_react6.forwardRef)(
|
|
|
1414
1480
|
KdsSpinner.displayName = "KdsSpinner";
|
|
1415
1481
|
|
|
1416
1482
|
// src/components/core/KdsSecureLoader/KdsSecureLoader.tsx
|
|
1417
|
-
var
|
|
1483
|
+
var import_react8 = require("react");
|
|
1418
1484
|
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
1419
|
-
var KdsSecureLoader = (0,
|
|
1485
|
+
var KdsSecureLoader = (0, import_react8.forwardRef)(
|
|
1420
1486
|
({ title, message, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { ref, className: (0, import_clsx.clsx)("kds-secure-loader", className), role: "status", "aria-busy": "true", ...props, children: [
|
|
1421
1487
|
(title || message) && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "kds-secure-loader-text", children: [
|
|
1422
1488
|
title && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { className: "kds-secure-loader-title", children: title }),
|
|
@@ -1442,13 +1508,13 @@ var KdsSecureLoader = (0, import_react7.forwardRef)(
|
|
|
1442
1508
|
KdsSecureLoader.displayName = "KdsSecureLoader";
|
|
1443
1509
|
|
|
1444
1510
|
// src/components/core/KdsCopyButton/KdsCopyButton.tsx
|
|
1445
|
-
var
|
|
1511
|
+
var import_react10 = require("react");
|
|
1446
1512
|
|
|
1447
1513
|
// src/components/core/hooks/useCopyToClipboard.ts
|
|
1448
|
-
var
|
|
1514
|
+
var import_react9 = require("react");
|
|
1449
1515
|
function useCopyToClipboard(resetMs = 1200) {
|
|
1450
|
-
const [copied, setCopied] = (0,
|
|
1451
|
-
const copy = (0,
|
|
1516
|
+
const [copied, setCopied] = (0, import_react9.useState)(false);
|
|
1517
|
+
const copy = (0, import_react9.useCallback)(
|
|
1452
1518
|
async (text) => {
|
|
1453
1519
|
try {
|
|
1454
1520
|
await navigator.clipboard.writeText(text);
|
|
@@ -1464,7 +1530,7 @@ function useCopyToClipboard(resetMs = 1200) {
|
|
|
1464
1530
|
|
|
1465
1531
|
// src/components/core/KdsCopyButton/KdsCopyButton.tsx
|
|
1466
1532
|
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
1467
|
-
var KdsCopyButton = (0,
|
|
1533
|
+
var KdsCopyButton = (0, import_react10.forwardRef)(
|
|
1468
1534
|
({ value, copiedText = "Copiado", className, ...props }, ref) => {
|
|
1469
1535
|
const { copied, copy } = useCopyToClipboard();
|
|
1470
1536
|
return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
|
|
@@ -1490,15 +1556,15 @@ var KdsCopyButton = (0, import_react9.forwardRef)(
|
|
|
1490
1556
|
KdsCopyButton.displayName = "KdsCopyButton";
|
|
1491
1557
|
|
|
1492
1558
|
// src/components/core/KdsLinearProgress/KdsLinearProgress.tsx
|
|
1493
|
-
var
|
|
1559
|
+
var import_react11 = require("react");
|
|
1494
1560
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
1495
|
-
var KdsLinearProgress = (0,
|
|
1561
|
+
var KdsLinearProgress = (0, import_react11.forwardRef)(
|
|
1496
1562
|
({ value, max = 100, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("progress", { ref, className: (0, import_clsx.clsx)("kds-progress", className), value, max, ...props })
|
|
1497
1563
|
);
|
|
1498
1564
|
KdsLinearProgress.displayName = "KdsLinearProgress";
|
|
1499
1565
|
|
|
1500
1566
|
// src/components/core/KdsAlert/KdsAlert.tsx
|
|
1501
|
-
var
|
|
1567
|
+
var import_react12 = require("react");
|
|
1502
1568
|
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
1503
1569
|
var DEFAULT_ICONS = {
|
|
1504
1570
|
success: "check_circle",
|
|
@@ -1506,7 +1572,7 @@ var DEFAULT_ICONS = {
|
|
|
1506
1572
|
warning: "warning",
|
|
1507
1573
|
error: "error"
|
|
1508
1574
|
};
|
|
1509
|
-
var KdsAlert = (0,
|
|
1575
|
+
var KdsAlert = (0, import_react12.forwardRef)(
|
|
1510
1576
|
({ severity, title, icon, inline, onClose, children, className, ...props }, ref) => {
|
|
1511
1577
|
const resolvedIcon = icon === false ? null : typeof icon === "string" ? icon : DEFAULT_ICONS[severity];
|
|
1512
1578
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
@@ -1540,7 +1606,7 @@ var KdsAlert = (0, import_react11.forwardRef)(
|
|
|
1540
1606
|
KdsAlert.displayName = "KdsAlert";
|
|
1541
1607
|
|
|
1542
1608
|
// src/components/core/KdsTypography/KdsTypography.tsx
|
|
1543
|
-
var
|
|
1609
|
+
var import_react13 = require("react");
|
|
1544
1610
|
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
1545
1611
|
var variantTag = {
|
|
1546
1612
|
display1: "h1",
|
|
@@ -1561,7 +1627,7 @@ var variantTag = {
|
|
|
1561
1627
|
link: "span",
|
|
1562
1628
|
strong: "span"
|
|
1563
1629
|
};
|
|
1564
|
-
var KdsTypography = (0,
|
|
1630
|
+
var KdsTypography = (0, import_react13.forwardRef)(
|
|
1565
1631
|
({ variant = "body", color, as, children, className, ...props }, ref) => {
|
|
1566
1632
|
const Tag = as || variantTag[variant];
|
|
1567
1633
|
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
@@ -1582,12 +1648,12 @@ var KdsTypography = (0, import_react12.forwardRef)(
|
|
|
1582
1648
|
KdsTypography.displayName = "KdsTypography";
|
|
1583
1649
|
|
|
1584
1650
|
// src/components/core/KdsTabs/KdsTabs.tsx
|
|
1585
|
-
var
|
|
1651
|
+
var import_react15 = __toESM(require("react"));
|
|
1586
1652
|
|
|
1587
1653
|
// src/components/core/hooks/useTabsKeyboard.ts
|
|
1588
|
-
var
|
|
1654
|
+
var import_react14 = require("react");
|
|
1589
1655
|
function useTabsKeyboard(tabCount, activeIndex, onChange) {
|
|
1590
|
-
const onKeyDown = (0,
|
|
1656
|
+
const onKeyDown = (0, import_react14.useCallback)(
|
|
1591
1657
|
(e) => {
|
|
1592
1658
|
let next = activeIndex;
|
|
1593
1659
|
if (e.key === "ArrowRight") next = (activeIndex + 1) % tabCount;
|
|
@@ -1608,11 +1674,11 @@ function useTabsKeyboard(tabCount, activeIndex, onChange) {
|
|
|
1608
1674
|
|
|
1609
1675
|
// src/components/core/KdsTabs/KdsTabs.tsx
|
|
1610
1676
|
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
1611
|
-
var KdsTabs = (0,
|
|
1677
|
+
var KdsTabs = (0, import_react15.forwardRef)(
|
|
1612
1678
|
({ activeIndex, onChange, children, className, style, ...props }, ref) => {
|
|
1613
|
-
const tabCount =
|
|
1679
|
+
const tabCount = import_react15.Children.count(children);
|
|
1614
1680
|
const { onKeyDown } = useTabsKeyboard(tabCount, activeIndex, onChange);
|
|
1615
|
-
const mergedStyle = (0,
|
|
1681
|
+
const mergedStyle = (0, import_react15.useMemo)(
|
|
1616
1682
|
() => ({
|
|
1617
1683
|
...style,
|
|
1618
1684
|
"--_tab-count": tabCount,
|
|
@@ -1629,9 +1695,9 @@ var KdsTabs = (0, import_react14.forwardRef)(
|
|
|
1629
1695
|
style: mergedStyle,
|
|
1630
1696
|
onKeyDown,
|
|
1631
1697
|
...props,
|
|
1632
|
-
children:
|
|
1633
|
-
if (!
|
|
1634
|
-
return
|
|
1698
|
+
children: import_react15.Children.map(children, (child, i) => {
|
|
1699
|
+
if (!import_react15.default.isValidElement(child)) return child;
|
|
1700
|
+
return import_react15.default.cloneElement(child, {
|
|
1635
1701
|
_active: i === activeIndex,
|
|
1636
1702
|
_onClick: () => onChange(i)
|
|
1637
1703
|
});
|
|
@@ -1641,7 +1707,7 @@ var KdsTabs = (0, import_react14.forwardRef)(
|
|
|
1641
1707
|
}
|
|
1642
1708
|
);
|
|
1643
1709
|
KdsTabs.displayName = "KdsTabs";
|
|
1644
|
-
var KdsTab = (0,
|
|
1710
|
+
var KdsTab = (0, import_react15.forwardRef)(
|
|
1645
1711
|
({ _active, _onClick, children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1646
1712
|
"button",
|
|
1647
1713
|
{
|
|
@@ -1658,7 +1724,7 @@ var KdsTab = (0, import_react14.forwardRef)(
|
|
|
1658
1724
|
)
|
|
1659
1725
|
);
|
|
1660
1726
|
KdsTab.displayName = "KdsTab";
|
|
1661
|
-
var KdsTabPanel = (0,
|
|
1727
|
+
var KdsTabPanel = (0, import_react15.forwardRef)(
|
|
1662
1728
|
({ active, children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1663
1729
|
"div",
|
|
1664
1730
|
{
|
|
@@ -1674,9 +1740,9 @@ var KdsTabPanel = (0, import_react14.forwardRef)(
|
|
|
1674
1740
|
KdsTabPanel.displayName = "KdsTabPanel";
|
|
1675
1741
|
|
|
1676
1742
|
// src/components/core/KdsRadioGroup/KdsRadioGroup.tsx
|
|
1677
|
-
var
|
|
1743
|
+
var import_react16 = require("react");
|
|
1678
1744
|
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
1679
|
-
var KdsRadioGroup = (0,
|
|
1745
|
+
var KdsRadioGroup = (0, import_react16.forwardRef)(
|
|
1680
1746
|
({ label, name, options, value, onChange, size, variant, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
|
|
1681
1747
|
"fieldset",
|
|
1682
1748
|
{
|
|
@@ -1706,9 +1772,9 @@ var KdsRadioGroup = (0, import_react15.forwardRef)(
|
|
|
1706
1772
|
KdsRadioGroup.displayName = "KdsRadioGroup";
|
|
1707
1773
|
|
|
1708
1774
|
// src/components/core/KdsSelect/KdsSelect.tsx
|
|
1709
|
-
var
|
|
1775
|
+
var import_react17 = require("react");
|
|
1710
1776
|
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
1711
|
-
var KdsSelect = (0,
|
|
1777
|
+
var KdsSelect = (0, import_react17.forwardRef)(
|
|
1712
1778
|
({
|
|
1713
1779
|
label,
|
|
1714
1780
|
options,
|
|
@@ -1765,9 +1831,9 @@ var KdsSelect = (0, import_react16.forwardRef)(
|
|
|
1765
1831
|
KdsSelect.displayName = "KdsSelect";
|
|
1766
1832
|
|
|
1767
1833
|
// src/components/core/KdsChip/KdsChip.tsx
|
|
1768
|
-
var
|
|
1834
|
+
var import_react18 = require("react");
|
|
1769
1835
|
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
1770
|
-
var KdsChip = (0,
|
|
1836
|
+
var KdsChip = (0, import_react18.forwardRef)(
|
|
1771
1837
|
({ color, icon, onDelete, children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("span", { ref, className: (0, import_clsx.clsx)("kds-badge", color, className), ...props, children: [
|
|
1772
1838
|
icon && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("i", { className: "material-symbols-outlined", children: icon }),
|
|
1773
1839
|
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { children }),
|
|
@@ -1789,15 +1855,15 @@ var KdsChip = (0, import_react17.forwardRef)(
|
|
|
1789
1855
|
KdsChip.displayName = "KdsChip";
|
|
1790
1856
|
|
|
1791
1857
|
// src/components/core/KdsSnackbar/KdsSnackbar.tsx
|
|
1792
|
-
var
|
|
1858
|
+
var import_react20 = require("react");
|
|
1793
1859
|
|
|
1794
1860
|
// src/components/core/hooks/useAutoHide.ts
|
|
1795
|
-
var
|
|
1861
|
+
var import_react19 = require("react");
|
|
1796
1862
|
function useAutoHide(durationMs, onHide) {
|
|
1797
|
-
const [visible, setVisible] = (0,
|
|
1798
|
-
const onHideRef = (0,
|
|
1863
|
+
const [visible, setVisible] = (0, import_react19.useState)(true);
|
|
1864
|
+
const onHideRef = (0, import_react19.useRef)(onHide);
|
|
1799
1865
|
onHideRef.current = onHide;
|
|
1800
|
-
(0,
|
|
1866
|
+
(0, import_react19.useEffect)(() => {
|
|
1801
1867
|
if (durationMs <= 0) return;
|
|
1802
1868
|
const timer = setTimeout(() => {
|
|
1803
1869
|
setVisible(false);
|
|
@@ -1815,7 +1881,7 @@ var DEFAULT_ICONS2 = {
|
|
|
1815
1881
|
success: "check_circle",
|
|
1816
1882
|
error: "error"
|
|
1817
1883
|
};
|
|
1818
|
-
var KdsSnackbar = (0,
|
|
1884
|
+
var KdsSnackbar = (0, import_react20.forwardRef)(
|
|
1819
1885
|
({
|
|
1820
1886
|
message,
|
|
1821
1887
|
type = "info",
|
|
@@ -1893,36 +1959,36 @@ function KdsTooltip({
|
|
|
1893
1959
|
}
|
|
1894
1960
|
|
|
1895
1961
|
// src/components/core/KdsAccordion/KdsAccordion.tsx
|
|
1896
|
-
var
|
|
1962
|
+
var import_react21 = require("react");
|
|
1897
1963
|
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1898
|
-
var KdsAccordion = (0,
|
|
1964
|
+
var KdsAccordion = (0, import_react21.forwardRef)(
|
|
1899
1965
|
({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("details", { ref, className: (0, import_clsx.clsx)("kds-accordion", className), ...props, children })
|
|
1900
1966
|
);
|
|
1901
1967
|
KdsAccordion.displayName = "KdsAccordion";
|
|
1902
|
-
var KdsAccordionSummary = (0,
|
|
1968
|
+
var KdsAccordionSummary = (0, import_react21.forwardRef)(
|
|
1903
1969
|
({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("summary", { ref, className: (0, import_clsx.clsx)("kds-accordion-summary", className), ...props, children: [
|
|
1904
1970
|
children,
|
|
1905
1971
|
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("i", { className: "material-symbols-outlined", children: "expand_more" })
|
|
1906
1972
|
] })
|
|
1907
1973
|
);
|
|
1908
1974
|
KdsAccordionSummary.displayName = "KdsAccordionSummary";
|
|
1909
|
-
var KdsAccordionDetails = (0,
|
|
1975
|
+
var KdsAccordionDetails = (0, import_react21.forwardRef)(
|
|
1910
1976
|
({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { ref, className: (0, import_clsx.clsx)("kds-accordion-details", className), ...props, children })
|
|
1911
1977
|
);
|
|
1912
1978
|
KdsAccordionDetails.displayName = "KdsAccordionDetails";
|
|
1913
1979
|
|
|
1914
1980
|
// src/components/core/KdsDivider/KdsDivider.tsx
|
|
1915
|
-
var
|
|
1981
|
+
var import_react22 = require("react");
|
|
1916
1982
|
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1917
|
-
var KdsDivider = (0,
|
|
1983
|
+
var KdsDivider = (0, import_react22.forwardRef)(
|
|
1918
1984
|
({ dashed, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("hr", { ref, className: (0, import_clsx.clsx)(dashed ? "kds-hr-dashed" : "kds-hr", className), ...props })
|
|
1919
1985
|
);
|
|
1920
1986
|
KdsDivider.displayName = "KdsDivider";
|
|
1921
1987
|
|
|
1922
1988
|
// src/components/core/KdsSectionNote/KdsSectionNote.tsx
|
|
1923
|
-
var
|
|
1989
|
+
var import_react23 = require("react");
|
|
1924
1990
|
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1925
|
-
var KdsSectionNote = (0,
|
|
1991
|
+
var KdsSectionNote = (0, import_react23.forwardRef)(
|
|
1926
1992
|
({ icon = "info", children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("p", { ref, className: (0, import_clsx.clsx)("kds-section-note", className), ...props, children: [
|
|
1927
1993
|
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("i", { className: "material-symbols-outlined", children: icon }),
|
|
1928
1994
|
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { children })
|
|
@@ -1931,9 +1997,9 @@ var KdsSectionNote = (0, import_react22.forwardRef)(
|
|
|
1931
1997
|
KdsSectionNote.displayName = "KdsSectionNote";
|
|
1932
1998
|
|
|
1933
1999
|
// src/components/core/KdsStatusBlock/KdsStatusBlock.tsx
|
|
1934
|
-
var
|
|
2000
|
+
var import_react24 = require("react");
|
|
1935
2001
|
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
1936
|
-
var KdsStatusBlock = (0,
|
|
2002
|
+
var KdsStatusBlock = (0, import_react24.forwardRef)(
|
|
1937
2003
|
({ status, icon, title, description, inline, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { ref, className: (0, import_clsx.clsx)("kds-status-block", inline && "inline", className), "data-status": status, ...props, children: [
|
|
1938
2004
|
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "kds-status-block-icon", children: icon && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("i", { className: "material-symbols-outlined", children: icon }) }),
|
|
1939
2005
|
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
|
|
@@ -1945,9 +2011,9 @@ var KdsStatusBlock = (0, import_react23.forwardRef)(
|
|
|
1945
2011
|
KdsStatusBlock.displayName = "KdsStatusBlock";
|
|
1946
2012
|
|
|
1947
2013
|
// src/components/core/KdsStepper/KdsStepper.tsx
|
|
1948
|
-
var
|
|
2014
|
+
var import_react25 = require("react");
|
|
1949
2015
|
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1950
|
-
var KdsStepper = (0,
|
|
2016
|
+
var KdsStepper = (0, import_react25.forwardRef)(
|
|
1951
2017
|
({ steps, current, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { ref, className: (0, import_clsx.clsx)("kds-stepper", className), ...props, children: steps.map((label, i) => /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
|
|
1952
2018
|
"div",
|
|
1953
2019
|
{
|
|
@@ -1963,9 +2029,9 @@ var KdsStepper = (0, import_react24.forwardRef)(
|
|
|
1963
2029
|
KdsStepper.displayName = "KdsStepper";
|
|
1964
2030
|
|
|
1965
2031
|
// src/components/core/KdsCopyRow/KdsCopyRow.tsx
|
|
1966
|
-
var
|
|
2032
|
+
var import_react26 = require("react");
|
|
1967
2033
|
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
1968
|
-
var KdsCopyRow = (0,
|
|
2034
|
+
var KdsCopyRow = (0, import_react26.forwardRef)(
|
|
1969
2035
|
({ label, value, copiedText = "Copiado", className, ...props }, ref) => {
|
|
1970
2036
|
const { copied, copy } = useCopyToClipboard();
|
|
1971
2037
|
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
@@ -1997,7 +2063,7 @@ var KdsCopyRow = (0, import_react25.forwardRef)(
|
|
|
1997
2063
|
KdsCopyRow.displayName = "KdsCopyRow";
|
|
1998
2064
|
|
|
1999
2065
|
// src/components/core/KdsCopyableTable/KdsCopyableTable.tsx
|
|
2000
|
-
var
|
|
2066
|
+
var import_react27 = require("react");
|
|
2001
2067
|
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
2002
2068
|
async function copyToClipboard(text) {
|
|
2003
2069
|
try {
|
|
@@ -2064,12 +2130,12 @@ function CopyableVariant({
|
|
|
2064
2130
|
forwardedRef,
|
|
2065
2131
|
rest
|
|
2066
2132
|
}) {
|
|
2067
|
-
const copiedTimers = (0,
|
|
2068
|
-
const settlingTimers = (0,
|
|
2069
|
-
const [copiedRows, setCopiedRows] = (0,
|
|
2070
|
-
const [settlingRows, setSettlingRows] = (0,
|
|
2071
|
-
const [allCopied, setAllCopied] = (0,
|
|
2072
|
-
const markCopied = (0,
|
|
2133
|
+
const copiedTimers = (0, import_react27.useRef)(/* @__PURE__ */ new Map());
|
|
2134
|
+
const settlingTimers = (0, import_react27.useRef)(/* @__PURE__ */ new Map());
|
|
2135
|
+
const [copiedRows, setCopiedRows] = (0, import_react27.useState)(/* @__PURE__ */ new Set());
|
|
2136
|
+
const [settlingRows, setSettlingRows] = (0, import_react27.useState)(/* @__PURE__ */ new Set());
|
|
2137
|
+
const [allCopied, setAllCopied] = (0, import_react27.useState)(false);
|
|
2138
|
+
const markCopied = (0, import_react27.useCallback)((indexes, duration = 1500) => {
|
|
2073
2139
|
setCopiedRows((prev) => {
|
|
2074
2140
|
const next = new Set(prev);
|
|
2075
2141
|
indexes.forEach((i) => next.add(i));
|
|
@@ -2175,7 +2241,7 @@ function CopyableVariant({
|
|
|
2175
2241
|
)
|
|
2176
2242
|
] });
|
|
2177
2243
|
}
|
|
2178
|
-
var KdsCopyableTable = (0,
|
|
2244
|
+
var KdsCopyableTable = (0, import_react27.forwardRef)(
|
|
2179
2245
|
({
|
|
2180
2246
|
rows = [],
|
|
2181
2247
|
variant = "copyable",
|
|
@@ -2216,11 +2282,11 @@ var KdsCopyableTable = (0, import_react26.forwardRef)(
|
|
|
2216
2282
|
KdsCopyableTable.displayName = "KdsCopyableTable";
|
|
2217
2283
|
|
|
2218
2284
|
// src/components/core/KdsExpandPanel/KdsExpandPanel.tsx
|
|
2219
|
-
var
|
|
2285
|
+
var import_react28 = require("react");
|
|
2220
2286
|
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
2221
|
-
var KdsExpandPanel = (0,
|
|
2287
|
+
var KdsExpandPanel = (0, import_react28.forwardRef)(
|
|
2222
2288
|
({ label, defaultExpanded = false, children, className, ...props }, ref) => {
|
|
2223
|
-
const [expanded, setExpanded] = (0,
|
|
2289
|
+
const [expanded, setExpanded] = (0, import_react28.useState)(defaultExpanded);
|
|
2224
2290
|
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { ref, className, ...props, children: [
|
|
2225
2291
|
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
2226
2292
|
"button",
|
|
@@ -2241,10 +2307,10 @@ var KdsExpandPanel = (0, import_react27.forwardRef)(
|
|
|
2241
2307
|
KdsExpandPanel.displayName = "KdsExpandPanel";
|
|
2242
2308
|
|
|
2243
2309
|
// src/components/core/KdsCountdown/KdsCountdown.tsx
|
|
2244
|
-
var
|
|
2310
|
+
var import_react30 = require("react");
|
|
2245
2311
|
|
|
2246
2312
|
// src/components/core/hooks/useCountdown.ts
|
|
2247
|
-
var
|
|
2313
|
+
var import_react29 = require("react");
|
|
2248
2314
|
function calcRemaining(deadline) {
|
|
2249
2315
|
const diff = Math.max(0, new Date(deadline).getTime() - Date.now());
|
|
2250
2316
|
const totalSeconds = Math.floor(diff / 1e3);
|
|
@@ -2257,8 +2323,8 @@ function calcRemaining(deadline) {
|
|
|
2257
2323
|
};
|
|
2258
2324
|
}
|
|
2259
2325
|
function useCountdown(deadline) {
|
|
2260
|
-
const [state, setState] = (0,
|
|
2261
|
-
(0,
|
|
2326
|
+
const [state, setState] = (0, import_react29.useState)(() => calcRemaining(deadline));
|
|
2327
|
+
(0, import_react29.useEffect)(() => {
|
|
2262
2328
|
const tick = () => setState(calcRemaining(deadline));
|
|
2263
2329
|
const id = setInterval(tick, 1e3);
|
|
2264
2330
|
return () => clearInterval(id);
|
|
@@ -2268,12 +2334,12 @@ function useCountdown(deadline) {
|
|
|
2268
2334
|
|
|
2269
2335
|
// src/components/core/KdsCountdown/KdsCountdown.tsx
|
|
2270
2336
|
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
2271
|
-
var KdsCountdown = (0,
|
|
2337
|
+
var KdsCountdown = (0, import_react30.forwardRef)(
|
|
2272
2338
|
({ deadline, label, onExpire, className, ...props }, ref) => {
|
|
2273
2339
|
const { hours, minutes, seconds, expired, urgent } = useCountdown(deadline);
|
|
2274
|
-
const onExpireRef = (0,
|
|
2340
|
+
const onExpireRef = (0, import_react30.useRef)(onExpire);
|
|
2275
2341
|
onExpireRef.current = onExpire;
|
|
2276
|
-
(0,
|
|
2342
|
+
(0, import_react30.useEffect)(() => {
|
|
2277
2343
|
if (expired) {
|
|
2278
2344
|
onExpireRef.current?.();
|
|
2279
2345
|
}
|
|
@@ -2297,17 +2363,17 @@ var KdsCountdown = (0, import_react29.forwardRef)(
|
|
|
2297
2363
|
KdsCountdown.displayName = "KdsCountdown";
|
|
2298
2364
|
|
|
2299
2365
|
// src/components/core/KdsSegmentedTabs/KdsSegmentedTabs.tsx
|
|
2300
|
-
var
|
|
2366
|
+
var import_react31 = require("react");
|
|
2301
2367
|
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
2302
|
-
var KdsSegmentedTabs = (0,
|
|
2368
|
+
var KdsSegmentedTabs = (0, import_react31.forwardRef)(
|
|
2303
2369
|
(props, ref) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(KdsTabs, { ref, ...props })
|
|
2304
2370
|
);
|
|
2305
2371
|
KdsSegmentedTabs.displayName = "KdsSegmentedTabs";
|
|
2306
2372
|
|
|
2307
2373
|
// src/components/core/KdsFab/KdsFab.tsx
|
|
2308
|
-
var
|
|
2374
|
+
var import_react32 = require("react");
|
|
2309
2375
|
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
2310
|
-
var KdsFab = (0,
|
|
2376
|
+
var KdsFab = (0, import_react32.forwardRef)(
|
|
2311
2377
|
({ icon, position = "top-right", hidden = false, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2312
2378
|
"button",
|
|
2313
2379
|
{
|
|
@@ -2329,9 +2395,9 @@ var KdsFab = (0, import_react31.forwardRef)(
|
|
|
2329
2395
|
KdsFab.displayName = "KdsFab";
|
|
2330
2396
|
|
|
2331
2397
|
// src/components/core/KdsEmptyState/KdsEmptyState.tsx
|
|
2332
|
-
var
|
|
2398
|
+
var import_react33 = require("react");
|
|
2333
2399
|
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
2334
|
-
var KdsEmptyState = (0,
|
|
2400
|
+
var KdsEmptyState = (0, import_react33.forwardRef)(
|
|
2335
2401
|
({ icon = "hide_source", title, description, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
2336
2402
|
"div",
|
|
2337
2403
|
{
|
|
@@ -2352,9 +2418,9 @@ var KdsEmptyState = (0, import_react32.forwardRef)(
|
|
|
2352
2418
|
KdsEmptyState.displayName = "KdsEmptyState";
|
|
2353
2419
|
|
|
2354
2420
|
// src/components/domain/KdsBankRow/KdsBankRow.tsx
|
|
2355
|
-
var
|
|
2421
|
+
var import_react34 = require("react");
|
|
2356
2422
|
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
2357
|
-
var KdsBankRow = (0,
|
|
2423
|
+
var KdsBankRow = (0, import_react34.forwardRef)(
|
|
2358
2424
|
({ name, logoUrl, selected, hideLogo, className, ...props }, ref) => {
|
|
2359
2425
|
const nameStr = typeof name === "string" ? name : "";
|
|
2360
2426
|
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
@@ -2376,20 +2442,20 @@ var KdsBankRow = (0, import_react33.forwardRef)(
|
|
|
2376
2442
|
KdsBankRow.displayName = "KdsBankRow";
|
|
2377
2443
|
|
|
2378
2444
|
// src/components/domain/KdsBankList/KdsBankList.tsx
|
|
2379
|
-
var
|
|
2445
|
+
var import_react35 = require("react");
|
|
2380
2446
|
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
2381
|
-
var KdsBankList = (0,
|
|
2447
|
+
var KdsBankList = (0, import_react35.forwardRef)(
|
|
2382
2448
|
({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { ref, className: (0, import_clsx.clsx)("kds-bank-list", className), role: "list", ...props, children })
|
|
2383
2449
|
);
|
|
2384
2450
|
KdsBankList.displayName = "KdsBankList";
|
|
2385
2451
|
|
|
2386
2452
|
// src/components/domain/KdsBankModal/KdsBankModal.tsx
|
|
2387
|
-
var
|
|
2453
|
+
var import_react36 = require("react");
|
|
2388
2454
|
var Dialog = __toESM(require("@radix-ui/react-dialog"));
|
|
2389
2455
|
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
2390
|
-
var KdsBankModal = (0,
|
|
2456
|
+
var KdsBankModal = (0, import_react36.forwardRef)(
|
|
2391
2457
|
({ open, onClose, title = "Selecciona tu banco", searchPlaceholder = "Buscar banco...", onSearch, children, className, container }, ref) => {
|
|
2392
|
-
const [query, setQuery] = (0,
|
|
2458
|
+
const [query, setQuery] = (0, import_react36.useState)("");
|
|
2393
2459
|
const handleSearch = (value) => {
|
|
2394
2460
|
setQuery(value);
|
|
2395
2461
|
onSearch?.(value);
|
|
@@ -2416,9 +2482,9 @@ var KdsBankModal = (0, import_react35.forwardRef)(
|
|
|
2416
2482
|
KdsBankModal.displayName = "KdsBankModal";
|
|
2417
2483
|
|
|
2418
2484
|
// src/components/domain/KdsQrRow/KdsQrRow.tsx
|
|
2419
|
-
var
|
|
2485
|
+
var import_react37 = require("react");
|
|
2420
2486
|
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
2421
|
-
var KdsQrRow = (0,
|
|
2487
|
+
var KdsQrRow = (0, import_react37.forwardRef)(
|
|
2422
2488
|
({ name, description, badge, icon = "qr_code_2", className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("button", { ref, type: "button", className: (0, import_clsx.clsx)("kds-qr-row", className), ...props, children: [
|
|
2423
2489
|
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "kds-qr-avatar", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("i", { className: "material-symbols-outlined", children: icon }) }),
|
|
2424
2490
|
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("span", { className: "kds-qr-text", children: [
|
|
@@ -2432,9 +2498,9 @@ var KdsQrRow = (0, import_react36.forwardRef)(
|
|
|
2432
2498
|
KdsQrRow.displayName = "KdsQrRow";
|
|
2433
2499
|
|
|
2434
2500
|
// src/components/domain/KdsCardSelector/KdsCardSelector.tsx
|
|
2435
|
-
var
|
|
2501
|
+
var import_react38 = require("react");
|
|
2436
2502
|
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
2437
|
-
var KdsCardSelector = (0,
|
|
2503
|
+
var KdsCardSelector = (0, import_react38.forwardRef)(
|
|
2438
2504
|
({ icon, title, description, selected, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
2439
2505
|
"button",
|
|
2440
2506
|
{
|
|
@@ -2453,9 +2519,9 @@ var KdsCardSelector = (0, import_react37.forwardRef)(
|
|
|
2453
2519
|
KdsCardSelector.displayName = "KdsCardSelector";
|
|
2454
2520
|
|
|
2455
2521
|
// src/components/domain/KdsCardPlan/KdsCardPlan.tsx
|
|
2456
|
-
var
|
|
2522
|
+
var import_react39 = require("react");
|
|
2457
2523
|
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
2458
|
-
var KdsCardPlan = (0,
|
|
2524
|
+
var KdsCardPlan = (0, import_react39.forwardRef)(
|
|
2459
2525
|
({ title, price, period, features, recommended, badgeText, action, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
2460
2526
|
"div",
|
|
2461
2527
|
{
|
|
@@ -2481,9 +2547,9 @@ var KdsCardPlan = (0, import_react38.forwardRef)(
|
|
|
2481
2547
|
KdsCardPlan.displayName = "KdsCardPlan";
|
|
2482
2548
|
|
|
2483
2549
|
// src/components/domain/KdsInvoiceSticky/KdsInvoiceSticky.tsx
|
|
2484
|
-
var
|
|
2550
|
+
var import_react40 = require("react");
|
|
2485
2551
|
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
2486
|
-
var KdsInvoiceSticky = (0,
|
|
2552
|
+
var KdsInvoiceSticky = (0, import_react40.forwardRef)(
|
|
2487
2553
|
({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2488
2554
|
"article",
|
|
2489
2555
|
{
|
|
@@ -2497,10 +2563,10 @@ var KdsInvoiceSticky = (0, import_react39.forwardRef)(
|
|
|
2497
2563
|
KdsInvoiceSticky.displayName = "KdsInvoiceSticky";
|
|
2498
2564
|
|
|
2499
2565
|
// src/components/domain/KdsBottomSheet/KdsBottomSheet.tsx
|
|
2500
|
-
var
|
|
2566
|
+
var import_react41 = require("react");
|
|
2501
2567
|
var Dialog2 = __toESM(require("@radix-ui/react-dialog"));
|
|
2502
2568
|
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
2503
|
-
var KdsBottomSheet = (0,
|
|
2569
|
+
var KdsBottomSheet = (0, import_react41.forwardRef)(
|
|
2504
2570
|
({
|
|
2505
2571
|
open,
|
|
2506
2572
|
onClose,
|
|
@@ -2554,12 +2620,12 @@ var KdsBottomSheet = (0, import_react40.forwardRef)(
|
|
|
2554
2620
|
KdsBottomSheet.displayName = "KdsBottomSheet";
|
|
2555
2621
|
|
|
2556
2622
|
// src/components/domain/KdsSecureFooter/KdsSecureFooter.tsx
|
|
2557
|
-
var
|
|
2623
|
+
var import_react43 = require("react");
|
|
2558
2624
|
|
|
2559
2625
|
// src/components/domain/KdsSecureFooter/KhipuWordmark.tsx
|
|
2560
|
-
var
|
|
2626
|
+
var import_react42 = require("react");
|
|
2561
2627
|
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
2562
|
-
var KhipuWordmark = (0,
|
|
2628
|
+
var KhipuWordmark = (0, import_react42.forwardRef)(
|
|
2563
2629
|
({ className = "khipu-mark", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
2564
2630
|
"svg",
|
|
2565
2631
|
{
|
|
@@ -2587,7 +2653,7 @@ KhipuWordmark.displayName = "KhipuWordmark";
|
|
|
2587
2653
|
|
|
2588
2654
|
// src/components/domain/KdsSecureFooter/KdsSecureFooter.tsx
|
|
2589
2655
|
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
2590
|
-
var KdsSecureFooter = (0,
|
|
2656
|
+
var KdsSecureFooter = (0, import_react43.forwardRef)(
|
|
2591
2657
|
({ variant = "default", showLogo = true, psp, children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("footer", { ref, className: (0, import_clsx.clsx)("kds-secure-footer", variant === "inside" && "inside", className), ...props, children: [
|
|
2592
2658
|
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("svg", { className: "kds-secure-footer-lock", viewBox: "0 0 24 24", "aria-hidden": "true", children: [
|
|
2593
2659
|
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("rect", { x: "4.5", y: "10.5", width: "15", height: "10", rx: "2.25" }),
|
|
@@ -2604,9 +2670,9 @@ var KdsSecureFooter = (0, import_react42.forwardRef)(
|
|
|
2604
2670
|
KdsSecureFooter.displayName = "KdsSecureFooter";
|
|
2605
2671
|
|
|
2606
2672
|
// src/components/domain/KdsRecapList/KdsRecapList.tsx
|
|
2607
|
-
var
|
|
2673
|
+
var import_react44 = require("react");
|
|
2608
2674
|
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
2609
|
-
var KdsRecapList = (0,
|
|
2675
|
+
var KdsRecapList = (0, import_react44.forwardRef)(
|
|
2610
2676
|
({ items, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("ul", { ref, className: (0, import_clsx.clsx)("kds-recap-list", className), ...props, children: items.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("li", { children: [
|
|
2611
2677
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "kds-key", children: item.label }),
|
|
2612
2678
|
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: (0, import_clsx.clsx)("kds-value", !item.value && item.placeholder && "placeholder"), children: item.value || item.placeholder || "-" })
|
|
@@ -2615,9 +2681,9 @@ var KdsRecapList = (0, import_react43.forwardRef)(
|
|
|
2615
2681
|
KdsRecapList.displayName = "KdsRecapList";
|
|
2616
2682
|
|
|
2617
2683
|
// src/components/domain/KdsMontoRow/KdsMontoRow.tsx
|
|
2618
|
-
var
|
|
2684
|
+
var import_react45 = require("react");
|
|
2619
2685
|
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
2620
|
-
var KdsMontoRow = (0,
|
|
2686
|
+
var KdsMontoRow = (0, import_react45.forwardRef)(
|
|
2621
2687
|
({ title, value, deadline, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { ref, className: (0, import_clsx.clsx)("kds-monto-row", className), ...props, children: [
|
|
2622
2688
|
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { children: [
|
|
2623
2689
|
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "kds-monto-row-title", children: title }),
|
|
@@ -2629,9 +2695,9 @@ var KdsMontoRow = (0, import_react44.forwardRef)(
|
|
|
2629
2695
|
KdsMontoRow.displayName = "KdsMontoRow";
|
|
2630
2696
|
|
|
2631
2697
|
// src/components/domain/KdsMerchantTile/KdsMerchantTile.tsx
|
|
2632
|
-
var
|
|
2698
|
+
var import_react46 = require("react");
|
|
2633
2699
|
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
2634
|
-
var KdsMerchantTile = (0,
|
|
2700
|
+
var KdsMerchantTile = (0, import_react46.forwardRef)(
|
|
2635
2701
|
({ name, logoUrl, initials, compact, className, ...props }, ref) => {
|
|
2636
2702
|
const displayInitials = (initials ?? name.slice(0, 2)).toUpperCase();
|
|
2637
2703
|
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
@@ -2649,10 +2715,10 @@ var KdsMerchantTile = (0, import_react45.forwardRef)(
|
|
|
2649
2715
|
KdsMerchantTile.displayName = "KdsMerchantTile";
|
|
2650
2716
|
|
|
2651
2717
|
// src/components/domain/KdsInvoiceMerchant/KdsInvoiceMerchant.tsx
|
|
2652
|
-
var
|
|
2718
|
+
var import_react48 = require("react");
|
|
2653
2719
|
|
|
2654
2720
|
// src/components/domain/KdsInvoiceMerchant/useLogoBackdrop.ts
|
|
2655
|
-
var
|
|
2721
|
+
var import_react47 = require("react");
|
|
2656
2722
|
|
|
2657
2723
|
// src/components/domain/KdsInvoiceMerchant/logoLuminance.ts
|
|
2658
2724
|
var LIGHT_LOGO_LUMINANCE_THRESHOLD = 0.72;
|
|
@@ -2701,8 +2767,8 @@ function pickLogoBackdrop(luminance) {
|
|
|
2701
2767
|
|
|
2702
2768
|
// src/components/domain/KdsInvoiceMerchant/useLogoBackdrop.ts
|
|
2703
2769
|
function useLogoBackdrop(logoUrl) {
|
|
2704
|
-
const [backdrop, setBackdrop] = (0,
|
|
2705
|
-
(0,
|
|
2770
|
+
const [backdrop, setBackdrop] = (0, import_react47.useState)("light");
|
|
2771
|
+
(0, import_react47.useEffect)(() => {
|
|
2706
2772
|
let cancelled = false;
|
|
2707
2773
|
setBackdrop("light");
|
|
2708
2774
|
if (!logoUrl) {
|
|
@@ -2722,9 +2788,9 @@ function useLogoBackdrop(logoUrl) {
|
|
|
2722
2788
|
|
|
2723
2789
|
// src/components/domain/KdsInvoiceMerchant/KdsInvoiceMerchant.tsx
|
|
2724
2790
|
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
2725
|
-
var KdsInvoiceMerchant = (0,
|
|
2791
|
+
var KdsInvoiceMerchant = (0, import_react48.forwardRef)(
|
|
2726
2792
|
({ logoUrl, brandColor, className, style, ...props }, ref) => {
|
|
2727
|
-
const [failed, setFailed] = (0,
|
|
2793
|
+
const [failed, setFailed] = (0, import_react48.useState)(false);
|
|
2728
2794
|
const showLogo = !!logoUrl && !failed;
|
|
2729
2795
|
const backdrop = useLogoBackdrop(showLogo ? logoUrl : void 0);
|
|
2730
2796
|
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
@@ -2748,9 +2814,9 @@ var KdsInvoiceMerchant = (0, import_react47.forwardRef)(
|
|
|
2748
2814
|
KdsInvoiceMerchant.displayName = "KdsInvoiceMerchant";
|
|
2749
2815
|
|
|
2750
2816
|
// src/components/domain/KdsPaymentTotal/KdsPaymentTotal.tsx
|
|
2751
|
-
var
|
|
2817
|
+
var import_react49 = require("react");
|
|
2752
2818
|
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
2753
|
-
var KdsPaymentTotal = (0,
|
|
2819
|
+
var KdsPaymentTotal = (0, import_react49.forwardRef)(
|
|
2754
2820
|
({
|
|
2755
2821
|
variant = "default",
|
|
2756
2822
|
tone = "brand",
|
|
@@ -2824,9 +2890,9 @@ function formatAmount(amount, decimals, locale) {
|
|
|
2824
2890
|
}
|
|
2825
2891
|
|
|
2826
2892
|
// src/components/domain/KdsBillAttachment/KdsBillAttachment.tsx
|
|
2827
|
-
var
|
|
2893
|
+
var import_react50 = require("react");
|
|
2828
2894
|
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
2829
|
-
var KdsBillAttachment = (0,
|
|
2895
|
+
var KdsBillAttachment = (0, import_react50.forwardRef)(
|
|
2830
2896
|
({ filename, href, icon = "attach_file", className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
2831
2897
|
"a",
|
|
2832
2898
|
{
|
|
@@ -2844,7 +2910,7 @@ var KdsBillAttachment = (0, import_react49.forwardRef)(
|
|
|
2844
2910
|
)
|
|
2845
2911
|
);
|
|
2846
2912
|
KdsBillAttachment.displayName = "KdsBillAttachment";
|
|
2847
|
-
var KdsBillAttachments = (0,
|
|
2913
|
+
var KdsBillAttachments = (0, import_react50.forwardRef)(
|
|
2848
2914
|
({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { ref, className: (0, import_clsx.clsx)("kds-bill-attachments", className), ...props, children })
|
|
2849
2915
|
);
|
|
2850
2916
|
KdsBillAttachments.displayName = "KdsBillAttachments";
|
|
@@ -2944,12 +3010,12 @@ var guideToFirstInvalidFieldOnBlur = (form) => {
|
|
|
2944
3010
|
};
|
|
2945
3011
|
|
|
2946
3012
|
// src/components/core/hooks/useStickyInvoiceCollapse.ts
|
|
2947
|
-
var
|
|
3013
|
+
var import_react51 = require("react");
|
|
2948
3014
|
function useStickyInvoiceCollapse(options = {}) {
|
|
2949
3015
|
const { onCollapseStart, collapseEnd = 20, mobileBreakpoint = 768 } = options;
|
|
2950
|
-
const onCollapseStartRef = (0,
|
|
3016
|
+
const onCollapseStartRef = (0, import_react51.useRef)(onCollapseStart);
|
|
2951
3017
|
onCollapseStartRef.current = onCollapseStart;
|
|
2952
|
-
(0,
|
|
3018
|
+
(0, import_react51.useEffect)(() => {
|
|
2953
3019
|
let viewportOffset = 0;
|
|
2954
3020
|
let ticking = false;
|
|
2955
3021
|
let wasCollapsing = false;
|
|
@@ -3022,24 +3088,24 @@ function useStickyInvoiceCollapse(options = {}) {
|
|
|
3022
3088
|
}
|
|
3023
3089
|
|
|
3024
3090
|
// src/components/core/hooks/useExpandToggle.ts
|
|
3025
|
-
var
|
|
3091
|
+
var import_react52 = require("react");
|
|
3026
3092
|
function useExpandToggle(options = {}) {
|
|
3027
3093
|
const { defaultOpen = false, open: controlledOpen, onOpenChange, id } = options;
|
|
3028
|
-
const generatedId = (0,
|
|
3094
|
+
const generatedId = (0, import_react52.useId)();
|
|
3029
3095
|
const panelId = id ?? `kds-expand-${generatedId}`;
|
|
3030
3096
|
const isControlled = controlledOpen !== void 0;
|
|
3031
|
-
const [uncontrolledOpen, setUncontrolledOpen] = (0,
|
|
3097
|
+
const [uncontrolledOpen, setUncontrolledOpen] = (0, import_react52.useState)(defaultOpen);
|
|
3032
3098
|
const open = isControlled ? controlledOpen : uncontrolledOpen;
|
|
3033
|
-
const panelRef = (0,
|
|
3034
|
-
const setPanelRef = (0,
|
|
3099
|
+
const panelRef = (0, import_react52.useRef)(null);
|
|
3100
|
+
const setPanelRef = (0, import_react52.useCallback)((node) => {
|
|
3035
3101
|
panelRef.current = node;
|
|
3036
3102
|
}, []);
|
|
3037
|
-
(0,
|
|
3103
|
+
(0, import_react52.useLayoutEffect)(() => {
|
|
3038
3104
|
const panel = panelRef.current;
|
|
3039
3105
|
if (!panel) return;
|
|
3040
3106
|
panel.style.maxHeight = open ? `${panel.scrollHeight}px` : "";
|
|
3041
3107
|
}, [open]);
|
|
3042
|
-
const setOpen = (0,
|
|
3108
|
+
const setOpen = (0, import_react52.useCallback)(
|
|
3043
3109
|
(next) => {
|
|
3044
3110
|
if (!isControlled) {
|
|
3045
3111
|
setUncontrolledOpen(next);
|
|
@@ -3048,8 +3114,8 @@ function useExpandToggle(options = {}) {
|
|
|
3048
3114
|
},
|
|
3049
3115
|
[isControlled, onOpenChange]
|
|
3050
3116
|
);
|
|
3051
|
-
const toggle = (0,
|
|
3052
|
-
const getToggleProps = (0,
|
|
3117
|
+
const toggle = (0, import_react52.useCallback)(() => setOpen(!open), [open, setOpen]);
|
|
3118
|
+
const getToggleProps = (0, import_react52.useCallback)(
|
|
3053
3119
|
() => ({
|
|
3054
3120
|
type: "button",
|
|
3055
3121
|
"aria-expanded": open,
|
|
@@ -3058,7 +3124,7 @@ function useExpandToggle(options = {}) {
|
|
|
3058
3124
|
}),
|
|
3059
3125
|
[open, panelId, toggle]
|
|
3060
3126
|
);
|
|
3061
|
-
const getPanelProps = (0,
|
|
3127
|
+
const getPanelProps = (0, import_react52.useCallback)(
|
|
3062
3128
|
(baseClassName = "kds-expand-panel") => ({
|
|
3063
3129
|
id: panelId,
|
|
3064
3130
|
className: open ? `${baseClassName} open` : baseClassName,
|
|
@@ -3071,11 +3137,11 @@ function useExpandToggle(options = {}) {
|
|
|
3071
3137
|
}
|
|
3072
3138
|
|
|
3073
3139
|
// src/components/core/hooks/useHideOnScroll.ts
|
|
3074
|
-
var
|
|
3140
|
+
var import_react53 = require("react");
|
|
3075
3141
|
function useHideOnScroll(options = {}) {
|
|
3076
3142
|
const { threshold = 8, topOffset = 0 } = options;
|
|
3077
|
-
const [hidden, setHidden] = (0,
|
|
3078
|
-
(0,
|
|
3143
|
+
const [hidden, setHidden] = (0, import_react53.useState)(false);
|
|
3144
|
+
(0, import_react53.useEffect)(() => {
|
|
3079
3145
|
let viewportOffset = 0;
|
|
3080
3146
|
let lastY = 0;
|
|
3081
3147
|
let ticking = false;
|
|
@@ -3118,12 +3184,12 @@ function useHideOnScroll(options = {}) {
|
|
|
3118
3184
|
}
|
|
3119
3185
|
|
|
3120
3186
|
// src/components/core/hooks/useMediaQuery.ts
|
|
3121
|
-
var
|
|
3187
|
+
var import_react54 = require("react");
|
|
3122
3188
|
function useMediaQuery(query) {
|
|
3123
|
-
const [matches, setMatches] = (0,
|
|
3189
|
+
const [matches, setMatches] = (0, import_react54.useState)(
|
|
3124
3190
|
() => typeof window !== "undefined" ? window.matchMedia(query).matches : false
|
|
3125
3191
|
);
|
|
3126
|
-
(0,
|
|
3192
|
+
(0, import_react54.useEffect)(() => {
|
|
3127
3193
|
if (typeof window === "undefined") return;
|
|
3128
3194
|
const mql = window.matchMedia(query);
|
|
3129
3195
|
setMatches(mql.matches);
|