@expcat/tigercat-core 1.2.47 → 1.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/index.cjs CHANGED
@@ -499,6 +499,7 @@ __export(src_exports, {
499
499
  descriptionsVerticalWrapperClasses: () => descriptionsVerticalWrapperClasses,
500
500
  descriptionsWrapperClasses: () => descriptionsWrapperClasses,
501
501
  designTokens: () => designTokens,
502
+ devWarn: () => devWarn,
502
503
  dotSizeClasses: () => dotSizeClasses,
503
504
  dotsVariantConfig: () => dotsVariantConfig,
504
505
  downloadChartBlob: () => downloadChartBlob,
@@ -752,6 +753,7 @@ __export(src_exports, {
752
753
  getDescriptionsLabelClasses: () => getDescriptionsLabelClasses,
753
754
  getDescriptionsTableClasses: () => getDescriptionsTableClasses,
754
755
  getDescriptionsVerticalItemClasses: () => getDescriptionsVerticalItemClasses,
756
+ getDisclosureStateAttr: () => getDisclosureStateAttr,
755
757
  getDividerClasses: () => getDividerClasses,
756
758
  getDividerStyle: () => getDividerStyle,
757
759
  getDragAreaClasses: () => getDragAreaClasses,
@@ -814,6 +816,7 @@ __export(src_exports, {
814
816
  getGroupHeaderCellClasses: () => getGroupHeaderCellClasses,
815
817
  getGutterStyles: () => getGutterStyles,
816
818
  getHeatmapCellIndexAtPoint: () => getHeatmapCellIndexAtPoint,
819
+ getIconDefinition: () => getIconDefinition,
817
820
  getImageAnnotationCenter: () => getImageAnnotationCenter,
818
821
  getImageAnnotationPathData: () => getImageAnnotationPathData,
819
822
  getImageAnnotationPointFromClient: () => getImageAnnotationPointFromClient,
@@ -851,6 +854,8 @@ __export(src_exports, {
851
854
  getIntlPluralCategory: () => getIntlPluralCategory,
852
855
  getJustifyClasses: () => getJustifyClasses,
853
856
  getKanbanContainerClasses: () => getKanbanContainerClasses,
857
+ getLayoutContentClasses: () => getLayoutContentClasses,
858
+ getLayoutHeaderClasses: () => getLayoutHeaderClasses,
854
859
  getLeafKeys: () => getLeafKeys,
855
860
  getLineGradientPrefix: () => getLineGradientPrefix,
856
861
  getLineNumberClasses: () => getLineNumberClasses,
@@ -1057,6 +1062,7 @@ __export(src_exports, {
1057
1062
  getTableHeaderCellClasses: () => getTableHeaderCellClasses,
1058
1063
  getTableHeaderClasses: () => getTableHeaderClasses,
1059
1064
  getTableLabels: () => getTableLabels,
1065
+ getTableResponsiveCardClasses: () => getTableResponsiveCardClasses,
1060
1066
  getTableResponsiveCardListClasses: () => getTableResponsiveCardListClasses,
1061
1067
  getTableResponsiveTableClasses: () => getTableResponsiveTableClasses,
1062
1068
  getTableRowClasses: () => getTableRowClasses,
@@ -1156,6 +1162,8 @@ __export(src_exports, {
1156
1162
  icon24PathStrokeLinejoin: () => icon24PathStrokeLinejoin,
1157
1163
  icon24StrokeWidth: () => icon24StrokeWidth,
1158
1164
  icon24ViewBox: () => icon24ViewBox,
1165
+ iconNames: () => iconNames,
1166
+ iconRegistry: () => iconRegistry,
1159
1167
  iconSizeClasses: () => iconSizeClasses,
1160
1168
  iconSvgBaseClasses: () => iconSvgBaseClasses,
1161
1169
  iconSvgDefaultStrokeLinecap: () => iconSvgDefaultStrokeLinecap,
@@ -1344,6 +1352,7 @@ __export(src_exports, {
1344
1352
  mentionsDropdownClasses: () => mentionsDropdownClasses,
1345
1353
  menuBaseClasses: () => menuBaseClasses,
1346
1354
  menuCollapsedClasses: () => menuCollapsedClasses,
1355
+ menuCollapsedIconClasses: () => menuCollapsedIconClasses,
1347
1356
  menuCollapsedItemClasses: () => menuCollapsedItemClasses,
1348
1357
  menuCollapsedModeClasses: () => menuCollapsedModeClasses,
1349
1358
  menuDarkThemeClasses: () => menuDarkThemeClasses,
@@ -1522,6 +1531,7 @@ __export(src_exports, {
1522
1531
  replaceKeys: () => replaceKeys,
1523
1532
  resetAreaGradientCounter: () => resetAreaGradientCounter,
1524
1533
  resetBarGradientCounter: () => resetBarGradientCounter,
1534
+ resetDevWarnCache: () => resetDevWarnCache,
1525
1535
  resetFunnelGradientCounter: () => resetFunnelGradientCounter,
1526
1536
  resetGaugeGradientCounter: () => resetGaugeGradientCounter,
1527
1537
  resetIconPath: () => resetIconPath,
@@ -1539,6 +1549,7 @@ __export(src_exports, {
1539
1549
  resizeCropRect: () => resizeCropRect,
1540
1550
  resizePanes: () => resizePanes,
1541
1551
  resolveAffixTarget: () => resolveAffixTarget,
1552
+ resolveCardPadding: () => resolveCardPadding,
1542
1553
  resolveCarouselSwipeDirection: () => resolveCarouselSwipeDirection,
1543
1554
  resolveChartPalette: () => resolveChartPalette,
1544
1555
  resolveChartTooltipContent: () => resolveChartTooltipContent,
@@ -1881,6 +1892,7 @@ __export(src_exports, {
1881
1892
  virtualTableRowHoverClasses: () => virtualTableRowHoverClasses,
1882
1893
  virtualTableRowSelectedClasses: () => virtualTableRowSelectedClasses,
1883
1894
  virtualTableRowStripedClasses: () => virtualTableRowStripedClasses,
1895
+ warnUnsupportedColorProp: () => warnUnsupportedColorProp,
1884
1896
  watermarkDefaults: () => watermarkDefaults,
1885
1897
  watermarkFontDefaults: () => watermarkFontDefaults,
1886
1898
  watermarkWrapperClasses: () => watermarkWrapperClasses,
@@ -2527,6 +2539,138 @@ var expandChevronIcon16PathD = "M6 3l5 5-5 5V3z";
2527
2539
  var lockClosedIcon24PathD = "M17 8h-1V6a4 4 0 10-8 0v2H7a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2V10a2 2 0 00-2-2zm-7-2a2 2 0 114 0v2h-4V6z";
2528
2540
  var lockOpenIcon24PathD = "M17 8h-1V6a4 4 0 00-7.75-1.41 1 1 0 101.9.62A2 2 0 0114 6v2H7a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2V10a2 2 0 00-2-2zm0 12H7V10h10v10z";
2529
2541
 
2542
+ // src/utils/icons/registry.ts
2543
+ var stroke24 = (...paths) => ({
2544
+ viewBox: "0 0 24 24",
2545
+ paths,
2546
+ mode: "stroke"
2547
+ });
2548
+ var iconRegistry = {
2549
+ // --- Reused internal glyphs ---
2550
+ close: stroke24(closeIconPathD),
2551
+ success: stroke24(statusSuccessIconPath),
2552
+ warning: stroke24(statusWarningIconPath),
2553
+ error: stroke24(statusErrorIconPath),
2554
+ info: stroke24(statusInfoIconPath),
2555
+ // --- Curated outline set (Heroicons-style, 24x24) ---
2556
+ check: stroke24("m4.5 12.75 6 6 9-13.5"),
2557
+ "chevron-up": stroke24("m4.5 15.75 7.5-7.5 7.5 7.5"),
2558
+ "chevron-down": stroke24("m19.5 8.25-7.5 7.5-7.5-7.5"),
2559
+ "chevron-left": stroke24("M15.75 19.5 8.25 12l7.5-7.5"),
2560
+ "chevron-right": stroke24("m8.25 4.5 7.5 7.5-7.5 7.5"),
2561
+ "arrow-left": stroke24("M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18"),
2562
+ "arrow-right": stroke24("M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3"),
2563
+ "arrow-up": stroke24("M4.5 10.5 12 3m0 0 7.5 7.5M12 3v18"),
2564
+ "arrow-down": stroke24("M19.5 13.5 12 21m0 0-7.5-7.5M12 21V3"),
2565
+ search: stroke24(
2566
+ "m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z"
2567
+ ),
2568
+ plus: stroke24("M12 4.5v15m7.5-7.5h-15"),
2569
+ minus: stroke24("M5 12h14"),
2570
+ edit: stroke24(
2571
+ "m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10"
2572
+ ),
2573
+ trash: stroke24(
2574
+ "m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0"
2575
+ ),
2576
+ user: stroke24(
2577
+ "M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z"
2578
+ ),
2579
+ settings: stroke24(
2580
+ "M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.324.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.24-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.99l1.004.828c.424.35.534.954.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.992a7.723 7.723 0 0 1 0-.255c.007-.378-.138-.75-.43-.99l-1.004-.828a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.087.22-.128.332-.183.582-.495.644-.869l.214-1.281Z",
2581
+ "M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"
2582
+ ),
2583
+ eye: stroke24(
2584
+ "M2.036 12.322a1.012 1.012 0 0 1 0-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178Z",
2585
+ "M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"
2586
+ ),
2587
+ "eye-off": stroke24(
2588
+ "M3.98 8.223A10.477 10.477 0 0 0 1.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.451 10.451 0 0 1 12 4.5c4.756 0 8.773 3.162 10.065 7.498a10.523 10.523 0 0 1-4.293 5.774M6.228 6.228 3 3m3.228 3.228 3.65 3.65m7.894 7.894L21 21m-3.228-3.228-3.65-3.65m0 0a3 3 0 1 0-4.243-4.243m4.242 4.242L9.88 9.88"
2589
+ ),
2590
+ calendar: stroke24(
2591
+ "M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 0 1 2.25-2.25h13.5A2.25 2.25 0 0 1 21 7.5v11.25m-18 0A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75m-18 0v-7.5A2.25 2.25 0 0 1 5.25 9h13.5A2.25 2.25 0 0 1 21 11.25v7.5"
2592
+ ),
2593
+ clock: stroke24("M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"),
2594
+ menu: stroke24("M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5"),
2595
+ "more-horizontal": stroke24(
2596
+ "M6.75 12a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM12.75 12a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM18.75 12a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z"
2597
+ ),
2598
+ "more-vertical": stroke24(
2599
+ "M12 6.75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5ZM12 12.75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5ZM12 18.75a.75.75 0 1 1 0-1.5.75.75 0 0 1 0 1.5Z"
2600
+ ),
2601
+ "external-link": stroke24(
2602
+ "M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25"
2603
+ ),
2604
+ // --- Common application glyphs (Heroicons-style, 24x24) ---
2605
+ home: stroke24(
2606
+ "m2.25 12 8.954-8.955c.44-.439 1.152-.439 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25"
2607
+ ),
2608
+ bell: stroke24(
2609
+ "M14.857 17.082a23.848 23.848 0 0 0 5.454-1.31A8.967 8.967 0 0 1 18 9.75V9A6 6 0 0 0 6 9v.75a8.967 8.967 0 0 1-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 0 1-5.714 0m5.714 0a3 3 0 1 1-5.714 0"
2610
+ ),
2611
+ mail: stroke24(
2612
+ "M21.75 6.75v10.5a2.25 2.25 0 0 1-2.25 2.25h-15a2.25 2.25 0 0 1-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25m19.5 0v.243a2.25 2.25 0 0 1-1.07 1.916l-7.5 4.615a2.25 2.25 0 0 1-2.36 0L3.32 8.91a2.25 2.25 0 0 1-1.07-1.916V6.75"
2613
+ ),
2614
+ phone: stroke24(
2615
+ "M2.25 6.75c0 8.284 6.716 15 15 15h2.25a2.25 2.25 0 0 0 2.25-2.25v-1.372c0-.516-.351-.966-.852-1.091l-4.423-1.106c-.44-.11-.902.055-1.173.417l-.97 1.293c-.282.376-.769.542-1.21.38a12.035 12.035 0 0 1-7.143-7.143c-.162-.441.004-.928.38-1.21l1.293-.97c.363-.271.527-.734.417-1.173L6.963 3.102a1.125 1.125 0 0 0-1.091-.852H4.5A2.25 2.25 0 0 0 2.25 4.5v2.25Z"
2616
+ ),
2617
+ download: stroke24(
2618
+ "M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3"
2619
+ ),
2620
+ upload: stroke24(
2621
+ "M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5m-13.5-9L12 3m0 0 4.5 4.5M12 3v13.5"
2622
+ ),
2623
+ filter: stroke24(
2624
+ "M12 3c2.755 0 5.455.232 8.083.678.533.09.917.556.917 1.096v1.044a2.25 2.25 0 0 1-.659 1.591l-5.432 5.432a2.25 2.25 0 0 0-.659 1.591v2.927a2.25 2.25 0 0 1-1.244 2.013L9.75 21v-6.568a2.25 2.25 0 0 0-.659-1.591L3.659 7.409A2.25 2.25 0 0 1 3 5.818V4.774c0-.54.384-1.006.917-1.096A48.32 48.32 0 0 1 12 3Z"
2625
+ ),
2626
+ refresh: stroke24(
2627
+ "M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99"
2628
+ ),
2629
+ logout: stroke24(
2630
+ "M15.75 9V5.25A2.25 2.25 0 0 0 13.5 3h-6a2.25 2.25 0 0 0-2.25 2.25v13.5A2.25 2.25 0 0 0 7.5 21h6a2.25 2.25 0 0 0 2.25-2.25V15M12 9l-3 3m0 0 3 3m-3-3h12.75"
2631
+ ),
2632
+ lock: stroke24(
2633
+ "M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z"
2634
+ ),
2635
+ star: stroke24(
2636
+ "M11.48 3.499a.562.562 0 0 1 1.04 0l2.125 5.111a.563.563 0 0 0 .475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.563.563 0 0 0-.182.557l1.285 5.385a.562.562 0 0 1-.84.61l-4.725-2.885a.562.562 0 0 0-.586 0L6.982 20.54a.562.562 0 0 1-.84-.61l1.285-5.386a.562.562 0 0 0-.182-.557l-4.204-3.602a.562.562 0 0 1 .321-.988l5.518-.442a.563.563 0 0 0 .475-.345L11.48 3.5Z"
2637
+ ),
2638
+ heart: stroke24(
2639
+ "M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12Z"
2640
+ ),
2641
+ copy: stroke24(
2642
+ "M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 0 1-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 0 1 1.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 0 0-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 0 1-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H9.75"
2643
+ ),
2644
+ link: stroke24(
2645
+ "M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622 1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244"
2646
+ ),
2647
+ document: stroke24(
2648
+ "M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z"
2649
+ ),
2650
+ folder: stroke24(
2651
+ "M2.25 12.75V12A2.25 2.25 0 0 1 4.5 9.75h15A2.25 2.25 0 0 1 21.75 12v.75m-8.69-6.44-2.12-2.12a1.5 1.5 0 0 0-1.061-.44H4.5A2.25 2.25 0 0 0 2.25 6v12a2.25 2.25 0 0 0 2.25 2.25h15A2.25 2.25 0 0 0 21.75 18V9a2.25 2.25 0 0 0-2.25-2.25h-5.379a1.5 1.5 0 0 1-1.06-.44Z"
2652
+ ),
2653
+ image: stroke24(
2654
+ "m2.25 15.75 5.159-5.159a2.25 2.25 0 0 1 3.182 0l5.159 5.159m-1.5-1.5 1.409-1.409a2.25 2.25 0 0 1 3.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 0 0 1.5-1.5V6a1.5 1.5 0 0 0-1.5-1.5H3.75A1.5 1.5 0 0 0 2.25 6v12a1.5 1.5 0 0 0 1.5 1.5Zm10.5-11.25h.008v.008h-.008V8.25Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z"
2655
+ ),
2656
+ "map-pin": stroke24(
2657
+ "M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z",
2658
+ "M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1 1 15 0Z"
2659
+ ),
2660
+ "check-circle": stroke24("M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"),
2661
+ "x-circle": stroke24("m9.75 9.75 4.5 4.5m0-4.5-4.5 4.5M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"),
2662
+ users: stroke24(
2663
+ "M15 19.128a9.38 9.38 0 0 0 2.625.372 9.337 9.337 0 0 0 4.121-.952 4.125 4.125 0 0 0-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 0 1 8.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0 1 11.964-3.07M12 6.375a3.375 3.375 0 1 1-6.75 0 3.375 3.375 0 0 1 6.75 0Zm8.25 2.25a2.625 2.625 0 1 1-5.25 0 2.625 2.625 0 0 1 5.25 0Z"
2664
+ ),
2665
+ dashboard: stroke24(
2666
+ "M3.75 6A2.25 2.25 0 0 1 6 3.75h2.25A2.25 2.25 0 0 1 10.5 6v2.25a2.25 2.25 0 0 1-2.25 2.25H6a2.25 2.25 0 0 1-2.25-2.25V6ZM3.75 15.75A2.25 2.25 0 0 1 6 13.5h2.25a2.25 2.25 0 0 1 2.25 2.25V18a2.25 2.25 0 0 1-2.25 2.25H6A2.25 2.25 0 0 1 3.75 18v-2.25ZM13.5 6a2.25 2.25 0 0 1 2.25-2.25H18A2.25 2.25 0 0 1 20.25 6v2.25A2.25 2.25 0 0 1 18 10.5h-2.25a2.25 2.25 0 0 1-2.25-2.25V6ZM13.5 15.75a2.25 2.25 0 0 1 2.25-2.25H18a2.25 2.25 0 0 1 2.25 2.25V18A2.25 2.25 0 0 1 18 20.25h-2.25A2.25 2.25 0 0 1 13.5 18v-2.25Z"
2667
+ )
2668
+ };
2669
+ var iconNames = Object.keys(iconRegistry);
2670
+ function getIconDefinition(name) {
2671
+ return iconRegistry[name];
2672
+ }
2673
+
2530
2674
  // src/utils/svg-attrs.ts
2531
2675
  var SVG_DEFAULT_XMLNS = "http://www.w3.org/2000/svg";
2532
2676
  var SVG_DEFAULT_VIEWBOX_24 = "0 0 24 24";
@@ -3899,7 +4043,8 @@ function getFormItemClasses(options = {}) {
3899
4043
  );
3900
4044
  }
3901
4045
  function getFormItemLabelClasses(options = {}) {
3902
- const { size = "md", labelPosition = "right", labelAlign = "right", isRequired = false } = options;
4046
+ const { size = "md", labelPosition = "right", isRequired = false } = options;
4047
+ const labelAlign = options.labelAlign ?? (labelPosition === "top" ? "left" : "right");
3903
4048
  const alignClass = labelAlign === "right" ? "text-right" : "text-left";
3904
4049
  const positionClasses = labelPosition === "top" ? "w-full" : "shrink-0";
3905
4050
  const paddingClass = labelPosition === "top" ? "" : LABEL_PADDING_TOP[size];
@@ -5584,13 +5729,27 @@ function getDividerStyle(orientation, color, thickness) {
5584
5729
  // src/utils/layout-utils.ts
5585
5730
  var layoutRootClasses = "tiger-layout flex flex-col min-h-screen";
5586
5731
  var layoutHeaderClasses = "tiger-header bg-[var(--tiger-surface,#ffffff)] border-b border-[var(--tiger-border,#e5e7eb)]";
5732
+ var layoutHeaderVariantClasses = {
5733
+ default: "",
5734
+ translucent: "bg-[var(--tiger-surface,#ffffff)]/80 backdrop-blur-[var(--tiger-blur-glass,16px)] backdrop-saturate-[var(--tiger-header-saturate,1.8)] supports-[backdrop-filter]:bg-[var(--tiger-surface,#ffffff)]/70 border-[color:var(--tiger-header-border,var(--tiger-border,#e5e7eb))]",
5735
+ blur: "bg-[var(--tiger-surface,#ffffff)]/80 backdrop-blur-[var(--tiger-blur-glass-strong,24px)] backdrop-saturate-[var(--tiger-header-saturate,1.8)] supports-[backdrop-filter]:bg-[var(--tiger-surface,#ffffff)]/70 shadow-[var(--tiger-header-shadow,0_1px_2px_0_rgb(0_0_0/0.05))] border-[color:var(--tiger-header-border,var(--tiger-border,#e5e7eb))]"
5736
+ };
5737
+ function getLayoutHeaderClasses(variant = "default") {
5738
+ return classNames(layoutHeaderClasses, layoutHeaderVariantClasses[variant]);
5739
+ }
5587
5740
  var layoutSidebarClasses = "tiger-sidebar bg-[var(--tiger-surface,#ffffff)] border-r border-[var(--tiger-border,#e5e7eb)] overflow-hidden transition-all duration-300";
5588
5741
  var layoutSidebarCollapsedClasses = "tiger-sidebar-collapsed";
5589
5742
  function getSidebarStyle(collapsed, width = "256px", collapsedWidth = "64px") {
5590
5743
  const w = collapsed ? collapsedWidth : width;
5591
5744
  return { width: w, minWidth: w };
5592
5745
  }
5593
- var layoutContentClasses = "tiger-content flex-1 bg-[var(--tiger-layout-content-bg,#f9fafb)] p-6";
5746
+ var layoutContentClasses = "tiger-content flex-1 bg-[var(--tiger-layout-content-bg,#f9fafb)]";
5747
+ function getLayoutContentClasses(padding = true) {
5748
+ return classNames(
5749
+ layoutContentClasses,
5750
+ padding === false ? void 0 : typeof padding === "string" ? padding : "p-6"
5751
+ );
5752
+ }
5594
5753
  var layoutFooterClasses = "tiger-footer bg-[var(--tiger-surface,#ffffff)] border-t border-[var(--tiger-border,#e5e7eb)] p-4";
5595
5754
 
5596
5755
  // src/utils/container-utils.ts
@@ -5665,7 +5824,13 @@ var CARD_LIST_CLASSES = {
5665
5824
  md: "hidden max-md:grid max-md:gap-3 max-md:p-3",
5666
5825
  lg: "hidden max-lg:grid max-lg:gap-3 max-lg:p-3"
5667
5826
  };
5668
- var tableResponsiveCardClasses = "rounded-[var(--tiger-radius-md,0.5rem)] border border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface,#ffffff)] p-3 shadow-sm";
5827
+ var tableResponsiveCardClasses = "rounded-[var(--tiger-radius-md,0.5rem)] border border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface,#ffffff)] shadow-sm";
5828
+ function getTableResponsiveCardClasses(cardPadding) {
5829
+ return classNames(
5830
+ tableResponsiveCardClasses,
5831
+ cardPadding === false ? void 0 : cardPadding ?? "p-3"
5832
+ );
5833
+ }
5669
5834
  var tableResponsiveCardRowClasses = "grid grid-cols-[minmax(7rem,40%)_1fr] gap-3 border-b border-[var(--tiger-border,#e5e7eb)] py-2 last:border-b-0";
5670
5835
  var tableResponsiveCardLabelClasses = "text-xs font-medium uppercase tracking-wider text-[var(--tiger-text-muted,#6b7280)]";
5671
5836
  var tableResponsiveCardValueClasses = "min-w-0 text-sm text-[var(--tiger-text,#111827)] break-words";
@@ -6054,12 +6219,18 @@ function getCardGridInfo(column, layoutItem) {
6054
6219
  const rowSpan = layoutItem?.rowSpan !== void 0 ? layoutItem.rowSpan : column.cardGrid?.rowSpan;
6055
6220
  const hideLabel = layoutItem?.hideLabel !== void 0 ? layoutItem.hideLabel : column.cardGrid?.hideLabel ?? false;
6056
6221
  const labelPosition = layoutItem?.labelPosition !== void 0 ? layoutItem.labelPosition : column.cardGrid?.labelPosition ?? "left";
6222
+ const divider = layoutItem?.divider !== void 0 ? layoutItem.divider : column.cardGrid?.divider ?? false;
6223
+ const labelClassName = layoutItem?.labelClassName !== void 0 ? layoutItem.labelClassName : column.cardGrid?.labelClassName;
6224
+ const valueClassName = layoutItem?.valueClassName !== void 0 ? layoutItem.valueClassName : column.cardGrid?.valueClassName;
6057
6225
  const colClass = colSpan && COL_SPAN_CLASSES[colSpan] ? classNames("col-span-12", COL_SPAN_CLASSES[colSpan]) : "col-span-12";
6058
6226
  const rowClass = rowSpan && ROW_SPAN_CLASSES[rowSpan] ? ROW_SPAN_CLASSES[rowSpan] : "";
6059
6227
  return {
6060
6228
  className: classNames(colClass, rowClass, "min-w-0 break-words", layoutItem?.className),
6061
6229
  hideLabel,
6062
- labelPosition
6230
+ labelPosition,
6231
+ divider,
6232
+ labelClassName,
6233
+ valueClassName
6063
6234
  };
6064
6235
  }
6065
6236
 
@@ -6137,6 +6308,11 @@ var cardFooterClasses = "border-t border-[var(--tiger-border,#e5e7eb)] pt-3 mt-3
6137
6308
  var cardCoverClasses = "w-full h-48 object-cover";
6138
6309
  var cardCoverWrapperClasses = "overflow-hidden";
6139
6310
  var cardActionsClasses = "flex gap-2 justify-end";
6311
+ function resolveCardPadding(size, padding) {
6312
+ if (padding === false) return void 0;
6313
+ if (typeof padding === "string") return padding;
6314
+ return cardSizeClasses[size];
6315
+ }
6140
6316
  function getCardClasses(variant, hoverable) {
6141
6317
  const classes = [cardBaseClasses, cardVariantClasses[variant]];
6142
6318
  if (hoverable) {
@@ -7002,6 +7178,7 @@ var menuItemSelectedLightClasses = "bg-[var(--tiger-outline-bg-hover,#eff6ff)] t
7002
7178
  var menuItemSelectedDarkClasses = "bg-[var(--tiger-outline-bg-hover,#2563eb1a)] text-[var(--tiger-primary,#60a5fa)] font-medium";
7003
7179
  var menuItemDisabledClasses = "opacity-50 cursor-not-allowed pointer-events-none";
7004
7180
  var menuItemIconClasses = "mr-2 flex-shrink-0";
7181
+ var menuCollapsedIconClasses = "flex-shrink-0";
7005
7182
  var submenuTitleClasses = "flex w-full items-center justify-between px-4 py-2 text-left bg-transparent border-0 cursor-pointer transition-colors duration-200 select-none appearance-none focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tiger-focus-ring,var(--tiger-primary,#2563eb))]/40 focus-visible:ring-inset active:opacity-90";
7006
7183
  var submenuExpandIconClasses = "ml-2 transition-transform duration-200";
7007
7184
  var submenuExpandIconExpandedClasses = "transform rotate-180";
@@ -7928,8 +8105,9 @@ function isDrawerSwipeCloseGesture(placement, gesture) {
7928
8105
  function getDrawerHeaderClasses() {
7929
8106
  return "flex items-center justify-between px-6 py-4 border-b border-[var(--tiger-border,#e5e7eb)]";
7930
8107
  }
7931
- function getDrawerBodyClasses(customClass) {
7932
- return classNames("flex-1 overflow-y-auto px-6 py-4", customClass);
8108
+ function getDrawerBodyClasses(customClass, bodyPadding) {
8109
+ const padding = bodyPadding === false ? void 0 : typeof bodyPadding === "string" ? bodyPadding : "px-6 py-4";
8110
+ return classNames("flex-1 overflow-y-auto", padding, customClass);
7933
8111
  }
7934
8112
  function getDrawerFooterClasses() {
7935
8113
  return "px-6 py-4 border-t border-[var(--tiger-border,#e5e7eb)]";
@@ -11871,6 +12049,28 @@ function applyFloatingStyles(element, result) {
11871
12049
  element.style.top = `${result.y}px`;
11872
12050
  }
11873
12051
 
12052
+ // src/utils/dev-warn.ts
12053
+ function isDevEnvironment() {
12054
+ const proc = globalThis.process;
12055
+ return !proc?.env || proc.env.NODE_ENV !== "production";
12056
+ }
12057
+ var warnedKeys = /* @__PURE__ */ new Set();
12058
+ function devWarn(key, message) {
12059
+ if (!isDevEnvironment() || warnedKeys.has(key)) return;
12060
+ warnedKeys.add(key);
12061
+ console.warn(message);
12062
+ }
12063
+ function warnUnsupportedColorProp(component, props) {
12064
+ if (!("color" in props)) return;
12065
+ devWarn(
12066
+ `${component}.color`,
12067
+ `[Tigercat] ${component} does not support color. Use variant instead.`
12068
+ );
12069
+ }
12070
+ function resetDevWarnCache() {
12071
+ warnedKeys.clear();
12072
+ }
12073
+
11874
12074
  // src/utils/chat-window-utils.ts
11875
12075
  var defaultChatMessageStatusInfo = {
11876
12076
  sending: { text: "\u53D1\u9001\u4E2D", className: "text-[var(--tiger-text-muted,#6b7280)]" },
@@ -13098,6 +13298,9 @@ function getPickerNavigationIndex(items, current, key, isDisabled = defaultIsDis
13098
13298
  function getPickerOptionId(listboxId, index) {
13099
13299
  return `${listboxId}-option-${index}`;
13100
13300
  }
13301
+ function getDisclosureStateAttr(open) {
13302
+ return { "data-state": open ? "open" : "closed" };
13303
+ }
13101
13304
  function getPickerComboboxAria({
13102
13305
  expanded,
13103
13306
  listboxId,
@@ -13109,7 +13312,8 @@ function getPickerComboboxAria({
13109
13312
  "aria-expanded": expanded,
13110
13313
  "aria-haspopup": "listbox",
13111
13314
  "aria-controls": expanded ? listboxId : void 0,
13112
- "aria-activedescendant": expanded ? activeOptionId ?? (activeIndex >= 0 ? getPickerOptionId(listboxId, activeIndex) : void 0) : void 0
13315
+ "aria-activedescendant": expanded ? activeOptionId ?? (activeIndex >= 0 ? getPickerOptionId(listboxId, activeIndex) : void 0) : void 0,
13316
+ "data-state": expanded ? "open" : "closed"
13113
13317
  };
13114
13318
  }
13115
13319
  function getPickerListboxAria({ id, label } = {}) {
@@ -17317,11 +17521,22 @@ var MODERN_BASE_TOKENS_LIGHT = {
17317
17521
  "--tiger-shadow-md": "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
17318
17522
  "--tiger-shadow-lg": "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",
17319
17523
  "--tiger-shadow-xl": "0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)",
17320
- // Glass — disabled by default (no backdrop blur, no inset highlights)
17524
+ // Glass — inset highlights stay disabled by default (kept flat), but a
17525
+ // sensible backdrop blur is enabled out of the box so opt-in surfaces like
17526
+ // `Header variant="translucent"/"blur"` render glass without the consumer
17527
+ // having to set these tokens. Override to `0px` to fully disable blur.
17321
17528
  "--tiger-shadow-glass": "0 1px 2px 0 rgb(0 0 0 / 0.05)",
17322
17529
  "--tiger-shadow-glass-strong": "0 4px 6px -1px rgb(0 0 0 / 0.1)",
17323
- "--tiger-blur-glass": "0px",
17324
- "--tiger-blur-glass-strong": "0px",
17530
+ "--tiger-blur-glass": "16px",
17531
+ "--tiger-blur-glass-strong": "24px",
17532
+ // Header variant tuning — all overridable without `!important`. `saturate`
17533
+ // enriches the blurred backdrop; `--tiger-header-shadow` lets consumers
17534
+ // swap the `blur` variant's shadow; `--tiger-header-border` scopes the
17535
+ // header's border color (falls back to the global `--tiger-border`) so the
17536
+ // glass header border can be tuned without touching every other border.
17537
+ "--tiger-header-saturate": "1.8",
17538
+ "--tiger-header-shadow": "0 1px 2px 0 rgb(0 0 0 / 0.05)",
17539
+ "--tiger-header-border": "var(--tiger-border, #e5e7eb)",
17325
17540
  // Gradients — fall back to solid color via a no-op linear-gradient
17326
17541
  "--tiger-gradient-primary": "linear-gradient(180deg, var(--tiger-primary), var(--tiger-primary))",
17327
17542
  "--tiger-gradient-surface": "linear-gradient(180deg, var(--tiger-surface), var(--tiger-surface))",
@@ -17348,7 +17563,11 @@ var MODERN_BASE_TOKENS_DARK = {
17348
17563
  "--tiger-shadow-lg": "0 10px 15px -3px rgb(0 0 0 / 0.3), 0 4px 6px -4px rgb(0 0 0 / 0.25)",
17349
17564
  "--tiger-shadow-xl": "0 20px 25px -5px rgb(0 0 0 / 0.3), 0 8px 10px -6px rgb(0 0 0 / 0.25)",
17350
17565
  "--tiger-shadow-glass": "0 1px 2px 0 rgb(0 0 0 / 0.2)",
17351
- "--tiger-shadow-glass-strong": "0 4px 6px -1px rgb(0 0 0 / 0.3)"
17566
+ "--tiger-shadow-glass-strong": "0 4px 6px -1px rgb(0 0 0 / 0.3)",
17567
+ // Header `blur` variant shadow — slightly deeper for dark surfaces.
17568
+ "--tiger-header-shadow": "0 1px 2px 0 rgb(0 0 0 / 0.3)",
17569
+ // Header border tracks the dark-mode global border by default.
17570
+ "--tiger-header-border": "var(--tiger-border)"
17352
17571
  };
17353
17572
  var MODERN_OVERRIDE_TOKENS_LIGHT = {
17354
17573
  // Rounder corners
@@ -19221,6 +19440,7 @@ var version = "1.2.0";
19221
19440
  descriptionsVerticalWrapperClasses,
19222
19441
  descriptionsWrapperClasses,
19223
19442
  designTokens,
19443
+ devWarn,
19224
19444
  dotSizeClasses,
19225
19445
  dotsVariantConfig,
19226
19446
  downloadChartBlob,
@@ -19474,6 +19694,7 @@ var version = "1.2.0";
19474
19694
  getDescriptionsLabelClasses,
19475
19695
  getDescriptionsTableClasses,
19476
19696
  getDescriptionsVerticalItemClasses,
19697
+ getDisclosureStateAttr,
19477
19698
  getDividerClasses,
19478
19699
  getDividerStyle,
19479
19700
  getDragAreaClasses,
@@ -19536,6 +19757,7 @@ var version = "1.2.0";
19536
19757
  getGroupHeaderCellClasses,
19537
19758
  getGutterStyles,
19538
19759
  getHeatmapCellIndexAtPoint,
19760
+ getIconDefinition,
19539
19761
  getImageAnnotationCenter,
19540
19762
  getImageAnnotationPathData,
19541
19763
  getImageAnnotationPointFromClient,
@@ -19573,6 +19795,8 @@ var version = "1.2.0";
19573
19795
  getIntlPluralCategory,
19574
19796
  getJustifyClasses,
19575
19797
  getKanbanContainerClasses,
19798
+ getLayoutContentClasses,
19799
+ getLayoutHeaderClasses,
19576
19800
  getLeafKeys,
19577
19801
  getLineGradientPrefix,
19578
19802
  getLineNumberClasses,
@@ -19779,6 +20003,7 @@ var version = "1.2.0";
19779
20003
  getTableHeaderCellClasses,
19780
20004
  getTableHeaderClasses,
19781
20005
  getTableLabels,
20006
+ getTableResponsiveCardClasses,
19782
20007
  getTableResponsiveCardListClasses,
19783
20008
  getTableResponsiveTableClasses,
19784
20009
  getTableRowClasses,
@@ -19878,6 +20103,8 @@ var version = "1.2.0";
19878
20103
  icon24PathStrokeLinejoin,
19879
20104
  icon24StrokeWidth,
19880
20105
  icon24ViewBox,
20106
+ iconNames,
20107
+ iconRegistry,
19881
20108
  iconSizeClasses,
19882
20109
  iconSvgBaseClasses,
19883
20110
  iconSvgDefaultStrokeLinecap,
@@ -20066,6 +20293,7 @@ var version = "1.2.0";
20066
20293
  mentionsDropdownClasses,
20067
20294
  menuBaseClasses,
20068
20295
  menuCollapsedClasses,
20296
+ menuCollapsedIconClasses,
20069
20297
  menuCollapsedItemClasses,
20070
20298
  menuCollapsedModeClasses,
20071
20299
  menuDarkThemeClasses,
@@ -20244,6 +20472,7 @@ var version = "1.2.0";
20244
20472
  replaceKeys,
20245
20473
  resetAreaGradientCounter,
20246
20474
  resetBarGradientCounter,
20475
+ resetDevWarnCache,
20247
20476
  resetFunnelGradientCounter,
20248
20477
  resetGaugeGradientCounter,
20249
20478
  resetIconPath,
@@ -20261,6 +20490,7 @@ var version = "1.2.0";
20261
20490
  resizeCropRect,
20262
20491
  resizePanes,
20263
20492
  resolveAffixTarget,
20493
+ resolveCardPadding,
20264
20494
  resolveCarouselSwipeDirection,
20265
20495
  resolveChartPalette,
20266
20496
  resolveChartTooltipContent,
@@ -20603,6 +20833,7 @@ var version = "1.2.0";
20603
20833
  virtualTableRowHoverClasses,
20604
20834
  virtualTableRowSelectedClasses,
20605
20835
  virtualTableRowStripedClasses,
20836
+ warnUnsupportedColorProp,
20606
20837
  watermarkDefaults,
20607
20838
  watermarkFontDefaults,
20608
20839
  watermarkWrapperClasses,