@axzydev/axzy_ui_system 1.7.4 → 1.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +224 -110
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.cts +22 -5
- package/dist/index.d.ts +22 -5
- package/dist/index.js +220 -107
- package/dist/index.js.map +1 -1
- package/dist/layered.css +1 -1
- package/package.json +1 -1
- package/src/components/atoms/button/button.tsx +7 -0
- package/src/components/atoms/input/input.tsx +5 -0
- package/src/components/atoms/segmented-control/segmented-control.tsx +22 -5
- package/src/components/molecules/card/card.props.ts +12 -0
- package/src/components/molecules/card/card.tsx +52 -22
- package/src/components/molecules/chip-input/chip-input.tsx +2 -0
- package/src/components/molecules/multi-select/multi-select.tsx +2 -0
- package/src/components/molecules/tabs/tabs.tsx +22 -8
- package/src/components/organisms/data-table/dataTable.tsx +29 -3
- package/src/components/organisms/page-header/page-header.tsx +22 -6
- package/src/components/organisms/sidebar/sidebar.tsx +8 -5
- package/src/components/organisms/topbar/topbar.props.ts +2 -0
- package/src/components/organisms/topbar/topbar.tsx +56 -34
- package/src/components/templates/layout/layout.tsx +3 -2
- package/src/components/theme-provider/themeProvider.props.ts +1 -1
- package/src/components/theme-provider/themeProvider.tsx +54 -1
- package/src/index.ts +4 -4
- package/src/json-renderer/catalog/axzyCatalog.ts +5 -0
- package/src/sandbox/axzyConfig.test.ts +4 -0
- package/src/sandbox/axzyConfig.ts +1 -1
- package/src/sandbox/i18n.ts +6 -0
- package/src/showcases/FeedbackShowcases.tsx +2 -1
- package/src/showcases/StructureShowcases.tsx +17 -2
- package/src/theme/theme-context.ts +10 -2
- package/src/theme/theme.ts +1 -1
- package/src/theme/theme.types.ts +2 -1
package/dist/index.js
CHANGED
|
@@ -703,7 +703,7 @@ var components = {
|
|
|
703
703
|
input: {
|
|
704
704
|
backgroundColor: "var(--it-input-bg, #ffffff)",
|
|
705
705
|
borderColor: `var(--it-input-border, ${semanticColors.gray[300]})`,
|
|
706
|
-
borderRadius: "var(--radius-md)",
|
|
706
|
+
borderRadius: "var(--it-input-radius, var(--radius-md))",
|
|
707
707
|
focus: {
|
|
708
708
|
borderColor: `var(--it-input-focus-border, ${semanticColors.primary[500]})`,
|
|
709
709
|
ring: `var(--it-input-focus-ring, 0 0 0 3px ${semanticColors.primary[100]})`
|
|
@@ -872,6 +872,26 @@ function ITText({
|
|
|
872
872
|
);
|
|
873
873
|
}
|
|
874
874
|
|
|
875
|
+
// src/theme/theme-context.ts
|
|
876
|
+
import { createContext, useContext } from "react";
|
|
877
|
+
var ITThemeContext = createContext(void 0);
|
|
878
|
+
var useITTheme = () => {
|
|
879
|
+
const context = useContext(ITThemeContext);
|
|
880
|
+
if (!context) {
|
|
881
|
+
throw new Error("useITTheme must be used within an ITThemeProvider");
|
|
882
|
+
}
|
|
883
|
+
return context;
|
|
884
|
+
};
|
|
885
|
+
var useITThemeSafe = () => {
|
|
886
|
+
return useContext(ITThemeContext);
|
|
887
|
+
};
|
|
888
|
+
var useITAppearance = () => {
|
|
889
|
+
return useContext(ITThemeContext)?.appearance ?? "soft";
|
|
890
|
+
};
|
|
891
|
+
var useITFlatAppearance = () => {
|
|
892
|
+
return useITAppearance() === "flat";
|
|
893
|
+
};
|
|
894
|
+
|
|
875
895
|
// src/components/atoms/button/button.tsx
|
|
876
896
|
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
877
897
|
function ITButton({
|
|
@@ -890,6 +910,7 @@ function ITButton({
|
|
|
890
910
|
}) {
|
|
891
911
|
const [isHovered, setIsHovered] = useState5(false);
|
|
892
912
|
const [isFocused, setIsFocused] = useState5(false);
|
|
913
|
+
const bento = useITAppearance() === "bento";
|
|
893
914
|
const isIconOnly = variant === "icon-only";
|
|
894
915
|
const isIconOnlyContent = isIconOnly && Boolean(icon) && !children;
|
|
895
916
|
const themeBtn = theme.button;
|
|
@@ -909,6 +930,9 @@ function ITButton({
|
|
|
909
930
|
// Default from theme
|
|
910
931
|
transition: themeConfig.transition || "all 0.2s"
|
|
911
932
|
};
|
|
933
|
+
if (bento) {
|
|
934
|
+
style.borderRadius = `var(--it-bento-pill-radius, ${themeConfig.borderRadius})`;
|
|
935
|
+
}
|
|
912
936
|
if (variant === "rounded") {
|
|
913
937
|
style.borderRadius = "9999px";
|
|
914
938
|
}
|
|
@@ -977,23 +1001,6 @@ function ITButton({
|
|
|
977
1001
|
import clsx2 from "clsx";
|
|
978
1002
|
import { useState as useState6 } from "react";
|
|
979
1003
|
|
|
980
|
-
// src/theme/theme-context.ts
|
|
981
|
-
import { createContext, useContext } from "react";
|
|
982
|
-
var ITThemeContext = createContext(void 0);
|
|
983
|
-
var useITTheme = () => {
|
|
984
|
-
const context = useContext(ITThemeContext);
|
|
985
|
-
if (!context) {
|
|
986
|
-
throw new Error("useITTheme must be used within an ITThemeProvider");
|
|
987
|
-
}
|
|
988
|
-
return context;
|
|
989
|
-
};
|
|
990
|
-
var useITThemeSafe = () => {
|
|
991
|
-
return useContext(ITThemeContext);
|
|
992
|
-
};
|
|
993
|
-
var useITFlatAppearance = () => {
|
|
994
|
-
return useContext(ITThemeContext)?.appearance === "flat";
|
|
995
|
-
};
|
|
996
|
-
|
|
997
1004
|
// src/i18n/provider.tsx
|
|
998
1005
|
import { useMemo as useMemo3 } from "react";
|
|
999
1006
|
|
|
@@ -1500,6 +1507,7 @@ function useITTranslation() {
|
|
|
1500
1507
|
import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
1501
1508
|
function ITCard({
|
|
1502
1509
|
title,
|
|
1510
|
+
tone,
|
|
1503
1511
|
headerActions,
|
|
1504
1512
|
image,
|
|
1505
1513
|
alt,
|
|
@@ -1514,26 +1522,35 @@ function ITCard({
|
|
|
1514
1522
|
}) {
|
|
1515
1523
|
const { t } = useITTranslation();
|
|
1516
1524
|
const [isHovered, setIsHovered] = useState6(false);
|
|
1517
|
-
const
|
|
1525
|
+
const appearance = useITAppearance();
|
|
1526
|
+
const bento = appearance === "bento";
|
|
1527
|
+
const flat = appearance === "flat";
|
|
1518
1528
|
const resolvedAlt = alt ?? t("card.imageAlt");
|
|
1519
1529
|
const containerStyle = {
|
|
1520
1530
|
backgroundColor: "var(--it-card-bg, #ffffff)",
|
|
1521
|
-
borderColor: flat ? "var(--it-card-flat-border, var(--color-secondary-200))" : "var(--it-card-border, rgba(15, 23, 42, 0.06))",
|
|
1522
|
-
borderWidth: "1px",
|
|
1531
|
+
borderColor: bento ? "transparent" : flat ? "var(--it-card-flat-border, var(--color-secondary-200))" : "var(--it-card-border, rgba(15, 23, 42, 0.06))",
|
|
1532
|
+
borderWidth: bento ? "0px" : "1px",
|
|
1523
1533
|
borderStyle: "solid",
|
|
1524
|
-
borderRadius: flat ? "var(--it-card-radius, var(--radius-lg))" : "var(--it-card-radius, var(--radius-2xl))",
|
|
1534
|
+
borderRadius: bento ? "var(--it-card-radius, var(--it-bento-card-radius, var(--radius-2xl)))" : flat ? "var(--it-card-radius, var(--radius-lg))" : "var(--it-card-radius, var(--radius-2xl))",
|
|
1525
1535
|
// Soft depth: every card floats a little at rest; interactive cards
|
|
1526
1536
|
// gain visual weight on hover instead of appearing flat until clicked.
|
|
1527
1537
|
// Flat appearance: the hairline border carries the surface, so a card
|
|
1528
1538
|
// only gets a shadow as hover feedback when it is clickable.
|
|
1529
|
-
|
|
1539
|
+
// Bento: borderless, a diffuse shadow at rest and a stronger one on hover.
|
|
1540
|
+
boxShadow: bento ? onClick && isHovered ? "var(--it-bento-card-shadow-hover, var(--shadow-lg))" : "var(--it-bento-card-shadow, var(--shadow-sm))" : flat ? onClick && isHovered ? "var(--shadow-sm)" : "none" : onClick ? isHovered ? "var(--shadow-lg)" : "var(--shadow-sm)" : "var(--shadow-sm)",
|
|
1530
1541
|
transition: onClick ? "box-shadow 0.2s ease-in-out, transform 0.2s ease-in-out" : "none",
|
|
1531
|
-
transform: onClick && isHovered && !flat ? "translateY(-2px)" : "translateY(0)",
|
|
1542
|
+
transform: onClick && isHovered && !flat && !bento ? "translateY(-2px)" : "translateY(0)",
|
|
1532
1543
|
cursor: onClick ? "pointer" : "default"
|
|
1533
1544
|
};
|
|
1545
|
+
if (tone) {
|
|
1546
|
+
const soft = `var(--color-${tone}-soft)`;
|
|
1547
|
+
containerStyle.backgroundImage = `linear-gradient(${soft}, ${soft})`;
|
|
1548
|
+
if (!bento) containerStyle.borderColor = `var(--color-${tone}-soft-border)`;
|
|
1549
|
+
}
|
|
1534
1550
|
const bodyStyle = {
|
|
1535
|
-
padding: "1.25rem"
|
|
1551
|
+
padding: bento ? "var(--it-bento-card-padding, 1.5rem)" : "1.25rem"
|
|
1536
1552
|
};
|
|
1553
|
+
const titleTypography = bento ? "text-lg font-bold" : flat ? "text-base font-semibold" : "text-xl font-semibold";
|
|
1537
1554
|
return /* @__PURE__ */ jsxs2(
|
|
1538
1555
|
"div",
|
|
1539
1556
|
{
|
|
@@ -1565,7 +1582,7 @@ function ITCard({
|
|
|
1565
1582
|
ITText,
|
|
1566
1583
|
{
|
|
1567
1584
|
as: "h3",
|
|
1568
|
-
className: clsx2(
|
|
1585
|
+
className: clsx2(titleTypography, titleClassName),
|
|
1569
1586
|
children: title
|
|
1570
1587
|
}
|
|
1571
1588
|
),
|
|
@@ -1574,7 +1591,7 @@ function ITCard({
|
|
|
1574
1591
|
ITText,
|
|
1575
1592
|
{
|
|
1576
1593
|
as: "h3",
|
|
1577
|
-
className: clsx2(flat ? "
|
|
1594
|
+
className: clsx2(titleTypography, flat ? "mb-3" : bento ? "mb-4" : "mb-2", titleClassName),
|
|
1578
1595
|
children: title
|
|
1579
1596
|
}
|
|
1580
1597
|
) : null,
|
|
@@ -3034,6 +3051,7 @@ function ITChipInput({
|
|
|
3034
3051
|
style.alignItems = "center";
|
|
3035
3052
|
style.gap = "0.375rem";
|
|
3036
3053
|
style.minHeight = "2.5rem";
|
|
3054
|
+
style.borderRadius = "var(--it-bento-field-radius, var(--radius-md))";
|
|
3037
3055
|
if (disabled) {
|
|
3038
3056
|
style.backgroundColor = inputTheme.disabled?.backgroundColor || style.backgroundColor;
|
|
3039
3057
|
style.borderColor = inputTheme.disabled?.borderColor || style.borderColor;
|
|
@@ -3430,6 +3448,9 @@ function ITInput({
|
|
|
3430
3448
|
const inputTheme = theme.input || {};
|
|
3431
3449
|
const getStyle = () => {
|
|
3432
3450
|
const style = inputFieldStyle(inputTheme, size);
|
|
3451
|
+
if (isTextArea) {
|
|
3452
|
+
style.borderRadius = "var(--it-bento-field-radius, var(--radius-md))";
|
|
3453
|
+
}
|
|
3433
3454
|
if (disabled) {
|
|
3434
3455
|
style.backgroundColor = inputTheme.disabled?.backgroundColor || style.backgroundColor;
|
|
3435
3456
|
style.borderColor = inputTheme.disabled?.borderColor || style.borderColor;
|
|
@@ -4112,6 +4133,7 @@ function ITMultiSelect({
|
|
|
4112
4133
|
style.alignItems = "center";
|
|
4113
4134
|
style.gap = "0.375rem";
|
|
4114
4135
|
style.minHeight = "2.5rem";
|
|
4136
|
+
style.borderRadius = "var(--it-bento-field-radius, var(--radius-md))";
|
|
4115
4137
|
if (disabled) {
|
|
4116
4138
|
style.backgroundColor = inputTheme.disabled?.backgroundColor || style.backgroundColor;
|
|
4117
4139
|
style.borderColor = inputTheme.disabled?.borderColor || style.borderColor;
|
|
@@ -5388,6 +5410,20 @@ function ITDataTable({
|
|
|
5388
5410
|
const isTableVirtual = virtualized && effectiveView === "table";
|
|
5389
5411
|
const isStickyHeader = stickyHeader && isTableVirtual;
|
|
5390
5412
|
const resolvedRowHeight = rowHeight ?? getRowHeight(size, density);
|
|
5413
|
+
const headRef = useRef13(null);
|
|
5414
|
+
const [headHeight, setHeadHeight] = useState19(0);
|
|
5415
|
+
useEffect9(() => {
|
|
5416
|
+
if (!isTableVirtual) return;
|
|
5417
|
+
const el = headRef.current;
|
|
5418
|
+
if (!el) return;
|
|
5419
|
+
const measure = () => setHeadHeight(el.getBoundingClientRect().height);
|
|
5420
|
+
measure();
|
|
5421
|
+
if (typeof ResizeObserver === "undefined") return;
|
|
5422
|
+
const ro = new ResizeObserver(measure);
|
|
5423
|
+
ro.observe(el);
|
|
5424
|
+
return () => ro.disconnect();
|
|
5425
|
+
}, [isTableVirtual, resolvedRowHeight]);
|
|
5426
|
+
const snappedMaxHeight = isTableVirtual && headHeight > 0 ? headHeight + Math.max(1, Math.floor((virtualizedMaxHeight - headHeight) / resolvedRowHeight)) * resolvedRowHeight : virtualizedMaxHeight;
|
|
5391
5427
|
const columnCount = columns.length;
|
|
5392
5428
|
const pinnedMeta = React7.useMemo(() => getPinnedColumnMeta(columns), [columns]);
|
|
5393
5429
|
const scrollOuterClass = isTableVirtual ? "relative min-h-[200px]" : "overflow-x-auto relative min-h-[200px]";
|
|
@@ -5687,7 +5723,7 @@ function ITDataTable({
|
|
|
5687
5723
|
},
|
|
5688
5724
|
col.key
|
|
5689
5725
|
)) }),
|
|
5690
|
-
/* @__PURE__ */ jsx29("thead", { children: /* @__PURE__ */ jsx29(
|
|
5726
|
+
/* @__PURE__ */ jsx29("thead", { ref: headRef, children: /* @__PURE__ */ jsx29(
|
|
5691
5727
|
"tr",
|
|
5692
5728
|
{
|
|
5693
5729
|
className: clsx27(tableHeaderRow, "dark:text-slate-200", headerSlot.className),
|
|
@@ -5753,7 +5789,10 @@ function ITDataTable({
|
|
|
5753
5789
|
onRowClick && !isLoading && tableRowClickable,
|
|
5754
5790
|
rowSlot.className
|
|
5755
5791
|
),
|
|
5756
|
-
style:
|
|
5792
|
+
style: {
|
|
5793
|
+
...isTableVirtual ? { height: resolvedRowHeight } : null,
|
|
5794
|
+
...rowSlot.style
|
|
5795
|
+
},
|
|
5757
5796
|
tabIndex: onRowClick && !isLoading ? 0 : void 0,
|
|
5758
5797
|
onClick: onRowClick && !isLoading ? handleRowClick(row) : void 0,
|
|
5759
5798
|
onKeyDown: onRowClick && !isLoading ? handleRowKeyDown(row) : void 0,
|
|
@@ -5850,7 +5889,7 @@ function ITDataTable({
|
|
|
5850
5889
|
{
|
|
5851
5890
|
ref: scrollRef,
|
|
5852
5891
|
className: "overflow-x-auto overflow-y-auto",
|
|
5853
|
-
style: { maxHeight:
|
|
5892
|
+
style: { maxHeight: snappedMaxHeight },
|
|
5854
5893
|
children: tableEl
|
|
5855
5894
|
}
|
|
5856
5895
|
) : tableEl
|
|
@@ -7333,7 +7372,9 @@ function ITPageHeader({
|
|
|
7333
7372
|
}) {
|
|
7334
7373
|
const { t } = useITTranslation();
|
|
7335
7374
|
const showTopRow = breadcrumbs?.length || backAction;
|
|
7336
|
-
const
|
|
7375
|
+
const appearance = useITAppearance();
|
|
7376
|
+
const bento = appearance === "bento";
|
|
7377
|
+
const flat = appearance === "flat";
|
|
7337
7378
|
return /* @__PURE__ */ jsxs30("div", { className: `${className} space-y-3`, children: [
|
|
7338
7379
|
showTopRow && /* @__PURE__ */ jsxs30("div", { className: "flex items-center justify-between gap-4", children: [
|
|
7339
7380
|
/* @__PURE__ */ jsxs30("div", { className: "flex items-center gap-2 min-w-0", children: [
|
|
@@ -7341,7 +7382,8 @@ function ITPageHeader({
|
|
|
7341
7382
|
"button",
|
|
7342
7383
|
{
|
|
7343
7384
|
onClick: backAction,
|
|
7344
|
-
className: "flex items-center justify-center w-9 h-9 rounded-full border border-slate-200 dark:border-slate-700 text-slate-400 hover:text-slate-700 dark:hover:text-slate-200 hover:border-slate-300 dark:hover:border-slate-600 hover:bg-slate-50 dark:hover:bg-slate-800/60 transition-all duration-200 flex-shrink-0",
|
|
7385
|
+
className: bento ? "flex items-center justify-center w-10 h-10 rounded-full hover:opacity-80 transition-opacity duration-200 flex-shrink-0" : "flex items-center justify-center w-9 h-9 rounded-full border border-slate-200 dark:border-slate-700 text-slate-400 hover:text-slate-700 dark:hover:text-slate-200 hover:border-slate-300 dark:hover:border-slate-600 hover:bg-slate-50 dark:hover:bg-slate-800/60 transition-all duration-200 flex-shrink-0",
|
|
7386
|
+
style: bento ? { backgroundColor: "var(--it-bento-control-bg, #f1f5f9)", color: "var(--it-bento-control-text, #475569)" } : void 0,
|
|
7345
7387
|
"aria-label": t("pageHeader.back"),
|
|
7346
7388
|
children: /* @__PURE__ */ jsx42(FaChevronLeft3, { size: 14 })
|
|
7347
7389
|
}
|
|
@@ -7352,7 +7394,7 @@ function ITPageHeader({
|
|
|
7352
7394
|
] }),
|
|
7353
7395
|
/* @__PURE__ */ jsxs30("div", { className: "flex items-start justify-between gap-6", children: [
|
|
7354
7396
|
/* @__PURE__ */ jsxs30("div", { className: "flex items-start gap-4 min-w-0", children: [
|
|
7355
|
-
icon && !flat && /* @__PURE__ */ jsx42(
|
|
7397
|
+
icon && !flat && !bento && /* @__PURE__ */ jsx42(
|
|
7356
7398
|
"div",
|
|
7357
7399
|
{
|
|
7358
7400
|
className: "flex items-center justify-center w-12 h-12 rounded-full border border-slate-200 dark:border-slate-700 bg-slate-50/50 dark:bg-slate-800/50 text-slate-600 dark:text-slate-300 flex-shrink-0 transition-all duration-200 hover:border-slate-300 dark:hover:border-slate-500 hover:shadow-sm",
|
|
@@ -7365,7 +7407,7 @@ function ITPageHeader({
|
|
|
7365
7407
|
ITText,
|
|
7366
7408
|
{
|
|
7367
7409
|
as: "h1",
|
|
7368
|
-
className: flat ? "text-[1.625rem] font-bold text-slate-900 dark:text-white tracking-tight leading-tight" : "text-3xl font-bold text-slate-800 dark:text-white tracking-tight leading-tight",
|
|
7410
|
+
className: bento ? "text-3xl font-bold text-slate-900 dark:text-white tracking-tighter leading-tight" : flat ? "text-[1.625rem] font-bold text-slate-900 dark:text-white tracking-tight leading-tight" : "text-3xl font-bold text-slate-800 dark:text-white tracking-tight leading-tight",
|
|
7369
7411
|
children: title
|
|
7370
7412
|
}
|
|
7371
7413
|
),
|
|
@@ -7373,7 +7415,7 @@ function ITPageHeader({
|
|
|
7373
7415
|
ITText,
|
|
7374
7416
|
{
|
|
7375
7417
|
as: "p",
|
|
7376
|
-
className: flat ? "text-sm font-normal text-slate-500 dark:text-slate-400 mt-0.5 leading-relaxed" : "text-sm font-light text-slate-500 dark:text-slate-400 mt-1 leading-relaxed",
|
|
7418
|
+
className: bento ? "text-sm font-normal text-slate-500 dark:text-slate-400 mt-1.5 leading-relaxed" : flat ? "text-sm font-normal text-slate-500 dark:text-slate-400 mt-0.5 leading-relaxed" : "text-sm font-light text-slate-500 dark:text-slate-400 mt-1 leading-relaxed",
|
|
7377
7419
|
children: description
|
|
7378
7420
|
}
|
|
7379
7421
|
)
|
|
@@ -8285,16 +8327,19 @@ function ITSegmentedControl({
|
|
|
8285
8327
|
disabled = false
|
|
8286
8328
|
}) {
|
|
8287
8329
|
const { button, container } = sizeMap3[size];
|
|
8330
|
+
const bento = useITAppearance() === "bento";
|
|
8288
8331
|
return /* @__PURE__ */ jsx59(
|
|
8289
8332
|
"div",
|
|
8290
8333
|
{
|
|
8291
8334
|
role: "group",
|
|
8292
8335
|
className: clsx40(
|
|
8293
|
-
"inline-flex
|
|
8336
|
+
"inline-flex",
|
|
8337
|
+
bento ? "rounded-full" : "rounded-xl bg-slate-100 dark:bg-slate-800 border border-slate-200 dark:border-slate-700",
|
|
8294
8338
|
container,
|
|
8295
8339
|
disabled && "opacity-50 cursor-not-allowed",
|
|
8296
8340
|
className
|
|
8297
8341
|
),
|
|
8342
|
+
style: bento ? { backgroundColor: "var(--it-bento-control-bg, #f1f5f9)" } : void 0,
|
|
8298
8343
|
children: options.map((opt) => {
|
|
8299
8344
|
const isActive = opt.value === value;
|
|
8300
8345
|
return /* @__PURE__ */ jsxs41(
|
|
@@ -8306,10 +8351,14 @@ function ITSegmentedControl({
|
|
|
8306
8351
|
disabled,
|
|
8307
8352
|
className: clsx40(
|
|
8308
8353
|
button,
|
|
8309
|
-
"
|
|
8310
|
-
isActive ? "bg-white dark:bg-slate-700 text-slate-800 dark:text-white shadow-sm border border-slate-200 dark:border-slate-600" : "text-slate-500 dark:text-slate-400 hover:text-slate-700 dark:hover:text-slate-300 border border-transparent",
|
|
8354
|
+
"font-semibold transition-all flex items-center gap-1.5",
|
|
8355
|
+
bento ? "rounded-full border border-transparent" : isActive ? "rounded-lg bg-white dark:bg-slate-700 text-slate-800 dark:text-white shadow-sm border border-slate-200 dark:border-slate-600" : "rounded-lg text-slate-500 dark:text-slate-400 hover:text-slate-700 dark:hover:text-slate-300 border border-transparent",
|
|
8311
8356
|
disabled && "pointer-events-none"
|
|
8312
8357
|
),
|
|
8358
|
+
style: bento ? {
|
|
8359
|
+
backgroundColor: isActive ? "var(--it-bento-ink-bg, #0f172a)" : "transparent",
|
|
8360
|
+
color: isActive ? "var(--it-bento-ink-text, #ffffff)" : "var(--it-bento-control-text, #475569)"
|
|
8361
|
+
} : void 0,
|
|
8313
8362
|
children: [
|
|
8314
8363
|
opt.icon && /* @__PURE__ */ jsx59("span", { children: opt.icon }),
|
|
8315
8364
|
/* @__PURE__ */ jsx59(ITText, { as: "span", children: opt.label })
|
|
@@ -8362,7 +8411,9 @@ function ITSidebar({
|
|
|
8362
8411
|
onToggleCollapse,
|
|
8363
8412
|
expandOnHover = true
|
|
8364
8413
|
}) {
|
|
8365
|
-
const
|
|
8414
|
+
const appearance = useITAppearance();
|
|
8415
|
+
const bento = appearance === "bento";
|
|
8416
|
+
const flat = appearance === "flat" || bento;
|
|
8366
8417
|
const { t } = useITTranslation();
|
|
8367
8418
|
const [expandedItems, setExpandedItems] = useState27(/* @__PURE__ */ new Set());
|
|
8368
8419
|
const [isHovering, setIsHovering] = useState27(false);
|
|
@@ -8454,7 +8505,7 @@ function ITSidebar({
|
|
|
8454
8505
|
color: subitem.isActive ? "var(--it-sidebar-active-color, var(--color-secondary-900))" : "var(--it-sidebar-label-color, var(--color-secondary-600))",
|
|
8455
8506
|
backgroundColor: subitem.isActive ? "var(--it-sidebar-active-bg, var(--color-secondary-50))" : "transparent",
|
|
8456
8507
|
fontSize: flat ? "0.84rem" : "0.78rem",
|
|
8457
|
-
fontWeight: subitem.isActive ? 600 : 500,
|
|
8508
|
+
fontWeight: subitem.isActive ? bento ? 700 : 600 : 500,
|
|
8458
8509
|
letterSpacing: "0.01em",
|
|
8459
8510
|
marginLeft: subitemConnector === "|" ? "-1px" : "0"
|
|
8460
8511
|
},
|
|
@@ -8611,7 +8662,7 @@ function ITSidebar({
|
|
|
8611
8662
|
style: {
|
|
8612
8663
|
zIndex: 50,
|
|
8613
8664
|
backgroundColor: "var(--it-sidebar-bg, rgba(255, 255, 255, 0.90))",
|
|
8614
|
-
borderRight: "1px solid var(--it-sidebar-border, var(--color-secondary-200))",
|
|
8665
|
+
borderRight: bento ? "none" : "1px solid var(--it-sidebar-border, var(--color-secondary-200))",
|
|
8615
8666
|
...flat ? {} : { WebkitBackdropFilter: "blur(12px)", backdropFilter: "blur(12px)" }
|
|
8616
8667
|
},
|
|
8617
8668
|
children: [
|
|
@@ -8705,7 +8756,7 @@ function ITSidebar({
|
|
|
8705
8756
|
style: {
|
|
8706
8757
|
color: active ? "var(--it-sidebar-active-color, #ffffff)" : "var(--it-sidebar-label-color, var(--color-secondary-300))",
|
|
8707
8758
|
fontSize: flat ? "0.875rem" : "0.8rem",
|
|
8708
|
-
fontWeight: active ? "600" : "500"
|
|
8759
|
+
fontWeight: active ? bento ? "700" : "600" : "500"
|
|
8709
8760
|
},
|
|
8710
8761
|
children: item.label
|
|
8711
8762
|
}
|
|
@@ -9874,6 +9925,7 @@ var ITTabs = ({
|
|
|
9874
9925
|
className = "",
|
|
9875
9926
|
containerClassName = ""
|
|
9876
9927
|
}) => {
|
|
9928
|
+
const bento = useITAppearance() === "bento" && variant === "pill";
|
|
9877
9929
|
const [activeId, setActiveId] = useState31(defaultActiveId || items[0]?.id);
|
|
9878
9930
|
const handleTabClick = (id, disabled) => {
|
|
9879
9931
|
if (disabled) return;
|
|
@@ -9882,39 +9934,50 @@ var ITTabs = ({
|
|
|
9882
9934
|
};
|
|
9883
9935
|
const activeContent = items.find((item) => item.id === activeId)?.content;
|
|
9884
9936
|
return /* @__PURE__ */ jsxs48("div", { className: clsx47("w-full", containerClassName), children: [
|
|
9885
|
-
/* @__PURE__ */ jsx67(
|
|
9886
|
-
"
|
|
9887
|
-
|
|
9888
|
-
|
|
9889
|
-
|
|
9890
|
-
|
|
9891
|
-
|
|
9892
|
-
|
|
9893
|
-
{
|
|
9894
|
-
|
|
9895
|
-
|
|
9896
|
-
|
|
9897
|
-
"
|
|
9898
|
-
|
|
9899
|
-
|
|
9900
|
-
|
|
9901
|
-
|
|
9902
|
-
|
|
9903
|
-
|
|
9904
|
-
|
|
9905
|
-
|
|
9906
|
-
|
|
9907
|
-
|
|
9908
|
-
|
|
9909
|
-
|
|
9910
|
-
|
|
9911
|
-
|
|
9912
|
-
|
|
9913
|
-
|
|
9914
|
-
|
|
9915
|
-
|
|
9916
|
-
|
|
9917
|
-
|
|
9937
|
+
/* @__PURE__ */ jsx67(
|
|
9938
|
+
"div",
|
|
9939
|
+
{
|
|
9940
|
+
className: clsx47(
|
|
9941
|
+
"flex border-secondary-200 mb-4",
|
|
9942
|
+
variant === "line" ? "border-b" : bento ? "gap-2 p-1 rounded-full w-fit" : "gap-2 p-1 bg-secondary-100 rounded-lg w-fit",
|
|
9943
|
+
className
|
|
9944
|
+
),
|
|
9945
|
+
style: bento ? { backgroundColor: "var(--it-bento-control-bg, #f1f5f9)", borderColor: "transparent" } : void 0,
|
|
9946
|
+
children: items.map((item) => {
|
|
9947
|
+
const isActive = item.id === activeId;
|
|
9948
|
+
return /* @__PURE__ */ jsxs48(
|
|
9949
|
+
"button",
|
|
9950
|
+
{
|
|
9951
|
+
onClick: () => handleTabClick(item.id, item.disabled),
|
|
9952
|
+
disabled: item.disabled,
|
|
9953
|
+
className: clsx47(
|
|
9954
|
+
"flex items-center gap-2 px-4 py-2 text-sm font-medium transition-all duration-200 outline-none",
|
|
9955
|
+
// LINE VARIANT
|
|
9956
|
+
variant === "line" && [
|
|
9957
|
+
"border-b-2 -mb-[2px]",
|
|
9958
|
+
isActive ? "border-primary-500 text-primary-600" : "border-transparent text-secondary-500 hover:text-secondary-700 hover:border-secondary-300"
|
|
9959
|
+
],
|
|
9960
|
+
// PILL VARIANT
|
|
9961
|
+
variant === "pill" && (bento ? "rounded-full" : [
|
|
9962
|
+
"rounded-md",
|
|
9963
|
+
isActive ? "bg-white text-primary-600 shadow-sm" : "text-secondary-500 hover:text-secondary-700"
|
|
9964
|
+
]),
|
|
9965
|
+
item.disabled && "opacity-50 cursor-not-allowed"
|
|
9966
|
+
),
|
|
9967
|
+
style: bento ? {
|
|
9968
|
+
backgroundColor: isActive ? "var(--it-bento-ink-bg, #0f172a)" : "transparent",
|
|
9969
|
+
color: isActive ? "var(--it-bento-ink-text, #ffffff)" : "var(--it-bento-control-text, #475569)"
|
|
9970
|
+
} : void 0,
|
|
9971
|
+
children: [
|
|
9972
|
+
item.icon && /* @__PURE__ */ jsx67("span", { className: "w-4 h-4", children: item.icon }),
|
|
9973
|
+
/* @__PURE__ */ jsx67(ITText, { as: "span", children: item.label })
|
|
9974
|
+
]
|
|
9975
|
+
},
|
|
9976
|
+
item.id
|
|
9977
|
+
);
|
|
9978
|
+
})
|
|
9979
|
+
}
|
|
9980
|
+
),
|
|
9918
9981
|
/* @__PURE__ */ jsx67("div", { className: "tab-content animate-fadeIn", children: activeContent })
|
|
9919
9982
|
] });
|
|
9920
9983
|
};
|
|
@@ -12408,6 +12471,11 @@ var AXZY_CATALOG_ENTRIES = [
|
|
|
12408
12471
|
summary: "Tarjeta con t\xEDtulo, imagen y contenido.",
|
|
12409
12472
|
props: {
|
|
12410
12473
|
title: { kind: "string" },
|
|
12474
|
+
tone: {
|
|
12475
|
+
kind: "enum",
|
|
12476
|
+
values: ["primary", "secondary", "ternary", "success", "info", "warning", "danger"],
|
|
12477
|
+
doc: "Tinte pastel de la tarjeta (token --color-<tone>-soft)."
|
|
12478
|
+
},
|
|
12411
12479
|
image: { kind: "string", doc: "URL de la imagen de cabecera." },
|
|
12412
12480
|
alt: { kind: "string" },
|
|
12413
12481
|
onClick: { kind: "action" },
|
|
@@ -15061,9 +15129,13 @@ function ITTopBar({
|
|
|
15061
15129
|
hideBrandOnDesktop = false,
|
|
15062
15130
|
showDesktopMenuButton = false
|
|
15063
15131
|
}) {
|
|
15064
|
-
const
|
|
15132
|
+
const appearance = useITAppearance();
|
|
15133
|
+
const bento = appearance === "bento";
|
|
15134
|
+
const flat = appearance === "flat" || bento;
|
|
15065
15135
|
const { t } = useITTranslation();
|
|
15066
15136
|
const initials = (userMenu?.userName ?? "").trim().split(/\s+/).slice(0, 2).map((word) => word.charAt(0).toUpperCase()).join("");
|
|
15137
|
+
const userRestBg = bento ? "var(--it-bento-control-bg, #f1f5f9)" : "transparent";
|
|
15138
|
+
const userHoverBg = bento ? "var(--it-bento-control-bg-hover, #e2e8f0)" : "var(--it-topbar-user-hover, #f1f5f9)";
|
|
15067
15139
|
const [isUserMenuOpen, setIsUserMenuOpen] = useState41(false);
|
|
15068
15140
|
const userMenuRef = useRef24(null);
|
|
15069
15141
|
useClickOutside_default(userMenuRef, () => setIsUserMenuOpen(false));
|
|
@@ -15072,8 +15144,8 @@ function ITTopBar({
|
|
|
15072
15144
|
{
|
|
15073
15145
|
className: `sticky top-0 z-40 transition-all duration-300 ${flat ? "" : "backdrop-blur-md"}`,
|
|
15074
15146
|
style: {
|
|
15075
|
-
backgroundColor: "var(--it-topbar-bg, rgba(255, 255, 255, 0.9))",
|
|
15076
|
-
borderBottom: "1px solid var(--it-topbar-border, rgba(15, 23, 42, 0.06))",
|
|
15147
|
+
backgroundColor: bento ? "var(--it-layout-bg, #f4f4f6)" : "var(--it-topbar-bg, rgba(255, 255, 255, 0.9))",
|
|
15148
|
+
borderBottom: bento ? "none" : "1px solid var(--it-topbar-border, rgba(15, 23, 42, 0.06))",
|
|
15077
15149
|
boxShadow: flat ? "none" : "var(--shadow-xs)"
|
|
15078
15150
|
},
|
|
15079
15151
|
children: /* @__PURE__ */ jsxs56("div", { className: `flex items-center justify-between px-6 lg:px-8 ${flat ? "h-[64px]" : "h-[72px]"}`, children: [
|
|
@@ -15083,12 +15155,13 @@ function ITTopBar({
|
|
|
15083
15155
|
{
|
|
15084
15156
|
type: "button",
|
|
15085
15157
|
"aria-label": t("common.menu"),
|
|
15086
|
-
className: `${showDesktopMenuButton ? "" : "lg:hidden"} p-2.5 -ml-2.5 rounded-xl transition-colors duration-200`,
|
|
15158
|
+
className: `${showDesktopMenuButton ? "" : "lg:hidden"} ${bento ? "w-10 h-10 flex items-center justify-center rounded-full" : "p-2.5 -ml-2.5 rounded-xl"} transition-colors duration-200`,
|
|
15087
15159
|
style: {
|
|
15088
|
-
color: "var(--it-topbar-icon, #64748b)"
|
|
15160
|
+
color: bento ? "var(--it-bento-control-text, #475569)" : "var(--it-topbar-icon, #64748b)",
|
|
15161
|
+
backgroundColor: bento ? "var(--it-bento-control-bg, #f1f5f9)" : void 0
|
|
15089
15162
|
},
|
|
15090
|
-
onMouseEnter: (e) => e.currentTarget.style.backgroundColor = "var(--it-topbar-user-hover, #f1f5f9)",
|
|
15091
|
-
onMouseLeave: (e) => e.currentTarget.style.backgroundColor = "transparent",
|
|
15163
|
+
onMouseEnter: (e) => e.currentTarget.style.backgroundColor = bento ? "var(--it-bento-control-bg-hover, #e2e8f0)" : "var(--it-topbar-user-hover, #f1f5f9)",
|
|
15164
|
+
onMouseLeave: (e) => e.currentTarget.style.backgroundColor = bento ? "var(--it-bento-control-bg, #f1f5f9)" : "transparent",
|
|
15092
15165
|
onClick: onToggleMobileMenu,
|
|
15093
15166
|
children: /* @__PURE__ */ jsx78(FaBars, { className: "w-[1.125rem] h-[1.125rem]" })
|
|
15094
15167
|
}
|
|
@@ -15105,27 +15178,40 @@ function ITTopBar({
|
|
|
15105
15178
|
}
|
|
15106
15179
|
)
|
|
15107
15180
|
] }),
|
|
15108
|
-
navItems && navItems.length > 0 && /* @__PURE__ */ jsx78(
|
|
15109
|
-
"
|
|
15181
|
+
navItems && navItems.length > 0 && /* @__PURE__ */ jsx78(
|
|
15182
|
+
"nav",
|
|
15110
15183
|
{
|
|
15111
|
-
|
|
15112
|
-
|
|
15113
|
-
|
|
15114
|
-
|
|
15115
|
-
|
|
15116
|
-
|
|
15117
|
-
|
|
15118
|
-
|
|
15119
|
-
|
|
15120
|
-
|
|
15121
|
-
|
|
15122
|
-
|
|
15123
|
-
|
|
15124
|
-
|
|
15125
|
-
|
|
15126
|
-
|
|
15127
|
-
|
|
15128
|
-
|
|
15184
|
+
className: bento ? "hidden md:flex ml-4 gap-2" : "hidden md:flex ml-8 space-x-1 border-l pl-8",
|
|
15185
|
+
style: bento ? void 0 : { borderColor: "var(--it-topbar-border, rgba(15, 23, 42, 0.06))" },
|
|
15186
|
+
children: navItems.map((item) => {
|
|
15187
|
+
const restBg = bento ? item.isActive ? "var(--it-bento-ink-bg, #0f172a)" : "var(--it-bento-control-bg, #f1f5f9)" : item.isActive ? "var(--it-topbar-user-hover, #f1f5f9)" : "transparent";
|
|
15188
|
+
const restColor = bento ? item.isActive ? "var(--it-bento-ink-text, #ffffff)" : "var(--it-bento-control-text, #475569)" : "var(--it-topbar-text, #475569)";
|
|
15189
|
+
return /* @__PURE__ */ jsx78(
|
|
15190
|
+
"button",
|
|
15191
|
+
{
|
|
15192
|
+
onClick: () => onNavItemClick?.(item.id),
|
|
15193
|
+
"aria-current": item.isActive ? "page" : void 0,
|
|
15194
|
+
className: `px-4 py-2 ${bento ? "rounded-full" : "rounded-lg"} font-medium text-[0.9rem] transition-all duration-200 ease-[cubic-bezier(0.2,0,0,1)]`,
|
|
15195
|
+
style: { color: restColor, backgroundColor: restBg },
|
|
15196
|
+
onMouseEnter: (e) => {
|
|
15197
|
+
if (bento && item.isActive) return;
|
|
15198
|
+
e.currentTarget.style.color = bento ? "var(--it-bento-control-text, #0f172a)" : "var(--it-topbar-text, #0f172a)";
|
|
15199
|
+
e.currentTarget.style.backgroundColor = bento ? "var(--it-bento-control-bg-hover, #e2e8f0)" : "var(--it-topbar-user-hover, #f1f5f9)";
|
|
15200
|
+
},
|
|
15201
|
+
onMouseLeave: (e) => {
|
|
15202
|
+
e.currentTarget.style.color = restColor;
|
|
15203
|
+
e.currentTarget.style.backgroundColor = restBg;
|
|
15204
|
+
},
|
|
15205
|
+
children: /* @__PURE__ */ jsxs56("div", { className: "flex items-center gap-2", children: [
|
|
15206
|
+
item.icon && /* @__PURE__ */ jsx78("span", { className: "opacity-70", children: item.icon }),
|
|
15207
|
+
/* @__PURE__ */ jsx78(ITText, { as: "span", children: item.label })
|
|
15208
|
+
] })
|
|
15209
|
+
},
|
|
15210
|
+
item.id
|
|
15211
|
+
);
|
|
15212
|
+
})
|
|
15213
|
+
}
|
|
15214
|
+
)
|
|
15129
15215
|
] }),
|
|
15130
15216
|
centerContent && /* @__PURE__ */ jsx78("div", { className: `hidden lg:flex flex-1 min-w-0 items-center ${hideBrandOnDesktop ? "justify-start pr-4" : "justify-center px-4"}`, children: /* @__PURE__ */ jsx78("div", { className: "w-full max-w-[420px]", children: centerContent }) }),
|
|
15131
15217
|
(children || userMenu) && /* @__PURE__ */ jsxs56("div", { className: "flex items-center gap-2", children: [
|
|
@@ -15135,15 +15221,15 @@ function ITTopBar({
|
|
|
15135
15221
|
"button",
|
|
15136
15222
|
{
|
|
15137
15223
|
type: "button",
|
|
15138
|
-
className: `flex items-center gap-3 rounded-full py-1.5 transition-all duration-200 ease-[cubic-bezier(0.2,0,0,1)] border border-transparent hover:border-secondary-200 ${flat ? "flex-row-reverse pl-4 pr-2" : "pl-2 pr-4"}`,
|
|
15224
|
+
className: `flex items-center gap-3 rounded-full py-1.5 transition-all duration-200 ease-[cubic-bezier(0.2,0,0,1)] border border-transparent ${bento ? "" : "hover:border-secondary-200"} ${flat ? "flex-row-reverse pl-4 pr-2" : "pl-2 pr-4"}`,
|
|
15139
15225
|
style: {
|
|
15140
|
-
backgroundColor: isUserMenuOpen ?
|
|
15226
|
+
backgroundColor: isUserMenuOpen ? userHoverBg : userRestBg
|
|
15141
15227
|
},
|
|
15142
15228
|
onMouseEnter: (e) => {
|
|
15143
|
-
if (!isUserMenuOpen) e.currentTarget.style.backgroundColor =
|
|
15229
|
+
if (!isUserMenuOpen) e.currentTarget.style.backgroundColor = userHoverBg;
|
|
15144
15230
|
},
|
|
15145
15231
|
onMouseLeave: (e) => {
|
|
15146
|
-
if (!isUserMenuOpen) e.currentTarget.style.backgroundColor =
|
|
15232
|
+
if (!isUserMenuOpen) e.currentTarget.style.backgroundColor = userRestBg;
|
|
15147
15233
|
},
|
|
15148
15234
|
onClick: () => setIsUserMenuOpen(!isUserMenuOpen),
|
|
15149
15235
|
children: [
|
|
@@ -15255,7 +15341,7 @@ function ITLayout({
|
|
|
15255
15341
|
}) {
|
|
15256
15342
|
const [internalCollapsed, setInternalCollapsed] = useState42(true);
|
|
15257
15343
|
const [mobileSidebarOpen, setMobileSidebarOpen] = useState42(false);
|
|
15258
|
-
const flat =
|
|
15344
|
+
const flat = useITAppearance() !== "soft";
|
|
15259
15345
|
const isControlled = sidebar.isCollapsed !== void 0;
|
|
15260
15346
|
const desktopCollapsed = isControlled ? sidebar.isCollapsed : internalCollapsed;
|
|
15261
15347
|
const handleToggleCollapse = isControlled ? sidebar.onToggleCollapse ?? (() => {
|
|
@@ -15981,6 +16067,32 @@ function ITThemeProvider({
|
|
|
15981
16067
|
surfaceStyle?.remove();
|
|
15982
16068
|
};
|
|
15983
16069
|
}, [radius, shadow]);
|
|
16070
|
+
useLayoutEffect5(() => {
|
|
16071
|
+
const STYLE_ID = "it-theme-bento-tokens";
|
|
16072
|
+
let tag = document.getElementById(STYLE_ID);
|
|
16073
|
+
if (appearance !== "bento") {
|
|
16074
|
+
tag?.remove();
|
|
16075
|
+
return;
|
|
16076
|
+
}
|
|
16077
|
+
if (!tag) {
|
|
16078
|
+
tag = document.createElement("style");
|
|
16079
|
+
tag.id = STYLE_ID;
|
|
16080
|
+
document.head.appendChild(tag);
|
|
16081
|
+
}
|
|
16082
|
+
const hasRadius = typeof radius === "number" && isFinite(radius);
|
|
16083
|
+
const hasShadow = shadowLevel(shadow) !== null;
|
|
16084
|
+
const shapeLight = hasRadius ? "" : "--it-bento-card-radius:24px;--it-bento-pill-radius:9999px;--it-bento-field-radius:1rem;--it-input-radius:var(--it-bento-pill-radius);";
|
|
16085
|
+
const shadowLight = hasShadow ? "" : "--it-bento-card-shadow:0 1px 2px rgba(16,24,40,.04),0 12px 32px -16px rgba(16,24,40,.10);--it-bento-card-shadow-hover:0 1px 2px rgba(16,24,40,.06),0 18px 40px -16px rgba(16,24,40,.18);";
|
|
16086
|
+
const shadowDark = hasShadow ? "" : "--it-bento-card-shadow:0 1px 2px rgba(0,0,0,.4),0 12px 32px -16px rgba(0,0,0,.55);--it-bento-card-shadow-hover:0 1px 2px rgba(0,0,0,.5),0 18px 40px -16px rgba(0,0,0,.7);";
|
|
16087
|
+
const navTokens = "--it-sidebar-active-bg:var(--it-bento-nav-active-bg);--it-sidebar-active-color:var(--it-bento-nav-active-text);--it-sidebar-active-icon:var(--it-bento-nav-active-text);";
|
|
16088
|
+
const light = "--it-layout-bg:#f4f4f6;--it-card-bg:#ffffff;--it-bento-card-padding:1.5rem;--it-input-bg:#f1f5f9;--it-input-border:transparent;--it-input-focus-ring:0 0 0 2px color-mix(in srgb,var(--color-primary) 50%,transparent);--it-bento-control-bg:#f1f5f9;--it-bento-control-bg-hover:#e2e8f0;--it-bento-control-text:#475569;--it-bento-ink-bg:#0f172a;--it-bento-ink-text:#ffffff;--it-bento-nav-active-bg:#f1f5f9;--it-bento-nav-active-text:#0f172a;" + navTokens;
|
|
16089
|
+
const dark = "--it-layout-bg:#020617;--it-card-bg:#0f172a;--it-input-bg:#1e293b;--it-input-border:transparent;--it-bento-control-bg:#1e293b;--it-bento-control-bg-hover:#334155;--it-bento-control-text:#cbd5e1;--it-bento-ink-bg:#ffffff;--it-bento-ink-text:#0f172a;--it-bento-nav-active-bg:#1e293b;--it-bento-nav-active-text:#ffffff;" + navTokens;
|
|
16090
|
+
const A = '[data-it-appearance="bento"]';
|
|
16091
|
+
tag.textContent = `:root${A}{${light}${shapeLight}${shadowLight}}:root${A}.dark,:root${A} .dark,:root${A} [data-theme="dark"]{${dark}${shadowDark}}:root${A} [data-theme="light"]{${light}${shadowLight}}`;
|
|
16092
|
+
return () => {
|
|
16093
|
+
tag?.remove();
|
|
16094
|
+
};
|
|
16095
|
+
}, [appearance, radius, shadow]);
|
|
15984
16096
|
useEffect22(() => {
|
|
15985
16097
|
const injectStyles = (obj, prefix = "") => {
|
|
15986
16098
|
Object.entries(obj).forEach(([key, val]) => {
|
|
@@ -17537,6 +17649,7 @@ export {
|
|
|
17537
17649
|
useDebouncedSearch,
|
|
17538
17650
|
useEditableRow,
|
|
17539
17651
|
useFloatingPanel,
|
|
17652
|
+
useITAppearance,
|
|
17540
17653
|
useITFlatAppearance,
|
|
17541
17654
|
useITTheme,
|
|
17542
17655
|
useITThemeSafe,
|