@khipu/design-system 0.2.0-alpha.99 → 0.3.0
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/arch.svg +1 -0
- package/dist/beercss/arrow.svg +1 -0
- package/dist/beercss/boom.svg +1 -0
- package/dist/beercss/bun.svg +1 -0
- package/dist/beercss/burst.svg +1 -0
- package/dist/beercss/circle.svg +1 -0
- package/dist/beercss/clamshell.svg +1 -0
- package/dist/beercss/diamond.svg +1 -0
- package/dist/beercss/fan.svg +1 -0
- package/dist/beercss/flower.svg +1 -0
- package/dist/beercss/gem.svg +1 -0
- package/dist/beercss/ghost-ish.svg +1 -0
- package/dist/beercss/heart.svg +1 -0
- package/dist/beercss/khipu-beercss.css +868 -98
- package/dist/beercss/khipu-beercss.js +75 -0
- package/dist/beercss/khipu-beercss.min.css +1 -1
- package/dist/beercss/khipu-beercss.min.js +1 -1
- package/dist/beercss/khipu-beercss.scoped.css +868 -98
- package/dist/beercss/khipu-beercss.scoped.min.css +1 -1
- package/dist/beercss/leaf-clover4.svg +1 -0
- package/dist/beercss/leaf-clover8.svg +1 -0
- package/dist/beercss/loading-indicator.svg +1 -0
- package/dist/beercss/material-symbols-outlined.woff2 +0 -0
- package/dist/beercss/material-symbols-rounded.woff2 +0 -0
- package/dist/beercss/material-symbols-sharp.woff2 +0 -0
- package/dist/beercss/material-symbols-subset.woff2 +0 -0
- package/dist/beercss/metadata.json +5 -5
- package/dist/beercss/oval.svg +1 -0
- package/dist/beercss/pentagon.svg +1 -0
- package/dist/beercss/pill.svg +1 -0
- package/dist/beercss/pixel-circle.svg +1 -0
- package/dist/beercss/pixel-triangle.svg +1 -0
- package/dist/beercss/puffy-diamond.svg +1 -0
- package/dist/beercss/puffy.svg +1 -0
- package/dist/beercss/semicircle.svg +1 -0
- package/dist/beercss/sided-cookie12.svg +1 -0
- package/dist/beercss/sided-cookie4.svg +1 -0
- package/dist/beercss/sided-cookie6.svg +1 -0
- package/dist/beercss/sided-cookie7.svg +1 -0
- package/dist/beercss/sided-cookie9.svg +1 -0
- package/dist/beercss/slanted.svg +1 -0
- package/dist/beercss/soft-boom.svg +1 -0
- package/dist/beercss/soft-burst.svg +1 -0
- package/dist/beercss/square.svg +1 -0
- package/dist/beercss/sunny.svg +1 -0
- package/dist/beercss/triangle.svg +1 -0
- package/dist/beercss/very-sunny.svg +1 -0
- package/dist/beercss/wavy-circle.svg +1 -0
- package/dist/beercss/wavy.svg +1 -0
- package/dist/index.d.mts +128 -6
- package/dist/index.d.ts +128 -6
- package/dist/index.js +394 -156
- package/dist/index.mjs +373 -146
- package/package.json +3 -2
package/dist/index.js
CHANGED
|
@@ -54,6 +54,7 @@ __export(index_exports, {
|
|
|
54
54
|
KdsCopyableTable: () => KdsCopyableTable,
|
|
55
55
|
KdsCountdown: () => KdsCountdown,
|
|
56
56
|
KdsDivider: () => KdsDivider,
|
|
57
|
+
KdsEmptyState: () => KdsEmptyState,
|
|
57
58
|
KdsExpandPanel: () => KdsExpandPanel,
|
|
58
59
|
KdsFab: () => KdsFab,
|
|
59
60
|
KdsInvoiceMerchant: () => KdsInvoiceMerchant,
|
|
@@ -82,11 +83,14 @@ __export(index_exports, {
|
|
|
82
83
|
KdsThemeProvider: () => KdsThemeProvider,
|
|
83
84
|
KdsTooltip: () => KdsTooltip,
|
|
84
85
|
KdsTypography: () => KdsTypography,
|
|
86
|
+
LIGHT_LOGO_LUMINANCE_THRESHOLD: () => LIGHT_LOGO_LUMINANCE_THRESHOLD,
|
|
85
87
|
borderRadius: () => borderRadius,
|
|
86
88
|
breakpoints: () => breakpoints,
|
|
89
|
+
centerFieldInViewport: () => centerFieldInViewport,
|
|
87
90
|
clsx: () => import_clsx.clsx,
|
|
88
91
|
colors: () => colors,
|
|
89
92
|
colorsByMode: () => colorsByMode,
|
|
93
|
+
focusFirstInvalidField: () => focusFirstInvalidField,
|
|
90
94
|
fontFamilies: () => fontFamilies,
|
|
91
95
|
fontSizes: () => fontSizes,
|
|
92
96
|
fontWeights: () => fontWeights,
|
|
@@ -94,9 +98,14 @@ __export(index_exports, {
|
|
|
94
98
|
formatDateTime: () => formatDateTime,
|
|
95
99
|
formatTime: () => formatTime,
|
|
96
100
|
getContrastColor: () => getContrastColor,
|
|
101
|
+
guideToFirstInvalidFieldOnBlur: () => guideToFirstInvalidFieldOnBlur,
|
|
97
102
|
letterSpacings: () => letterSpacings,
|
|
98
103
|
lighten: () => lighten,
|
|
99
104
|
lineHeights: () => lineHeights,
|
|
105
|
+
measureLogoLuminance: () => measureLogoLuminance,
|
|
106
|
+
pickLogoBackdrop: () => pickLogoBackdrop,
|
|
107
|
+
runAfterPointerGesture: () => runAfterPointerGesture,
|
|
108
|
+
scrollToFirstInvalidField: () => scrollToFirstInvalidField,
|
|
100
109
|
semanticSpacing: () => semanticSpacing,
|
|
101
110
|
shadows: () => shadows,
|
|
102
111
|
spacing: () => spacing,
|
|
@@ -109,6 +118,8 @@ __export(index_exports, {
|
|
|
109
118
|
useCountdown: () => useCountdown,
|
|
110
119
|
useExpandToggle: () => useExpandToggle,
|
|
111
120
|
useHideOnScroll: () => useHideOnScroll,
|
|
121
|
+
useLogoBackdrop: () => useLogoBackdrop,
|
|
122
|
+
useMediaQuery: () => useMediaQuery,
|
|
112
123
|
useStickyInvoiceCollapse: () => useStickyInvoiceCollapse,
|
|
113
124
|
useTabsKeyboard: () => useTabsKeyboard,
|
|
114
125
|
zIndex: () => zIndex
|
|
@@ -1184,7 +1195,7 @@ var KdsButton = (0, import_react.forwardRef)(
|
|
|
1184
1195
|
children,
|
|
1185
1196
|
className,
|
|
1186
1197
|
...props
|
|
1187
|
-
}, ref) => /* @__PURE__ */ (0, import_jsx_runtime2.
|
|
1198
|
+
}, ref) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
1188
1199
|
"button",
|
|
1189
1200
|
{
|
|
1190
1201
|
ref,
|
|
@@ -1198,14 +1209,18 @@ var KdsButton = (0, import_react.forwardRef)(
|
|
|
1198
1209
|
disabled: disabled || loading,
|
|
1199
1210
|
"aria-busy": loading || void 0,
|
|
1200
1211
|
...props,
|
|
1201
|
-
children: [
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1212
|
+
children: loading ? /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
1213
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("progress", { className: "circle indeterminate small" }),
|
|
1214
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { children })
|
|
1215
|
+
] }) : (
|
|
1216
|
+
/* Iconos DENTRO del label (inline): si el texto envuelve en pantallas angostas,
|
|
1217
|
+
el icono fluye con la primera linea en vez de quedar anclado al borde del boton. */
|
|
1218
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("span", { className: "kds-btn-label", children: [
|
|
1219
|
+
startIcon && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: "kds-icon kds-icon-start", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("i", { className: "material-symbols-outlined", children: startIcon }) }),
|
|
1220
|
+
children,
|
|
1221
|
+
endIcon && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: "kds-icon kds-icon-end", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("i", { className: "material-symbols-outlined", children: endIcon }) })
|
|
1222
|
+
] })
|
|
1223
|
+
)
|
|
1209
1224
|
}
|
|
1210
1225
|
)
|
|
1211
1226
|
);
|
|
@@ -1538,6 +1553,7 @@ var variantTag = {
|
|
|
1538
1553
|
"body-small": "p",
|
|
1539
1554
|
label: "span",
|
|
1540
1555
|
"label-small": "span",
|
|
1556
|
+
"kv-label": "span",
|
|
1541
1557
|
value: "span",
|
|
1542
1558
|
code: "span",
|
|
1543
1559
|
caption: "span",
|
|
@@ -2312,13 +2328,36 @@ var KdsFab = (0, import_react31.forwardRef)(
|
|
|
2312
2328
|
);
|
|
2313
2329
|
KdsFab.displayName = "KdsFab";
|
|
2314
2330
|
|
|
2315
|
-
// src/components/
|
|
2331
|
+
// src/components/core/KdsEmptyState/KdsEmptyState.tsx
|
|
2316
2332
|
var import_react32 = require("react");
|
|
2317
2333
|
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
2318
|
-
var
|
|
2334
|
+
var KdsEmptyState = (0, import_react32.forwardRef)(
|
|
2335
|
+
({ icon = "hide_source", title, description, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
2336
|
+
"div",
|
|
2337
|
+
{
|
|
2338
|
+
ref,
|
|
2339
|
+
role: "status",
|
|
2340
|
+
className: (0, import_clsx.clsx)("kds-empty-state", className),
|
|
2341
|
+
...props,
|
|
2342
|
+
children: [
|
|
2343
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("i", { className: "material-symbols-outlined", "aria-hidden": "true", children: icon }),
|
|
2344
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "kds-empty-state-text", children: [
|
|
2345
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(KdsTypography, { variant: "body", color: "primary", children: title }),
|
|
2346
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(KdsTypography, { variant: "body", color: "secondary", children: description })
|
|
2347
|
+
] })
|
|
2348
|
+
]
|
|
2349
|
+
}
|
|
2350
|
+
)
|
|
2351
|
+
);
|
|
2352
|
+
KdsEmptyState.displayName = "KdsEmptyState";
|
|
2353
|
+
|
|
2354
|
+
// src/components/domain/KdsBankRow/KdsBankRow.tsx
|
|
2355
|
+
var import_react33 = require("react");
|
|
2356
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
2357
|
+
var KdsBankRow = (0, import_react33.forwardRef)(
|
|
2319
2358
|
({ name, logoUrl, selected, hideLogo, className, ...props }, ref) => {
|
|
2320
2359
|
const nameStr = typeof name === "string" ? name : "";
|
|
2321
|
-
return /* @__PURE__ */ (0,
|
|
2360
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
2322
2361
|
"button",
|
|
2323
2362
|
{
|
|
2324
2363
|
ref,
|
|
@@ -2326,9 +2365,9 @@ var KdsBankRow = (0, import_react32.forwardRef)(
|
|
|
2326
2365
|
className: (0, import_clsx.clsx)("kds-bank-row", selected && "selected", className),
|
|
2327
2366
|
...props,
|
|
2328
2367
|
children: [
|
|
2329
|
-
!hideLogo && /* @__PURE__ */ (0,
|
|
2330
|
-
/* @__PURE__ */ (0,
|
|
2331
|
-
/* @__PURE__ */ (0,
|
|
2368
|
+
!hideLogo && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "kds-bank-row-logo", children: logoUrl ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("img", { src: logoUrl, alt: nameStr }) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "initials", children: nameStr.charAt(0) }) }),
|
|
2369
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "kds-bank-row-name", children: name }),
|
|
2370
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("i", { className: "material-symbols-outlined", children: selected ? "check_circle" : "chevron_right" })
|
|
2332
2371
|
]
|
|
2333
2372
|
}
|
|
2334
2373
|
);
|
|
@@ -2337,32 +2376,32 @@ var KdsBankRow = (0, import_react32.forwardRef)(
|
|
|
2337
2376
|
KdsBankRow.displayName = "KdsBankRow";
|
|
2338
2377
|
|
|
2339
2378
|
// src/components/domain/KdsBankList/KdsBankList.tsx
|
|
2340
|
-
var
|
|
2341
|
-
var
|
|
2342
|
-
var KdsBankList = (0,
|
|
2343
|
-
({ children, className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
2379
|
+
var import_react34 = require("react");
|
|
2380
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
2381
|
+
var KdsBankList = (0, import_react34.forwardRef)(
|
|
2382
|
+
({ 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 })
|
|
2344
2383
|
);
|
|
2345
2384
|
KdsBankList.displayName = "KdsBankList";
|
|
2346
2385
|
|
|
2347
2386
|
// src/components/domain/KdsBankModal/KdsBankModal.tsx
|
|
2348
|
-
var
|
|
2387
|
+
var import_react35 = require("react");
|
|
2349
2388
|
var Dialog = __toESM(require("@radix-ui/react-dialog"));
|
|
2350
|
-
var
|
|
2351
|
-
var KdsBankModal = (0,
|
|
2389
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
2390
|
+
var KdsBankModal = (0, import_react35.forwardRef)(
|
|
2352
2391
|
({ open, onClose, title = "Selecciona tu banco", searchPlaceholder = "Buscar banco...", onSearch, children, className, container }, ref) => {
|
|
2353
|
-
const [query, setQuery] = (0,
|
|
2392
|
+
const [query, setQuery] = (0, import_react35.useState)("");
|
|
2354
2393
|
const handleSearch = (value) => {
|
|
2355
2394
|
setQuery(value);
|
|
2356
2395
|
onSearch?.(value);
|
|
2357
2396
|
};
|
|
2358
|
-
return /* @__PURE__ */ (0,
|
|
2397
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Dialog.Root, { open, onOpenChange: (o) => {
|
|
2359
2398
|
if (!o) onClose();
|
|
2360
|
-
}, children: /* @__PURE__ */ (0,
|
|
2361
|
-
/* @__PURE__ */ (0,
|
|
2362
|
-
/* @__PURE__ */ (0,
|
|
2363
|
-
/* @__PURE__ */ (0,
|
|
2399
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Dialog.Portal, { container, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Dialog.Overlay, { className: "kds-bank-modal-scrim open", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Dialog.Content, { ref, className: (0, import_clsx.clsx)("kds-bank-modal", className), children: [
|
|
2400
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "kds-bank-modal-header", children: [
|
|
2401
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Dialog.Title, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("h3", { children: title }) }),
|
|
2402
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Dialog.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("button", { className: "kds-bank-modal-close", "aria-label": "Cerrar", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("i", { className: "material-symbols-outlined", children: "close" }) }) })
|
|
2364
2403
|
] }),
|
|
2365
|
-
/* @__PURE__ */ (0,
|
|
2404
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "kds-bank-modal-search", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2366
2405
|
KdsSearchField,
|
|
2367
2406
|
{
|
|
2368
2407
|
placeholder: searchPlaceholder,
|
|
@@ -2370,33 +2409,33 @@ var KdsBankModal = (0, import_react34.forwardRef)(
|
|
|
2370
2409
|
onChange: (e) => handleSearch(e.target.value)
|
|
2371
2410
|
}
|
|
2372
2411
|
) }),
|
|
2373
|
-
/* @__PURE__ */ (0,
|
|
2412
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "kds-bank-modal-body", children })
|
|
2374
2413
|
] }) }) }) });
|
|
2375
2414
|
}
|
|
2376
2415
|
);
|
|
2377
2416
|
KdsBankModal.displayName = "KdsBankModal";
|
|
2378
2417
|
|
|
2379
2418
|
// src/components/domain/KdsQrRow/KdsQrRow.tsx
|
|
2380
|
-
var
|
|
2381
|
-
var
|
|
2382
|
-
var KdsQrRow = (0,
|
|
2383
|
-
({ name, description, badge, icon = "qr_code_2", className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
2384
|
-
/* @__PURE__ */ (0,
|
|
2385
|
-
/* @__PURE__ */ (0,
|
|
2386
|
-
/* @__PURE__ */ (0,
|
|
2387
|
-
description && /* @__PURE__ */ (0,
|
|
2419
|
+
var import_react36 = require("react");
|
|
2420
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
2421
|
+
var KdsQrRow = (0, import_react36.forwardRef)(
|
|
2422
|
+
({ name, description, badge, icon = "qr_code_2", className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("button", { ref, type: "button", className: (0, import_clsx.clsx)("kds-qr-row", className), ...props, children: [
|
|
2423
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "kds-qr-avatar", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("i", { className: "material-symbols-outlined", children: icon }) }),
|
|
2424
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("span", { className: "kds-qr-text", children: [
|
|
2425
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "kds-qr-title", children: name }),
|
|
2426
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "kds-qr-subtitle", children: description })
|
|
2388
2427
|
] }),
|
|
2389
|
-
badge && /* @__PURE__ */ (0,
|
|
2390
|
-
/* @__PURE__ */ (0,
|
|
2428
|
+
badge && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "kds-qr-badge", children: badge }),
|
|
2429
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("i", { className: "material-symbols-outlined", children: "chevron_right" })
|
|
2391
2430
|
] })
|
|
2392
2431
|
);
|
|
2393
2432
|
KdsQrRow.displayName = "KdsQrRow";
|
|
2394
2433
|
|
|
2395
2434
|
// src/components/domain/KdsCardSelector/KdsCardSelector.tsx
|
|
2396
|
-
var
|
|
2397
|
-
var
|
|
2398
|
-
var KdsCardSelector = (0,
|
|
2399
|
-
({ icon, title, description, selected, className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
2435
|
+
var import_react37 = require("react");
|
|
2436
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
2437
|
+
var KdsCardSelector = (0, import_react37.forwardRef)(
|
|
2438
|
+
({ icon, title, description, selected, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
2400
2439
|
"button",
|
|
2401
2440
|
{
|
|
2402
2441
|
ref,
|
|
@@ -2404,9 +2443,9 @@ var KdsCardSelector = (0, import_react36.forwardRef)(
|
|
|
2404
2443
|
className: (0, import_clsx.clsx)("kds-card-selector", selected && "selected", className),
|
|
2405
2444
|
...props,
|
|
2406
2445
|
children: [
|
|
2407
|
-
icon && /* @__PURE__ */ (0,
|
|
2408
|
-
/* @__PURE__ */ (0,
|
|
2409
|
-
description && /* @__PURE__ */ (0,
|
|
2446
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "kds-card-selector-icon", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("i", { className: "material-symbols-outlined", children: icon }) }),
|
|
2447
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "kds-card-selector-title", children: title }),
|
|
2448
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "kds-card-selector-description", children: description })
|
|
2410
2449
|
]
|
|
2411
2450
|
}
|
|
2412
2451
|
)
|
|
@@ -2414,26 +2453,26 @@ var KdsCardSelector = (0, import_react36.forwardRef)(
|
|
|
2414
2453
|
KdsCardSelector.displayName = "KdsCardSelector";
|
|
2415
2454
|
|
|
2416
2455
|
// src/components/domain/KdsCardPlan/KdsCardPlan.tsx
|
|
2417
|
-
var
|
|
2418
|
-
var
|
|
2419
|
-
var KdsCardPlan = (0,
|
|
2420
|
-
({ title, price, period, features, recommended, badgeText, action, className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
2456
|
+
var import_react38 = require("react");
|
|
2457
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
2458
|
+
var KdsCardPlan = (0, import_react38.forwardRef)(
|
|
2459
|
+
({ title, price, period, features, recommended, badgeText, action, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
2421
2460
|
"div",
|
|
2422
2461
|
{
|
|
2423
2462
|
ref,
|
|
2424
2463
|
className: (0, import_clsx.clsx)("kds-card-plan", recommended && "recommended", className),
|
|
2425
2464
|
...props,
|
|
2426
2465
|
children: [
|
|
2427
|
-
/* @__PURE__ */ (0,
|
|
2428
|
-
/* @__PURE__ */ (0,
|
|
2429
|
-
/* @__PURE__ */ (0,
|
|
2430
|
-
period && /* @__PURE__ */ (0,
|
|
2466
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "kds-card-plan-header", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("h3", { children: title }) }),
|
|
2467
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "kds-card-plan-price", children: [
|
|
2468
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "kds-price", children: price }),
|
|
2469
|
+
period && /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("span", { className: "kds-price-period", children: [
|
|
2431
2470
|
"/",
|
|
2432
2471
|
period
|
|
2433
2472
|
] })
|
|
2434
2473
|
] }),
|
|
2435
|
-
badgeText && /* @__PURE__ */ (0,
|
|
2436
|
-
features && features.length > 0 && /* @__PURE__ */ (0,
|
|
2474
|
+
badgeText && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "kds-card-plan-badge", children: badgeText }),
|
|
2475
|
+
features && features.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("ul", { className: "kds-card-plan-features", children: features.map((f, i) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("li", { children: f }, i)) }),
|
|
2437
2476
|
action
|
|
2438
2477
|
]
|
|
2439
2478
|
}
|
|
@@ -2442,10 +2481,10 @@ var KdsCardPlan = (0, import_react37.forwardRef)(
|
|
|
2442
2481
|
KdsCardPlan.displayName = "KdsCardPlan";
|
|
2443
2482
|
|
|
2444
2483
|
// src/components/domain/KdsInvoiceSticky/KdsInvoiceSticky.tsx
|
|
2445
|
-
var
|
|
2446
|
-
var
|
|
2447
|
-
var KdsInvoiceSticky = (0,
|
|
2448
|
-
({ children, className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
2484
|
+
var import_react39 = require("react");
|
|
2485
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
2486
|
+
var KdsInvoiceSticky = (0, import_react39.forwardRef)(
|
|
2487
|
+
({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2449
2488
|
"article",
|
|
2450
2489
|
{
|
|
2451
2490
|
ref,
|
|
@@ -2458,10 +2497,10 @@ var KdsInvoiceSticky = (0, import_react38.forwardRef)(
|
|
|
2458
2497
|
KdsInvoiceSticky.displayName = "KdsInvoiceSticky";
|
|
2459
2498
|
|
|
2460
2499
|
// src/components/domain/KdsBottomSheet/KdsBottomSheet.tsx
|
|
2461
|
-
var
|
|
2500
|
+
var import_react40 = require("react");
|
|
2462
2501
|
var Dialog2 = __toESM(require("@radix-ui/react-dialog"));
|
|
2463
|
-
var
|
|
2464
|
-
var KdsBottomSheet = (0,
|
|
2502
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
2503
|
+
var KdsBottomSheet = (0, import_react40.forwardRef)(
|
|
2465
2504
|
({
|
|
2466
2505
|
open,
|
|
2467
2506
|
onClose,
|
|
@@ -2474,14 +2513,14 @@ var KdsBottomSheet = (0, import_react39.forwardRef)(
|
|
|
2474
2513
|
container,
|
|
2475
2514
|
className,
|
|
2476
2515
|
...props
|
|
2477
|
-
}, ref) => /* @__PURE__ */ (0,
|
|
2516
|
+
}, ref) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2478
2517
|
Dialog2.Root,
|
|
2479
2518
|
{
|
|
2480
2519
|
open,
|
|
2481
2520
|
onOpenChange: (o) => {
|
|
2482
2521
|
if (!o) onClose();
|
|
2483
2522
|
},
|
|
2484
|
-
children: /* @__PURE__ */ (0,
|
|
2523
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Dialog2.Portal, { container, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "kds-theme-root", style: { display: "contents" }, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Dialog2.Overlay, { className: "kds-bottom-sheet-scrim open", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
2485
2524
|
Dialog2.Content,
|
|
2486
2525
|
{
|
|
2487
2526
|
ref,
|
|
@@ -2492,20 +2531,20 @@ var KdsBottomSheet = (0, import_react39.forwardRef)(
|
|
|
2492
2531
|
},
|
|
2493
2532
|
...props,
|
|
2494
2533
|
children: [
|
|
2495
|
-
showGrabber && /* @__PURE__ */ (0,
|
|
2496
|
-
showCloseButton && /* @__PURE__ */ (0,
|
|
2534
|
+
showGrabber && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "kds-bottom-sheet-grabber", "aria-hidden": "true" }),
|
|
2535
|
+
showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Dialog2.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2497
2536
|
"button",
|
|
2498
2537
|
{
|
|
2499
2538
|
type: "button",
|
|
2500
2539
|
className: "kds-bottom-sheet-close",
|
|
2501
2540
|
"aria-label": "Cerrar",
|
|
2502
|
-
children: /* @__PURE__ */ (0,
|
|
2541
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("i", { className: "material-symbols-outlined", children: "close" })
|
|
2503
2542
|
}
|
|
2504
2543
|
) }),
|
|
2505
|
-
title && /* @__PURE__ */ (0,
|
|
2506
|
-
description && /* @__PURE__ */ (0,
|
|
2507
|
-
/* @__PURE__ */ (0,
|
|
2508
|
-
actions && /* @__PURE__ */ (0,
|
|
2544
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Dialog2.Title, { className: "kds-bottom-sheet-title", children: title }),
|
|
2545
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Dialog2.Description, { className: "kds-bottom-sheet-description", children: description }),
|
|
2546
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "kds-bottom-sheet-body", children }),
|
|
2547
|
+
actions && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "kds-bottom-sheet-actions", children: actions })
|
|
2509
2548
|
]
|
|
2510
2549
|
}
|
|
2511
2550
|
) }) }) })
|
|
@@ -2515,13 +2554,13 @@ var KdsBottomSheet = (0, import_react39.forwardRef)(
|
|
|
2515
2554
|
KdsBottomSheet.displayName = "KdsBottomSheet";
|
|
2516
2555
|
|
|
2517
2556
|
// src/components/domain/KdsSecureFooter/KdsSecureFooter.tsx
|
|
2518
|
-
var
|
|
2557
|
+
var import_react42 = require("react");
|
|
2519
2558
|
|
|
2520
2559
|
// src/components/domain/KdsSecureFooter/KhipuWordmark.tsx
|
|
2521
|
-
var
|
|
2522
|
-
var
|
|
2523
|
-
var KhipuWordmark = (0,
|
|
2524
|
-
({ className = "khipu-mark", ...props }, ref) => /* @__PURE__ */ (0,
|
|
2560
|
+
var import_react41 = require("react");
|
|
2561
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
2562
|
+
var KhipuWordmark = (0, import_react41.forwardRef)(
|
|
2563
|
+
({ className = "khipu-mark", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
2525
2564
|
"svg",
|
|
2526
2565
|
{
|
|
2527
2566
|
ref,
|
|
@@ -2532,14 +2571,14 @@ var KhipuWordmark = (0, import_react40.forwardRef)(
|
|
|
2532
2571
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2533
2572
|
...props,
|
|
2534
2573
|
children: [
|
|
2535
|
-
/* @__PURE__ */ (0,
|
|
2536
|
-
/* @__PURE__ */ (0,
|
|
2537
|
-
/* @__PURE__ */ (0,
|
|
2538
|
-
/* @__PURE__ */ (0,
|
|
2539
|
-
/* @__PURE__ */ (0,
|
|
2540
|
-
/* @__PURE__ */ (0,
|
|
2541
|
-
/* @__PURE__ */ (0,
|
|
2542
|
-
/* @__PURE__ */ (0,
|
|
2574
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("path", { d: "M16.6417 11.8339C16.7273 11.9196 16.8272 11.9624 16.9472 11.9624H18.9628C19.0798 11.9624 19.1826 11.9196 19.2682 11.8339C19.3539 11.7483 19.3967 11.6483 19.3967 11.5284V7.12891C19.3967 6.50081 19.3111 5.95551 19.1398 5.49586C18.9685 5.03621 18.7315 4.65937 18.4289 4.3596C18.1234 4.05983 17.758 3.83999 17.3326 3.69439C16.9043 3.55164 16.4361 3.47741 15.9251 3.47741C15.4226 3.47741 14.9801 3.58019 14.5975 3.7886C14.2121 3.99702 13.9295 4.214 13.7496 4.43668V1.03071C13.7496 0.913654 13.7068 0.810874 13.6211 0.728079C13.5355 0.642434 13.4355 0.599609 13.3185 0.599609H11.2943C11.1773 0.599609 11.0745 0.642434 10.9888 0.728079C10.9032 0.813729 10.8604 0.913654 10.8604 1.03071V11.5284C10.8604 11.6455 10.9032 11.7483 10.9888 11.8339C11.0745 11.9196 11.1744 11.9624 11.2943 11.9624H13.3099C13.427 11.9624 13.5298 11.9196 13.6126 11.8339C13.6982 11.7483 13.741 11.6483 13.741 11.5284V7.48006C13.741 7.02041 13.8495 6.65216 14.0693 6.37521C14.2892 6.09826 14.6375 5.95836 15.1171 5.95836C15.5968 5.95836 15.9479 6.09826 16.1735 6.37521C16.3961 6.65216 16.5103 7.02041 16.5103 7.48006V11.5284C16.5132 11.6483 16.556 11.7483 16.6417 11.8339Z", fill: "#8347AD" }),
|
|
2575
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("path", { d: "M23.6189 3.64014H21.6005C21.4834 3.64014 21.3806 3.68296 21.295 3.76861C21.2093 3.85426 21.1665 3.95418 21.1665 4.07124V11.5284C21.1665 11.6454 21.2093 11.7482 21.295 11.8339C21.3806 11.9195 21.4806 11.9623 21.6005 11.9623H23.6161C23.7331 11.9623 23.8359 11.9195 23.9187 11.8339C24.0044 11.7482 24.0472 11.6483 24.0472 11.5284V4.07124C24.0472 3.95418 24.0044 3.85141 23.9187 3.76861C23.8359 3.68296 23.736 3.64014 23.6189 3.64014Z", fill: "#8347AD" }),
|
|
2576
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("path", { d: "M34.1881 10.0723C34.3851 9.61264 34.4936 9.07019 34.5164 8.43924C34.5278 8.27934 34.5335 8.06239 34.5335 7.79114C34.5335 7.51994 34.5278 7.30294 34.5164 7.14309C34.4936 6.51499 34.3851 5.96969 34.1881 5.51004C33.9911 5.05039 33.7313 4.67068 33.4115 4.36519C33.0918 4.05971 32.7178 3.83702 32.2924 3.69427C31.8642 3.55152 31.4131 3.47729 30.9334 3.47729C30.5823 3.47729 30.2854 3.50584 30.0455 3.5658C29.8057 3.62575 29.603 3.69998 29.4374 3.78848C29.2718 3.87984 29.1348 3.98263 29.0206 4.09968C28.9093 4.21674 28.8036 4.32808 28.7094 4.43657V4.06828C28.7094 3.95122 28.6666 3.84844 28.5809 3.7628C28.4953 3.67715 28.3954 3.63432 28.2783 3.63432H26.3426C26.2256 3.63432 26.1228 3.67715 26.0372 3.7628C25.9515 3.84844 25.9087 3.94837 25.9087 4.06828V14.566C25.9087 14.683 25.9515 14.7858 26.0372 14.8715C26.1228 14.9571 26.2227 14.9999 26.3426 14.9999H28.3583C28.4753 14.9999 28.5781 14.9571 28.6637 14.8715C28.7494 14.7858 28.7922 14.6859 28.7922 14.566V11.1629C28.8664 11.2599 28.9635 11.3627 29.0806 11.474C29.1976 11.5854 29.3432 11.691 29.5117 11.7852C29.683 11.8823 29.8857 11.9622 30.1198 12.0251C30.3539 12.0879 30.6251 12.1221 30.9363 12.1221C31.4159 12.1221 31.8699 12.0479 32.2953 11.8994C32.7206 11.751 33.0946 11.5226 33.4144 11.22C33.7313 10.9145 33.9911 10.5319 34.1881 10.0723ZM31.65 8.24794C31.6186 8.62194 31.4959 8.94739 31.2817 9.22434C31.0676 9.50129 30.7107 9.64119 30.2083 9.64119C29.9742 9.64119 29.7715 9.60404 29.6002 9.52984C29.4289 9.45559 29.289 9.35569 29.1748 9.23289C29.0634 9.11014 28.9749 8.97309 28.9121 8.82464C28.8493 8.67619 28.8065 8.52204 28.7836 8.35929C28.7608 8.19939 28.7522 8.01384 28.7522 7.79974C28.7522 7.58559 28.7637 7.40004 28.7836 7.24014C28.8036 7.08029 28.8465 6.92609 28.9121 6.77479C28.9749 6.62634 29.0634 6.48929 29.1748 6.36654C29.2861 6.24374 29.4289 6.14384 29.6002 6.06959C29.7715 5.99539 29.9742 5.95824 30.2083 5.95824C30.7107 5.95824 31.0676 6.09814 31.2817 6.37509C31.4959 6.65204 31.6186 6.97749 31.65 7.35149C31.6843 7.65124 31.6843 7.95104 31.65 8.24794Z", fill: "#8347AD" }),
|
|
2577
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("path", { d: "M41.7481 11.8339C41.8337 11.9195 41.9337 11.9623 42.0536 11.9623H43.9093C44.0264 11.9623 44.1291 11.9195 44.2119 11.8339C44.2976 11.7482 44.3404 11.6483 44.3404 11.5284V4.07124C44.3404 3.95418 44.2976 3.85141 44.2119 3.76861C44.1263 3.68296 44.0264 3.64014 43.9093 3.64014H41.8937C41.7766 3.64014 41.6739 3.68296 41.5882 3.76861C41.5026 3.85426 41.4597 3.95418 41.4597 4.07124V8.1196C41.4597 8.57925 41.3598 8.94755 41.1628 9.22445C40.9658 9.5014 40.6318 9.6413 40.1636 9.6413C39.6954 9.6413 39.3585 9.5014 39.1558 9.22445C38.9531 8.94755 38.8503 8.57925 38.8503 8.1196V4.07124C38.8503 3.95418 38.8075 3.85141 38.7218 3.76861C38.6362 3.68296 38.5363 3.64014 38.4163 3.64014H36.4007C36.2837 3.64014 36.1809 3.68296 36.0953 3.76861C36.0096 3.85426 35.9668 3.95418 35.9668 4.07124V8.47075C35.9668 9.7298 36.2723 10.6519 36.8861 11.24C37.4999 11.8282 38.325 12.1194 39.3585 12.1194C39.6897 12.1194 39.9752 12.0908 40.215 12.0309C40.4548 11.9709 40.6661 11.8967 40.8459 11.8082C41.0286 11.7168 41.18 11.6169 41.3027 11.5027C41.4255 11.3914 41.5283 11.2772 41.6139 11.1601V11.5284C41.6196 11.6483 41.6624 11.7482 41.7481 11.8339Z", fill: "#8347AD" }),
|
|
2578
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("path", { d: "M22.5569 2.78074C21.7889 2.78074 21.1665 2.1555 21.1665 1.39037C21.1665 0.622385 21.7918 0 22.5569 0C23.3249 0 23.9473 0.62524 23.9473 1.39037C23.9501 2.1555 23.3249 2.78074 22.5569 2.78074Z", fill: "#3CB4E5" }),
|
|
2579
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("path", { d: "M3.1374 7.43996V4.78198L2.34372 5.77836C2.22095 5.93256 2.21524 6.14951 2.32944 6.31226L3.1374 7.43996Z", fill: "#743CEB" }),
|
|
2580
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("path", { d: "M2.96345 0.722369C2.88351 0.642434 2.78074 0.599609 2.66368 0.599609H0.40826C0.299771 0.599609 0.205557 0.639579 0.122763 0.722369C0.0428246 0.802309 0 0.905089 0 1.02214V11.557C0 11.6655 0.0399696 11.7597 0.122763 11.8425C0.202703 11.9224 0.299771 11.9652 0.40826 11.9652H2.66368C2.78359 11.9652 2.88351 11.9253 2.96345 11.8425C3.04339 11.7625 3.08622 11.6655 3.08622 11.557V8.41081L2.83783 8.08246L2.83212 8.07676L2.82642 8.06821L1.81576 6.65216C1.55024 6.28101 1.56166 5.76996 1.84716 5.41306L2.84069 4.16261L3.08622 3.84285V1.01929C3.08622 0.902234 3.04625 0.802309 2.96345 0.722369Z", fill: "#8347AD" }),
|
|
2581
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("path", { d: "M9.60962 11.9625C9.70667 11.9625 9.78947 11.9282 9.85227 11.8568C9.91797 11.7855 9.94937 11.7084 9.94937 11.6227C9.94937 11.5371 9.92652 11.4714 9.88367 11.4286L5.89242 6.0384L9.59247 1.13642C9.63532 1.08217 9.65812 1.01651 9.65812 0.942284C9.65812 0.856634 9.62387 0.776694 9.55252 0.708174C9.50967 0.665349 9.45832 0.633944 9.40407 0.616814C9.37267 0.608249 9.33552 0.602539 9.30127 0.602539H6.73752C6.56337 0.602539 6.42632 0.636799 6.32352 0.708174C6.22077 0.779549 6.14082 0.850924 6.08942 0.928009L3.32868 4.54525L2.32944 5.80145C2.27234 5.8728 2.24094 5.95845 2.24094 6.04695C2.23808 6.13545 2.26378 6.2211 2.31802 6.2982L2.83477 7.0205L3.32868 7.70855L6.29787 11.6199C6.32927 11.6627 6.39492 11.7312 6.49197 11.8226C6.55192 11.8797 6.63472 11.9197 6.73752 11.9425C6.80032 11.9568 6.86882 11.9625 6.94592 11.9625H9.60962Z", fill: "#3CB4E5" })
|
|
2543
2582
|
]
|
|
2544
2583
|
}
|
|
2545
2584
|
)
|
|
@@ -2547,17 +2586,17 @@ var KhipuWordmark = (0, import_react40.forwardRef)(
|
|
|
2547
2586
|
KhipuWordmark.displayName = "KhipuWordmark";
|
|
2548
2587
|
|
|
2549
2588
|
// src/components/domain/KdsSecureFooter/KdsSecureFooter.tsx
|
|
2550
|
-
var
|
|
2551
|
-
var KdsSecureFooter = (0,
|
|
2552
|
-
({ variant = "default", showLogo = true, psp, children, className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
2553
|
-
/* @__PURE__ */ (0,
|
|
2554
|
-
/* @__PURE__ */ (0,
|
|
2555
|
-
/* @__PURE__ */ (0,
|
|
2589
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
2590
|
+
var KdsSecureFooter = (0, import_react42.forwardRef)(
|
|
2591
|
+
({ variant = "default", showLogo = true, psp, children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("footer", { ref, className: (0, import_clsx.clsx)("kds-secure-footer", variant === "inside" && "inside", className), ...props, children: [
|
|
2592
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("svg", { className: "kds-secure-footer-lock", viewBox: "0 0 24 24", "aria-hidden": "true", children: [
|
|
2593
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("rect", { x: "4.5", y: "10.5", width: "15", height: "10", rx: "2.25" }),
|
|
2594
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("path", { d: "M8 10.5V7a4 4 0 0 1 8 0v3.5" })
|
|
2556
2595
|
] }),
|
|
2557
|
-
children || /* @__PURE__ */ (0,
|
|
2558
|
-
showLogo && /* @__PURE__ */ (0,
|
|
2559
|
-
psp && /* @__PURE__ */ (0,
|
|
2560
|
-
/* @__PURE__ */ (0,
|
|
2596
|
+
children || /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { children: "Pago seguro procesado por" }),
|
|
2597
|
+
showLogo && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(KhipuWordmark, {}),
|
|
2598
|
+
psp && /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_jsx_runtime40.Fragment, { children: [
|
|
2599
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "kds-secure-footer-sep", "aria-hidden": "true" }),
|
|
2561
2600
|
psp
|
|
2562
2601
|
] })
|
|
2563
2602
|
] })
|
|
@@ -2565,44 +2604,44 @@ var KdsSecureFooter = (0, import_react41.forwardRef)(
|
|
|
2565
2604
|
KdsSecureFooter.displayName = "KdsSecureFooter";
|
|
2566
2605
|
|
|
2567
2606
|
// src/components/domain/KdsRecapList/KdsRecapList.tsx
|
|
2568
|
-
var
|
|
2569
|
-
var
|
|
2570
|
-
var KdsRecapList = (0,
|
|
2571
|
-
({ items, className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
2572
|
-
/* @__PURE__ */ (0,
|
|
2573
|
-
/* @__PURE__ */ (0,
|
|
2607
|
+
var import_react43 = require("react");
|
|
2608
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
2609
|
+
var KdsRecapList = (0, import_react43.forwardRef)(
|
|
2610
|
+
({ items, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("ul", { ref, className: (0, import_clsx.clsx)("kds-recap-list", className), ...props, children: items.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("li", { children: [
|
|
2611
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "kds-key", children: item.label }),
|
|
2612
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: (0, import_clsx.clsx)("kds-value", !item.value && item.placeholder && "placeholder"), children: item.value || item.placeholder || "-" })
|
|
2574
2613
|
] }, i)) })
|
|
2575
2614
|
);
|
|
2576
2615
|
KdsRecapList.displayName = "KdsRecapList";
|
|
2577
2616
|
|
|
2578
2617
|
// src/components/domain/KdsMontoRow/KdsMontoRow.tsx
|
|
2579
|
-
var
|
|
2580
|
-
var
|
|
2581
|
-
var KdsMontoRow = (0,
|
|
2582
|
-
({ title, value, deadline, className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
2583
|
-
/* @__PURE__ */ (0,
|
|
2584
|
-
/* @__PURE__ */ (0,
|
|
2585
|
-
deadline && /* @__PURE__ */ (0,
|
|
2618
|
+
var import_react44 = require("react");
|
|
2619
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
2620
|
+
var KdsMontoRow = (0, import_react44.forwardRef)(
|
|
2621
|
+
({ title, value, deadline, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { ref, className: (0, import_clsx.clsx)("kds-monto-row", className), ...props, children: [
|
|
2622
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { children: [
|
|
2623
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "kds-monto-row-title", children: title }),
|
|
2624
|
+
deadline && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "kds-monto-row-deadline", children: deadline })
|
|
2586
2625
|
] }),
|
|
2587
|
-
/* @__PURE__ */ (0,
|
|
2626
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "kds-monto-row-value", children: value })
|
|
2588
2627
|
] })
|
|
2589
2628
|
);
|
|
2590
2629
|
KdsMontoRow.displayName = "KdsMontoRow";
|
|
2591
2630
|
|
|
2592
2631
|
// src/components/domain/KdsMerchantTile/KdsMerchantTile.tsx
|
|
2593
|
-
var
|
|
2594
|
-
var
|
|
2595
|
-
var KdsMerchantTile = (0,
|
|
2632
|
+
var import_react45 = require("react");
|
|
2633
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
2634
|
+
var KdsMerchantTile = (0, import_react45.forwardRef)(
|
|
2596
2635
|
({ name, logoUrl, initials, compact, className, ...props }, ref) => {
|
|
2597
2636
|
const displayInitials = (initials ?? name.slice(0, 2)).toUpperCase();
|
|
2598
|
-
return /* @__PURE__ */ (0,
|
|
2637
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
2599
2638
|
"div",
|
|
2600
2639
|
{
|
|
2601
2640
|
ref,
|
|
2602
2641
|
className: (0, import_clsx.clsx)("kds-merchant-tile", logoUrl && "logo", compact && "compact", className),
|
|
2603
2642
|
"aria-label": name,
|
|
2604
2643
|
...props,
|
|
2605
|
-
children: logoUrl ? /* @__PURE__ */ (0,
|
|
2644
|
+
children: logoUrl ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("img", { src: logoUrl, alt: name }) : displayInitials
|
|
2606
2645
|
}
|
|
2607
2646
|
);
|
|
2608
2647
|
}
|
|
@@ -2610,21 +2649,98 @@ var KdsMerchantTile = (0, import_react44.forwardRef)(
|
|
|
2610
2649
|
KdsMerchantTile.displayName = "KdsMerchantTile";
|
|
2611
2650
|
|
|
2612
2651
|
// src/components/domain/KdsInvoiceMerchant/KdsInvoiceMerchant.tsx
|
|
2613
|
-
var
|
|
2614
|
-
|
|
2615
|
-
|
|
2652
|
+
var import_react47 = require("react");
|
|
2653
|
+
|
|
2654
|
+
// src/components/domain/KdsInvoiceMerchant/useLogoBackdrop.ts
|
|
2655
|
+
var import_react46 = require("react");
|
|
2656
|
+
|
|
2657
|
+
// src/components/domain/KdsInvoiceMerchant/logoLuminance.ts
|
|
2658
|
+
var LIGHT_LOGO_LUMINANCE_THRESHOLD = 0.72;
|
|
2659
|
+
var SAMPLE_SIZE = 16;
|
|
2660
|
+
var ALPHA_THRESHOLD = 128;
|
|
2661
|
+
var MIN_OPAQUE_RATIO = 0.02;
|
|
2662
|
+
function measureLogoLuminance(url) {
|
|
2663
|
+
return new Promise((resolve) => {
|
|
2664
|
+
const probe = new Image();
|
|
2665
|
+
probe.crossOrigin = "anonymous";
|
|
2666
|
+
probe.onload = () => {
|
|
2667
|
+
try {
|
|
2668
|
+
const canvas = document.createElement("canvas");
|
|
2669
|
+
canvas.width = SAMPLE_SIZE;
|
|
2670
|
+
canvas.height = SAMPLE_SIZE;
|
|
2671
|
+
const context = canvas.getContext("2d");
|
|
2672
|
+
if (!context) {
|
|
2673
|
+
resolve(null);
|
|
2674
|
+
return;
|
|
2675
|
+
}
|
|
2676
|
+
context.drawImage(probe, 0, 0, SAMPLE_SIZE, SAMPLE_SIZE);
|
|
2677
|
+
const { data } = context.getImageData(0, 0, SAMPLE_SIZE, SAMPLE_SIZE);
|
|
2678
|
+
let sum = 0;
|
|
2679
|
+
let opaquePixels = 0;
|
|
2680
|
+
for (let i = 0; i < data.length; i += 4) {
|
|
2681
|
+
if (data[i + 3] < ALPHA_THRESHOLD) continue;
|
|
2682
|
+
sum += (0.2126 * data[i] + 0.7152 * data[i + 1] + 0.0722 * data[i + 2]) / 255;
|
|
2683
|
+
opaquePixels++;
|
|
2684
|
+
}
|
|
2685
|
+
if (opaquePixels < SAMPLE_SIZE * SAMPLE_SIZE * MIN_OPAQUE_RATIO) {
|
|
2686
|
+
resolve(null);
|
|
2687
|
+
return;
|
|
2688
|
+
}
|
|
2689
|
+
resolve(sum / opaquePixels);
|
|
2690
|
+
} catch {
|
|
2691
|
+
resolve(null);
|
|
2692
|
+
}
|
|
2693
|
+
};
|
|
2694
|
+
probe.onerror = () => resolve(null);
|
|
2695
|
+
probe.src = url;
|
|
2696
|
+
});
|
|
2697
|
+
}
|
|
2698
|
+
function pickLogoBackdrop(luminance) {
|
|
2699
|
+
return luminance != null && luminance > LIGHT_LOGO_LUMINANCE_THRESHOLD ? "dark" : "light";
|
|
2700
|
+
}
|
|
2701
|
+
|
|
2702
|
+
// src/components/domain/KdsInvoiceMerchant/useLogoBackdrop.ts
|
|
2703
|
+
function useLogoBackdrop(logoUrl) {
|
|
2704
|
+
const [backdrop, setBackdrop] = (0, import_react46.useState)("light");
|
|
2705
|
+
(0, import_react46.useEffect)(() => {
|
|
2706
|
+
let cancelled = false;
|
|
2707
|
+
setBackdrop("light");
|
|
2708
|
+
if (!logoUrl) {
|
|
2709
|
+
return void 0;
|
|
2710
|
+
}
|
|
2711
|
+
measureLogoLuminance(logoUrl).then((luminance) => {
|
|
2712
|
+
if (!cancelled) {
|
|
2713
|
+
setBackdrop(pickLogoBackdrop(luminance));
|
|
2714
|
+
}
|
|
2715
|
+
});
|
|
2716
|
+
return () => {
|
|
2717
|
+
cancelled = true;
|
|
2718
|
+
};
|
|
2719
|
+
}, [logoUrl]);
|
|
2720
|
+
return backdrop;
|
|
2721
|
+
}
|
|
2722
|
+
|
|
2723
|
+
// src/components/domain/KdsInvoiceMerchant/KdsInvoiceMerchant.tsx
|
|
2724
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
2725
|
+
var KdsInvoiceMerchant = (0, import_react47.forwardRef)(
|
|
2616
2726
|
({ logoUrl, brandColor, className, style, ...props }, ref) => {
|
|
2617
|
-
const [failed, setFailed] = (0,
|
|
2727
|
+
const [failed, setFailed] = (0, import_react47.useState)(false);
|
|
2618
2728
|
const showLogo = !!logoUrl && !failed;
|
|
2619
|
-
|
|
2729
|
+
const backdrop = useLogoBackdrop(showLogo ? logoUrl : void 0);
|
|
2730
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2620
2731
|
"div",
|
|
2621
2732
|
{
|
|
2622
2733
|
ref,
|
|
2623
|
-
className: (0, import_clsx.clsx)(
|
|
2734
|
+
className: (0, import_clsx.clsx)(
|
|
2735
|
+
"kds-invoice-merchant",
|
|
2736
|
+
showLogo && "kds-invoice-merchant-neutral",
|
|
2737
|
+
showLogo && backdrop === "dark" && "dark",
|
|
2738
|
+
className
|
|
2739
|
+
),
|
|
2624
2740
|
"aria-hidden": "true",
|
|
2625
|
-
style: brandColor ? { background: brandColor, ...style } : style,
|
|
2741
|
+
style: !showLogo && brandColor ? { background: brandColor, ...style } : style,
|
|
2626
2742
|
...props,
|
|
2627
|
-
children: showLogo ? /* @__PURE__ */ (0,
|
|
2743
|
+
children: showLogo ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("img", { src: logoUrl, alt: "", onError: () => setFailed(true) }) : /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("i", { className: "material-symbols-outlined", children: "storefront" })
|
|
2628
2744
|
}
|
|
2629
2745
|
);
|
|
2630
2746
|
}
|
|
@@ -2632,9 +2748,9 @@ var KdsInvoiceMerchant = (0, import_react45.forwardRef)(
|
|
|
2632
2748
|
KdsInvoiceMerchant.displayName = "KdsInvoiceMerchant";
|
|
2633
2749
|
|
|
2634
2750
|
// src/components/domain/KdsPaymentTotal/KdsPaymentTotal.tsx
|
|
2635
|
-
var
|
|
2636
|
-
var
|
|
2637
|
-
var KdsPaymentTotal = (0,
|
|
2751
|
+
var import_react48 = require("react");
|
|
2752
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
2753
|
+
var KdsPaymentTotal = (0, import_react48.forwardRef)(
|
|
2638
2754
|
({
|
|
2639
2755
|
variant = "default",
|
|
2640
2756
|
tone = "brand",
|
|
@@ -2652,7 +2768,7 @@ var KdsPaymentTotal = (0, import_react46.forwardRef)(
|
|
|
2652
2768
|
const { integer, fraction } = formatAmount(amount, decimals, locale);
|
|
2653
2769
|
const isEmail = variant === "email";
|
|
2654
2770
|
const isInfoTone = tone === "info";
|
|
2655
|
-
return /* @__PURE__ */ (0,
|
|
2771
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
|
|
2656
2772
|
"div",
|
|
2657
2773
|
{
|
|
2658
2774
|
ref,
|
|
@@ -2665,14 +2781,14 @@ var KdsPaymentTotal = (0, import_react46.forwardRef)(
|
|
|
2665
2781
|
),
|
|
2666
2782
|
...props,
|
|
2667
2783
|
children: [
|
|
2668
|
-
!isEmail && title != null && /* @__PURE__ */ (0,
|
|
2669
|
-
!isEmail && titleMobile != null && /* @__PURE__ */ (0,
|
|
2670
|
-
label != null && /* @__PURE__ */ (0,
|
|
2671
|
-
/* @__PURE__ */ (0,
|
|
2784
|
+
!isEmail && title != null && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("h5", { className: "kds-payment-total-title", children: title }),
|
|
2785
|
+
!isEmail && titleMobile != null && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("h5", { className: "kds-payment-total-title-mobile", children: titleMobile }),
|
|
2786
|
+
label != null && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("h6", { className: "kds-payment-label", children: label }),
|
|
2787
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("h5", { className: "kds-payment-amount", children: [
|
|
2672
2788
|
currency,
|
|
2673
2789
|
" ",
|
|
2674
2790
|
integer,
|
|
2675
|
-
fraction !== null && /* @__PURE__ */ (0,
|
|
2791
|
+
fraction !== null && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("sup", { className: "kds-payment-total-decimal-sup", children: fraction })
|
|
2676
2792
|
] })
|
|
2677
2793
|
]
|
|
2678
2794
|
}
|
|
@@ -2708,10 +2824,10 @@ function formatAmount(amount, decimals, locale) {
|
|
|
2708
2824
|
}
|
|
2709
2825
|
|
|
2710
2826
|
// src/components/domain/KdsBillAttachment/KdsBillAttachment.tsx
|
|
2711
|
-
var
|
|
2712
|
-
var
|
|
2713
|
-
var KdsBillAttachment = (0,
|
|
2714
|
-
({ filename, href, icon = "attach_file", className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
2827
|
+
var import_react49 = require("react");
|
|
2828
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
2829
|
+
var KdsBillAttachment = (0, import_react49.forwardRef)(
|
|
2830
|
+
({ filename, href, icon = "attach_file", className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
2715
2831
|
"a",
|
|
2716
2832
|
{
|
|
2717
2833
|
ref,
|
|
@@ -2721,25 +2837,119 @@ var KdsBillAttachment = (0, import_react47.forwardRef)(
|
|
|
2721
2837
|
className: (0, import_clsx.clsx)("kds-bill-attachment", className),
|
|
2722
2838
|
...props,
|
|
2723
2839
|
children: [
|
|
2724
|
-
/* @__PURE__ */ (0,
|
|
2725
|
-
/* @__PURE__ */ (0,
|
|
2840
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("i", { className: "material-symbols-outlined", children: icon }),
|
|
2841
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { children: filename })
|
|
2726
2842
|
]
|
|
2727
2843
|
}
|
|
2728
2844
|
)
|
|
2729
2845
|
);
|
|
2730
2846
|
KdsBillAttachment.displayName = "KdsBillAttachment";
|
|
2731
|
-
var KdsBillAttachments = (0,
|
|
2732
|
-
({ children, className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
2847
|
+
var KdsBillAttachments = (0, import_react49.forwardRef)(
|
|
2848
|
+
({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { ref, className: (0, import_clsx.clsx)("kds-bill-attachments", className), ...props, children })
|
|
2733
2849
|
);
|
|
2734
2850
|
KdsBillAttachments.displayName = "KdsBillAttachments";
|
|
2735
2851
|
|
|
2852
|
+
// src/utils/runAfterPointerGesture.ts
|
|
2853
|
+
var KEYBOARD_FALLBACK_MS = 400;
|
|
2854
|
+
var runAfterPointerGesture = (callback) => {
|
|
2855
|
+
let done = false;
|
|
2856
|
+
const run = () => {
|
|
2857
|
+
if (done) {
|
|
2858
|
+
return;
|
|
2859
|
+
}
|
|
2860
|
+
done = true;
|
|
2861
|
+
document.removeEventListener("click", run, true);
|
|
2862
|
+
window.setTimeout(callback, 0);
|
|
2863
|
+
};
|
|
2864
|
+
document.addEventListener("click", run, true);
|
|
2865
|
+
window.setTimeout(run, KEYBOARD_FALLBACK_MS);
|
|
2866
|
+
};
|
|
2867
|
+
|
|
2868
|
+
// src/utils/scrollToFirstInvalidField.ts
|
|
2869
|
+
var RECENTER_WINDOW_MS = 1500;
|
|
2870
|
+
var getScrollParent = (field) => {
|
|
2871
|
+
let node = field.parentElement;
|
|
2872
|
+
while (node) {
|
|
2873
|
+
const style = getComputedStyle(node);
|
|
2874
|
+
if (node.scrollHeight > node.clientHeight && /auto|scroll|overlay/.test(style.overflowY)) {
|
|
2875
|
+
const htmlOverflow = getComputedStyle(document.documentElement).overflowY;
|
|
2876
|
+
if (node === document.body && (htmlOverflow === "visible" || htmlOverflow === "")) {
|
|
2877
|
+
return null;
|
|
2878
|
+
}
|
|
2879
|
+
return node;
|
|
2880
|
+
}
|
|
2881
|
+
node = node.parentElement;
|
|
2882
|
+
}
|
|
2883
|
+
return null;
|
|
2884
|
+
};
|
|
2885
|
+
var centerFieldInViewport = (field) => {
|
|
2886
|
+
const viewport = window.visualViewport;
|
|
2887
|
+
const viewportTop = viewport?.offsetTop ?? 0;
|
|
2888
|
+
const viewportHeight = viewport?.height ?? window.innerHeight;
|
|
2889
|
+
const rect = field.getBoundingClientRect();
|
|
2890
|
+
const scroller = getScrollParent(field);
|
|
2891
|
+
if (!scroller || scroller === document.documentElement || scroller === document.scrollingElement) {
|
|
2892
|
+
const top = window.scrollY + rect.top - viewportTop - (viewportHeight - rect.height) / 2;
|
|
2893
|
+
window.scrollTo({ top: Math.max(top, 0), behavior: "smooth" });
|
|
2894
|
+
return;
|
|
2895
|
+
}
|
|
2896
|
+
const scrollerRect = scroller.getBoundingClientRect();
|
|
2897
|
+
const visibleTop = Math.max(scrollerRect.top, viewportTop);
|
|
2898
|
+
const visibleBottom = Math.min(scrollerRect.bottom, viewportTop + viewportHeight);
|
|
2899
|
+
const visibleHeight = Math.max(visibleBottom - visibleTop, 0);
|
|
2900
|
+
const target = scroller.scrollTop + (rect.top - visibleTop) - (visibleHeight - rect.height) / 2;
|
|
2901
|
+
scroller.scrollTo({ top: Math.max(target, 0), behavior: "smooth" });
|
|
2902
|
+
};
|
|
2903
|
+
var isInvalidField = (element) => {
|
|
2904
|
+
const field = element;
|
|
2905
|
+
return typeof field.willValidate === "boolean" && field.willValidate && !field.validity.valid;
|
|
2906
|
+
};
|
|
2907
|
+
var scrollToFirstInvalidField = (form) => {
|
|
2908
|
+
const firstInvalid = Array.from(form.elements).find(isInvalidField);
|
|
2909
|
+
if (!firstInvalid) {
|
|
2910
|
+
return;
|
|
2911
|
+
}
|
|
2912
|
+
centerFieldInViewport(firstInvalid);
|
|
2913
|
+
const viewport = window.visualViewport;
|
|
2914
|
+
if (viewport) {
|
|
2915
|
+
const recenter = () => centerFieldInViewport(firstInvalid);
|
|
2916
|
+
viewport.addEventListener("resize", recenter, { once: true });
|
|
2917
|
+
window.setTimeout(() => viewport.removeEventListener("resize", recenter), RECENTER_WINDOW_MS);
|
|
2918
|
+
}
|
|
2919
|
+
};
|
|
2920
|
+
var focusFirstInvalidField = scrollToFirstInvalidField;
|
|
2921
|
+
var isTextEntryElement = (element) => {
|
|
2922
|
+
if (!element) {
|
|
2923
|
+
return false;
|
|
2924
|
+
}
|
|
2925
|
+
if (element.tagName === "TEXTAREA") {
|
|
2926
|
+
return true;
|
|
2927
|
+
}
|
|
2928
|
+
const input = element;
|
|
2929
|
+
return element.tagName === "INPUT" && !["checkbox", "radio", "button", "submit", "reset"].includes(input.type);
|
|
2930
|
+
};
|
|
2931
|
+
var guideToFirstInvalidFieldOnBlur = (form) => {
|
|
2932
|
+
runAfterPointerGesture(() => {
|
|
2933
|
+
if (!form.isConnected) {
|
|
2934
|
+
return;
|
|
2935
|
+
}
|
|
2936
|
+
const active = document.activeElement;
|
|
2937
|
+
if (active && form.contains(active) && isTextEntryElement(active)) {
|
|
2938
|
+
return;
|
|
2939
|
+
}
|
|
2940
|
+
if (!form.checkValidity()) {
|
|
2941
|
+
scrollToFirstInvalidField(form);
|
|
2942
|
+
}
|
|
2943
|
+
});
|
|
2944
|
+
};
|
|
2945
|
+
|
|
2736
2946
|
// src/components/core/hooks/useStickyInvoiceCollapse.ts
|
|
2737
|
-
var
|
|
2947
|
+
var import_react50 = require("react");
|
|
2738
2948
|
function useStickyInvoiceCollapse(options = {}) {
|
|
2739
2949
|
const { onCollapseStart, collapseEnd = 20, mobileBreakpoint = 768 } = options;
|
|
2740
|
-
const onCollapseStartRef = (0,
|
|
2950
|
+
const onCollapseStartRef = (0, import_react50.useRef)(onCollapseStart);
|
|
2741
2951
|
onCollapseStartRef.current = onCollapseStart;
|
|
2742
|
-
(0,
|
|
2952
|
+
(0, import_react50.useEffect)(() => {
|
|
2743
2953
|
let viewportOffset = 0;
|
|
2744
2954
|
let ticking = false;
|
|
2745
2955
|
let wasCollapsing = false;
|
|
@@ -2812,24 +3022,24 @@ function useStickyInvoiceCollapse(options = {}) {
|
|
|
2812
3022
|
}
|
|
2813
3023
|
|
|
2814
3024
|
// src/components/core/hooks/useExpandToggle.ts
|
|
2815
|
-
var
|
|
3025
|
+
var import_react51 = require("react");
|
|
2816
3026
|
function useExpandToggle(options = {}) {
|
|
2817
3027
|
const { defaultOpen = false, open: controlledOpen, onOpenChange, id } = options;
|
|
2818
|
-
const generatedId = (0,
|
|
3028
|
+
const generatedId = (0, import_react51.useId)();
|
|
2819
3029
|
const panelId = id ?? `kds-expand-${generatedId}`;
|
|
2820
3030
|
const isControlled = controlledOpen !== void 0;
|
|
2821
|
-
const [uncontrolledOpen, setUncontrolledOpen] = (0,
|
|
3031
|
+
const [uncontrolledOpen, setUncontrolledOpen] = (0, import_react51.useState)(defaultOpen);
|
|
2822
3032
|
const open = isControlled ? controlledOpen : uncontrolledOpen;
|
|
2823
|
-
const panelRef = (0,
|
|
2824
|
-
const setPanelRef = (0,
|
|
3033
|
+
const panelRef = (0, import_react51.useRef)(null);
|
|
3034
|
+
const setPanelRef = (0, import_react51.useCallback)((node) => {
|
|
2825
3035
|
panelRef.current = node;
|
|
2826
3036
|
}, []);
|
|
2827
|
-
(0,
|
|
3037
|
+
(0, import_react51.useLayoutEffect)(() => {
|
|
2828
3038
|
const panel = panelRef.current;
|
|
2829
3039
|
if (!panel) return;
|
|
2830
3040
|
panel.style.maxHeight = open ? `${panel.scrollHeight}px` : "";
|
|
2831
3041
|
}, [open]);
|
|
2832
|
-
const setOpen = (0,
|
|
3042
|
+
const setOpen = (0, import_react51.useCallback)(
|
|
2833
3043
|
(next) => {
|
|
2834
3044
|
if (!isControlled) {
|
|
2835
3045
|
setUncontrolledOpen(next);
|
|
@@ -2838,8 +3048,8 @@ function useExpandToggle(options = {}) {
|
|
|
2838
3048
|
},
|
|
2839
3049
|
[isControlled, onOpenChange]
|
|
2840
3050
|
);
|
|
2841
|
-
const toggle = (0,
|
|
2842
|
-
const getToggleProps = (0,
|
|
3051
|
+
const toggle = (0, import_react51.useCallback)(() => setOpen(!open), [open, setOpen]);
|
|
3052
|
+
const getToggleProps = (0, import_react51.useCallback)(
|
|
2843
3053
|
() => ({
|
|
2844
3054
|
type: "button",
|
|
2845
3055
|
"aria-expanded": open,
|
|
@@ -2848,7 +3058,7 @@ function useExpandToggle(options = {}) {
|
|
|
2848
3058
|
}),
|
|
2849
3059
|
[open, panelId, toggle]
|
|
2850
3060
|
);
|
|
2851
|
-
const getPanelProps = (0,
|
|
3061
|
+
const getPanelProps = (0, import_react51.useCallback)(
|
|
2852
3062
|
(baseClassName = "kds-expand-panel") => ({
|
|
2853
3063
|
id: panelId,
|
|
2854
3064
|
className: open ? `${baseClassName} open` : baseClassName,
|
|
@@ -2861,11 +3071,11 @@ function useExpandToggle(options = {}) {
|
|
|
2861
3071
|
}
|
|
2862
3072
|
|
|
2863
3073
|
// src/components/core/hooks/useHideOnScroll.ts
|
|
2864
|
-
var
|
|
3074
|
+
var import_react52 = require("react");
|
|
2865
3075
|
function useHideOnScroll(options = {}) {
|
|
2866
3076
|
const { threshold = 8, topOffset = 0 } = options;
|
|
2867
|
-
const [hidden, setHidden] = (0,
|
|
2868
|
-
(0,
|
|
3077
|
+
const [hidden, setHidden] = (0, import_react52.useState)(false);
|
|
3078
|
+
(0, import_react52.useEffect)(() => {
|
|
2869
3079
|
let viewportOffset = 0;
|
|
2870
3080
|
let lastY = 0;
|
|
2871
3081
|
let ticking = false;
|
|
@@ -2906,6 +3116,23 @@ function useHideOnScroll(options = {}) {
|
|
|
2906
3116
|
}, [threshold, topOffset]);
|
|
2907
3117
|
return { hidden };
|
|
2908
3118
|
}
|
|
3119
|
+
|
|
3120
|
+
// src/components/core/hooks/useMediaQuery.ts
|
|
3121
|
+
var import_react53 = require("react");
|
|
3122
|
+
function useMediaQuery(query) {
|
|
3123
|
+
const [matches, setMatches] = (0, import_react53.useState)(
|
|
3124
|
+
() => typeof window !== "undefined" ? window.matchMedia(query).matches : false
|
|
3125
|
+
);
|
|
3126
|
+
(0, import_react53.useEffect)(() => {
|
|
3127
|
+
if (typeof window === "undefined") return;
|
|
3128
|
+
const mql = window.matchMedia(query);
|
|
3129
|
+
setMatches(mql.matches);
|
|
3130
|
+
const onChange = (event) => setMatches(event.matches);
|
|
3131
|
+
mql.addEventListener("change", onChange);
|
|
3132
|
+
return () => mql.removeEventListener("change", onChange);
|
|
3133
|
+
}, [query]);
|
|
3134
|
+
return matches;
|
|
3135
|
+
}
|
|
2909
3136
|
// Annotate the CommonJS export names for ESM import in node:
|
|
2910
3137
|
0 && (module.exports = {
|
|
2911
3138
|
KdsAccordion,
|
|
@@ -2932,6 +3159,7 @@ function useHideOnScroll(options = {}) {
|
|
|
2932
3159
|
KdsCopyableTable,
|
|
2933
3160
|
KdsCountdown,
|
|
2934
3161
|
KdsDivider,
|
|
3162
|
+
KdsEmptyState,
|
|
2935
3163
|
KdsExpandPanel,
|
|
2936
3164
|
KdsFab,
|
|
2937
3165
|
KdsInvoiceMerchant,
|
|
@@ -2960,11 +3188,14 @@ function useHideOnScroll(options = {}) {
|
|
|
2960
3188
|
KdsThemeProvider,
|
|
2961
3189
|
KdsTooltip,
|
|
2962
3190
|
KdsTypography,
|
|
3191
|
+
LIGHT_LOGO_LUMINANCE_THRESHOLD,
|
|
2963
3192
|
borderRadius,
|
|
2964
3193
|
breakpoints,
|
|
3194
|
+
centerFieldInViewport,
|
|
2965
3195
|
clsx,
|
|
2966
3196
|
colors,
|
|
2967
3197
|
colorsByMode,
|
|
3198
|
+
focusFirstInvalidField,
|
|
2968
3199
|
fontFamilies,
|
|
2969
3200
|
fontSizes,
|
|
2970
3201
|
fontWeights,
|
|
@@ -2972,9 +3203,14 @@ function useHideOnScroll(options = {}) {
|
|
|
2972
3203
|
formatDateTime,
|
|
2973
3204
|
formatTime,
|
|
2974
3205
|
getContrastColor,
|
|
3206
|
+
guideToFirstInvalidFieldOnBlur,
|
|
2975
3207
|
letterSpacings,
|
|
2976
3208
|
lighten,
|
|
2977
3209
|
lineHeights,
|
|
3210
|
+
measureLogoLuminance,
|
|
3211
|
+
pickLogoBackdrop,
|
|
3212
|
+
runAfterPointerGesture,
|
|
3213
|
+
scrollToFirstInvalidField,
|
|
2978
3214
|
semanticSpacing,
|
|
2979
3215
|
shadows,
|
|
2980
3216
|
spacing,
|
|
@@ -2987,6 +3223,8 @@ function useHideOnScroll(options = {}) {
|
|
|
2987
3223
|
useCountdown,
|
|
2988
3224
|
useExpandToggle,
|
|
2989
3225
|
useHideOnScroll,
|
|
3226
|
+
useLogoBackdrop,
|
|
3227
|
+
useMediaQuery,
|
|
2990
3228
|
useStickyInvoiceCollapse,
|
|
2991
3229
|
useTabsKeyboard,
|
|
2992
3230
|
zIndex
|