@khipu/design-system 0.3.5-alpha.2 → 0.3.5-alpha.21

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/index.js CHANGED
@@ -30,6 +30,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  // src/index.ts
31
31
  var index_exports = {};
32
32
  __export(index_exports, {
33
+ KDS_VERSION: () => KDS_VERSION,
33
34
  KdsAccordion: () => KdsAccordion,
34
35
  KdsAccordionDetails: () => KdsAccordionDetails,
35
36
  KdsAccordionSummary: () => KdsAccordionSummary,
@@ -126,9 +127,6 @@ __export(index_exports, {
126
127
  });
127
128
  module.exports = __toCommonJS(index_exports);
128
129
 
129
- // src/theme/KdsThemeProvider.tsx
130
- var import_react = require("react");
131
-
132
130
  // src/components/core/utils.ts
133
131
  var import_clsx = require("clsx");
134
132
  function hexToRgb(hex) {
@@ -200,79 +198,28 @@ function formatTime(iso) {
200
198
  return `${pad(date.getHours())}:${pad(date.getMinutes())}`;
201
199
  }
202
200
 
201
+ // src/version.ts
202
+ var KDS_VERSION = "0.3.5-alpha.21";
203
+
203
204
  // src/theme/KdsThemeProvider.tsx
204
205
  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
- }
267
206
  function KdsThemeProvider({ primaryColor, mode = "light", children }) {
268
- useCardHeightTransition();
269
207
  const style = primaryColor ? {
270
208
  "--primary": primaryColor,
271
209
  "--on-primary": getContrastColor(primaryColor),
272
210
  "--primary-container": lighten(primaryColor, 0.85),
273
211
  "--on-primary-container": primaryColor
274
212
  } : void 0;
275
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: `kds-theme-root ${mode}`, "data-theme": mode, style, children });
213
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
214
+ "div",
215
+ {
216
+ className: `kds-theme-root ${mode}`,
217
+ "data-theme": mode,
218
+ "data-kds-version": KDS_VERSION,
219
+ style,
220
+ children
221
+ }
222
+ );
276
223
  }
277
224
 
278
225
  // src/tokens/index.ts
@@ -1247,9 +1194,9 @@ var tokens = {
1247
1194
  };
1248
1195
 
1249
1196
  // src/components/core/KdsButton/KdsButton.tsx
1250
- var import_react2 = require("react");
1197
+ var import_react = require("react");
1251
1198
  var import_jsx_runtime2 = require("react/jsx-runtime");
1252
- var KdsButton = (0, import_react2.forwardRef)(
1199
+ var KdsButton = (0, import_react.forwardRef)(
1253
1200
  ({
1254
1201
  variant = "primary",
1255
1202
  size,
@@ -1293,9 +1240,9 @@ var KdsButton = (0, import_react2.forwardRef)(
1293
1240
  KdsButton.displayName = "KdsButton";
1294
1241
 
1295
1242
  // src/components/core/KdsTextField/KdsTextField.tsx
1296
- var import_react3 = require("react");
1243
+ var import_react2 = require("react");
1297
1244
  var import_jsx_runtime3 = require("react/jsx-runtime");
1298
- var KdsTextField = (0, import_react3.forwardRef)(
1245
+ var KdsTextField = (0, import_react2.forwardRef)(
1299
1246
  ({
1300
1247
  label,
1301
1248
  helperText,
@@ -1314,7 +1261,7 @@ var KdsTextField = (0, import_react3.forwardRef)(
1314
1261
  requiredMark = true,
1315
1262
  ...props
1316
1263
  }, ref) => {
1317
- const [revealed, setRevealed] = (0, import_react3.useState)(false);
1264
+ const [revealed, setRevealed] = (0, import_react2.useState)(false);
1318
1265
  const fieldId = id || `kds-field-${label.toLowerCase().replace(/\s+/g, "-")}`;
1319
1266
  const isRevealable = !!revealable && !readOnly && !props.disabled;
1320
1267
  const inputType = isRevealable ? revealed ? "text" : "password" : type;
@@ -1383,9 +1330,9 @@ var KdsTextField = (0, import_react3.forwardRef)(
1383
1330
  KdsTextField.displayName = "KdsTextField";
1384
1331
 
1385
1332
  // src/components/core/KdsSearchField/KdsSearchField.tsx
1386
- var import_react4 = require("react");
1333
+ var import_react3 = require("react");
1387
1334
  var import_jsx_runtime4 = require("react/jsx-runtime");
1388
- var KdsSearchField = (0, import_react4.forwardRef)(
1335
+ var KdsSearchField = (0, import_react3.forwardRef)(
1389
1336
  ({ className, withIcon = false, ...props }, ref) => {
1390
1337
  const input = /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1391
1338
  "input",
@@ -1408,9 +1355,9 @@ var KdsSearchField = (0, import_react4.forwardRef)(
1408
1355
  KdsSearchField.displayName = "KdsSearchField";
1409
1356
 
1410
1357
  // src/components/core/KdsCheckbox/KdsCheckbox.tsx
1411
- var import_react5 = require("react");
1358
+ var import_react4 = require("react");
1412
1359
  var import_jsx_runtime5 = require("react/jsx-runtime");
1413
- var KdsCheckbox = (0, import_react5.forwardRef)(
1360
+ var KdsCheckbox = (0, import_react4.forwardRef)(
1414
1361
  ({ label, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: (0, import_clsx.clsx)("checkbox", className), children: [
1415
1362
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("input", { ref, type: "checkbox", ...props }),
1416
1363
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { children: label })
@@ -1419,9 +1366,9 @@ var KdsCheckbox = (0, import_react5.forwardRef)(
1419
1366
  KdsCheckbox.displayName = "KdsCheckbox";
1420
1367
 
1421
1368
  // src/components/core/KdsCard/KdsCard.tsx
1422
- var import_react6 = require("react");
1369
+ var import_react5 = require("react");
1423
1370
  var import_jsx_runtime6 = require("react/jsx-runtime");
1424
- var KdsCard = (0, import_react6.forwardRef)(
1371
+ var KdsCard = (0, import_react5.forwardRef)(
1425
1372
  ({ variant = "elevated", dimmed, children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
1426
1373
  "article",
1427
1374
  {
@@ -1437,28 +1384,28 @@ var KdsCard = (0, import_react6.forwardRef)(
1437
1384
  )
1438
1385
  );
1439
1386
  KdsCard.displayName = "KdsCard";
1440
- var KdsCardHeader = (0, import_react6.forwardRef)(
1387
+ var KdsCardHeader = (0, import_react5.forwardRef)(
1441
1388
  ({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { ref, className: (0, import_clsx.clsx)("kds-card-header", className), ...props, children })
1442
1389
  );
1443
1390
  KdsCardHeader.displayName = "KdsCardHeader";
1444
- var KdsCardBody = (0, import_react6.forwardRef)(
1391
+ var KdsCardBody = (0, import_react5.forwardRef)(
1445
1392
  ({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { ref, className: (0, import_clsx.clsx)("kds-card-body", className), ...props, children })
1446
1393
  );
1447
1394
  KdsCardBody.displayName = "KdsCardBody";
1448
- var KdsCardFooter = (0, import_react6.forwardRef)(
1395
+ var KdsCardFooter = (0, import_react5.forwardRef)(
1449
1396
  ({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { ref, className: (0, import_clsx.clsx)("kds-card-footer", className), ...props, children })
1450
1397
  );
1451
1398
  KdsCardFooter.displayName = "KdsCardFooter";
1452
1399
 
1453
1400
  // src/components/core/KdsSpinner/KdsSpinner.tsx
1454
- var import_react7 = require("react");
1401
+ var import_react6 = require("react");
1455
1402
  var import_jsx_runtime7 = require("react/jsx-runtime");
1456
1403
  var SIZE_CLASS = {
1457
1404
  small: "small",
1458
1405
  medium: null,
1459
1406
  large: "large"
1460
1407
  };
1461
- var KdsSpinner = (0, import_react7.forwardRef)(
1408
+ var KdsSpinner = (0, import_react6.forwardRef)(
1462
1409
  ({ size = "medium", label, className, ...props }, ref) => {
1463
1410
  const sizeClass = SIZE_CLASS[size];
1464
1411
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
@@ -1480,9 +1427,9 @@ var KdsSpinner = (0, import_react7.forwardRef)(
1480
1427
  KdsSpinner.displayName = "KdsSpinner";
1481
1428
 
1482
1429
  // src/components/core/KdsSecureLoader/KdsSecureLoader.tsx
1483
- var import_react8 = require("react");
1430
+ var import_react7 = require("react");
1484
1431
  var import_jsx_runtime8 = require("react/jsx-runtime");
1485
- var KdsSecureLoader = (0, import_react8.forwardRef)(
1432
+ var KdsSecureLoader = (0, import_react7.forwardRef)(
1486
1433
  ({ 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: [
1487
1434
  (title || message) && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "kds-secure-loader-text", children: [
1488
1435
  title && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { className: "kds-secure-loader-title", children: title }),
@@ -1508,13 +1455,13 @@ var KdsSecureLoader = (0, import_react8.forwardRef)(
1508
1455
  KdsSecureLoader.displayName = "KdsSecureLoader";
1509
1456
 
1510
1457
  // src/components/core/KdsCopyButton/KdsCopyButton.tsx
1511
- var import_react10 = require("react");
1458
+ var import_react9 = require("react");
1512
1459
 
1513
1460
  // src/components/core/hooks/useCopyToClipboard.ts
1514
- var import_react9 = require("react");
1461
+ var import_react8 = require("react");
1515
1462
  function useCopyToClipboard(resetMs = 1200) {
1516
- const [copied, setCopied] = (0, import_react9.useState)(false);
1517
- const copy = (0, import_react9.useCallback)(
1463
+ const [copied, setCopied] = (0, import_react8.useState)(false);
1464
+ const copy = (0, import_react8.useCallback)(
1518
1465
  async (text) => {
1519
1466
  try {
1520
1467
  await navigator.clipboard.writeText(text);
@@ -1530,7 +1477,7 @@ function useCopyToClipboard(resetMs = 1200) {
1530
1477
 
1531
1478
  // src/components/core/KdsCopyButton/KdsCopyButton.tsx
1532
1479
  var import_jsx_runtime9 = require("react/jsx-runtime");
1533
- var KdsCopyButton = (0, import_react10.forwardRef)(
1480
+ var KdsCopyButton = (0, import_react9.forwardRef)(
1534
1481
  ({ value, copiedText = "Copiado", className, ...props }, ref) => {
1535
1482
  const { copied, copy } = useCopyToClipboard();
1536
1483
  return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
@@ -1556,15 +1503,15 @@ var KdsCopyButton = (0, import_react10.forwardRef)(
1556
1503
  KdsCopyButton.displayName = "KdsCopyButton";
1557
1504
 
1558
1505
  // src/components/core/KdsLinearProgress/KdsLinearProgress.tsx
1559
- var import_react11 = require("react");
1506
+ var import_react10 = require("react");
1560
1507
  var import_jsx_runtime10 = require("react/jsx-runtime");
1561
- var KdsLinearProgress = (0, import_react11.forwardRef)(
1508
+ var KdsLinearProgress = (0, import_react10.forwardRef)(
1562
1509
  ({ 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 })
1563
1510
  );
1564
1511
  KdsLinearProgress.displayName = "KdsLinearProgress";
1565
1512
 
1566
1513
  // src/components/core/KdsAlert/KdsAlert.tsx
1567
- var import_react12 = require("react");
1514
+ var import_react11 = require("react");
1568
1515
  var import_jsx_runtime11 = require("react/jsx-runtime");
1569
1516
  var DEFAULT_ICONS = {
1570
1517
  success: "check_circle",
@@ -1572,7 +1519,7 @@ var DEFAULT_ICONS = {
1572
1519
  warning: "warning",
1573
1520
  error: "error"
1574
1521
  };
1575
- var KdsAlert = (0, import_react12.forwardRef)(
1522
+ var KdsAlert = (0, import_react11.forwardRef)(
1576
1523
  ({ severity, title, icon, inline, onClose, children, className, ...props }, ref) => {
1577
1524
  const resolvedIcon = icon === false ? null : typeof icon === "string" ? icon : DEFAULT_ICONS[severity];
1578
1525
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
@@ -1606,7 +1553,7 @@ var KdsAlert = (0, import_react12.forwardRef)(
1606
1553
  KdsAlert.displayName = "KdsAlert";
1607
1554
 
1608
1555
  // src/components/core/KdsTypography/KdsTypography.tsx
1609
- var import_react13 = require("react");
1556
+ var import_react12 = require("react");
1610
1557
  var import_jsx_runtime12 = require("react/jsx-runtime");
1611
1558
  var variantTag = {
1612
1559
  display1: "h1",
@@ -1627,7 +1574,7 @@ var variantTag = {
1627
1574
  link: "span",
1628
1575
  strong: "span"
1629
1576
  };
1630
- var KdsTypography = (0, import_react13.forwardRef)(
1577
+ var KdsTypography = (0, import_react12.forwardRef)(
1631
1578
  ({ variant = "body", color, as, children, className, ...props }, ref) => {
1632
1579
  const Tag = as || variantTag[variant];
1633
1580
  return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
@@ -1648,12 +1595,12 @@ var KdsTypography = (0, import_react13.forwardRef)(
1648
1595
  KdsTypography.displayName = "KdsTypography";
1649
1596
 
1650
1597
  // src/components/core/KdsTabs/KdsTabs.tsx
1651
- var import_react15 = __toESM(require("react"));
1598
+ var import_react14 = __toESM(require("react"));
1652
1599
 
1653
1600
  // src/components/core/hooks/useTabsKeyboard.ts
1654
- var import_react14 = require("react");
1601
+ var import_react13 = require("react");
1655
1602
  function useTabsKeyboard(tabCount, activeIndex, onChange) {
1656
- const onKeyDown = (0, import_react14.useCallback)(
1603
+ const onKeyDown = (0, import_react13.useCallback)(
1657
1604
  (e) => {
1658
1605
  let next = activeIndex;
1659
1606
  if (e.key === "ArrowRight") next = (activeIndex + 1) % tabCount;
@@ -1674,11 +1621,11 @@ function useTabsKeyboard(tabCount, activeIndex, onChange) {
1674
1621
 
1675
1622
  // src/components/core/KdsTabs/KdsTabs.tsx
1676
1623
  var import_jsx_runtime13 = require("react/jsx-runtime");
1677
- var KdsTabs = (0, import_react15.forwardRef)(
1624
+ var KdsTabs = (0, import_react14.forwardRef)(
1678
1625
  ({ activeIndex, onChange, children, className, style, ...props }, ref) => {
1679
- const tabCount = import_react15.Children.count(children);
1626
+ const tabCount = import_react14.Children.count(children);
1680
1627
  const { onKeyDown } = useTabsKeyboard(tabCount, activeIndex, onChange);
1681
- const mergedStyle = (0, import_react15.useMemo)(
1628
+ const mergedStyle = (0, import_react14.useMemo)(
1682
1629
  () => ({
1683
1630
  ...style,
1684
1631
  "--_tab-count": tabCount,
@@ -1695,9 +1642,9 @@ var KdsTabs = (0, import_react15.forwardRef)(
1695
1642
  style: mergedStyle,
1696
1643
  onKeyDown,
1697
1644
  ...props,
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, {
1645
+ children: import_react14.Children.map(children, (child, i) => {
1646
+ if (!import_react14.default.isValidElement(child)) return child;
1647
+ return import_react14.default.cloneElement(child, {
1701
1648
  _active: i === activeIndex,
1702
1649
  _onClick: () => onChange(i)
1703
1650
  });
@@ -1707,7 +1654,7 @@ var KdsTabs = (0, import_react15.forwardRef)(
1707
1654
  }
1708
1655
  );
1709
1656
  KdsTabs.displayName = "KdsTabs";
1710
- var KdsTab = (0, import_react15.forwardRef)(
1657
+ var KdsTab = (0, import_react14.forwardRef)(
1711
1658
  ({ _active, _onClick, children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1712
1659
  "button",
1713
1660
  {
@@ -1724,7 +1671,7 @@ var KdsTab = (0, import_react15.forwardRef)(
1724
1671
  )
1725
1672
  );
1726
1673
  KdsTab.displayName = "KdsTab";
1727
- var KdsTabPanel = (0, import_react15.forwardRef)(
1674
+ var KdsTabPanel = (0, import_react14.forwardRef)(
1728
1675
  ({ active, children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1729
1676
  "div",
1730
1677
  {
@@ -1740,9 +1687,9 @@ var KdsTabPanel = (0, import_react15.forwardRef)(
1740
1687
  KdsTabPanel.displayName = "KdsTabPanel";
1741
1688
 
1742
1689
  // src/components/core/KdsRadioGroup/KdsRadioGroup.tsx
1743
- var import_react16 = require("react");
1690
+ var import_react15 = require("react");
1744
1691
  var import_jsx_runtime14 = require("react/jsx-runtime");
1745
- var KdsRadioGroup = (0, import_react16.forwardRef)(
1692
+ var KdsRadioGroup = (0, import_react15.forwardRef)(
1746
1693
  ({ label, name, options, value, onChange, size, variant, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
1747
1694
  "fieldset",
1748
1695
  {
@@ -1772,9 +1719,9 @@ var KdsRadioGroup = (0, import_react16.forwardRef)(
1772
1719
  KdsRadioGroup.displayName = "KdsRadioGroup";
1773
1720
 
1774
1721
  // src/components/core/KdsSelect/KdsSelect.tsx
1775
- var import_react17 = require("react");
1722
+ var import_react16 = require("react");
1776
1723
  var import_jsx_runtime15 = require("react/jsx-runtime");
1777
- var KdsSelect = (0, import_react17.forwardRef)(
1724
+ var KdsSelect = (0, import_react16.forwardRef)(
1778
1725
  ({
1779
1726
  label,
1780
1727
  options,
@@ -1831,9 +1778,9 @@ var KdsSelect = (0, import_react17.forwardRef)(
1831
1778
  KdsSelect.displayName = "KdsSelect";
1832
1779
 
1833
1780
  // src/components/core/KdsChip/KdsChip.tsx
1834
- var import_react18 = require("react");
1781
+ var import_react17 = require("react");
1835
1782
  var import_jsx_runtime16 = require("react/jsx-runtime");
1836
- var KdsChip = (0, import_react18.forwardRef)(
1783
+ var KdsChip = (0, import_react17.forwardRef)(
1837
1784
  ({ 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: [
1838
1785
  icon && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("i", { className: "material-symbols-outlined", children: icon }),
1839
1786
  /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { children }),
@@ -1855,15 +1802,15 @@ var KdsChip = (0, import_react18.forwardRef)(
1855
1802
  KdsChip.displayName = "KdsChip";
1856
1803
 
1857
1804
  // src/components/core/KdsSnackbar/KdsSnackbar.tsx
1858
- var import_react20 = require("react");
1805
+ var import_react19 = require("react");
1859
1806
 
1860
1807
  // src/components/core/hooks/useAutoHide.ts
1861
- var import_react19 = require("react");
1808
+ var import_react18 = require("react");
1862
1809
  function useAutoHide(durationMs, onHide) {
1863
- const [visible, setVisible] = (0, import_react19.useState)(true);
1864
- const onHideRef = (0, import_react19.useRef)(onHide);
1810
+ const [visible, setVisible] = (0, import_react18.useState)(true);
1811
+ const onHideRef = (0, import_react18.useRef)(onHide);
1865
1812
  onHideRef.current = onHide;
1866
- (0, import_react19.useEffect)(() => {
1813
+ (0, import_react18.useEffect)(() => {
1867
1814
  if (durationMs <= 0) return;
1868
1815
  const timer = setTimeout(() => {
1869
1816
  setVisible(false);
@@ -1881,7 +1828,7 @@ var DEFAULT_ICONS2 = {
1881
1828
  success: "check_circle",
1882
1829
  error: "error"
1883
1830
  };
1884
- var KdsSnackbar = (0, import_react20.forwardRef)(
1831
+ var KdsSnackbar = (0, import_react19.forwardRef)(
1885
1832
  ({
1886
1833
  message,
1887
1834
  type = "info",
@@ -1959,36 +1906,36 @@ function KdsTooltip({
1959
1906
  }
1960
1907
 
1961
1908
  // src/components/core/KdsAccordion/KdsAccordion.tsx
1962
- var import_react21 = require("react");
1909
+ var import_react20 = require("react");
1963
1910
  var import_jsx_runtime19 = require("react/jsx-runtime");
1964
- var KdsAccordion = (0, import_react21.forwardRef)(
1911
+ var KdsAccordion = (0, import_react20.forwardRef)(
1965
1912
  ({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("details", { ref, className: (0, import_clsx.clsx)("kds-accordion", className), ...props, children })
1966
1913
  );
1967
1914
  KdsAccordion.displayName = "KdsAccordion";
1968
- var KdsAccordionSummary = (0, import_react21.forwardRef)(
1915
+ var KdsAccordionSummary = (0, import_react20.forwardRef)(
1969
1916
  ({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("summary", { ref, className: (0, import_clsx.clsx)("kds-accordion-summary", className), ...props, children: [
1970
1917
  children,
1971
1918
  /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("i", { className: "material-symbols-outlined", children: "expand_more" })
1972
1919
  ] })
1973
1920
  );
1974
1921
  KdsAccordionSummary.displayName = "KdsAccordionSummary";
1975
- var KdsAccordionDetails = (0, import_react21.forwardRef)(
1922
+ var KdsAccordionDetails = (0, import_react20.forwardRef)(
1976
1923
  ({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { ref, className: (0, import_clsx.clsx)("kds-accordion-details", className), ...props, children })
1977
1924
  );
1978
1925
  KdsAccordionDetails.displayName = "KdsAccordionDetails";
1979
1926
 
1980
1927
  // src/components/core/KdsDivider/KdsDivider.tsx
1981
- var import_react22 = require("react");
1928
+ var import_react21 = require("react");
1982
1929
  var import_jsx_runtime20 = require("react/jsx-runtime");
1983
- var KdsDivider = (0, import_react22.forwardRef)(
1930
+ var KdsDivider = (0, import_react21.forwardRef)(
1984
1931
  ({ 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 })
1985
1932
  );
1986
1933
  KdsDivider.displayName = "KdsDivider";
1987
1934
 
1988
1935
  // src/components/core/KdsSectionNote/KdsSectionNote.tsx
1989
- var import_react23 = require("react");
1936
+ var import_react22 = require("react");
1990
1937
  var import_jsx_runtime21 = require("react/jsx-runtime");
1991
- var KdsSectionNote = (0, import_react23.forwardRef)(
1938
+ var KdsSectionNote = (0, import_react22.forwardRef)(
1992
1939
  ({ 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: [
1993
1940
  /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("i", { className: "material-symbols-outlined", children: icon }),
1994
1941
  /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { children })
@@ -1997,9 +1944,9 @@ var KdsSectionNote = (0, import_react23.forwardRef)(
1997
1944
  KdsSectionNote.displayName = "KdsSectionNote";
1998
1945
 
1999
1946
  // src/components/core/KdsStatusBlock/KdsStatusBlock.tsx
2000
- var import_react24 = require("react");
1947
+ var import_react23 = require("react");
2001
1948
  var import_jsx_runtime22 = require("react/jsx-runtime");
2002
- var KdsStatusBlock = (0, import_react24.forwardRef)(
1949
+ var KdsStatusBlock = (0, import_react23.forwardRef)(
2003
1950
  ({ 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: [
2004
1951
  /* @__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 }) }),
2005
1952
  /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
@@ -2011,9 +1958,9 @@ var KdsStatusBlock = (0, import_react24.forwardRef)(
2011
1958
  KdsStatusBlock.displayName = "KdsStatusBlock";
2012
1959
 
2013
1960
  // src/components/core/KdsStepper/KdsStepper.tsx
2014
- var import_react25 = require("react");
1961
+ var import_react24 = require("react");
2015
1962
  var import_jsx_runtime23 = require("react/jsx-runtime");
2016
- var KdsStepper = (0, import_react25.forwardRef)(
1963
+ var KdsStepper = (0, import_react24.forwardRef)(
2017
1964
  ({ 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)(
2018
1965
  "div",
2019
1966
  {
@@ -2029,9 +1976,9 @@ var KdsStepper = (0, import_react25.forwardRef)(
2029
1976
  KdsStepper.displayName = "KdsStepper";
2030
1977
 
2031
1978
  // src/components/core/KdsCopyRow/KdsCopyRow.tsx
2032
- var import_react26 = require("react");
1979
+ var import_react25 = require("react");
2033
1980
  var import_jsx_runtime24 = require("react/jsx-runtime");
2034
- var KdsCopyRow = (0, import_react26.forwardRef)(
1981
+ var KdsCopyRow = (0, import_react25.forwardRef)(
2035
1982
  ({ label, value, copiedText = "Copiado", className, ...props }, ref) => {
2036
1983
  const { copied, copy } = useCopyToClipboard();
2037
1984
  return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
@@ -2063,7 +2010,7 @@ var KdsCopyRow = (0, import_react26.forwardRef)(
2063
2010
  KdsCopyRow.displayName = "KdsCopyRow";
2064
2011
 
2065
2012
  // src/components/core/KdsCopyableTable/KdsCopyableTable.tsx
2066
- var import_react27 = require("react");
2013
+ var import_react26 = require("react");
2067
2014
  var import_jsx_runtime25 = require("react/jsx-runtime");
2068
2015
  async function copyToClipboard(text) {
2069
2016
  try {
@@ -2130,12 +2077,12 @@ function CopyableVariant({
2130
2077
  forwardedRef,
2131
2078
  rest
2132
2079
  }) {
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) => {
2080
+ const copiedTimers = (0, import_react26.useRef)(/* @__PURE__ */ new Map());
2081
+ const settlingTimers = (0, import_react26.useRef)(/* @__PURE__ */ new Map());
2082
+ const [copiedRows, setCopiedRows] = (0, import_react26.useState)(/* @__PURE__ */ new Set());
2083
+ const [settlingRows, setSettlingRows] = (0, import_react26.useState)(/* @__PURE__ */ new Set());
2084
+ const [allCopied, setAllCopied] = (0, import_react26.useState)(false);
2085
+ const markCopied = (0, import_react26.useCallback)((indexes, duration = 1500) => {
2139
2086
  setCopiedRows((prev) => {
2140
2087
  const next = new Set(prev);
2141
2088
  indexes.forEach((i) => next.add(i));
@@ -2241,7 +2188,7 @@ function CopyableVariant({
2241
2188
  )
2242
2189
  ] });
2243
2190
  }
2244
- var KdsCopyableTable = (0, import_react27.forwardRef)(
2191
+ var KdsCopyableTable = (0, import_react26.forwardRef)(
2245
2192
  ({
2246
2193
  rows = [],
2247
2194
  variant = "copyable",
@@ -2282,11 +2229,11 @@ var KdsCopyableTable = (0, import_react27.forwardRef)(
2282
2229
  KdsCopyableTable.displayName = "KdsCopyableTable";
2283
2230
 
2284
2231
  // src/components/core/KdsExpandPanel/KdsExpandPanel.tsx
2285
- var import_react28 = require("react");
2232
+ var import_react27 = require("react");
2286
2233
  var import_jsx_runtime26 = require("react/jsx-runtime");
2287
- var KdsExpandPanel = (0, import_react28.forwardRef)(
2234
+ var KdsExpandPanel = (0, import_react27.forwardRef)(
2288
2235
  ({ label, defaultExpanded = false, children, className, ...props }, ref) => {
2289
- const [expanded, setExpanded] = (0, import_react28.useState)(defaultExpanded);
2236
+ const [expanded, setExpanded] = (0, import_react27.useState)(defaultExpanded);
2290
2237
  return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { ref, className, ...props, children: [
2291
2238
  /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
2292
2239
  "button",
@@ -2307,10 +2254,10 @@ var KdsExpandPanel = (0, import_react28.forwardRef)(
2307
2254
  KdsExpandPanel.displayName = "KdsExpandPanel";
2308
2255
 
2309
2256
  // src/components/core/KdsCountdown/KdsCountdown.tsx
2310
- var import_react30 = require("react");
2257
+ var import_react29 = require("react");
2311
2258
 
2312
2259
  // src/components/core/hooks/useCountdown.ts
2313
- var import_react29 = require("react");
2260
+ var import_react28 = require("react");
2314
2261
  function calcRemaining(deadline) {
2315
2262
  const diff = Math.max(0, new Date(deadline).getTime() - Date.now());
2316
2263
  const totalSeconds = Math.floor(diff / 1e3);
@@ -2323,8 +2270,8 @@ function calcRemaining(deadline) {
2323
2270
  };
2324
2271
  }
2325
2272
  function useCountdown(deadline) {
2326
- const [state, setState] = (0, import_react29.useState)(() => calcRemaining(deadline));
2327
- (0, import_react29.useEffect)(() => {
2273
+ const [state, setState] = (0, import_react28.useState)(() => calcRemaining(deadline));
2274
+ (0, import_react28.useEffect)(() => {
2328
2275
  const tick = () => setState(calcRemaining(deadline));
2329
2276
  const id = setInterval(tick, 1e3);
2330
2277
  return () => clearInterval(id);
@@ -2334,12 +2281,12 @@ function useCountdown(deadline) {
2334
2281
 
2335
2282
  // src/components/core/KdsCountdown/KdsCountdown.tsx
2336
2283
  var import_jsx_runtime27 = require("react/jsx-runtime");
2337
- var KdsCountdown = (0, import_react30.forwardRef)(
2284
+ var KdsCountdown = (0, import_react29.forwardRef)(
2338
2285
  ({ deadline, label, onExpire, className, ...props }, ref) => {
2339
2286
  const { hours, minutes, seconds, expired, urgent } = useCountdown(deadline);
2340
- const onExpireRef = (0, import_react30.useRef)(onExpire);
2287
+ const onExpireRef = (0, import_react29.useRef)(onExpire);
2341
2288
  onExpireRef.current = onExpire;
2342
- (0, import_react30.useEffect)(() => {
2289
+ (0, import_react29.useEffect)(() => {
2343
2290
  if (expired) {
2344
2291
  onExpireRef.current?.();
2345
2292
  }
@@ -2363,17 +2310,17 @@ var KdsCountdown = (0, import_react30.forwardRef)(
2363
2310
  KdsCountdown.displayName = "KdsCountdown";
2364
2311
 
2365
2312
  // src/components/core/KdsSegmentedTabs/KdsSegmentedTabs.tsx
2366
- var import_react31 = require("react");
2313
+ var import_react30 = require("react");
2367
2314
  var import_jsx_runtime28 = require("react/jsx-runtime");
2368
- var KdsSegmentedTabs = (0, import_react31.forwardRef)(
2315
+ var KdsSegmentedTabs = (0, import_react30.forwardRef)(
2369
2316
  (props, ref) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(KdsTabs, { ref, ...props })
2370
2317
  );
2371
2318
  KdsSegmentedTabs.displayName = "KdsSegmentedTabs";
2372
2319
 
2373
2320
  // src/components/core/KdsFab/KdsFab.tsx
2374
- var import_react32 = require("react");
2321
+ var import_react31 = require("react");
2375
2322
  var import_jsx_runtime29 = require("react/jsx-runtime");
2376
- var KdsFab = (0, import_react32.forwardRef)(
2323
+ var KdsFab = (0, import_react31.forwardRef)(
2377
2324
  ({ icon, position = "top-right", hidden = false, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
2378
2325
  "button",
2379
2326
  {
@@ -2395,9 +2342,9 @@ var KdsFab = (0, import_react32.forwardRef)(
2395
2342
  KdsFab.displayName = "KdsFab";
2396
2343
 
2397
2344
  // src/components/core/KdsEmptyState/KdsEmptyState.tsx
2398
- var import_react33 = require("react");
2345
+ var import_react32 = require("react");
2399
2346
  var import_jsx_runtime30 = require("react/jsx-runtime");
2400
- var KdsEmptyState = (0, import_react33.forwardRef)(
2347
+ var KdsEmptyState = (0, import_react32.forwardRef)(
2401
2348
  ({ icon = "hide_source", title, description, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
2402
2349
  "div",
2403
2350
  {
@@ -2418,9 +2365,9 @@ var KdsEmptyState = (0, import_react33.forwardRef)(
2418
2365
  KdsEmptyState.displayName = "KdsEmptyState";
2419
2366
 
2420
2367
  // src/components/domain/KdsBankRow/KdsBankRow.tsx
2421
- var import_react34 = require("react");
2368
+ var import_react33 = require("react");
2422
2369
  var import_jsx_runtime31 = require("react/jsx-runtime");
2423
- var KdsBankRow = (0, import_react34.forwardRef)(
2370
+ var KdsBankRow = (0, import_react33.forwardRef)(
2424
2371
  ({ name, logoUrl, selected, hideLogo, className, ...props }, ref) => {
2425
2372
  const nameStr = typeof name === "string" ? name : "";
2426
2373
  return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
@@ -2442,20 +2389,20 @@ var KdsBankRow = (0, import_react34.forwardRef)(
2442
2389
  KdsBankRow.displayName = "KdsBankRow";
2443
2390
 
2444
2391
  // src/components/domain/KdsBankList/KdsBankList.tsx
2445
- var import_react35 = require("react");
2392
+ var import_react34 = require("react");
2446
2393
  var import_jsx_runtime32 = require("react/jsx-runtime");
2447
- var KdsBankList = (0, import_react35.forwardRef)(
2394
+ var KdsBankList = (0, import_react34.forwardRef)(
2448
2395
  ({ 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 })
2449
2396
  );
2450
2397
  KdsBankList.displayName = "KdsBankList";
2451
2398
 
2452
2399
  // src/components/domain/KdsBankModal/KdsBankModal.tsx
2453
- var import_react36 = require("react");
2400
+ var import_react35 = require("react");
2454
2401
  var Dialog = __toESM(require("@radix-ui/react-dialog"));
2455
2402
  var import_jsx_runtime33 = require("react/jsx-runtime");
2456
- var KdsBankModal = (0, import_react36.forwardRef)(
2403
+ var KdsBankModal = (0, import_react35.forwardRef)(
2457
2404
  ({ open, onClose, title = "Selecciona tu banco", searchPlaceholder = "Buscar banco...", onSearch, children, className, container }, ref) => {
2458
- const [query, setQuery] = (0, import_react36.useState)("");
2405
+ const [query, setQuery] = (0, import_react35.useState)("");
2459
2406
  const handleSearch = (value) => {
2460
2407
  setQuery(value);
2461
2408
  onSearch?.(value);
@@ -2482,9 +2429,9 @@ var KdsBankModal = (0, import_react36.forwardRef)(
2482
2429
  KdsBankModal.displayName = "KdsBankModal";
2483
2430
 
2484
2431
  // src/components/domain/KdsQrRow/KdsQrRow.tsx
2485
- var import_react37 = require("react");
2432
+ var import_react36 = require("react");
2486
2433
  var import_jsx_runtime34 = require("react/jsx-runtime");
2487
- var KdsQrRow = (0, import_react37.forwardRef)(
2434
+ var KdsQrRow = (0, import_react36.forwardRef)(
2488
2435
  ({ 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: [
2489
2436
  /* @__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 }) }),
2490
2437
  /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("span", { className: "kds-qr-text", children: [
@@ -2498,9 +2445,9 @@ var KdsQrRow = (0, import_react37.forwardRef)(
2498
2445
  KdsQrRow.displayName = "KdsQrRow";
2499
2446
 
2500
2447
  // src/components/domain/KdsCardSelector/KdsCardSelector.tsx
2501
- var import_react38 = require("react");
2448
+ var import_react37 = require("react");
2502
2449
  var import_jsx_runtime35 = require("react/jsx-runtime");
2503
- var KdsCardSelector = (0, import_react38.forwardRef)(
2450
+ var KdsCardSelector = (0, import_react37.forwardRef)(
2504
2451
  ({ icon, title, description, selected, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
2505
2452
  "button",
2506
2453
  {
@@ -2519,9 +2466,9 @@ var KdsCardSelector = (0, import_react38.forwardRef)(
2519
2466
  KdsCardSelector.displayName = "KdsCardSelector";
2520
2467
 
2521
2468
  // src/components/domain/KdsCardPlan/KdsCardPlan.tsx
2522
- var import_react39 = require("react");
2469
+ var import_react38 = require("react");
2523
2470
  var import_jsx_runtime36 = require("react/jsx-runtime");
2524
- var KdsCardPlan = (0, import_react39.forwardRef)(
2471
+ var KdsCardPlan = (0, import_react38.forwardRef)(
2525
2472
  ({ title, price, period, features, recommended, badgeText, action, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
2526
2473
  "div",
2527
2474
  {
@@ -2547,9 +2494,9 @@ var KdsCardPlan = (0, import_react39.forwardRef)(
2547
2494
  KdsCardPlan.displayName = "KdsCardPlan";
2548
2495
 
2549
2496
  // src/components/domain/KdsInvoiceSticky/KdsInvoiceSticky.tsx
2550
- var import_react40 = require("react");
2497
+ var import_react39 = require("react");
2551
2498
  var import_jsx_runtime37 = require("react/jsx-runtime");
2552
- var KdsInvoiceSticky = (0, import_react40.forwardRef)(
2499
+ var KdsInvoiceSticky = (0, import_react39.forwardRef)(
2553
2500
  ({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
2554
2501
  "article",
2555
2502
  {
@@ -2563,10 +2510,10 @@ var KdsInvoiceSticky = (0, import_react40.forwardRef)(
2563
2510
  KdsInvoiceSticky.displayName = "KdsInvoiceSticky";
2564
2511
 
2565
2512
  // src/components/domain/KdsBottomSheet/KdsBottomSheet.tsx
2566
- var import_react41 = require("react");
2513
+ var import_react40 = require("react");
2567
2514
  var Dialog2 = __toESM(require("@radix-ui/react-dialog"));
2568
2515
  var import_jsx_runtime38 = require("react/jsx-runtime");
2569
- var KdsBottomSheet = (0, import_react41.forwardRef)(
2516
+ var KdsBottomSheet = (0, import_react40.forwardRef)(
2570
2517
  ({
2571
2518
  open,
2572
2519
  onClose,
@@ -2620,12 +2567,12 @@ var KdsBottomSheet = (0, import_react41.forwardRef)(
2620
2567
  KdsBottomSheet.displayName = "KdsBottomSheet";
2621
2568
 
2622
2569
  // src/components/domain/KdsSecureFooter/KdsSecureFooter.tsx
2623
- var import_react43 = require("react");
2570
+ var import_react42 = require("react");
2624
2571
 
2625
2572
  // src/components/domain/KdsSecureFooter/KhipuWordmark.tsx
2626
- var import_react42 = require("react");
2573
+ var import_react41 = require("react");
2627
2574
  var import_jsx_runtime39 = require("react/jsx-runtime");
2628
- var KhipuWordmark = (0, import_react42.forwardRef)(
2575
+ var KhipuWordmark = (0, import_react41.forwardRef)(
2629
2576
  ({ className = "khipu-mark", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
2630
2577
  "svg",
2631
2578
  {
@@ -2653,7 +2600,7 @@ KhipuWordmark.displayName = "KhipuWordmark";
2653
2600
 
2654
2601
  // src/components/domain/KdsSecureFooter/KdsSecureFooter.tsx
2655
2602
  var import_jsx_runtime40 = require("react/jsx-runtime");
2656
- var KdsSecureFooter = (0, import_react43.forwardRef)(
2603
+ var KdsSecureFooter = (0, import_react42.forwardRef)(
2657
2604
  ({ 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: [
2658
2605
  /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("svg", { className: "kds-secure-footer-lock", viewBox: "0 0 24 24", "aria-hidden": "true", children: [
2659
2606
  /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("rect", { x: "4.5", y: "10.5", width: "15", height: "10", rx: "2.25" }),
@@ -2670,9 +2617,9 @@ var KdsSecureFooter = (0, import_react43.forwardRef)(
2670
2617
  KdsSecureFooter.displayName = "KdsSecureFooter";
2671
2618
 
2672
2619
  // src/components/domain/KdsRecapList/KdsRecapList.tsx
2673
- var import_react44 = require("react");
2620
+ var import_react43 = require("react");
2674
2621
  var import_jsx_runtime41 = require("react/jsx-runtime");
2675
- var KdsRecapList = (0, import_react44.forwardRef)(
2622
+ var KdsRecapList = (0, import_react43.forwardRef)(
2676
2623
  ({ 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: [
2677
2624
  /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "kds-key", children: item.label }),
2678
2625
  /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: (0, import_clsx.clsx)("kds-value", !item.value && item.placeholder && "placeholder"), children: item.value || item.placeholder || "-" })
@@ -2681,9 +2628,9 @@ var KdsRecapList = (0, import_react44.forwardRef)(
2681
2628
  KdsRecapList.displayName = "KdsRecapList";
2682
2629
 
2683
2630
  // src/components/domain/KdsMontoRow/KdsMontoRow.tsx
2684
- var import_react45 = require("react");
2631
+ var import_react44 = require("react");
2685
2632
  var import_jsx_runtime42 = require("react/jsx-runtime");
2686
- var KdsMontoRow = (0, import_react45.forwardRef)(
2633
+ var KdsMontoRow = (0, import_react44.forwardRef)(
2687
2634
  ({ 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: [
2688
2635
  /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { children: [
2689
2636
  /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "kds-monto-row-title", children: title }),
@@ -2695,9 +2642,9 @@ var KdsMontoRow = (0, import_react45.forwardRef)(
2695
2642
  KdsMontoRow.displayName = "KdsMontoRow";
2696
2643
 
2697
2644
  // src/components/domain/KdsMerchantTile/KdsMerchantTile.tsx
2698
- var import_react46 = require("react");
2645
+ var import_react45 = require("react");
2699
2646
  var import_jsx_runtime43 = require("react/jsx-runtime");
2700
- var KdsMerchantTile = (0, import_react46.forwardRef)(
2647
+ var KdsMerchantTile = (0, import_react45.forwardRef)(
2701
2648
  ({ name, logoUrl, initials, compact, className, ...props }, ref) => {
2702
2649
  const displayInitials = (initials ?? name.slice(0, 2)).toUpperCase();
2703
2650
  return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
@@ -2715,10 +2662,10 @@ var KdsMerchantTile = (0, import_react46.forwardRef)(
2715
2662
  KdsMerchantTile.displayName = "KdsMerchantTile";
2716
2663
 
2717
2664
  // src/components/domain/KdsInvoiceMerchant/KdsInvoiceMerchant.tsx
2718
- var import_react48 = require("react");
2665
+ var import_react47 = require("react");
2719
2666
 
2720
2667
  // src/components/domain/KdsInvoiceMerchant/useLogoBackdrop.ts
2721
- var import_react47 = require("react");
2668
+ var import_react46 = require("react");
2722
2669
 
2723
2670
  // src/components/domain/KdsInvoiceMerchant/logoLuminance.ts
2724
2671
  var LIGHT_LOGO_LUMINANCE_THRESHOLD = 0.72;
@@ -2767,8 +2714,8 @@ function pickLogoBackdrop(luminance) {
2767
2714
 
2768
2715
  // src/components/domain/KdsInvoiceMerchant/useLogoBackdrop.ts
2769
2716
  function useLogoBackdrop(logoUrl) {
2770
- const [backdrop, setBackdrop] = (0, import_react47.useState)("light");
2771
- (0, import_react47.useEffect)(() => {
2717
+ const [backdrop, setBackdrop] = (0, import_react46.useState)("light");
2718
+ (0, import_react46.useEffect)(() => {
2772
2719
  let cancelled = false;
2773
2720
  setBackdrop("light");
2774
2721
  if (!logoUrl) {
@@ -2788,9 +2735,9 @@ function useLogoBackdrop(logoUrl) {
2788
2735
 
2789
2736
  // src/components/domain/KdsInvoiceMerchant/KdsInvoiceMerchant.tsx
2790
2737
  var import_jsx_runtime44 = require("react/jsx-runtime");
2791
- var KdsInvoiceMerchant = (0, import_react48.forwardRef)(
2738
+ var KdsInvoiceMerchant = (0, import_react47.forwardRef)(
2792
2739
  ({ logoUrl, brandColor, className, style, ...props }, ref) => {
2793
- const [failed, setFailed] = (0, import_react48.useState)(false);
2740
+ const [failed, setFailed] = (0, import_react47.useState)(false);
2794
2741
  const showLogo = !!logoUrl && !failed;
2795
2742
  const backdrop = useLogoBackdrop(showLogo ? logoUrl : void 0);
2796
2743
  return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
@@ -2814,9 +2761,9 @@ var KdsInvoiceMerchant = (0, import_react48.forwardRef)(
2814
2761
  KdsInvoiceMerchant.displayName = "KdsInvoiceMerchant";
2815
2762
 
2816
2763
  // src/components/domain/KdsPaymentTotal/KdsPaymentTotal.tsx
2817
- var import_react49 = require("react");
2764
+ var import_react48 = require("react");
2818
2765
  var import_jsx_runtime45 = require("react/jsx-runtime");
2819
- var KdsPaymentTotal = (0, import_react49.forwardRef)(
2766
+ var KdsPaymentTotal = (0, import_react48.forwardRef)(
2820
2767
  ({
2821
2768
  variant = "default",
2822
2769
  tone = "brand",
@@ -2890,9 +2837,9 @@ function formatAmount(amount, decimals, locale) {
2890
2837
  }
2891
2838
 
2892
2839
  // src/components/domain/KdsBillAttachment/KdsBillAttachment.tsx
2893
- var import_react50 = require("react");
2840
+ var import_react49 = require("react");
2894
2841
  var import_jsx_runtime46 = require("react/jsx-runtime");
2895
- var KdsBillAttachment = (0, import_react50.forwardRef)(
2842
+ var KdsBillAttachment = (0, import_react49.forwardRef)(
2896
2843
  ({ filename, href, icon = "attach_file", className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
2897
2844
  "a",
2898
2845
  {
@@ -2910,7 +2857,7 @@ var KdsBillAttachment = (0, import_react50.forwardRef)(
2910
2857
  )
2911
2858
  );
2912
2859
  KdsBillAttachment.displayName = "KdsBillAttachment";
2913
- var KdsBillAttachments = (0, import_react50.forwardRef)(
2860
+ var KdsBillAttachments = (0, import_react49.forwardRef)(
2914
2861
  ({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { ref, className: (0, import_clsx.clsx)("kds-bill-attachments", className), ...props, children })
2915
2862
  );
2916
2863
  KdsBillAttachments.displayName = "KdsBillAttachments";
@@ -3010,12 +2957,12 @@ var guideToFirstInvalidFieldOnBlur = (form) => {
3010
2957
  };
3011
2958
 
3012
2959
  // src/components/core/hooks/useStickyInvoiceCollapse.ts
3013
- var import_react51 = require("react");
2960
+ var import_react50 = require("react");
3014
2961
  function useStickyInvoiceCollapse(options = {}) {
3015
2962
  const { onCollapseStart, collapseEnd = 20, mobileBreakpoint = 768 } = options;
3016
- const onCollapseStartRef = (0, import_react51.useRef)(onCollapseStart);
2963
+ const onCollapseStartRef = (0, import_react50.useRef)(onCollapseStart);
3017
2964
  onCollapseStartRef.current = onCollapseStart;
3018
- (0, import_react51.useEffect)(() => {
2965
+ (0, import_react50.useEffect)(() => {
3019
2966
  let viewportOffset = 0;
3020
2967
  let ticking = false;
3021
2968
  let wasCollapsing = false;
@@ -3088,24 +3035,24 @@ function useStickyInvoiceCollapse(options = {}) {
3088
3035
  }
3089
3036
 
3090
3037
  // src/components/core/hooks/useExpandToggle.ts
3091
- var import_react52 = require("react");
3038
+ var import_react51 = require("react");
3092
3039
  function useExpandToggle(options = {}) {
3093
3040
  const { defaultOpen = false, open: controlledOpen, onOpenChange, id } = options;
3094
- const generatedId = (0, import_react52.useId)();
3041
+ const generatedId = (0, import_react51.useId)();
3095
3042
  const panelId = id ?? `kds-expand-${generatedId}`;
3096
3043
  const isControlled = controlledOpen !== void 0;
3097
- const [uncontrolledOpen, setUncontrolledOpen] = (0, import_react52.useState)(defaultOpen);
3044
+ const [uncontrolledOpen, setUncontrolledOpen] = (0, import_react51.useState)(defaultOpen);
3098
3045
  const open = isControlled ? controlledOpen : uncontrolledOpen;
3099
- const panelRef = (0, import_react52.useRef)(null);
3100
- const setPanelRef = (0, import_react52.useCallback)((node) => {
3046
+ const panelRef = (0, import_react51.useRef)(null);
3047
+ const setPanelRef = (0, import_react51.useCallback)((node) => {
3101
3048
  panelRef.current = node;
3102
3049
  }, []);
3103
- (0, import_react52.useLayoutEffect)(() => {
3050
+ (0, import_react51.useLayoutEffect)(() => {
3104
3051
  const panel = panelRef.current;
3105
3052
  if (!panel) return;
3106
3053
  panel.style.maxHeight = open ? `${panel.scrollHeight}px` : "";
3107
3054
  }, [open]);
3108
- const setOpen = (0, import_react52.useCallback)(
3055
+ const setOpen = (0, import_react51.useCallback)(
3109
3056
  (next) => {
3110
3057
  if (!isControlled) {
3111
3058
  setUncontrolledOpen(next);
@@ -3114,8 +3061,8 @@ function useExpandToggle(options = {}) {
3114
3061
  },
3115
3062
  [isControlled, onOpenChange]
3116
3063
  );
3117
- const toggle = (0, import_react52.useCallback)(() => setOpen(!open), [open, setOpen]);
3118
- const getToggleProps = (0, import_react52.useCallback)(
3064
+ const toggle = (0, import_react51.useCallback)(() => setOpen(!open), [open, setOpen]);
3065
+ const getToggleProps = (0, import_react51.useCallback)(
3119
3066
  () => ({
3120
3067
  type: "button",
3121
3068
  "aria-expanded": open,
@@ -3124,7 +3071,7 @@ function useExpandToggle(options = {}) {
3124
3071
  }),
3125
3072
  [open, panelId, toggle]
3126
3073
  );
3127
- const getPanelProps = (0, import_react52.useCallback)(
3074
+ const getPanelProps = (0, import_react51.useCallback)(
3128
3075
  (baseClassName = "kds-expand-panel") => ({
3129
3076
  id: panelId,
3130
3077
  className: open ? `${baseClassName} open` : baseClassName,
@@ -3137,11 +3084,11 @@ function useExpandToggle(options = {}) {
3137
3084
  }
3138
3085
 
3139
3086
  // src/components/core/hooks/useHideOnScroll.ts
3140
- var import_react53 = require("react");
3087
+ var import_react52 = require("react");
3141
3088
  function useHideOnScroll(options = {}) {
3142
3089
  const { threshold = 8, topOffset = 0 } = options;
3143
- const [hidden, setHidden] = (0, import_react53.useState)(false);
3144
- (0, import_react53.useEffect)(() => {
3090
+ const [hidden, setHidden] = (0, import_react52.useState)(false);
3091
+ (0, import_react52.useEffect)(() => {
3145
3092
  let viewportOffset = 0;
3146
3093
  let lastY = 0;
3147
3094
  let ticking = false;
@@ -3184,12 +3131,12 @@ function useHideOnScroll(options = {}) {
3184
3131
  }
3185
3132
 
3186
3133
  // src/components/core/hooks/useMediaQuery.ts
3187
- var import_react54 = require("react");
3134
+ var import_react53 = require("react");
3188
3135
  function useMediaQuery(query) {
3189
- const [matches, setMatches] = (0, import_react54.useState)(
3136
+ const [matches, setMatches] = (0, import_react53.useState)(
3190
3137
  () => typeof window !== "undefined" ? window.matchMedia(query).matches : false
3191
3138
  );
3192
- (0, import_react54.useEffect)(() => {
3139
+ (0, import_react53.useEffect)(() => {
3193
3140
  if (typeof window === "undefined") return;
3194
3141
  const mql = window.matchMedia(query);
3195
3142
  setMatches(mql.matches);
@@ -3201,6 +3148,7 @@ function useMediaQuery(query) {
3201
3148
  }
3202
3149
  // Annotate the CommonJS export names for ESM import in node:
3203
3150
  0 && (module.exports = {
3151
+ KDS_VERSION,
3204
3152
  KdsAccordion,
3205
3153
  KdsAccordionDetails,
3206
3154
  KdsAccordionSummary,