@khipu/design-system 0.3.5-alpha.6 → 0.3.5-alpha.9

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,106 +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.9";
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
- var SCREEN_LAST_HEIGHT_ATTRIBUTE = "data-kds-last-card-height";
210
- function useCardHeightTransition() {
211
- (0, import_react.useEffect)(() => {
212
- if (typeof window === "undefined" || typeof ResizeObserver === "undefined") {
213
- return;
214
- }
215
- if (typeof Element.prototype.animate !== "function") {
216
- return;
217
- }
218
- if (window.matchMedia?.("(prefers-reduced-motion: reduce)").matches) {
219
- return;
220
- }
221
- const observers = [];
222
- const animate = (card, from, to) => {
223
- card.style.height = `${from}px`;
224
- const animation = card.animate(
225
- [{ height: `${from}px` }, { height: `${to}px` }],
226
- { duration: CARD_TRANSITION_MS, easing: "ease-out" }
227
- );
228
- const release = () => {
229
- card.style.height = "";
230
- };
231
- animation.finished.then(release).catch(release);
232
- return animation;
233
- };
234
- const observe = (card) => {
235
- if (card.getAttribute(CARD_MARK_ATTRIBUTE) === "on") {
236
- return;
237
- }
238
- card.setAttribute(CARD_MARK_ATTRIBUTE, "on");
239
- const screen = card.parentElement;
240
- let previous = card.offsetHeight;
241
- let animating = false;
242
- const remembered = screen?.getAttribute(SCREEN_LAST_HEIGHT_ATTRIBUTE);
243
- if (remembered) {
244
- const from = Number(remembered);
245
- if (Number.isFinite(from) && from > 0 && Math.abs(from - previous) >= CARD_MIN_DELTA_PX) {
246
- animating = true;
247
- animate(card, from, previous).finished.then(() => {
248
- animating = false;
249
- }).catch(() => {
250
- animating = false;
251
- });
252
- }
253
- }
254
- screen?.setAttribute(SCREEN_LAST_HEIGHT_ATTRIBUTE, String(previous));
255
- const observer = new ResizeObserver(() => {
256
- if (animating) {
257
- return;
258
- }
259
- const next = card.offsetHeight;
260
- if (Math.abs(next - previous) < CARD_MIN_DELTA_PX) {
261
- previous = next;
262
- screen?.setAttribute(SCREEN_LAST_HEIGHT_ATTRIBUTE, String(next));
263
- return;
264
- }
265
- animating = true;
266
- const animation = animate(card, previous, next);
267
- previous = next;
268
- screen?.setAttribute(SCREEN_LAST_HEIGHT_ATTRIBUTE, String(next));
269
- animation.finished.then(() => {
270
- animating = false;
271
- previous = card.offsetHeight;
272
- screen?.setAttribute(SCREEN_LAST_HEIGHT_ATTRIBUTE, String(previous));
273
- }).catch(() => {
274
- animating = false;
275
- });
276
- });
277
- observer.observe(card);
278
- observers.push(observer);
279
- };
280
- document.querySelectorAll(BODY_CARD_SELECTOR).forEach(observe);
281
- const tree = new MutationObserver(() => {
282
- document.querySelectorAll(BODY_CARD_SELECTOR).forEach(observe);
283
- });
284
- tree.observe(document.body, { childList: true, subtree: true });
285
- return () => {
286
- tree.disconnect();
287
- observers.forEach((observer) => observer.disconnect());
288
- document.querySelectorAll(BODY_CARD_SELECTOR).forEach((card) => {
289
- card.removeAttribute(CARD_MARK_ATTRIBUTE);
290
- });
291
- };
292
- }, []);
293
- }
294
206
  function KdsThemeProvider({ primaryColor, mode = "light", children }) {
295
- useCardHeightTransition();
296
207
  const style = primaryColor ? {
297
208
  "--primary": primaryColor,
298
209
  "--on-primary": getContrastColor(primaryColor),
299
210
  "--primary-container": lighten(primaryColor, 0.85),
300
211
  "--on-primary-container": primaryColor
301
212
  } : void 0;
302
- 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
+ );
303
223
  }
304
224
 
305
225
  // src/tokens/index.ts
@@ -1274,9 +1194,9 @@ var tokens = {
1274
1194
  };
1275
1195
 
1276
1196
  // src/components/core/KdsButton/KdsButton.tsx
1277
- var import_react2 = require("react");
1197
+ var import_react = require("react");
1278
1198
  var import_jsx_runtime2 = require("react/jsx-runtime");
1279
- var KdsButton = (0, import_react2.forwardRef)(
1199
+ var KdsButton = (0, import_react.forwardRef)(
1280
1200
  ({
1281
1201
  variant = "primary",
1282
1202
  size,
@@ -1320,9 +1240,9 @@ var KdsButton = (0, import_react2.forwardRef)(
1320
1240
  KdsButton.displayName = "KdsButton";
1321
1241
 
1322
1242
  // src/components/core/KdsTextField/KdsTextField.tsx
1323
- var import_react3 = require("react");
1243
+ var import_react2 = require("react");
1324
1244
  var import_jsx_runtime3 = require("react/jsx-runtime");
1325
- var KdsTextField = (0, import_react3.forwardRef)(
1245
+ var KdsTextField = (0, import_react2.forwardRef)(
1326
1246
  ({
1327
1247
  label,
1328
1248
  helperText,
@@ -1341,7 +1261,7 @@ var KdsTextField = (0, import_react3.forwardRef)(
1341
1261
  requiredMark = true,
1342
1262
  ...props
1343
1263
  }, ref) => {
1344
- const [revealed, setRevealed] = (0, import_react3.useState)(false);
1264
+ const [revealed, setRevealed] = (0, import_react2.useState)(false);
1345
1265
  const fieldId = id || `kds-field-${label.toLowerCase().replace(/\s+/g, "-")}`;
1346
1266
  const isRevealable = !!revealable && !readOnly && !props.disabled;
1347
1267
  const inputType = isRevealable ? revealed ? "text" : "password" : type;
@@ -1410,9 +1330,9 @@ var KdsTextField = (0, import_react3.forwardRef)(
1410
1330
  KdsTextField.displayName = "KdsTextField";
1411
1331
 
1412
1332
  // src/components/core/KdsSearchField/KdsSearchField.tsx
1413
- var import_react4 = require("react");
1333
+ var import_react3 = require("react");
1414
1334
  var import_jsx_runtime4 = require("react/jsx-runtime");
1415
- var KdsSearchField = (0, import_react4.forwardRef)(
1335
+ var KdsSearchField = (0, import_react3.forwardRef)(
1416
1336
  ({ className, withIcon = false, ...props }, ref) => {
1417
1337
  const input = /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1418
1338
  "input",
@@ -1435,9 +1355,9 @@ var KdsSearchField = (0, import_react4.forwardRef)(
1435
1355
  KdsSearchField.displayName = "KdsSearchField";
1436
1356
 
1437
1357
  // src/components/core/KdsCheckbox/KdsCheckbox.tsx
1438
- var import_react5 = require("react");
1358
+ var import_react4 = require("react");
1439
1359
  var import_jsx_runtime5 = require("react/jsx-runtime");
1440
- var KdsCheckbox = (0, import_react5.forwardRef)(
1360
+ var KdsCheckbox = (0, import_react4.forwardRef)(
1441
1361
  ({ label, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("label", { className: (0, import_clsx.clsx)("checkbox", className), children: [
1442
1362
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("input", { ref, type: "checkbox", ...props }),
1443
1363
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { children: label })
@@ -1446,9 +1366,9 @@ var KdsCheckbox = (0, import_react5.forwardRef)(
1446
1366
  KdsCheckbox.displayName = "KdsCheckbox";
1447
1367
 
1448
1368
  // src/components/core/KdsCard/KdsCard.tsx
1449
- var import_react6 = require("react");
1369
+ var import_react5 = require("react");
1450
1370
  var import_jsx_runtime6 = require("react/jsx-runtime");
1451
- var KdsCard = (0, import_react6.forwardRef)(
1371
+ var KdsCard = (0, import_react5.forwardRef)(
1452
1372
  ({ variant = "elevated", dimmed, children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
1453
1373
  "article",
1454
1374
  {
@@ -1464,28 +1384,28 @@ var KdsCard = (0, import_react6.forwardRef)(
1464
1384
  )
1465
1385
  );
1466
1386
  KdsCard.displayName = "KdsCard";
1467
- var KdsCardHeader = (0, import_react6.forwardRef)(
1387
+ var KdsCardHeader = (0, import_react5.forwardRef)(
1468
1388
  ({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { ref, className: (0, import_clsx.clsx)("kds-card-header", className), ...props, children })
1469
1389
  );
1470
1390
  KdsCardHeader.displayName = "KdsCardHeader";
1471
- var KdsCardBody = (0, import_react6.forwardRef)(
1391
+ var KdsCardBody = (0, import_react5.forwardRef)(
1472
1392
  ({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { ref, className: (0, import_clsx.clsx)("kds-card-body", className), ...props, children })
1473
1393
  );
1474
1394
  KdsCardBody.displayName = "KdsCardBody";
1475
- var KdsCardFooter = (0, import_react6.forwardRef)(
1395
+ var KdsCardFooter = (0, import_react5.forwardRef)(
1476
1396
  ({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { ref, className: (0, import_clsx.clsx)("kds-card-footer", className), ...props, children })
1477
1397
  );
1478
1398
  KdsCardFooter.displayName = "KdsCardFooter";
1479
1399
 
1480
1400
  // src/components/core/KdsSpinner/KdsSpinner.tsx
1481
- var import_react7 = require("react");
1401
+ var import_react6 = require("react");
1482
1402
  var import_jsx_runtime7 = require("react/jsx-runtime");
1483
1403
  var SIZE_CLASS = {
1484
1404
  small: "small",
1485
1405
  medium: null,
1486
1406
  large: "large"
1487
1407
  };
1488
- var KdsSpinner = (0, import_react7.forwardRef)(
1408
+ var KdsSpinner = (0, import_react6.forwardRef)(
1489
1409
  ({ size = "medium", label, className, ...props }, ref) => {
1490
1410
  const sizeClass = SIZE_CLASS[size];
1491
1411
  return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
@@ -1507,9 +1427,9 @@ var KdsSpinner = (0, import_react7.forwardRef)(
1507
1427
  KdsSpinner.displayName = "KdsSpinner";
1508
1428
 
1509
1429
  // src/components/core/KdsSecureLoader/KdsSecureLoader.tsx
1510
- var import_react8 = require("react");
1430
+ var import_react7 = require("react");
1511
1431
  var import_jsx_runtime8 = require("react/jsx-runtime");
1512
- var KdsSecureLoader = (0, import_react8.forwardRef)(
1432
+ var KdsSecureLoader = (0, import_react7.forwardRef)(
1513
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: [
1514
1434
  (title || message) && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "kds-secure-loader-text", children: [
1515
1435
  title && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { className: "kds-secure-loader-title", children: title }),
@@ -1535,13 +1455,13 @@ var KdsSecureLoader = (0, import_react8.forwardRef)(
1535
1455
  KdsSecureLoader.displayName = "KdsSecureLoader";
1536
1456
 
1537
1457
  // src/components/core/KdsCopyButton/KdsCopyButton.tsx
1538
- var import_react10 = require("react");
1458
+ var import_react9 = require("react");
1539
1459
 
1540
1460
  // src/components/core/hooks/useCopyToClipboard.ts
1541
- var import_react9 = require("react");
1461
+ var import_react8 = require("react");
1542
1462
  function useCopyToClipboard(resetMs = 1200) {
1543
- const [copied, setCopied] = (0, import_react9.useState)(false);
1544
- const copy = (0, import_react9.useCallback)(
1463
+ const [copied, setCopied] = (0, import_react8.useState)(false);
1464
+ const copy = (0, import_react8.useCallback)(
1545
1465
  async (text) => {
1546
1466
  try {
1547
1467
  await navigator.clipboard.writeText(text);
@@ -1557,7 +1477,7 @@ function useCopyToClipboard(resetMs = 1200) {
1557
1477
 
1558
1478
  // src/components/core/KdsCopyButton/KdsCopyButton.tsx
1559
1479
  var import_jsx_runtime9 = require("react/jsx-runtime");
1560
- var KdsCopyButton = (0, import_react10.forwardRef)(
1480
+ var KdsCopyButton = (0, import_react9.forwardRef)(
1561
1481
  ({ value, copiedText = "Copiado", className, ...props }, ref) => {
1562
1482
  const { copied, copy } = useCopyToClipboard();
1563
1483
  return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
@@ -1583,15 +1503,15 @@ var KdsCopyButton = (0, import_react10.forwardRef)(
1583
1503
  KdsCopyButton.displayName = "KdsCopyButton";
1584
1504
 
1585
1505
  // src/components/core/KdsLinearProgress/KdsLinearProgress.tsx
1586
- var import_react11 = require("react");
1506
+ var import_react10 = require("react");
1587
1507
  var import_jsx_runtime10 = require("react/jsx-runtime");
1588
- var KdsLinearProgress = (0, import_react11.forwardRef)(
1508
+ var KdsLinearProgress = (0, import_react10.forwardRef)(
1589
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 })
1590
1510
  );
1591
1511
  KdsLinearProgress.displayName = "KdsLinearProgress";
1592
1512
 
1593
1513
  // src/components/core/KdsAlert/KdsAlert.tsx
1594
- var import_react12 = require("react");
1514
+ var import_react11 = require("react");
1595
1515
  var import_jsx_runtime11 = require("react/jsx-runtime");
1596
1516
  var DEFAULT_ICONS = {
1597
1517
  success: "check_circle",
@@ -1599,7 +1519,7 @@ var DEFAULT_ICONS = {
1599
1519
  warning: "warning",
1600
1520
  error: "error"
1601
1521
  };
1602
- var KdsAlert = (0, import_react12.forwardRef)(
1522
+ var KdsAlert = (0, import_react11.forwardRef)(
1603
1523
  ({ severity, title, icon, inline, onClose, children, className, ...props }, ref) => {
1604
1524
  const resolvedIcon = icon === false ? null : typeof icon === "string" ? icon : DEFAULT_ICONS[severity];
1605
1525
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
@@ -1633,7 +1553,7 @@ var KdsAlert = (0, import_react12.forwardRef)(
1633
1553
  KdsAlert.displayName = "KdsAlert";
1634
1554
 
1635
1555
  // src/components/core/KdsTypography/KdsTypography.tsx
1636
- var import_react13 = require("react");
1556
+ var import_react12 = require("react");
1637
1557
  var import_jsx_runtime12 = require("react/jsx-runtime");
1638
1558
  var variantTag = {
1639
1559
  display1: "h1",
@@ -1654,7 +1574,7 @@ var variantTag = {
1654
1574
  link: "span",
1655
1575
  strong: "span"
1656
1576
  };
1657
- var KdsTypography = (0, import_react13.forwardRef)(
1577
+ var KdsTypography = (0, import_react12.forwardRef)(
1658
1578
  ({ variant = "body", color, as, children, className, ...props }, ref) => {
1659
1579
  const Tag = as || variantTag[variant];
1660
1580
  return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
@@ -1675,12 +1595,12 @@ var KdsTypography = (0, import_react13.forwardRef)(
1675
1595
  KdsTypography.displayName = "KdsTypography";
1676
1596
 
1677
1597
  // src/components/core/KdsTabs/KdsTabs.tsx
1678
- var import_react15 = __toESM(require("react"));
1598
+ var import_react14 = __toESM(require("react"));
1679
1599
 
1680
1600
  // src/components/core/hooks/useTabsKeyboard.ts
1681
- var import_react14 = require("react");
1601
+ var import_react13 = require("react");
1682
1602
  function useTabsKeyboard(tabCount, activeIndex, onChange) {
1683
- const onKeyDown = (0, import_react14.useCallback)(
1603
+ const onKeyDown = (0, import_react13.useCallback)(
1684
1604
  (e) => {
1685
1605
  let next = activeIndex;
1686
1606
  if (e.key === "ArrowRight") next = (activeIndex + 1) % tabCount;
@@ -1701,11 +1621,11 @@ function useTabsKeyboard(tabCount, activeIndex, onChange) {
1701
1621
 
1702
1622
  // src/components/core/KdsTabs/KdsTabs.tsx
1703
1623
  var import_jsx_runtime13 = require("react/jsx-runtime");
1704
- var KdsTabs = (0, import_react15.forwardRef)(
1624
+ var KdsTabs = (0, import_react14.forwardRef)(
1705
1625
  ({ activeIndex, onChange, children, className, style, ...props }, ref) => {
1706
- const tabCount = import_react15.Children.count(children);
1626
+ const tabCount = import_react14.Children.count(children);
1707
1627
  const { onKeyDown } = useTabsKeyboard(tabCount, activeIndex, onChange);
1708
- const mergedStyle = (0, import_react15.useMemo)(
1628
+ const mergedStyle = (0, import_react14.useMemo)(
1709
1629
  () => ({
1710
1630
  ...style,
1711
1631
  "--_tab-count": tabCount,
@@ -1722,9 +1642,9 @@ var KdsTabs = (0, import_react15.forwardRef)(
1722
1642
  style: mergedStyle,
1723
1643
  onKeyDown,
1724
1644
  ...props,
1725
- children: import_react15.Children.map(children, (child, i) => {
1726
- if (!import_react15.default.isValidElement(child)) return child;
1727
- 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, {
1728
1648
  _active: i === activeIndex,
1729
1649
  _onClick: () => onChange(i)
1730
1650
  });
@@ -1734,7 +1654,7 @@ var KdsTabs = (0, import_react15.forwardRef)(
1734
1654
  }
1735
1655
  );
1736
1656
  KdsTabs.displayName = "KdsTabs";
1737
- var KdsTab = (0, import_react15.forwardRef)(
1657
+ var KdsTab = (0, import_react14.forwardRef)(
1738
1658
  ({ _active, _onClick, children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1739
1659
  "button",
1740
1660
  {
@@ -1751,7 +1671,7 @@ var KdsTab = (0, import_react15.forwardRef)(
1751
1671
  )
1752
1672
  );
1753
1673
  KdsTab.displayName = "KdsTab";
1754
- var KdsTabPanel = (0, import_react15.forwardRef)(
1674
+ var KdsTabPanel = (0, import_react14.forwardRef)(
1755
1675
  ({ active, children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1756
1676
  "div",
1757
1677
  {
@@ -1767,9 +1687,9 @@ var KdsTabPanel = (0, import_react15.forwardRef)(
1767
1687
  KdsTabPanel.displayName = "KdsTabPanel";
1768
1688
 
1769
1689
  // src/components/core/KdsRadioGroup/KdsRadioGroup.tsx
1770
- var import_react16 = require("react");
1690
+ var import_react15 = require("react");
1771
1691
  var import_jsx_runtime14 = require("react/jsx-runtime");
1772
- var KdsRadioGroup = (0, import_react16.forwardRef)(
1692
+ var KdsRadioGroup = (0, import_react15.forwardRef)(
1773
1693
  ({ label, name, options, value, onChange, size, variant, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
1774
1694
  "fieldset",
1775
1695
  {
@@ -1799,9 +1719,9 @@ var KdsRadioGroup = (0, import_react16.forwardRef)(
1799
1719
  KdsRadioGroup.displayName = "KdsRadioGroup";
1800
1720
 
1801
1721
  // src/components/core/KdsSelect/KdsSelect.tsx
1802
- var import_react17 = require("react");
1722
+ var import_react16 = require("react");
1803
1723
  var import_jsx_runtime15 = require("react/jsx-runtime");
1804
- var KdsSelect = (0, import_react17.forwardRef)(
1724
+ var KdsSelect = (0, import_react16.forwardRef)(
1805
1725
  ({
1806
1726
  label,
1807
1727
  options,
@@ -1858,9 +1778,9 @@ var KdsSelect = (0, import_react17.forwardRef)(
1858
1778
  KdsSelect.displayName = "KdsSelect";
1859
1779
 
1860
1780
  // src/components/core/KdsChip/KdsChip.tsx
1861
- var import_react18 = require("react");
1781
+ var import_react17 = require("react");
1862
1782
  var import_jsx_runtime16 = require("react/jsx-runtime");
1863
- var KdsChip = (0, import_react18.forwardRef)(
1783
+ var KdsChip = (0, import_react17.forwardRef)(
1864
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: [
1865
1785
  icon && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("i", { className: "material-symbols-outlined", children: icon }),
1866
1786
  /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { children }),
@@ -1882,15 +1802,15 @@ var KdsChip = (0, import_react18.forwardRef)(
1882
1802
  KdsChip.displayName = "KdsChip";
1883
1803
 
1884
1804
  // src/components/core/KdsSnackbar/KdsSnackbar.tsx
1885
- var import_react20 = require("react");
1805
+ var import_react19 = require("react");
1886
1806
 
1887
1807
  // src/components/core/hooks/useAutoHide.ts
1888
- var import_react19 = require("react");
1808
+ var import_react18 = require("react");
1889
1809
  function useAutoHide(durationMs, onHide) {
1890
- const [visible, setVisible] = (0, import_react19.useState)(true);
1891
- const onHideRef = (0, import_react19.useRef)(onHide);
1810
+ const [visible, setVisible] = (0, import_react18.useState)(true);
1811
+ const onHideRef = (0, import_react18.useRef)(onHide);
1892
1812
  onHideRef.current = onHide;
1893
- (0, import_react19.useEffect)(() => {
1813
+ (0, import_react18.useEffect)(() => {
1894
1814
  if (durationMs <= 0) return;
1895
1815
  const timer = setTimeout(() => {
1896
1816
  setVisible(false);
@@ -1908,7 +1828,7 @@ var DEFAULT_ICONS2 = {
1908
1828
  success: "check_circle",
1909
1829
  error: "error"
1910
1830
  };
1911
- var KdsSnackbar = (0, import_react20.forwardRef)(
1831
+ var KdsSnackbar = (0, import_react19.forwardRef)(
1912
1832
  ({
1913
1833
  message,
1914
1834
  type = "info",
@@ -1986,36 +1906,36 @@ function KdsTooltip({
1986
1906
  }
1987
1907
 
1988
1908
  // src/components/core/KdsAccordion/KdsAccordion.tsx
1989
- var import_react21 = require("react");
1909
+ var import_react20 = require("react");
1990
1910
  var import_jsx_runtime19 = require("react/jsx-runtime");
1991
- var KdsAccordion = (0, import_react21.forwardRef)(
1911
+ var KdsAccordion = (0, import_react20.forwardRef)(
1992
1912
  ({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("details", { ref, className: (0, import_clsx.clsx)("kds-accordion", className), ...props, children })
1993
1913
  );
1994
1914
  KdsAccordion.displayName = "KdsAccordion";
1995
- var KdsAccordionSummary = (0, import_react21.forwardRef)(
1915
+ var KdsAccordionSummary = (0, import_react20.forwardRef)(
1996
1916
  ({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("summary", { ref, className: (0, import_clsx.clsx)("kds-accordion-summary", className), ...props, children: [
1997
1917
  children,
1998
1918
  /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("i", { className: "material-symbols-outlined", children: "expand_more" })
1999
1919
  ] })
2000
1920
  );
2001
1921
  KdsAccordionSummary.displayName = "KdsAccordionSummary";
2002
- var KdsAccordionDetails = (0, import_react21.forwardRef)(
1922
+ var KdsAccordionDetails = (0, import_react20.forwardRef)(
2003
1923
  ({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { ref, className: (0, import_clsx.clsx)("kds-accordion-details", className), ...props, children })
2004
1924
  );
2005
1925
  KdsAccordionDetails.displayName = "KdsAccordionDetails";
2006
1926
 
2007
1927
  // src/components/core/KdsDivider/KdsDivider.tsx
2008
- var import_react22 = require("react");
1928
+ var import_react21 = require("react");
2009
1929
  var import_jsx_runtime20 = require("react/jsx-runtime");
2010
- var KdsDivider = (0, import_react22.forwardRef)(
1930
+ var KdsDivider = (0, import_react21.forwardRef)(
2011
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 })
2012
1932
  );
2013
1933
  KdsDivider.displayName = "KdsDivider";
2014
1934
 
2015
1935
  // src/components/core/KdsSectionNote/KdsSectionNote.tsx
2016
- var import_react23 = require("react");
1936
+ var import_react22 = require("react");
2017
1937
  var import_jsx_runtime21 = require("react/jsx-runtime");
2018
- var KdsSectionNote = (0, import_react23.forwardRef)(
1938
+ var KdsSectionNote = (0, import_react22.forwardRef)(
2019
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: [
2020
1940
  /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("i", { className: "material-symbols-outlined", children: icon }),
2021
1941
  /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { children })
@@ -2024,9 +1944,9 @@ var KdsSectionNote = (0, import_react23.forwardRef)(
2024
1944
  KdsSectionNote.displayName = "KdsSectionNote";
2025
1945
 
2026
1946
  // src/components/core/KdsStatusBlock/KdsStatusBlock.tsx
2027
- var import_react24 = require("react");
1947
+ var import_react23 = require("react");
2028
1948
  var import_jsx_runtime22 = require("react/jsx-runtime");
2029
- var KdsStatusBlock = (0, import_react24.forwardRef)(
1949
+ var KdsStatusBlock = (0, import_react23.forwardRef)(
2030
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: [
2031
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 }) }),
2032
1952
  /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
@@ -2038,9 +1958,9 @@ var KdsStatusBlock = (0, import_react24.forwardRef)(
2038
1958
  KdsStatusBlock.displayName = "KdsStatusBlock";
2039
1959
 
2040
1960
  // src/components/core/KdsStepper/KdsStepper.tsx
2041
- var import_react25 = require("react");
1961
+ var import_react24 = require("react");
2042
1962
  var import_jsx_runtime23 = require("react/jsx-runtime");
2043
- var KdsStepper = (0, import_react25.forwardRef)(
1963
+ var KdsStepper = (0, import_react24.forwardRef)(
2044
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)(
2045
1965
  "div",
2046
1966
  {
@@ -2056,9 +1976,9 @@ var KdsStepper = (0, import_react25.forwardRef)(
2056
1976
  KdsStepper.displayName = "KdsStepper";
2057
1977
 
2058
1978
  // src/components/core/KdsCopyRow/KdsCopyRow.tsx
2059
- var import_react26 = require("react");
1979
+ var import_react25 = require("react");
2060
1980
  var import_jsx_runtime24 = require("react/jsx-runtime");
2061
- var KdsCopyRow = (0, import_react26.forwardRef)(
1981
+ var KdsCopyRow = (0, import_react25.forwardRef)(
2062
1982
  ({ label, value, copiedText = "Copiado", className, ...props }, ref) => {
2063
1983
  const { copied, copy } = useCopyToClipboard();
2064
1984
  return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
@@ -2090,7 +2010,7 @@ var KdsCopyRow = (0, import_react26.forwardRef)(
2090
2010
  KdsCopyRow.displayName = "KdsCopyRow";
2091
2011
 
2092
2012
  // src/components/core/KdsCopyableTable/KdsCopyableTable.tsx
2093
- var import_react27 = require("react");
2013
+ var import_react26 = require("react");
2094
2014
  var import_jsx_runtime25 = require("react/jsx-runtime");
2095
2015
  async function copyToClipboard(text) {
2096
2016
  try {
@@ -2157,12 +2077,12 @@ function CopyableVariant({
2157
2077
  forwardedRef,
2158
2078
  rest
2159
2079
  }) {
2160
- const copiedTimers = (0, import_react27.useRef)(/* @__PURE__ */ new Map());
2161
- const settlingTimers = (0, import_react27.useRef)(/* @__PURE__ */ new Map());
2162
- const [copiedRows, setCopiedRows] = (0, import_react27.useState)(/* @__PURE__ */ new Set());
2163
- const [settlingRows, setSettlingRows] = (0, import_react27.useState)(/* @__PURE__ */ new Set());
2164
- const [allCopied, setAllCopied] = (0, import_react27.useState)(false);
2165
- 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) => {
2166
2086
  setCopiedRows((prev) => {
2167
2087
  const next = new Set(prev);
2168
2088
  indexes.forEach((i) => next.add(i));
@@ -2268,7 +2188,7 @@ function CopyableVariant({
2268
2188
  )
2269
2189
  ] });
2270
2190
  }
2271
- var KdsCopyableTable = (0, import_react27.forwardRef)(
2191
+ var KdsCopyableTable = (0, import_react26.forwardRef)(
2272
2192
  ({
2273
2193
  rows = [],
2274
2194
  variant = "copyable",
@@ -2309,11 +2229,11 @@ var KdsCopyableTable = (0, import_react27.forwardRef)(
2309
2229
  KdsCopyableTable.displayName = "KdsCopyableTable";
2310
2230
 
2311
2231
  // src/components/core/KdsExpandPanel/KdsExpandPanel.tsx
2312
- var import_react28 = require("react");
2232
+ var import_react27 = require("react");
2313
2233
  var import_jsx_runtime26 = require("react/jsx-runtime");
2314
- var KdsExpandPanel = (0, import_react28.forwardRef)(
2234
+ var KdsExpandPanel = (0, import_react27.forwardRef)(
2315
2235
  ({ label, defaultExpanded = false, children, className, ...props }, ref) => {
2316
- const [expanded, setExpanded] = (0, import_react28.useState)(defaultExpanded);
2236
+ const [expanded, setExpanded] = (0, import_react27.useState)(defaultExpanded);
2317
2237
  return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { ref, className, ...props, children: [
2318
2238
  /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
2319
2239
  "button",
@@ -2334,10 +2254,10 @@ var KdsExpandPanel = (0, import_react28.forwardRef)(
2334
2254
  KdsExpandPanel.displayName = "KdsExpandPanel";
2335
2255
 
2336
2256
  // src/components/core/KdsCountdown/KdsCountdown.tsx
2337
- var import_react30 = require("react");
2257
+ var import_react29 = require("react");
2338
2258
 
2339
2259
  // src/components/core/hooks/useCountdown.ts
2340
- var import_react29 = require("react");
2260
+ var import_react28 = require("react");
2341
2261
  function calcRemaining(deadline) {
2342
2262
  const diff = Math.max(0, new Date(deadline).getTime() - Date.now());
2343
2263
  const totalSeconds = Math.floor(diff / 1e3);
@@ -2350,8 +2270,8 @@ function calcRemaining(deadline) {
2350
2270
  };
2351
2271
  }
2352
2272
  function useCountdown(deadline) {
2353
- const [state, setState] = (0, import_react29.useState)(() => calcRemaining(deadline));
2354
- (0, import_react29.useEffect)(() => {
2273
+ const [state, setState] = (0, import_react28.useState)(() => calcRemaining(deadline));
2274
+ (0, import_react28.useEffect)(() => {
2355
2275
  const tick = () => setState(calcRemaining(deadline));
2356
2276
  const id = setInterval(tick, 1e3);
2357
2277
  return () => clearInterval(id);
@@ -2361,12 +2281,12 @@ function useCountdown(deadline) {
2361
2281
 
2362
2282
  // src/components/core/KdsCountdown/KdsCountdown.tsx
2363
2283
  var import_jsx_runtime27 = require("react/jsx-runtime");
2364
- var KdsCountdown = (0, import_react30.forwardRef)(
2284
+ var KdsCountdown = (0, import_react29.forwardRef)(
2365
2285
  ({ deadline, label, onExpire, className, ...props }, ref) => {
2366
2286
  const { hours, minutes, seconds, expired, urgent } = useCountdown(deadline);
2367
- const onExpireRef = (0, import_react30.useRef)(onExpire);
2287
+ const onExpireRef = (0, import_react29.useRef)(onExpire);
2368
2288
  onExpireRef.current = onExpire;
2369
- (0, import_react30.useEffect)(() => {
2289
+ (0, import_react29.useEffect)(() => {
2370
2290
  if (expired) {
2371
2291
  onExpireRef.current?.();
2372
2292
  }
@@ -2390,17 +2310,17 @@ var KdsCountdown = (0, import_react30.forwardRef)(
2390
2310
  KdsCountdown.displayName = "KdsCountdown";
2391
2311
 
2392
2312
  // src/components/core/KdsSegmentedTabs/KdsSegmentedTabs.tsx
2393
- var import_react31 = require("react");
2313
+ var import_react30 = require("react");
2394
2314
  var import_jsx_runtime28 = require("react/jsx-runtime");
2395
- var KdsSegmentedTabs = (0, import_react31.forwardRef)(
2315
+ var KdsSegmentedTabs = (0, import_react30.forwardRef)(
2396
2316
  (props, ref) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(KdsTabs, { ref, ...props })
2397
2317
  );
2398
2318
  KdsSegmentedTabs.displayName = "KdsSegmentedTabs";
2399
2319
 
2400
2320
  // src/components/core/KdsFab/KdsFab.tsx
2401
- var import_react32 = require("react");
2321
+ var import_react31 = require("react");
2402
2322
  var import_jsx_runtime29 = require("react/jsx-runtime");
2403
- var KdsFab = (0, import_react32.forwardRef)(
2323
+ var KdsFab = (0, import_react31.forwardRef)(
2404
2324
  ({ icon, position = "top-right", hidden = false, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
2405
2325
  "button",
2406
2326
  {
@@ -2422,9 +2342,9 @@ var KdsFab = (0, import_react32.forwardRef)(
2422
2342
  KdsFab.displayName = "KdsFab";
2423
2343
 
2424
2344
  // src/components/core/KdsEmptyState/KdsEmptyState.tsx
2425
- var import_react33 = require("react");
2345
+ var import_react32 = require("react");
2426
2346
  var import_jsx_runtime30 = require("react/jsx-runtime");
2427
- var KdsEmptyState = (0, import_react33.forwardRef)(
2347
+ var KdsEmptyState = (0, import_react32.forwardRef)(
2428
2348
  ({ icon = "hide_source", title, description, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
2429
2349
  "div",
2430
2350
  {
@@ -2445,9 +2365,9 @@ var KdsEmptyState = (0, import_react33.forwardRef)(
2445
2365
  KdsEmptyState.displayName = "KdsEmptyState";
2446
2366
 
2447
2367
  // src/components/domain/KdsBankRow/KdsBankRow.tsx
2448
- var import_react34 = require("react");
2368
+ var import_react33 = require("react");
2449
2369
  var import_jsx_runtime31 = require("react/jsx-runtime");
2450
- var KdsBankRow = (0, import_react34.forwardRef)(
2370
+ var KdsBankRow = (0, import_react33.forwardRef)(
2451
2371
  ({ name, logoUrl, selected, hideLogo, className, ...props }, ref) => {
2452
2372
  const nameStr = typeof name === "string" ? name : "";
2453
2373
  return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
@@ -2469,20 +2389,20 @@ var KdsBankRow = (0, import_react34.forwardRef)(
2469
2389
  KdsBankRow.displayName = "KdsBankRow";
2470
2390
 
2471
2391
  // src/components/domain/KdsBankList/KdsBankList.tsx
2472
- var import_react35 = require("react");
2392
+ var import_react34 = require("react");
2473
2393
  var import_jsx_runtime32 = require("react/jsx-runtime");
2474
- var KdsBankList = (0, import_react35.forwardRef)(
2394
+ var KdsBankList = (0, import_react34.forwardRef)(
2475
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 })
2476
2396
  );
2477
2397
  KdsBankList.displayName = "KdsBankList";
2478
2398
 
2479
2399
  // src/components/domain/KdsBankModal/KdsBankModal.tsx
2480
- var import_react36 = require("react");
2400
+ var import_react35 = require("react");
2481
2401
  var Dialog = __toESM(require("@radix-ui/react-dialog"));
2482
2402
  var import_jsx_runtime33 = require("react/jsx-runtime");
2483
- var KdsBankModal = (0, import_react36.forwardRef)(
2403
+ var KdsBankModal = (0, import_react35.forwardRef)(
2484
2404
  ({ open, onClose, title = "Selecciona tu banco", searchPlaceholder = "Buscar banco...", onSearch, children, className, container }, ref) => {
2485
- const [query, setQuery] = (0, import_react36.useState)("");
2405
+ const [query, setQuery] = (0, import_react35.useState)("");
2486
2406
  const handleSearch = (value) => {
2487
2407
  setQuery(value);
2488
2408
  onSearch?.(value);
@@ -2509,9 +2429,9 @@ var KdsBankModal = (0, import_react36.forwardRef)(
2509
2429
  KdsBankModal.displayName = "KdsBankModal";
2510
2430
 
2511
2431
  // src/components/domain/KdsQrRow/KdsQrRow.tsx
2512
- var import_react37 = require("react");
2432
+ var import_react36 = require("react");
2513
2433
  var import_jsx_runtime34 = require("react/jsx-runtime");
2514
- var KdsQrRow = (0, import_react37.forwardRef)(
2434
+ var KdsQrRow = (0, import_react36.forwardRef)(
2515
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: [
2516
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 }) }),
2517
2437
  /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("span", { className: "kds-qr-text", children: [
@@ -2525,9 +2445,9 @@ var KdsQrRow = (0, import_react37.forwardRef)(
2525
2445
  KdsQrRow.displayName = "KdsQrRow";
2526
2446
 
2527
2447
  // src/components/domain/KdsCardSelector/KdsCardSelector.tsx
2528
- var import_react38 = require("react");
2448
+ var import_react37 = require("react");
2529
2449
  var import_jsx_runtime35 = require("react/jsx-runtime");
2530
- var KdsCardSelector = (0, import_react38.forwardRef)(
2450
+ var KdsCardSelector = (0, import_react37.forwardRef)(
2531
2451
  ({ icon, title, description, selected, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
2532
2452
  "button",
2533
2453
  {
@@ -2546,9 +2466,9 @@ var KdsCardSelector = (0, import_react38.forwardRef)(
2546
2466
  KdsCardSelector.displayName = "KdsCardSelector";
2547
2467
 
2548
2468
  // src/components/domain/KdsCardPlan/KdsCardPlan.tsx
2549
- var import_react39 = require("react");
2469
+ var import_react38 = require("react");
2550
2470
  var import_jsx_runtime36 = require("react/jsx-runtime");
2551
- var KdsCardPlan = (0, import_react39.forwardRef)(
2471
+ var KdsCardPlan = (0, import_react38.forwardRef)(
2552
2472
  ({ title, price, period, features, recommended, badgeText, action, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
2553
2473
  "div",
2554
2474
  {
@@ -2574,9 +2494,9 @@ var KdsCardPlan = (0, import_react39.forwardRef)(
2574
2494
  KdsCardPlan.displayName = "KdsCardPlan";
2575
2495
 
2576
2496
  // src/components/domain/KdsInvoiceSticky/KdsInvoiceSticky.tsx
2577
- var import_react40 = require("react");
2497
+ var import_react39 = require("react");
2578
2498
  var import_jsx_runtime37 = require("react/jsx-runtime");
2579
- var KdsInvoiceSticky = (0, import_react40.forwardRef)(
2499
+ var KdsInvoiceSticky = (0, import_react39.forwardRef)(
2580
2500
  ({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
2581
2501
  "article",
2582
2502
  {
@@ -2590,10 +2510,10 @@ var KdsInvoiceSticky = (0, import_react40.forwardRef)(
2590
2510
  KdsInvoiceSticky.displayName = "KdsInvoiceSticky";
2591
2511
 
2592
2512
  // src/components/domain/KdsBottomSheet/KdsBottomSheet.tsx
2593
- var import_react41 = require("react");
2513
+ var import_react40 = require("react");
2594
2514
  var Dialog2 = __toESM(require("@radix-ui/react-dialog"));
2595
2515
  var import_jsx_runtime38 = require("react/jsx-runtime");
2596
- var KdsBottomSheet = (0, import_react41.forwardRef)(
2516
+ var KdsBottomSheet = (0, import_react40.forwardRef)(
2597
2517
  ({
2598
2518
  open,
2599
2519
  onClose,
@@ -2647,12 +2567,12 @@ var KdsBottomSheet = (0, import_react41.forwardRef)(
2647
2567
  KdsBottomSheet.displayName = "KdsBottomSheet";
2648
2568
 
2649
2569
  // src/components/domain/KdsSecureFooter/KdsSecureFooter.tsx
2650
- var import_react43 = require("react");
2570
+ var import_react42 = require("react");
2651
2571
 
2652
2572
  // src/components/domain/KdsSecureFooter/KhipuWordmark.tsx
2653
- var import_react42 = require("react");
2573
+ var import_react41 = require("react");
2654
2574
  var import_jsx_runtime39 = require("react/jsx-runtime");
2655
- var KhipuWordmark = (0, import_react42.forwardRef)(
2575
+ var KhipuWordmark = (0, import_react41.forwardRef)(
2656
2576
  ({ className = "khipu-mark", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
2657
2577
  "svg",
2658
2578
  {
@@ -2680,7 +2600,7 @@ KhipuWordmark.displayName = "KhipuWordmark";
2680
2600
 
2681
2601
  // src/components/domain/KdsSecureFooter/KdsSecureFooter.tsx
2682
2602
  var import_jsx_runtime40 = require("react/jsx-runtime");
2683
- var KdsSecureFooter = (0, import_react43.forwardRef)(
2603
+ var KdsSecureFooter = (0, import_react42.forwardRef)(
2684
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: [
2685
2605
  /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("svg", { className: "kds-secure-footer-lock", viewBox: "0 0 24 24", "aria-hidden": "true", children: [
2686
2606
  /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("rect", { x: "4.5", y: "10.5", width: "15", height: "10", rx: "2.25" }),
@@ -2697,9 +2617,9 @@ var KdsSecureFooter = (0, import_react43.forwardRef)(
2697
2617
  KdsSecureFooter.displayName = "KdsSecureFooter";
2698
2618
 
2699
2619
  // src/components/domain/KdsRecapList/KdsRecapList.tsx
2700
- var import_react44 = require("react");
2620
+ var import_react43 = require("react");
2701
2621
  var import_jsx_runtime41 = require("react/jsx-runtime");
2702
- var KdsRecapList = (0, import_react44.forwardRef)(
2622
+ var KdsRecapList = (0, import_react43.forwardRef)(
2703
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: [
2704
2624
  /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "kds-key", children: item.label }),
2705
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 || "-" })
@@ -2708,9 +2628,9 @@ var KdsRecapList = (0, import_react44.forwardRef)(
2708
2628
  KdsRecapList.displayName = "KdsRecapList";
2709
2629
 
2710
2630
  // src/components/domain/KdsMontoRow/KdsMontoRow.tsx
2711
- var import_react45 = require("react");
2631
+ var import_react44 = require("react");
2712
2632
  var import_jsx_runtime42 = require("react/jsx-runtime");
2713
- var KdsMontoRow = (0, import_react45.forwardRef)(
2633
+ var KdsMontoRow = (0, import_react44.forwardRef)(
2714
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: [
2715
2635
  /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { children: [
2716
2636
  /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "kds-monto-row-title", children: title }),
@@ -2722,9 +2642,9 @@ var KdsMontoRow = (0, import_react45.forwardRef)(
2722
2642
  KdsMontoRow.displayName = "KdsMontoRow";
2723
2643
 
2724
2644
  // src/components/domain/KdsMerchantTile/KdsMerchantTile.tsx
2725
- var import_react46 = require("react");
2645
+ var import_react45 = require("react");
2726
2646
  var import_jsx_runtime43 = require("react/jsx-runtime");
2727
- var KdsMerchantTile = (0, import_react46.forwardRef)(
2647
+ var KdsMerchantTile = (0, import_react45.forwardRef)(
2728
2648
  ({ name, logoUrl, initials, compact, className, ...props }, ref) => {
2729
2649
  const displayInitials = (initials ?? name.slice(0, 2)).toUpperCase();
2730
2650
  return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
@@ -2742,10 +2662,10 @@ var KdsMerchantTile = (0, import_react46.forwardRef)(
2742
2662
  KdsMerchantTile.displayName = "KdsMerchantTile";
2743
2663
 
2744
2664
  // src/components/domain/KdsInvoiceMerchant/KdsInvoiceMerchant.tsx
2745
- var import_react48 = require("react");
2665
+ var import_react47 = require("react");
2746
2666
 
2747
2667
  // src/components/domain/KdsInvoiceMerchant/useLogoBackdrop.ts
2748
- var import_react47 = require("react");
2668
+ var import_react46 = require("react");
2749
2669
 
2750
2670
  // src/components/domain/KdsInvoiceMerchant/logoLuminance.ts
2751
2671
  var LIGHT_LOGO_LUMINANCE_THRESHOLD = 0.72;
@@ -2794,8 +2714,8 @@ function pickLogoBackdrop(luminance) {
2794
2714
 
2795
2715
  // src/components/domain/KdsInvoiceMerchant/useLogoBackdrop.ts
2796
2716
  function useLogoBackdrop(logoUrl) {
2797
- const [backdrop, setBackdrop] = (0, import_react47.useState)("light");
2798
- (0, import_react47.useEffect)(() => {
2717
+ const [backdrop, setBackdrop] = (0, import_react46.useState)("light");
2718
+ (0, import_react46.useEffect)(() => {
2799
2719
  let cancelled = false;
2800
2720
  setBackdrop("light");
2801
2721
  if (!logoUrl) {
@@ -2815,9 +2735,9 @@ function useLogoBackdrop(logoUrl) {
2815
2735
 
2816
2736
  // src/components/domain/KdsInvoiceMerchant/KdsInvoiceMerchant.tsx
2817
2737
  var import_jsx_runtime44 = require("react/jsx-runtime");
2818
- var KdsInvoiceMerchant = (0, import_react48.forwardRef)(
2738
+ var KdsInvoiceMerchant = (0, import_react47.forwardRef)(
2819
2739
  ({ logoUrl, brandColor, className, style, ...props }, ref) => {
2820
- const [failed, setFailed] = (0, import_react48.useState)(false);
2740
+ const [failed, setFailed] = (0, import_react47.useState)(false);
2821
2741
  const showLogo = !!logoUrl && !failed;
2822
2742
  const backdrop = useLogoBackdrop(showLogo ? logoUrl : void 0);
2823
2743
  return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
@@ -2841,9 +2761,9 @@ var KdsInvoiceMerchant = (0, import_react48.forwardRef)(
2841
2761
  KdsInvoiceMerchant.displayName = "KdsInvoiceMerchant";
2842
2762
 
2843
2763
  // src/components/domain/KdsPaymentTotal/KdsPaymentTotal.tsx
2844
- var import_react49 = require("react");
2764
+ var import_react48 = require("react");
2845
2765
  var import_jsx_runtime45 = require("react/jsx-runtime");
2846
- var KdsPaymentTotal = (0, import_react49.forwardRef)(
2766
+ var KdsPaymentTotal = (0, import_react48.forwardRef)(
2847
2767
  ({
2848
2768
  variant = "default",
2849
2769
  tone = "brand",
@@ -2917,9 +2837,9 @@ function formatAmount(amount, decimals, locale) {
2917
2837
  }
2918
2838
 
2919
2839
  // src/components/domain/KdsBillAttachment/KdsBillAttachment.tsx
2920
- var import_react50 = require("react");
2840
+ var import_react49 = require("react");
2921
2841
  var import_jsx_runtime46 = require("react/jsx-runtime");
2922
- var KdsBillAttachment = (0, import_react50.forwardRef)(
2842
+ var KdsBillAttachment = (0, import_react49.forwardRef)(
2923
2843
  ({ filename, href, icon = "attach_file", className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
2924
2844
  "a",
2925
2845
  {
@@ -2937,7 +2857,7 @@ var KdsBillAttachment = (0, import_react50.forwardRef)(
2937
2857
  )
2938
2858
  );
2939
2859
  KdsBillAttachment.displayName = "KdsBillAttachment";
2940
- var KdsBillAttachments = (0, import_react50.forwardRef)(
2860
+ var KdsBillAttachments = (0, import_react49.forwardRef)(
2941
2861
  ({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { ref, className: (0, import_clsx.clsx)("kds-bill-attachments", className), ...props, children })
2942
2862
  );
2943
2863
  KdsBillAttachments.displayName = "KdsBillAttachments";
@@ -3037,12 +2957,12 @@ var guideToFirstInvalidFieldOnBlur = (form) => {
3037
2957
  };
3038
2958
 
3039
2959
  // src/components/core/hooks/useStickyInvoiceCollapse.ts
3040
- var import_react51 = require("react");
2960
+ var import_react50 = require("react");
3041
2961
  function useStickyInvoiceCollapse(options = {}) {
3042
2962
  const { onCollapseStart, collapseEnd = 20, mobileBreakpoint = 768 } = options;
3043
- const onCollapseStartRef = (0, import_react51.useRef)(onCollapseStart);
2963
+ const onCollapseStartRef = (0, import_react50.useRef)(onCollapseStart);
3044
2964
  onCollapseStartRef.current = onCollapseStart;
3045
- (0, import_react51.useEffect)(() => {
2965
+ (0, import_react50.useEffect)(() => {
3046
2966
  let viewportOffset = 0;
3047
2967
  let ticking = false;
3048
2968
  let wasCollapsing = false;
@@ -3115,24 +3035,24 @@ function useStickyInvoiceCollapse(options = {}) {
3115
3035
  }
3116
3036
 
3117
3037
  // src/components/core/hooks/useExpandToggle.ts
3118
- var import_react52 = require("react");
3038
+ var import_react51 = require("react");
3119
3039
  function useExpandToggle(options = {}) {
3120
3040
  const { defaultOpen = false, open: controlledOpen, onOpenChange, id } = options;
3121
- const generatedId = (0, import_react52.useId)();
3041
+ const generatedId = (0, import_react51.useId)();
3122
3042
  const panelId = id ?? `kds-expand-${generatedId}`;
3123
3043
  const isControlled = controlledOpen !== void 0;
3124
- const [uncontrolledOpen, setUncontrolledOpen] = (0, import_react52.useState)(defaultOpen);
3044
+ const [uncontrolledOpen, setUncontrolledOpen] = (0, import_react51.useState)(defaultOpen);
3125
3045
  const open = isControlled ? controlledOpen : uncontrolledOpen;
3126
- const panelRef = (0, import_react52.useRef)(null);
3127
- const setPanelRef = (0, import_react52.useCallback)((node) => {
3046
+ const panelRef = (0, import_react51.useRef)(null);
3047
+ const setPanelRef = (0, import_react51.useCallback)((node) => {
3128
3048
  panelRef.current = node;
3129
3049
  }, []);
3130
- (0, import_react52.useLayoutEffect)(() => {
3050
+ (0, import_react51.useLayoutEffect)(() => {
3131
3051
  const panel = panelRef.current;
3132
3052
  if (!panel) return;
3133
3053
  panel.style.maxHeight = open ? `${panel.scrollHeight}px` : "";
3134
3054
  }, [open]);
3135
- const setOpen = (0, import_react52.useCallback)(
3055
+ const setOpen = (0, import_react51.useCallback)(
3136
3056
  (next) => {
3137
3057
  if (!isControlled) {
3138
3058
  setUncontrolledOpen(next);
@@ -3141,8 +3061,8 @@ function useExpandToggle(options = {}) {
3141
3061
  },
3142
3062
  [isControlled, onOpenChange]
3143
3063
  );
3144
- const toggle = (0, import_react52.useCallback)(() => setOpen(!open), [open, setOpen]);
3145
- const getToggleProps = (0, import_react52.useCallback)(
3064
+ const toggle = (0, import_react51.useCallback)(() => setOpen(!open), [open, setOpen]);
3065
+ const getToggleProps = (0, import_react51.useCallback)(
3146
3066
  () => ({
3147
3067
  type: "button",
3148
3068
  "aria-expanded": open,
@@ -3151,7 +3071,7 @@ function useExpandToggle(options = {}) {
3151
3071
  }),
3152
3072
  [open, panelId, toggle]
3153
3073
  );
3154
- const getPanelProps = (0, import_react52.useCallback)(
3074
+ const getPanelProps = (0, import_react51.useCallback)(
3155
3075
  (baseClassName = "kds-expand-panel") => ({
3156
3076
  id: panelId,
3157
3077
  className: open ? `${baseClassName} open` : baseClassName,
@@ -3164,11 +3084,11 @@ function useExpandToggle(options = {}) {
3164
3084
  }
3165
3085
 
3166
3086
  // src/components/core/hooks/useHideOnScroll.ts
3167
- var import_react53 = require("react");
3087
+ var import_react52 = require("react");
3168
3088
  function useHideOnScroll(options = {}) {
3169
3089
  const { threshold = 8, topOffset = 0 } = options;
3170
- const [hidden, setHidden] = (0, import_react53.useState)(false);
3171
- (0, import_react53.useEffect)(() => {
3090
+ const [hidden, setHidden] = (0, import_react52.useState)(false);
3091
+ (0, import_react52.useEffect)(() => {
3172
3092
  let viewportOffset = 0;
3173
3093
  let lastY = 0;
3174
3094
  let ticking = false;
@@ -3211,12 +3131,12 @@ function useHideOnScroll(options = {}) {
3211
3131
  }
3212
3132
 
3213
3133
  // src/components/core/hooks/useMediaQuery.ts
3214
- var import_react54 = require("react");
3134
+ var import_react53 = require("react");
3215
3135
  function useMediaQuery(query) {
3216
- const [matches, setMatches] = (0, import_react54.useState)(
3136
+ const [matches, setMatches] = (0, import_react53.useState)(
3217
3137
  () => typeof window !== "undefined" ? window.matchMedia(query).matches : false
3218
3138
  );
3219
- (0, import_react54.useEffect)(() => {
3139
+ (0, import_react53.useEffect)(() => {
3220
3140
  if (typeof window === "undefined") return;
3221
3141
  const mql = window.matchMedia(query);
3222
3142
  setMatches(mql.matches);
@@ -3228,6 +3148,7 @@ function useMediaQuery(query) {
3228
3148
  }
3229
3149
  // Annotate the CommonJS export names for ESM import in node:
3230
3150
  0 && (module.exports = {
3151
+ KDS_VERSION,
3231
3152
  KdsAccordion,
3232
3153
  KdsAccordionDetails,
3233
3154
  KdsAccordionSummary,