@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/beercss/khipu-beercss.css +1 -1
- package/dist/beercss/khipu-beercss.js +5 -61
- package/dist/beercss/khipu-beercss.min.js +1 -1
- package/dist/beercss/khipu-beercss.scoped.css +1 -1
- package/dist/beercss/metadata.json +5 -5
- package/dist/index.d.mts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +162 -241
- package/dist/index.mjs +31 -111
- package/package.json +2 -2
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)(
|
|
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
|
|
1197
|
+
var import_react = require("react");
|
|
1278
1198
|
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
1279
|
-
var KdsButton = (0,
|
|
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
|
|
1243
|
+
var import_react2 = require("react");
|
|
1324
1244
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
1325
|
-
var KdsTextField = (0,
|
|
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,
|
|
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
|
|
1333
|
+
var import_react3 = require("react");
|
|
1414
1334
|
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
1415
|
-
var KdsSearchField = (0,
|
|
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
|
|
1358
|
+
var import_react4 = require("react");
|
|
1439
1359
|
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
1440
|
-
var KdsCheckbox = (0,
|
|
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
|
|
1369
|
+
var import_react5 = require("react");
|
|
1450
1370
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
1451
|
-
var KdsCard = (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
1430
|
+
var import_react7 = require("react");
|
|
1511
1431
|
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
1512
|
-
var KdsSecureLoader = (0,
|
|
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
|
|
1458
|
+
var import_react9 = require("react");
|
|
1539
1459
|
|
|
1540
1460
|
// src/components/core/hooks/useCopyToClipboard.ts
|
|
1541
|
-
var
|
|
1461
|
+
var import_react8 = require("react");
|
|
1542
1462
|
function useCopyToClipboard(resetMs = 1200) {
|
|
1543
|
-
const [copied, setCopied] = (0,
|
|
1544
|
-
const copy = (0,
|
|
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,
|
|
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
|
|
1506
|
+
var import_react10 = require("react");
|
|
1587
1507
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
1588
|
-
var KdsLinearProgress = (0,
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
1598
|
+
var import_react14 = __toESM(require("react"));
|
|
1679
1599
|
|
|
1680
1600
|
// src/components/core/hooks/useTabsKeyboard.ts
|
|
1681
|
-
var
|
|
1601
|
+
var import_react13 = require("react");
|
|
1682
1602
|
function useTabsKeyboard(tabCount, activeIndex, onChange) {
|
|
1683
|
-
const onKeyDown = (0,
|
|
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,
|
|
1624
|
+
var KdsTabs = (0, import_react14.forwardRef)(
|
|
1705
1625
|
({ activeIndex, onChange, children, className, style, ...props }, ref) => {
|
|
1706
|
-
const tabCount =
|
|
1626
|
+
const tabCount = import_react14.Children.count(children);
|
|
1707
1627
|
const { onKeyDown } = useTabsKeyboard(tabCount, activeIndex, onChange);
|
|
1708
|
-
const mergedStyle = (0,
|
|
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:
|
|
1726
|
-
if (!
|
|
1727
|
-
return
|
|
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,
|
|
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,
|
|
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
|
|
1690
|
+
var import_react15 = require("react");
|
|
1771
1691
|
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
1772
|
-
var KdsRadioGroup = (0,
|
|
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
|
|
1722
|
+
var import_react16 = require("react");
|
|
1803
1723
|
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
1804
|
-
var KdsSelect = (0,
|
|
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
|
|
1781
|
+
var import_react17 = require("react");
|
|
1862
1782
|
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
1863
|
-
var KdsChip = (0,
|
|
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
|
|
1805
|
+
var import_react19 = require("react");
|
|
1886
1806
|
|
|
1887
1807
|
// src/components/core/hooks/useAutoHide.ts
|
|
1888
|
-
var
|
|
1808
|
+
var import_react18 = require("react");
|
|
1889
1809
|
function useAutoHide(durationMs, onHide) {
|
|
1890
|
-
const [visible, setVisible] = (0,
|
|
1891
|
-
const onHideRef = (0,
|
|
1810
|
+
const [visible, setVisible] = (0, import_react18.useState)(true);
|
|
1811
|
+
const onHideRef = (0, import_react18.useRef)(onHide);
|
|
1892
1812
|
onHideRef.current = onHide;
|
|
1893
|
-
(0,
|
|
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,
|
|
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
|
|
1909
|
+
var import_react20 = require("react");
|
|
1990
1910
|
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1991
|
-
var KdsAccordion = (0,
|
|
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,
|
|
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,
|
|
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
|
|
1928
|
+
var import_react21 = require("react");
|
|
2009
1929
|
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
2010
|
-
var KdsDivider = (0,
|
|
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
|
|
1936
|
+
var import_react22 = require("react");
|
|
2017
1937
|
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
2018
|
-
var KdsSectionNote = (0,
|
|
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
|
|
1947
|
+
var import_react23 = require("react");
|
|
2028
1948
|
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
2029
|
-
var KdsStatusBlock = (0,
|
|
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
|
|
1961
|
+
var import_react24 = require("react");
|
|
2042
1962
|
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
2043
|
-
var KdsStepper = (0,
|
|
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
|
|
1979
|
+
var import_react25 = require("react");
|
|
2060
1980
|
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
2061
|
-
var KdsCopyRow = (0,
|
|
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
|
|
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,
|
|
2161
|
-
const settlingTimers = (0,
|
|
2162
|
-
const [copiedRows, setCopiedRows] = (0,
|
|
2163
|
-
const [settlingRows, setSettlingRows] = (0,
|
|
2164
|
-
const [allCopied, setAllCopied] = (0,
|
|
2165
|
-
const markCopied = (0,
|
|
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,
|
|
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
|
|
2232
|
+
var import_react27 = require("react");
|
|
2313
2233
|
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
2314
|
-
var KdsExpandPanel = (0,
|
|
2234
|
+
var KdsExpandPanel = (0, import_react27.forwardRef)(
|
|
2315
2235
|
({ label, defaultExpanded = false, children, className, ...props }, ref) => {
|
|
2316
|
-
const [expanded, setExpanded] = (0,
|
|
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
|
|
2257
|
+
var import_react29 = require("react");
|
|
2338
2258
|
|
|
2339
2259
|
// src/components/core/hooks/useCountdown.ts
|
|
2340
|
-
var
|
|
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,
|
|
2354
|
-
(0,
|
|
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,
|
|
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,
|
|
2287
|
+
const onExpireRef = (0, import_react29.useRef)(onExpire);
|
|
2368
2288
|
onExpireRef.current = onExpire;
|
|
2369
|
-
(0,
|
|
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
|
|
2313
|
+
var import_react30 = require("react");
|
|
2394
2314
|
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
2395
|
-
var KdsSegmentedTabs = (0,
|
|
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
|
|
2321
|
+
var import_react31 = require("react");
|
|
2402
2322
|
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
2403
|
-
var KdsFab = (0,
|
|
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
|
|
2345
|
+
var import_react32 = require("react");
|
|
2426
2346
|
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
2427
|
-
var KdsEmptyState = (0,
|
|
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
|
|
2368
|
+
var import_react33 = require("react");
|
|
2449
2369
|
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
2450
|
-
var KdsBankRow = (0,
|
|
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
|
|
2392
|
+
var import_react34 = require("react");
|
|
2473
2393
|
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
2474
|
-
var KdsBankList = (0,
|
|
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
|
|
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,
|
|
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,
|
|
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
|
|
2432
|
+
var import_react36 = require("react");
|
|
2513
2433
|
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
2514
|
-
var KdsQrRow = (0,
|
|
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
|
|
2448
|
+
var import_react37 = require("react");
|
|
2529
2449
|
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
2530
|
-
var KdsCardSelector = (0,
|
|
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
|
|
2469
|
+
var import_react38 = require("react");
|
|
2550
2470
|
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
2551
|
-
var KdsCardPlan = (0,
|
|
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
|
|
2497
|
+
var import_react39 = require("react");
|
|
2578
2498
|
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
2579
|
-
var KdsInvoiceSticky = (0,
|
|
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
|
|
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,
|
|
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
|
|
2570
|
+
var import_react42 = require("react");
|
|
2651
2571
|
|
|
2652
2572
|
// src/components/domain/KdsSecureFooter/KhipuWordmark.tsx
|
|
2653
|
-
var
|
|
2573
|
+
var import_react41 = require("react");
|
|
2654
2574
|
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
2655
|
-
var KhipuWordmark = (0,
|
|
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,
|
|
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
|
|
2620
|
+
var import_react43 = require("react");
|
|
2701
2621
|
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
2702
|
-
var KdsRecapList = (0,
|
|
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
|
|
2631
|
+
var import_react44 = require("react");
|
|
2712
2632
|
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
2713
|
-
var KdsMontoRow = (0,
|
|
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
|
|
2645
|
+
var import_react45 = require("react");
|
|
2726
2646
|
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
2727
|
-
var KdsMerchantTile = (0,
|
|
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
|
|
2665
|
+
var import_react47 = require("react");
|
|
2746
2666
|
|
|
2747
2667
|
// src/components/domain/KdsInvoiceMerchant/useLogoBackdrop.ts
|
|
2748
|
-
var
|
|
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,
|
|
2798
|
-
(0,
|
|
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,
|
|
2738
|
+
var KdsInvoiceMerchant = (0, import_react47.forwardRef)(
|
|
2819
2739
|
({ logoUrl, brandColor, className, style, ...props }, ref) => {
|
|
2820
|
-
const [failed, setFailed] = (0,
|
|
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
|
|
2764
|
+
var import_react48 = require("react");
|
|
2845
2765
|
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
2846
|
-
var KdsPaymentTotal = (0,
|
|
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
|
|
2840
|
+
var import_react49 = require("react");
|
|
2921
2841
|
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
2922
|
-
var KdsBillAttachment = (0,
|
|
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,
|
|
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
|
|
2960
|
+
var import_react50 = require("react");
|
|
3041
2961
|
function useStickyInvoiceCollapse(options = {}) {
|
|
3042
2962
|
const { onCollapseStart, collapseEnd = 20, mobileBreakpoint = 768 } = options;
|
|
3043
|
-
const onCollapseStartRef = (0,
|
|
2963
|
+
const onCollapseStartRef = (0, import_react50.useRef)(onCollapseStart);
|
|
3044
2964
|
onCollapseStartRef.current = onCollapseStart;
|
|
3045
|
-
(0,
|
|
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
|
|
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,
|
|
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,
|
|
3044
|
+
const [uncontrolledOpen, setUncontrolledOpen] = (0, import_react51.useState)(defaultOpen);
|
|
3125
3045
|
const open = isControlled ? controlledOpen : uncontrolledOpen;
|
|
3126
|
-
const panelRef = (0,
|
|
3127
|
-
const setPanelRef = (0,
|
|
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,
|
|
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,
|
|
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,
|
|
3145
|
-
const getToggleProps = (0,
|
|
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,
|
|
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
|
|
3087
|
+
var import_react52 = require("react");
|
|
3168
3088
|
function useHideOnScroll(options = {}) {
|
|
3169
3089
|
const { threshold = 8, topOffset = 0 } = options;
|
|
3170
|
-
const [hidden, setHidden] = (0,
|
|
3171
|
-
(0,
|
|
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
|
|
3134
|
+
var import_react53 = require("react");
|
|
3215
3135
|
function useMediaQuery(query) {
|
|
3216
|
-
const [matches, setMatches] = (0,
|
|
3136
|
+
const [matches, setMatches] = (0, import_react53.useState)(
|
|
3217
3137
|
() => typeof window !== "undefined" ? window.matchMedia(query).matches : false
|
|
3218
3138
|
);
|
|
3219
|
-
(0,
|
|
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,
|