@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/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 import_react = require("react");
1250
+ var import_react2 = require("react");
1185
1251
  var import_jsx_runtime2 = require("react/jsx-runtime");
1186
- var KdsButton = (0, import_react.forwardRef)(
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 import_react2 = require("react");
1296
+ var import_react3 = require("react");
1231
1297
  var import_jsx_runtime3 = require("react/jsx-runtime");
1232
- var KdsTextField = (0, import_react2.forwardRef)(
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, import_react2.useState)(false);
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 import_react3 = require("react");
1386
+ var import_react4 = require("react");
1321
1387
  var import_jsx_runtime4 = require("react/jsx-runtime");
1322
- var KdsSearchField = (0, import_react3.forwardRef)(
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 import_react4 = require("react");
1411
+ var import_react5 = require("react");
1346
1412
  var import_jsx_runtime5 = require("react/jsx-runtime");
1347
- var KdsCheckbox = (0, import_react4.forwardRef)(
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 import_react5 = require("react");
1422
+ var import_react6 = require("react");
1357
1423
  var import_jsx_runtime6 = require("react/jsx-runtime");
1358
- var KdsCard = (0, import_react5.forwardRef)(
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, import_react5.forwardRef)(
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, import_react5.forwardRef)(
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, import_react5.forwardRef)(
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 import_react6 = require("react");
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, import_react6.forwardRef)(
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 import_react7 = require("react");
1483
+ var import_react8 = require("react");
1418
1484
  var import_jsx_runtime8 = require("react/jsx-runtime");
1419
- var KdsSecureLoader = (0, import_react7.forwardRef)(
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 import_react9 = require("react");
1511
+ var import_react10 = require("react");
1446
1512
 
1447
1513
  // src/components/core/hooks/useCopyToClipboard.ts
1448
- var import_react8 = require("react");
1514
+ var import_react9 = require("react");
1449
1515
  function useCopyToClipboard(resetMs = 1200) {
1450
- const [copied, setCopied] = (0, import_react8.useState)(false);
1451
- const copy = (0, import_react8.useCallback)(
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, import_react9.forwardRef)(
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 import_react10 = require("react");
1559
+ var import_react11 = require("react");
1494
1560
  var import_jsx_runtime10 = require("react/jsx-runtime");
1495
- var KdsLinearProgress = (0, import_react10.forwardRef)(
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 import_react11 = require("react");
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, import_react11.forwardRef)(
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 import_react12 = require("react");
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, import_react12.forwardRef)(
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 import_react14 = __toESM(require("react"));
1651
+ var import_react15 = __toESM(require("react"));
1586
1652
 
1587
1653
  // src/components/core/hooks/useTabsKeyboard.ts
1588
- var import_react13 = require("react");
1654
+ var import_react14 = require("react");
1589
1655
  function useTabsKeyboard(tabCount, activeIndex, onChange) {
1590
- const onKeyDown = (0, import_react13.useCallback)(
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, import_react14.forwardRef)(
1677
+ var KdsTabs = (0, import_react15.forwardRef)(
1612
1678
  ({ activeIndex, onChange, children, className, style, ...props }, ref) => {
1613
- const tabCount = import_react14.Children.count(children);
1679
+ const tabCount = import_react15.Children.count(children);
1614
1680
  const { onKeyDown } = useTabsKeyboard(tabCount, activeIndex, onChange);
1615
- const mergedStyle = (0, import_react14.useMemo)(
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: import_react14.Children.map(children, (child, i) => {
1633
- if (!import_react14.default.isValidElement(child)) return child;
1634
- return import_react14.default.cloneElement(child, {
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, import_react14.forwardRef)(
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, import_react14.forwardRef)(
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 import_react15 = require("react");
1743
+ var import_react16 = require("react");
1678
1744
  var import_jsx_runtime14 = require("react/jsx-runtime");
1679
- var KdsRadioGroup = (0, import_react15.forwardRef)(
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 import_react16 = require("react");
1775
+ var import_react17 = require("react");
1710
1776
  var import_jsx_runtime15 = require("react/jsx-runtime");
1711
- var KdsSelect = (0, import_react16.forwardRef)(
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 import_react17 = require("react");
1834
+ var import_react18 = require("react");
1769
1835
  var import_jsx_runtime16 = require("react/jsx-runtime");
1770
- var KdsChip = (0, import_react17.forwardRef)(
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 import_react19 = require("react");
1858
+ var import_react20 = require("react");
1793
1859
 
1794
1860
  // src/components/core/hooks/useAutoHide.ts
1795
- var import_react18 = require("react");
1861
+ var import_react19 = require("react");
1796
1862
  function useAutoHide(durationMs, onHide) {
1797
- const [visible, setVisible] = (0, import_react18.useState)(true);
1798
- const onHideRef = (0, import_react18.useRef)(onHide);
1863
+ const [visible, setVisible] = (0, import_react19.useState)(true);
1864
+ const onHideRef = (0, import_react19.useRef)(onHide);
1799
1865
  onHideRef.current = onHide;
1800
- (0, import_react18.useEffect)(() => {
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, import_react19.forwardRef)(
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 import_react20 = require("react");
1962
+ var import_react21 = require("react");
1897
1963
  var import_jsx_runtime19 = require("react/jsx-runtime");
1898
- var KdsAccordion = (0, import_react20.forwardRef)(
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, import_react20.forwardRef)(
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, import_react20.forwardRef)(
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 import_react21 = require("react");
1981
+ var import_react22 = require("react");
1916
1982
  var import_jsx_runtime20 = require("react/jsx-runtime");
1917
- var KdsDivider = (0, import_react21.forwardRef)(
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 import_react22 = require("react");
1989
+ var import_react23 = require("react");
1924
1990
  var import_jsx_runtime21 = require("react/jsx-runtime");
1925
- var KdsSectionNote = (0, import_react22.forwardRef)(
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 import_react23 = require("react");
2000
+ var import_react24 = require("react");
1935
2001
  var import_jsx_runtime22 = require("react/jsx-runtime");
1936
- var KdsStatusBlock = (0, import_react23.forwardRef)(
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 import_react24 = require("react");
2014
+ var import_react25 = require("react");
1949
2015
  var import_jsx_runtime23 = require("react/jsx-runtime");
1950
- var KdsStepper = (0, import_react24.forwardRef)(
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 import_react25 = require("react");
2032
+ var import_react26 = require("react");
1967
2033
  var import_jsx_runtime24 = require("react/jsx-runtime");
1968
- var KdsCopyRow = (0, import_react25.forwardRef)(
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 import_react26 = require("react");
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, import_react26.useRef)(/* @__PURE__ */ new Map());
2068
- const settlingTimers = (0, import_react26.useRef)(/* @__PURE__ */ new Map());
2069
- const [copiedRows, setCopiedRows] = (0, import_react26.useState)(/* @__PURE__ */ new Set());
2070
- const [settlingRows, setSettlingRows] = (0, import_react26.useState)(/* @__PURE__ */ new Set());
2071
- const [allCopied, setAllCopied] = (0, import_react26.useState)(false);
2072
- const markCopied = (0, import_react26.useCallback)((indexes, duration = 1500) => {
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, import_react26.forwardRef)(
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 import_react27 = require("react");
2285
+ var import_react28 = require("react");
2220
2286
  var import_jsx_runtime26 = require("react/jsx-runtime");
2221
- var KdsExpandPanel = (0, import_react27.forwardRef)(
2287
+ var KdsExpandPanel = (0, import_react28.forwardRef)(
2222
2288
  ({ label, defaultExpanded = false, children, className, ...props }, ref) => {
2223
- const [expanded, setExpanded] = (0, import_react27.useState)(defaultExpanded);
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 import_react29 = require("react");
2310
+ var import_react30 = require("react");
2245
2311
 
2246
2312
  // src/components/core/hooks/useCountdown.ts
2247
- var import_react28 = require("react");
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, import_react28.useState)(() => calcRemaining(deadline));
2261
- (0, import_react28.useEffect)(() => {
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, import_react29.forwardRef)(
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, import_react29.useRef)(onExpire);
2340
+ const onExpireRef = (0, import_react30.useRef)(onExpire);
2275
2341
  onExpireRef.current = onExpire;
2276
- (0, import_react29.useEffect)(() => {
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 import_react30 = require("react");
2366
+ var import_react31 = require("react");
2301
2367
  var import_jsx_runtime28 = require("react/jsx-runtime");
2302
- var KdsSegmentedTabs = (0, import_react30.forwardRef)(
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 import_react31 = require("react");
2374
+ var import_react32 = require("react");
2309
2375
  var import_jsx_runtime29 = require("react/jsx-runtime");
2310
- var KdsFab = (0, import_react31.forwardRef)(
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 import_react32 = require("react");
2398
+ var import_react33 = require("react");
2333
2399
  var import_jsx_runtime30 = require("react/jsx-runtime");
2334
- var KdsEmptyState = (0, import_react32.forwardRef)(
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 import_react33 = require("react");
2421
+ var import_react34 = require("react");
2356
2422
  var import_jsx_runtime31 = require("react/jsx-runtime");
2357
- var KdsBankRow = (0, import_react33.forwardRef)(
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 import_react34 = require("react");
2445
+ var import_react35 = require("react");
2380
2446
  var import_jsx_runtime32 = require("react/jsx-runtime");
2381
- var KdsBankList = (0, import_react34.forwardRef)(
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 import_react35 = require("react");
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, import_react35.forwardRef)(
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, import_react35.useState)("");
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 import_react36 = require("react");
2485
+ var import_react37 = require("react");
2420
2486
  var import_jsx_runtime34 = require("react/jsx-runtime");
2421
- var KdsQrRow = (0, import_react36.forwardRef)(
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 import_react37 = require("react");
2501
+ var import_react38 = require("react");
2436
2502
  var import_jsx_runtime35 = require("react/jsx-runtime");
2437
- var KdsCardSelector = (0, import_react37.forwardRef)(
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 import_react38 = require("react");
2522
+ var import_react39 = require("react");
2457
2523
  var import_jsx_runtime36 = require("react/jsx-runtime");
2458
- var KdsCardPlan = (0, import_react38.forwardRef)(
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 import_react39 = require("react");
2550
+ var import_react40 = require("react");
2485
2551
  var import_jsx_runtime37 = require("react/jsx-runtime");
2486
- var KdsInvoiceSticky = (0, import_react39.forwardRef)(
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 import_react40 = require("react");
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, import_react40.forwardRef)(
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 import_react42 = require("react");
2623
+ var import_react43 = require("react");
2558
2624
 
2559
2625
  // src/components/domain/KdsSecureFooter/KhipuWordmark.tsx
2560
- var import_react41 = require("react");
2626
+ var import_react42 = require("react");
2561
2627
  var import_jsx_runtime39 = require("react/jsx-runtime");
2562
- var KhipuWordmark = (0, import_react41.forwardRef)(
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, import_react42.forwardRef)(
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 import_react43 = require("react");
2673
+ var import_react44 = require("react");
2608
2674
  var import_jsx_runtime41 = require("react/jsx-runtime");
2609
- var KdsRecapList = (0, import_react43.forwardRef)(
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 import_react44 = require("react");
2684
+ var import_react45 = require("react");
2619
2685
  var import_jsx_runtime42 = require("react/jsx-runtime");
2620
- var KdsMontoRow = (0, import_react44.forwardRef)(
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 import_react45 = require("react");
2698
+ var import_react46 = require("react");
2633
2699
  var import_jsx_runtime43 = require("react/jsx-runtime");
2634
- var KdsMerchantTile = (0, import_react45.forwardRef)(
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 import_react47 = require("react");
2718
+ var import_react48 = require("react");
2653
2719
 
2654
2720
  // src/components/domain/KdsInvoiceMerchant/useLogoBackdrop.ts
2655
- var import_react46 = require("react");
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, import_react46.useState)("light");
2705
- (0, import_react46.useEffect)(() => {
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, import_react47.forwardRef)(
2791
+ var KdsInvoiceMerchant = (0, import_react48.forwardRef)(
2726
2792
  ({ logoUrl, brandColor, className, style, ...props }, ref) => {
2727
- const [failed, setFailed] = (0, import_react47.useState)(false);
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 import_react48 = require("react");
2817
+ var import_react49 = require("react");
2752
2818
  var import_jsx_runtime45 = require("react/jsx-runtime");
2753
- var KdsPaymentTotal = (0, import_react48.forwardRef)(
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 import_react49 = require("react");
2893
+ var import_react50 = require("react");
2828
2894
  var import_jsx_runtime46 = require("react/jsx-runtime");
2829
- var KdsBillAttachment = (0, import_react49.forwardRef)(
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, import_react49.forwardRef)(
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 import_react50 = require("react");
3013
+ var import_react51 = require("react");
2948
3014
  function useStickyInvoiceCollapse(options = {}) {
2949
3015
  const { onCollapseStart, collapseEnd = 20, mobileBreakpoint = 768 } = options;
2950
- const onCollapseStartRef = (0, import_react50.useRef)(onCollapseStart);
3016
+ const onCollapseStartRef = (0, import_react51.useRef)(onCollapseStart);
2951
3017
  onCollapseStartRef.current = onCollapseStart;
2952
- (0, import_react50.useEffect)(() => {
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 import_react51 = require("react");
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, import_react51.useId)();
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, import_react51.useState)(defaultOpen);
3097
+ const [uncontrolledOpen, setUncontrolledOpen] = (0, import_react52.useState)(defaultOpen);
3032
3098
  const open = isControlled ? controlledOpen : uncontrolledOpen;
3033
- const panelRef = (0, import_react51.useRef)(null);
3034
- const setPanelRef = (0, import_react51.useCallback)((node) => {
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, import_react51.useLayoutEffect)(() => {
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, import_react51.useCallback)(
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, import_react51.useCallback)(() => setOpen(!open), [open, setOpen]);
3052
- const getToggleProps = (0, import_react51.useCallback)(
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, import_react51.useCallback)(
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 import_react52 = require("react");
3140
+ var import_react53 = require("react");
3075
3141
  function useHideOnScroll(options = {}) {
3076
3142
  const { threshold = 8, topOffset = 0 } = options;
3077
- const [hidden, setHidden] = (0, import_react52.useState)(false);
3078
- (0, import_react52.useEffect)(() => {
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 import_react53 = require("react");
3187
+ var import_react54 = require("react");
3122
3188
  function useMediaQuery(query) {
3123
- const [matches, setMatches] = (0, import_react53.useState)(
3189
+ const [matches, setMatches] = (0, import_react54.useState)(
3124
3190
  () => typeof window !== "undefined" ? window.matchMedia(query).matches : false
3125
3191
  );
3126
- (0, import_react53.useEffect)(() => {
3192
+ (0, import_react54.useEffect)(() => {
3127
3193
  if (typeof window === "undefined") return;
3128
3194
  const mql = window.matchMedia(query);
3129
3195
  setMatches(mql.matches);