@expcat/tigercat-core 0.2.27 → 0.3.69
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 +1455 -1010
- package/dist/index.d.cts +2349 -945
- package/dist/index.d.ts +2349 -945
- package/dist/index.js +1368 -978
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -405,7 +405,7 @@ function sliderGetKeyboardValue(key, currentValue, min, max, step = 1, largeStep
|
|
|
405
405
|
// src/utils/back-top-utils.ts
|
|
406
406
|
function getScrollTop(target) {
|
|
407
407
|
if (target === window) {
|
|
408
|
-
return window.
|
|
408
|
+
return window.scrollY || 0;
|
|
409
409
|
}
|
|
410
410
|
return target.scrollTop;
|
|
411
411
|
}
|
|
@@ -438,13 +438,21 @@ function scrollToTop(target, duration, callback) {
|
|
|
438
438
|
};
|
|
439
439
|
requestAnimationFrame(animateScroll);
|
|
440
440
|
}
|
|
441
|
-
var
|
|
442
|
-
var backTopButtonClasses = `fixed bottom-8 right-8 ${
|
|
443
|
-
var backTopContainerClasses = `sticky bottom-4 ml-auto mr-4 ${
|
|
441
|
+
var baseClasses = "z-50 flex h-10 w-10 cursor-pointer items-center justify-center rounded-full bg-[var(--tiger-primary,#2563eb)] text-white shadow-lg transition-all duration-300 hover:bg-[var(--tiger-primary-hover,#1d4ed8)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tiger-primary,#2563eb)] focus-visible:ring-offset-2";
|
|
442
|
+
var backTopButtonClasses = `fixed bottom-8 right-8 ${baseClasses}`;
|
|
443
|
+
var backTopContainerClasses = `sticky bottom-4 ml-auto mr-4 ${baseClasses}`;
|
|
444
444
|
var backTopHiddenClasses = "opacity-0 pointer-events-none translate-y-4";
|
|
445
445
|
var backTopVisibleClasses = "opacity-100 translate-y-0";
|
|
446
446
|
var backTopIconPath = "M12 19V5M12 5l-7 7M12 5l7 7";
|
|
447
447
|
|
|
448
|
+
// src/utils/imperative-api.ts
|
|
449
|
+
function normalizeStringOption(options, key) {
|
|
450
|
+
if (typeof options === "string") {
|
|
451
|
+
return { [key]: options };
|
|
452
|
+
}
|
|
453
|
+
return options;
|
|
454
|
+
}
|
|
455
|
+
|
|
448
456
|
// src/utils/common-icons.ts
|
|
449
457
|
var closeIconViewBox = "0 0 24 24";
|
|
450
458
|
var closeIconPathD = "M6 18L18 6M6 6l12 12";
|
|
@@ -664,7 +672,8 @@ function mergeTigerLocale(base, override) {
|
|
|
664
672
|
modal: { ...base?.modal, ...override?.modal },
|
|
665
673
|
drawer: { ...base?.drawer, ...override?.drawer },
|
|
666
674
|
upload: { ...base?.upload, ...override?.upload },
|
|
667
|
-
pagination: { ...base?.pagination, ...override?.pagination }
|
|
675
|
+
pagination: { ...base?.pagination, ...override?.pagination },
|
|
676
|
+
formWizard: { ...base?.formWizard, ...override?.formWizard }
|
|
668
677
|
};
|
|
669
678
|
}
|
|
670
679
|
var DEFAULT_PAGINATION_LABELS = {
|
|
@@ -685,6 +694,23 @@ var ZH_CN_PAGINATION_LABELS = {
|
|
|
685
694
|
nextPageAriaLabel: "\u4E0B\u4E00\u9875",
|
|
686
695
|
pageAriaLabel: "\u7B2C {page} \u9875"
|
|
687
696
|
};
|
|
697
|
+
var DEFAULT_FORM_WIZARD_LABELS = {
|
|
698
|
+
prevText: "Previous",
|
|
699
|
+
nextText: "Next",
|
|
700
|
+
finishText: "Finish"
|
|
701
|
+
};
|
|
702
|
+
var ZH_CN_FORM_WIZARD_LABELS = {
|
|
703
|
+
prevText: "\u4E0A\u4E00\u6B65",
|
|
704
|
+
nextText: "\u4E0B\u4E00\u6B65",
|
|
705
|
+
finishText: "\u5B8C\u6210"
|
|
706
|
+
};
|
|
707
|
+
function getFormWizardLabels(locale) {
|
|
708
|
+
return {
|
|
709
|
+
prevText: locale?.formWizard?.prevText ?? DEFAULT_FORM_WIZARD_LABELS.prevText,
|
|
710
|
+
nextText: locale?.formWizard?.nextText ?? DEFAULT_FORM_WIZARD_LABELS.nextText,
|
|
711
|
+
finishText: locale?.formWizard?.finishText ?? DEFAULT_FORM_WIZARD_LABELS.finishText
|
|
712
|
+
};
|
|
713
|
+
}
|
|
688
714
|
function getPaginationLabels(locale) {
|
|
689
715
|
return {
|
|
690
716
|
totalText: locale?.pagination?.totalText ?? DEFAULT_PAGINATION_LABELS.totalText,
|
|
@@ -767,24 +793,18 @@ function pluralizeEn(value, singular) {
|
|
|
767
793
|
}
|
|
768
794
|
function getTimePickerOptionAriaLabel(value, unit, locale, labelOverrides) {
|
|
769
795
|
const labels = getTimePickerLabels(locale, labelOverrides);
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
return `${value}${suffix}`;
|
|
773
|
-
}
|
|
796
|
+
const unitLabel = unit === "hour" ? labels.hour : unit === "minute" ? labels.minute : labels.second;
|
|
797
|
+
if (isZhLocale(locale)) return `${value}${unitLabel}`;
|
|
774
798
|
const lc = (locale ?? "").toLowerCase();
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
if (unit === "hour") return `${value} ${pluralizeEn(value, "hour")}`;
|
|
778
|
-
if (unit === "minute") return `${value} ${pluralizeEn(value, "minute")}`;
|
|
779
|
-
return `${value} ${pluralizeEn(value, "second")}`;
|
|
799
|
+
if (lc.startsWith("en") || !lc && !labelOverrides) {
|
|
800
|
+
return `${value} ${pluralizeEn(value, unit)}`;
|
|
780
801
|
}
|
|
781
|
-
const unitLabel = unit === "hour" ? labels.hour : unit === "minute" ? labels.minute : labels.second;
|
|
782
802
|
return `${value} ${unitLabel}`;
|
|
783
803
|
}
|
|
784
804
|
var timePickerBaseClasses = "relative inline-block w-full max-w-xs";
|
|
785
805
|
var timePickerInputWrapperClasses = "relative flex items-center";
|
|
786
806
|
function getTimePickerInputClasses(size, disabled) {
|
|
787
|
-
const
|
|
807
|
+
const baseClasses2 = [
|
|
788
808
|
"w-full rounded-md border border-gray-300",
|
|
789
809
|
"focus:outline-none focus:ring-2 focus:ring-[var(--tiger-primary,#2563eb)] focus:border-transparent",
|
|
790
810
|
"transition-colors duration-200",
|
|
@@ -797,10 +817,10 @@ function getTimePickerInputClasses(size, disabled) {
|
|
|
797
817
|
lg: "px-4 py-3 text-lg"
|
|
798
818
|
};
|
|
799
819
|
const stateClasses = disabled ? "bg-gray-100 text-gray-400 cursor-not-allowed" : "bg-white text-gray-900 cursor-pointer hover:border-gray-400";
|
|
800
|
-
return [...
|
|
820
|
+
return [...baseClasses2, sizeClasses[size], stateClasses].join(" ");
|
|
801
821
|
}
|
|
802
822
|
function getTimePickerIconButtonClasses(size) {
|
|
803
|
-
const
|
|
823
|
+
const baseClasses2 = [
|
|
804
824
|
"absolute right-1 flex items-center justify-center",
|
|
805
825
|
"text-gray-400 hover:text-gray-600",
|
|
806
826
|
"focus:outline-none focus:ring-2 focus:ring-[var(--tiger-primary,#2563eb)] focus:ring-offset-1",
|
|
@@ -812,7 +832,7 @@ function getTimePickerIconButtonClasses(size) {
|
|
|
812
832
|
md: "w-8 h-8",
|
|
813
833
|
lg: "w-10 h-10"
|
|
814
834
|
};
|
|
815
|
-
return [...
|
|
835
|
+
return [...baseClasses2, sizeClasses[size]].join(" ");
|
|
816
836
|
}
|
|
817
837
|
var timePickerClearButtonClasses = [
|
|
818
838
|
"absolute right-10 flex items-center justify-center",
|
|
@@ -830,18 +850,18 @@ var timePickerRangeHeaderClasses = [
|
|
|
830
850
|
"flex items-center gap-2"
|
|
831
851
|
].join(" ");
|
|
832
852
|
function getTimePickerRangeTabButtonClasses(isActive) {
|
|
833
|
-
const
|
|
853
|
+
const baseClasses2 = [
|
|
834
854
|
"px-3 py-1 text-xs font-medium rounded",
|
|
835
855
|
"border border-gray-300",
|
|
836
856
|
"focus:outline-none focus:ring-2 focus:ring-[var(--tiger-primary,#2563eb)] focus:ring-offset-1",
|
|
837
857
|
"transition-colors duration-150"
|
|
838
858
|
];
|
|
839
859
|
if (isActive) {
|
|
840
|
-
return [...
|
|
860
|
+
return [...baseClasses2, "bg-[var(--tiger-primary,#2563eb)] text-white border-transparent"].join(
|
|
841
861
|
" "
|
|
842
862
|
);
|
|
843
863
|
}
|
|
844
|
-
return [...
|
|
864
|
+
return [...baseClasses2, "bg-white hover:bg-gray-50 text-gray-700"].join(" ");
|
|
845
865
|
}
|
|
846
866
|
var timePickerColumnClasses = "flex flex-col overflow-hidden shrink-0 w-16";
|
|
847
867
|
var timePickerColumnHeaderClasses = [
|
|
@@ -852,27 +872,27 @@ var timePickerColumnListClasses = [
|
|
|
852
872
|
"overflow-y-auto max-h-48 scrollbar-thin scrollbar-thumb-gray-300 scrollbar-track-gray-100"
|
|
853
873
|
].join(" ");
|
|
854
874
|
function getTimePickerItemClasses(isSelected, isDisabled) {
|
|
855
|
-
const
|
|
875
|
+
const baseClasses2 = [
|
|
856
876
|
"w-full px-3 py-1.5 text-sm text-center",
|
|
857
877
|
"hover:bg-gray-100 focus:outline-none focus:bg-gray-100",
|
|
858
878
|
"transition-colors duration-150",
|
|
859
879
|
"cursor-pointer"
|
|
860
880
|
];
|
|
861
881
|
if (isDisabled) {
|
|
862
|
-
return [...
|
|
882
|
+
return [...baseClasses2, "text-gray-300 cursor-not-allowed hover:bg-transparent"].join(" ");
|
|
863
883
|
}
|
|
864
884
|
if (isSelected) {
|
|
865
885
|
return [
|
|
866
|
-
...
|
|
886
|
+
...baseClasses2,
|
|
867
887
|
"bg-[var(--tiger-primary,#2563eb)] text-white",
|
|
868
888
|
"hover:bg-[var(--tiger-primary-hover,#1d4ed8)]",
|
|
869
889
|
"font-medium"
|
|
870
890
|
].join(" ");
|
|
871
891
|
}
|
|
872
|
-
return [...
|
|
892
|
+
return [...baseClasses2, "text-gray-700"].join(" ");
|
|
873
893
|
}
|
|
874
894
|
function getTimePickerPeriodButtonClasses(isSelected) {
|
|
875
|
-
const
|
|
895
|
+
const baseClasses2 = [
|
|
876
896
|
"w-full px-3 py-2 text-sm font-medium text-center",
|
|
877
897
|
"hover:bg-gray-100 focus:outline-none focus:bg-gray-100",
|
|
878
898
|
"transition-colors duration-150",
|
|
@@ -880,12 +900,12 @@ function getTimePickerPeriodButtonClasses(isSelected) {
|
|
|
880
900
|
];
|
|
881
901
|
if (isSelected) {
|
|
882
902
|
return [
|
|
883
|
-
...
|
|
903
|
+
...baseClasses2,
|
|
884
904
|
"bg-[var(--tiger-primary,#2563eb)] text-white",
|
|
885
905
|
"hover:bg-[var(--tiger-primary-hover,#1d4ed8)]"
|
|
886
906
|
].join(" ");
|
|
887
907
|
}
|
|
888
|
-
return [...
|
|
908
|
+
return [...baseClasses2, "text-gray-700"].join(" ");
|
|
889
909
|
}
|
|
890
910
|
var timePickerFooterClasses = [
|
|
891
911
|
"px-3 py-2 border-t border-gray-200",
|
|
@@ -1023,35 +1043,20 @@ var INPUT_SIZE_CLASSES = {
|
|
|
1023
1043
|
md: "py-2 text-base",
|
|
1024
1044
|
lg: "py-3 text-lg"
|
|
1025
1045
|
};
|
|
1026
|
-
var
|
|
1027
|
-
sm: "pl-2",
|
|
1028
|
-
md: "pl-3",
|
|
1029
|
-
lg: "pl-4"
|
|
1030
|
-
};
|
|
1031
|
-
var PADDING_RIGHT = {
|
|
1032
|
-
sm: "pr-2",
|
|
1033
|
-
md: "pr-3",
|
|
1034
|
-
lg: "pr-4"
|
|
1046
|
+
var INPUT_PADDING = {
|
|
1047
|
+
sm: { left: "pl-2", right: "pr-2", prefixLeft: "pl-8", suffixRight: "pr-8" },
|
|
1048
|
+
md: { left: "pl-3", right: "pr-3", prefixLeft: "pl-10", suffixRight: "pr-10" },
|
|
1049
|
+
lg: { left: "pl-4", right: "pr-4", prefixLeft: "pl-12", suffixRight: "pr-12" }
|
|
1035
1050
|
};
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
lg: "pl-12"
|
|
1040
|
-
};
|
|
1041
|
-
var SUFFIX_PADDING = {
|
|
1042
|
-
sm: "pr-8",
|
|
1043
|
-
md: "pr-10",
|
|
1044
|
-
lg: "pr-12"
|
|
1045
|
-
};
|
|
1046
|
-
function getInputClasses(options = "md") {
|
|
1047
|
-
const opts = typeof options === "string" ? { size: options, status: "default" } : { size: "md", status: "default", ...options };
|
|
1048
|
-
const { size = "md", status = "default", hasPrefix, hasSuffix } = opts;
|
|
1051
|
+
function getInputClasses(options = {}) {
|
|
1052
|
+
const { size = "md", status = "default", hasPrefix, hasSuffix } = options;
|
|
1053
|
+
const pad = INPUT_PADDING[size];
|
|
1049
1054
|
return classNames(
|
|
1050
1055
|
...BASE_INPUT_CLASSES,
|
|
1051
1056
|
INPUT_SIZE_CLASSES[size],
|
|
1052
1057
|
STATUS_CLASSES[status],
|
|
1053
|
-
hasPrefix ?
|
|
1054
|
-
hasSuffix ?
|
|
1058
|
+
hasPrefix ? pad.prefixLeft : pad.left,
|
|
1059
|
+
hasSuffix ? pad.suffixRight : pad.right
|
|
1055
1060
|
);
|
|
1056
1061
|
}
|
|
1057
1062
|
function getInputWrapperClasses() {
|
|
@@ -1068,17 +1073,108 @@ function getInputAffixClasses(position, size = "md") {
|
|
|
1068
1073
|
return classNames(base, posClass, widthClass);
|
|
1069
1074
|
}
|
|
1070
1075
|
function getInputErrorClasses(size = "md") {
|
|
1071
|
-
const padding = {
|
|
1072
|
-
sm: "pr-2",
|
|
1073
|
-
md: "pr-3",
|
|
1074
|
-
lg: "pr-4"
|
|
1075
|
-
}[size];
|
|
1076
1076
|
return classNames(
|
|
1077
1077
|
"absolute inset-y-0 right-0 flex items-center pointer-events-none",
|
|
1078
|
-
|
|
1078
|
+
INPUT_PADDING[size].right,
|
|
1079
1079
|
"text-red-500 text-sm"
|
|
1080
1080
|
);
|
|
1081
1081
|
}
|
|
1082
|
+
function parseInputValue(target, type) {
|
|
1083
|
+
if (type === "number") {
|
|
1084
|
+
return Number.isNaN(target.valueAsNumber) ? target.value : target.valueAsNumber;
|
|
1085
|
+
}
|
|
1086
|
+
return target.value;
|
|
1087
|
+
}
|
|
1088
|
+
|
|
1089
|
+
// src/utils/form-item-styles.ts
|
|
1090
|
+
var FORM_ITEM_SPACING = {
|
|
1091
|
+
sm: "mb-3 last:mb-0",
|
|
1092
|
+
md: "mb-4 last:mb-0",
|
|
1093
|
+
lg: "mb-6 last:mb-0"
|
|
1094
|
+
};
|
|
1095
|
+
var LABEL_TEXT_SIZE = {
|
|
1096
|
+
sm: "text-xs",
|
|
1097
|
+
md: "text-sm",
|
|
1098
|
+
lg: "text-base"
|
|
1099
|
+
};
|
|
1100
|
+
var LABEL_PADDING_TOP = {
|
|
1101
|
+
sm: "pt-1",
|
|
1102
|
+
md: "pt-2",
|
|
1103
|
+
lg: "pt-3"
|
|
1104
|
+
};
|
|
1105
|
+
var ERROR_TEXT_SIZE = {
|
|
1106
|
+
sm: "text-xs",
|
|
1107
|
+
md: "text-xs",
|
|
1108
|
+
lg: "text-sm"
|
|
1109
|
+
};
|
|
1110
|
+
var ERROR_MIN_HEIGHT = {
|
|
1111
|
+
sm: "min-h-[1rem]",
|
|
1112
|
+
md: "min-h-[1.25rem]",
|
|
1113
|
+
lg: "min-h-[1.5rem]"
|
|
1114
|
+
};
|
|
1115
|
+
function getFormItemClasses(options = {}) {
|
|
1116
|
+
const { size = "md", labelPosition = "right", hasError = false, disabled = false } = options;
|
|
1117
|
+
const layoutClasses = labelPosition === "top" ? "flex flex-col gap-2" : "flex items-start gap-4";
|
|
1118
|
+
return classNames(
|
|
1119
|
+
"tiger-form-item",
|
|
1120
|
+
"w-full",
|
|
1121
|
+
`tiger-form-item--${size}`,
|
|
1122
|
+
`tiger-form-item--label-${labelPosition}`,
|
|
1123
|
+
layoutClasses,
|
|
1124
|
+
FORM_ITEM_SPACING[size],
|
|
1125
|
+
hasError && "tiger-form-item--error",
|
|
1126
|
+
disabled && "tiger-form-item--disabled"
|
|
1127
|
+
);
|
|
1128
|
+
}
|
|
1129
|
+
function getFormItemLabelClasses(options = {}) {
|
|
1130
|
+
const { size = "md", labelPosition = "right", labelAlign = "right", isRequired = false } = options;
|
|
1131
|
+
const alignClass = labelAlign === "right" ? "text-right" : "text-left";
|
|
1132
|
+
const positionClasses = labelPosition === "top" ? "w-full" : "shrink-0";
|
|
1133
|
+
const paddingClass = labelPosition === "top" ? "" : LABEL_PADDING_TOP[size];
|
|
1134
|
+
return classNames(
|
|
1135
|
+
"tiger-form-item__label",
|
|
1136
|
+
`tiger-form-item__label--${labelAlign}`,
|
|
1137
|
+
"font-medium",
|
|
1138
|
+
"text-[var(--tiger-text,#111827)]",
|
|
1139
|
+
LABEL_TEXT_SIZE[size],
|
|
1140
|
+
alignClass,
|
|
1141
|
+
positionClasses,
|
|
1142
|
+
paddingClass,
|
|
1143
|
+
isRequired && "tiger-form-item__label--required"
|
|
1144
|
+
);
|
|
1145
|
+
}
|
|
1146
|
+
function getFormItemContentClasses(labelPosition = "right") {
|
|
1147
|
+
return classNames(
|
|
1148
|
+
"tiger-form-item__content",
|
|
1149
|
+
labelPosition === "top" ? "w-full" : "flex-1",
|
|
1150
|
+
"min-w-0",
|
|
1151
|
+
"flex",
|
|
1152
|
+
"flex-col"
|
|
1153
|
+
);
|
|
1154
|
+
}
|
|
1155
|
+
function getFormItemFieldClasses() {
|
|
1156
|
+
return classNames("tiger-form-item__field", "w-full");
|
|
1157
|
+
}
|
|
1158
|
+
function getFormItemErrorClasses(size = "md") {
|
|
1159
|
+
return classNames(
|
|
1160
|
+
"tiger-form-item__error",
|
|
1161
|
+
"mt-1",
|
|
1162
|
+
ERROR_TEXT_SIZE[size],
|
|
1163
|
+
ERROR_MIN_HEIGHT[size],
|
|
1164
|
+
"text-[var(--tiger-error,#ef4444)]",
|
|
1165
|
+
"transition-opacity",
|
|
1166
|
+
"duration-150",
|
|
1167
|
+
"opacity-0"
|
|
1168
|
+
);
|
|
1169
|
+
}
|
|
1170
|
+
function getFormItemAsteriskClasses() {
|
|
1171
|
+
return classNames(
|
|
1172
|
+
"tiger-form-item__asterisk",
|
|
1173
|
+
"mr-1",
|
|
1174
|
+
"font-semibold",
|
|
1175
|
+
"text-[var(--tiger-error,#ef4444)]"
|
|
1176
|
+
);
|
|
1177
|
+
}
|
|
1082
1178
|
|
|
1083
1179
|
// src/utils/select-utils.ts
|
|
1084
1180
|
var selectBaseClasses = "relative inline-block w-full";
|
|
@@ -1089,7 +1185,6 @@ var SELECT_TRIGGER_BASE_CLASSES = [
|
|
|
1089
1185
|
"justify-between",
|
|
1090
1186
|
"gap-2",
|
|
1091
1187
|
"px-3",
|
|
1092
|
-
"py-2",
|
|
1093
1188
|
"bg-[var(--tiger-select-trigger-bg,var(--tiger-surface,#ffffff))]",
|
|
1094
1189
|
"border",
|
|
1095
1190
|
"border-[var(--tiger-select-trigger-border,var(--tiger-border,#d1d5db))]",
|
|
@@ -1145,6 +1240,17 @@ function getSelectOptionClasses(isSelected, isDisabled, size) {
|
|
|
1145
1240
|
function isOptionGroup(option) {
|
|
1146
1241
|
return !!option && typeof option === "object" && "options" in option && Array.isArray(option.options);
|
|
1147
1242
|
}
|
|
1243
|
+
function flattenSelectOptions(options) {
|
|
1244
|
+
const all = [];
|
|
1245
|
+
for (const item of options) {
|
|
1246
|
+
if (isOptionGroup(item)) {
|
|
1247
|
+
all.push(...item.options);
|
|
1248
|
+
} else {
|
|
1249
|
+
all.push(item);
|
|
1250
|
+
}
|
|
1251
|
+
}
|
|
1252
|
+
return all;
|
|
1253
|
+
}
|
|
1148
1254
|
function filterOptions(options, query) {
|
|
1149
1255
|
if (!query) {
|
|
1150
1256
|
return options;
|
|
@@ -1436,20 +1542,9 @@ var getRadioLabelClasses = ({ size, disabled, colors }) => classNames(
|
|
|
1436
1542
|
|
|
1437
1543
|
// src/utils/radio-group-utils.ts
|
|
1438
1544
|
var radioGroupDefaultClasses = "space-y-2";
|
|
1439
|
-
var getRadioGroupClasses = ({
|
|
1440
|
-
className,
|
|
1441
|
-
hasCustomClass
|
|
1442
|
-
} = {}) => {
|
|
1443
|
-
const effectiveHasCustomClass = hasCustomClass ?? !!className;
|
|
1444
|
-
return classNames(className, !effectiveHasCustomClass && radioGroupDefaultClasses);
|
|
1445
|
-
};
|
|
1545
|
+
var getRadioGroupClasses = ({ className } = {}) => classNames(className, !className && radioGroupDefaultClasses);
|
|
1446
1546
|
|
|
1447
1547
|
// src/utils/date-utils.ts
|
|
1448
|
-
function isValidDate(value) {
|
|
1449
|
-
if (!value) return false;
|
|
1450
|
-
const date = value instanceof Date ? value : new Date(value);
|
|
1451
|
-
return !isNaN(date.getTime());
|
|
1452
|
-
}
|
|
1453
1548
|
function parseDate(value) {
|
|
1454
1549
|
if (!value) return null;
|
|
1455
1550
|
if (value instanceof Date) {
|
|
@@ -1459,7 +1554,7 @@ function parseDate(value) {
|
|
|
1459
1554
|
return isNaN(parsed.getTime()) ? null : parsed;
|
|
1460
1555
|
}
|
|
1461
1556
|
function formatDate(date, format = "yyyy-MM-dd") {
|
|
1462
|
-
if (!date ||
|
|
1557
|
+
if (!date || isNaN(date.getTime())) return "";
|
|
1463
1558
|
const year = date.getFullYear();
|
|
1464
1559
|
const month = String(date.getMonth() + 1).padStart(2, "0");
|
|
1465
1560
|
const day = String(date.getDate()).padStart(2, "0");
|
|
@@ -1486,15 +1581,13 @@ function normalizeDate(date) {
|
|
|
1486
1581
|
return normalized;
|
|
1487
1582
|
}
|
|
1488
1583
|
function isDateInRange(date, minDate, maxDate) {
|
|
1489
|
-
if (
|
|
1584
|
+
if (isNaN(date.getTime())) return false;
|
|
1490
1585
|
const normalizedDate = normalizeDate(date);
|
|
1491
|
-
if (minDate &&
|
|
1492
|
-
|
|
1493
|
-
if (normalizedDate < normalizedMin) return false;
|
|
1586
|
+
if (minDate && !isNaN(minDate.getTime())) {
|
|
1587
|
+
if (normalizedDate < normalizeDate(minDate)) return false;
|
|
1494
1588
|
}
|
|
1495
|
-
if (maxDate &&
|
|
1496
|
-
|
|
1497
|
-
if (normalizedDate > normalizedMax) return false;
|
|
1589
|
+
if (maxDate && !isNaN(maxDate.getTime())) {
|
|
1590
|
+
if (normalizedDate > normalizeDate(maxDate)) return false;
|
|
1498
1591
|
}
|
|
1499
1592
|
return true;
|
|
1500
1593
|
}
|
|
@@ -1621,7 +1714,7 @@ function isToday(date) {
|
|
|
1621
1714
|
var datePickerBaseClasses = "relative inline-block w-full";
|
|
1622
1715
|
var datePickerInputWrapperClasses = "relative w-full";
|
|
1623
1716
|
function getDatePickerInputClasses(size = "md", disabled = false) {
|
|
1624
|
-
const
|
|
1717
|
+
const baseClasses2 = [
|
|
1625
1718
|
"w-full",
|
|
1626
1719
|
"rounded-md",
|
|
1627
1720
|
"border",
|
|
@@ -1643,10 +1736,10 @@ function getDatePickerInputClasses(size = "md", disabled = false) {
|
|
|
1643
1736
|
lg: "px-4 py-3 text-lg"
|
|
1644
1737
|
};
|
|
1645
1738
|
const disabledClasses = disabled ? ["bg-gray-100", "cursor-not-allowed", "text-gray-500"] : ["cursor-pointer"];
|
|
1646
|
-
return classNames(...
|
|
1739
|
+
return classNames(...baseClasses2, sizeClasses[size], ...disabledClasses);
|
|
1647
1740
|
}
|
|
1648
1741
|
function getDatePickerIconButtonClasses(size = "md") {
|
|
1649
|
-
const
|
|
1742
|
+
const baseClasses2 = [
|
|
1650
1743
|
"absolute",
|
|
1651
1744
|
"right-0",
|
|
1652
1745
|
"top-0",
|
|
@@ -1663,7 +1756,7 @@ function getDatePickerIconButtonClasses(size = "md") {
|
|
|
1663
1756
|
md: "px-3",
|
|
1664
1757
|
lg: "px-4"
|
|
1665
1758
|
};
|
|
1666
|
-
return classNames(...
|
|
1759
|
+
return classNames(...baseClasses2, sizeClasses[size]);
|
|
1667
1760
|
}
|
|
1668
1761
|
var datePickerCalendarClasses = classNames(
|
|
1669
1762
|
"absolute",
|
|
@@ -1704,33 +1797,22 @@ var datePickerDayNameClasses = classNames(
|
|
|
1704
1797
|
"py-2"
|
|
1705
1798
|
);
|
|
1706
1799
|
function getDatePickerDayCellClasses(isCurrentMonth, isSelected, isToday2, isDisabled, isInRange = false, isRangeStart = false, isRangeEnd = false) {
|
|
1707
|
-
const
|
|
1708
|
-
|
|
1709
|
-
"
|
|
1710
|
-
"flex",
|
|
1711
|
-
"items-center",
|
|
1712
|
-
"justify-center",
|
|
1713
|
-
"rounded-md",
|
|
1714
|
-
"text-sm",
|
|
1715
|
-
"transition-colors"
|
|
1716
|
-
];
|
|
1717
|
-
const interactionClasses = isDisabled ? ["cursor-not-allowed", "text-gray-300"] : ["cursor-pointer", "hover:bg-gray-100"];
|
|
1718
|
-
const monthClasses = isCurrentMonth ? ["text-gray-900"] : ["text-gray-400"];
|
|
1719
|
-
const stateClasses = [];
|
|
1720
|
-
if (isInRange && !isDisabled && !isSelected) {
|
|
1721
|
-
stateClasses.push("bg-[var(--tiger-outline-bg-hover,#eff6ff)]");
|
|
1800
|
+
const base = "w-10 h-10 flex items-center justify-center rounded-md text-sm transition-colors";
|
|
1801
|
+
if (isDisabled) {
|
|
1802
|
+
return classNames(base, "cursor-not-allowed text-gray-300");
|
|
1722
1803
|
}
|
|
1723
1804
|
if (isSelected || isRangeStart || isRangeEnd) {
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
"
|
|
1727
|
-
"
|
|
1728
|
-
"font-semibold"
|
|
1805
|
+
return classNames(
|
|
1806
|
+
base,
|
|
1807
|
+
"cursor-pointer",
|
|
1808
|
+
"bg-[var(--tiger-primary,#2563eb)] text-white",
|
|
1809
|
+
"hover:bg-[var(--tiger-primary-hover,#1d4ed8)] font-semibold"
|
|
1729
1810
|
);
|
|
1730
|
-
} else if (isToday2) {
|
|
1731
|
-
stateClasses.push("border", "border-[var(--tiger-primary,#2563eb)]", "font-semibold");
|
|
1732
1811
|
}
|
|
1733
|
-
|
|
1812
|
+
const color = isCurrentMonth ? "text-gray-900" : "text-gray-400";
|
|
1813
|
+
const range = isInRange ? "bg-[var(--tiger-outline-bg-hover,#eff6ff)]" : "";
|
|
1814
|
+
const today = isToday2 ? "border border-[var(--tiger-primary,#2563eb)] font-semibold" : "";
|
|
1815
|
+
return classNames(base, "cursor-pointer hover:bg-gray-100", color, range, today);
|
|
1734
1816
|
}
|
|
1735
1817
|
var datePickerClearButtonClasses = classNames(
|
|
1736
1818
|
"absolute",
|
|
@@ -1813,15 +1895,7 @@ function to24HourFormat(hours, period) {
|
|
|
1813
1895
|
}
|
|
1814
1896
|
}
|
|
1815
1897
|
function formatTimeDisplay(hours, minutes, seconds = 0, format = "24", showSeconds = false) {
|
|
1816
|
-
|
|
1817
|
-
const { hours: hours12, period } = to12HourFormat(hours);
|
|
1818
|
-
const h = hours12.toString().padStart(2, "0");
|
|
1819
|
-
const m = clampValue(minutes, 0, 59).toString().padStart(2, "0");
|
|
1820
|
-
const s = clampValue(seconds, 0, 59).toString().padStart(2, "0");
|
|
1821
|
-
const timeStr = showSeconds ? `${h}:${m}:${s}` : `${h}:${m}`;
|
|
1822
|
-
return `${timeStr} ${period}`;
|
|
1823
|
-
}
|
|
1824
|
-
return formatTime(hours, minutes, seconds, showSeconds);
|
|
1898
|
+
return formatTimeDisplayWithLocale(hours, minutes, seconds, format, showSeconds);
|
|
1825
1899
|
}
|
|
1826
1900
|
function getTimePeriodLabels(locale) {
|
|
1827
1901
|
if (!locale) return { am: "AM", pm: "PM" };
|
|
@@ -1885,21 +1959,19 @@ function generateHours(step = 1, format = "24") {
|
|
|
1885
1959
|
}
|
|
1886
1960
|
return hours;
|
|
1887
1961
|
}
|
|
1888
|
-
function
|
|
1889
|
-
const minutes = [];
|
|
1962
|
+
function generateTimeSlots(step, max) {
|
|
1890
1963
|
const validStep = validateStep(step);
|
|
1891
|
-
|
|
1892
|
-
|
|
1964
|
+
const values = [];
|
|
1965
|
+
for (let i = 0; i < max; i += validStep) {
|
|
1966
|
+
values.push(i);
|
|
1893
1967
|
}
|
|
1894
|
-
return
|
|
1968
|
+
return values;
|
|
1969
|
+
}
|
|
1970
|
+
function generateMinutes(step = 1) {
|
|
1971
|
+
return generateTimeSlots(step, 60);
|
|
1895
1972
|
}
|
|
1896
1973
|
function generateSeconds(step = 1) {
|
|
1897
|
-
|
|
1898
|
-
const validStep = validateStep(step);
|
|
1899
|
-
for (let i = 0; i < 60; i += validStep) {
|
|
1900
|
-
seconds.push(i);
|
|
1901
|
-
}
|
|
1902
|
-
return seconds;
|
|
1974
|
+
return generateTimeSlots(step, 60);
|
|
1903
1975
|
}
|
|
1904
1976
|
function getCurrentTime(showSeconds = false) {
|
|
1905
1977
|
const now = /* @__PURE__ */ new Date();
|
|
@@ -2039,8 +2111,8 @@ function formatFileSize(bytes) {
|
|
|
2039
2111
|
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
2040
2112
|
return `${(bytes / Math.pow(k, i)).toFixed(2)} ${units[i]}`;
|
|
2041
2113
|
}
|
|
2042
|
-
function getUploadButtonClasses(
|
|
2043
|
-
const
|
|
2114
|
+
function getUploadButtonClasses(disabled) {
|
|
2115
|
+
const baseClasses2 = [
|
|
2044
2116
|
"inline-flex",
|
|
2045
2117
|
"items-center",
|
|
2046
2118
|
"justify-center",
|
|
@@ -2065,10 +2137,10 @@ function getUploadButtonClasses(drag, disabled) {
|
|
|
2065
2137
|
"focus:ring-[var(--tiger-primary,#2563eb)]",
|
|
2066
2138
|
"cursor-pointer"
|
|
2067
2139
|
];
|
|
2068
|
-
return classNames(...
|
|
2140
|
+
return classNames(...baseClasses2, ...stateClasses);
|
|
2069
2141
|
}
|
|
2070
2142
|
function getDragAreaClasses(isDragging, disabled) {
|
|
2071
|
-
const
|
|
2143
|
+
const baseClasses2 = [
|
|
2072
2144
|
"flex",
|
|
2073
2145
|
"flex-col",
|
|
2074
2146
|
"items-center",
|
|
@@ -2107,7 +2179,7 @@ function getDragAreaClasses(isDragging, disabled) {
|
|
|
2107
2179
|
...focusClasses
|
|
2108
2180
|
];
|
|
2109
2181
|
}
|
|
2110
|
-
return classNames(...
|
|
2182
|
+
return classNames(...baseClasses2, ...stateClasses);
|
|
2111
2183
|
}
|
|
2112
2184
|
var FILE_LIST_STATUS_CLASSES = {
|
|
2113
2185
|
ready: ["bg-gray-50", "hover:bg-gray-100"],
|
|
@@ -2122,7 +2194,7 @@ var PICTURE_CARD_STATUS_CLASSES = {
|
|
|
2122
2194
|
error: ["border-red-400", "bg-red-50"]
|
|
2123
2195
|
};
|
|
2124
2196
|
function getFileListItemClasses(status) {
|
|
2125
|
-
const
|
|
2197
|
+
const baseClasses2 = [
|
|
2126
2198
|
"flex",
|
|
2127
2199
|
"items-center",
|
|
2128
2200
|
"justify-between",
|
|
@@ -2133,10 +2205,10 @@ function getFileListItemClasses(status) {
|
|
|
2133
2205
|
"duration-200"
|
|
2134
2206
|
];
|
|
2135
2207
|
const stateClasses = status ? FILE_LIST_STATUS_CLASSES[status] : FILE_LIST_STATUS_CLASSES.ready;
|
|
2136
|
-
return classNames(...
|
|
2208
|
+
return classNames(...baseClasses2, ...stateClasses);
|
|
2137
2209
|
}
|
|
2138
2210
|
function getPictureCardClasses(status) {
|
|
2139
|
-
const
|
|
2211
|
+
const baseClasses2 = [
|
|
2140
2212
|
"relative",
|
|
2141
2213
|
"inline-flex",
|
|
2142
2214
|
"items-center",
|
|
@@ -2150,7 +2222,7 @@ function getPictureCardClasses(status) {
|
|
|
2150
2222
|
"duration-200"
|
|
2151
2223
|
];
|
|
2152
2224
|
const stateClasses = status ? PICTURE_CARD_STATUS_CLASSES[status] : PICTURE_CARD_STATUS_CLASSES.ready;
|
|
2153
|
-
return classNames(...
|
|
2225
|
+
return classNames(...baseClasses2, ...stateClasses);
|
|
2154
2226
|
}
|
|
2155
2227
|
|
|
2156
2228
|
// src/utils/grid.ts
|
|
@@ -2253,6 +2325,14 @@ function getColOrderStyleVars(order) {
|
|
|
2253
2325
|
setOrderVars(vars, order);
|
|
2254
2326
|
return vars;
|
|
2255
2327
|
}
|
|
2328
|
+
function getColMergedStyleVars(span, offset2, order, flex) {
|
|
2329
|
+
const vars = {};
|
|
2330
|
+
if (span !== void 0 && span !== null) setSpanVars(vars, span);
|
|
2331
|
+
if (offset2 !== void 0 && offset2 !== null) setOffsetVars(vars, offset2);
|
|
2332
|
+
if (order !== void 0 && order !== null) setOrderVars(vars, order);
|
|
2333
|
+
if (flex !== void 0) vars["--tiger-col-flex"] = String(flex).replace(/_/g, " ");
|
|
2334
|
+
return vars;
|
|
2335
|
+
}
|
|
2256
2336
|
function getAlignClasses(align) {
|
|
2257
2337
|
return ALIGN_MAP[align] || "items-start";
|
|
2258
2338
|
}
|
|
@@ -2297,34 +2377,48 @@ function getFlexClasses(flex) {
|
|
|
2297
2377
|
}
|
|
2298
2378
|
|
|
2299
2379
|
// src/utils/divider.ts
|
|
2300
|
-
var
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
|
|
2380
|
+
var BORDER_COLOR = "border-[var(--tiger-border,#e5e7eb)]";
|
|
2381
|
+
var SPACING_H = {
|
|
2382
|
+
none: "",
|
|
2383
|
+
xs: "my-1",
|
|
2384
|
+
sm: "my-2",
|
|
2385
|
+
md: "my-4",
|
|
2386
|
+
lg: "my-6",
|
|
2387
|
+
xl: "my-8"
|
|
2388
|
+
};
|
|
2389
|
+
var SPACING_V = {
|
|
2390
|
+
none: "",
|
|
2391
|
+
xs: "mx-1",
|
|
2392
|
+
sm: "mx-2",
|
|
2393
|
+
md: "mx-4",
|
|
2394
|
+
lg: "mx-6",
|
|
2395
|
+
xl: "mx-8"
|
|
2307
2396
|
};
|
|
2308
2397
|
var LINE_STYLE_MAP = {
|
|
2309
2398
|
solid: "border-solid",
|
|
2310
2399
|
dashed: "border-dashed",
|
|
2311
2400
|
dotted: "border-dotted"
|
|
2312
2401
|
};
|
|
2313
|
-
|
|
2314
|
-
|
|
2315
|
-
|
|
2316
|
-
|
|
2317
|
-
|
|
2318
|
-
return LINE_STYLE_MAP[lineStyle];
|
|
2402
|
+
function getDividerClasses(orientation, lineStyle, spacing) {
|
|
2403
|
+
const isH = orientation === "horizontal";
|
|
2404
|
+
const base = isH ? `w-full border-t ${BORDER_COLOR}` : `h-full border-l ${BORDER_COLOR}`;
|
|
2405
|
+
const sp = (isH ? SPACING_H : SPACING_V)[spacing];
|
|
2406
|
+
return sp ? `${base} ${LINE_STYLE_MAP[lineStyle]} ${sp}` : `${base} ${LINE_STYLE_MAP[lineStyle]}`;
|
|
2319
2407
|
}
|
|
2320
|
-
function
|
|
2321
|
-
|
|
2408
|
+
function getDividerStyle(orientation, color, thickness) {
|
|
2409
|
+
if (!color && !thickness) return void 0;
|
|
2410
|
+
const style = {};
|
|
2411
|
+
if (color) style.borderColor = color;
|
|
2412
|
+
if (thickness) {
|
|
2413
|
+
style[orientation === "horizontal" ? "borderTopWidth" : "borderLeftWidth"] = thickness;
|
|
2414
|
+
}
|
|
2415
|
+
return style;
|
|
2322
2416
|
}
|
|
2323
2417
|
|
|
2324
2418
|
// src/utils/layout-utils.ts
|
|
2325
2419
|
var layoutRootClasses = "tiger-layout flex flex-col min-h-screen";
|
|
2326
2420
|
var layoutHeaderClasses = "tiger-header bg-[var(--tiger-surface,#ffffff)] border-b border-[var(--tiger-border,#e5e7eb)]";
|
|
2327
|
-
var layoutSidebarClasses = "tiger-sidebar bg-[var(--tiger-surface,#ffffff)] border-r border-[var(--tiger-border,#e5e7eb)] transition-all duration-300";
|
|
2421
|
+
var layoutSidebarClasses = "tiger-sidebar bg-[var(--tiger-surface,#ffffff)] border-r border-[var(--tiger-border,#e5e7eb)] overflow-hidden transition-all duration-300";
|
|
2328
2422
|
var layoutContentClasses = "tiger-content flex-1 bg-[var(--tiger-layout-content-bg,#f9fafb)] p-6";
|
|
2329
2423
|
var layoutFooterClasses = "tiger-footer bg-[var(--tiger-surface,#ffffff)] border-t border-[var(--tiger-border,#e5e7eb)] p-4";
|
|
2330
2424
|
|
|
@@ -2354,33 +2448,30 @@ var getContainerClasses = ({
|
|
|
2354
2448
|
);
|
|
2355
2449
|
|
|
2356
2450
|
// src/utils/space.ts
|
|
2357
|
-
var
|
|
2358
|
-
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
return
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
stretch: "items-stretch"
|
|
2379
|
-
};
|
|
2380
|
-
return alignMap[align];
|
|
2451
|
+
var SIZE_CLASS = {
|
|
2452
|
+
sm: "gap-2",
|
|
2453
|
+
md: "gap-4",
|
|
2454
|
+
lg: "gap-6"
|
|
2455
|
+
};
|
|
2456
|
+
var ALIGN_CLASS = {
|
|
2457
|
+
start: "items-start",
|
|
2458
|
+
end: "items-end",
|
|
2459
|
+
center: "items-center",
|
|
2460
|
+
baseline: "items-baseline",
|
|
2461
|
+
stretch: "items-stretch"
|
|
2462
|
+
};
|
|
2463
|
+
function getSpaceClasses({ direction = "horizontal", size = "md", align = "start", wrap = false } = {}, className) {
|
|
2464
|
+
return classNames(
|
|
2465
|
+
"inline-flex",
|
|
2466
|
+
direction === "horizontal" ? "flex-row" : "flex-col",
|
|
2467
|
+
ALIGN_CLASS[align],
|
|
2468
|
+
typeof size === "string" ? SIZE_CLASS[size] : void 0,
|
|
2469
|
+
wrap && "flex-wrap",
|
|
2470
|
+
className
|
|
2471
|
+
);
|
|
2381
2472
|
}
|
|
2382
|
-
function
|
|
2383
|
-
return
|
|
2473
|
+
function getSpaceStyle(size = "md") {
|
|
2474
|
+
return typeof size === "number" ? { gap: `${size}px` } : void 0;
|
|
2384
2475
|
}
|
|
2385
2476
|
|
|
2386
2477
|
// src/utils/table-utils.ts
|
|
@@ -2423,13 +2514,17 @@ function getFixedColumnOffsets(columns) {
|
|
|
2423
2514
|
}
|
|
2424
2515
|
function getTableWrapperClasses(bordered, maxHeight) {
|
|
2425
2516
|
return classNames(
|
|
2517
|
+
"relative",
|
|
2426
2518
|
tableContainerClasses,
|
|
2427
|
-
bordered && "border border-
|
|
2519
|
+
bordered && "border border-[var(--tiger-border,#e5e7eb)] rounded-lg overflow-hidden",
|
|
2428
2520
|
maxHeight && "overflow-y-auto"
|
|
2429
2521
|
);
|
|
2430
2522
|
}
|
|
2431
2523
|
function getTableHeaderClasses(stickyHeader) {
|
|
2432
|
-
return classNames(
|
|
2524
|
+
return classNames(
|
|
2525
|
+
"bg-[var(--tiger-surface-muted,#f9fafb)] border-b border-[var(--tiger-border,#e5e7eb)]",
|
|
2526
|
+
stickyHeader && "sticky top-0 z-10"
|
|
2527
|
+
);
|
|
2433
2528
|
}
|
|
2434
2529
|
function getTableHeaderCellClasses(size, align, sortable, customClassName) {
|
|
2435
2530
|
const paddingClasses = {
|
|
@@ -2443,18 +2538,18 @@ function getTableHeaderCellClasses(size, align, sortable, customClassName) {
|
|
|
2443
2538
|
right: "text-right"
|
|
2444
2539
|
};
|
|
2445
2540
|
return classNames(
|
|
2446
|
-
"font-medium text-
|
|
2541
|
+
"font-medium text-[var(--tiger-text-muted,#6b7280)] text-xs uppercase tracking-wider",
|
|
2447
2542
|
paddingClasses[size],
|
|
2448
2543
|
alignClasses[align],
|
|
2449
|
-
sortable && "cursor-pointer select-none hover:bg-
|
|
2544
|
+
sortable && "cursor-pointer select-none hover:bg-[var(--tiger-surface,#ffffff)]/50 transition-colors",
|
|
2450
2545
|
customClassName
|
|
2451
2546
|
);
|
|
2452
2547
|
}
|
|
2453
2548
|
function getTableRowClasses(hoverable, striped, isEven, customClassName) {
|
|
2454
2549
|
return classNames(
|
|
2455
|
-
"border-b border-
|
|
2456
|
-
hoverable && "hover:bg-
|
|
2457
|
-
striped && isEven && "bg-
|
|
2550
|
+
"border-b border-[var(--tiger-border,#e5e7eb)] last:border-b-0",
|
|
2551
|
+
hoverable && "hover:bg-[var(--tiger-surface-muted,#f9fafb)] transition-colors",
|
|
2552
|
+
striped && isEven && "bg-[var(--tiger-surface-muted,#f9fafb)]/50",
|
|
2458
2553
|
customClassName
|
|
2459
2554
|
);
|
|
2460
2555
|
}
|
|
@@ -2470,7 +2565,7 @@ function getTableCellClasses(size, align, customClassName) {
|
|
|
2470
2565
|
right: "text-right"
|
|
2471
2566
|
};
|
|
2472
2567
|
return classNames(
|
|
2473
|
-
"text-sm text-
|
|
2568
|
+
"text-sm text-[var(--tiger-text,#111827)]",
|
|
2474
2569
|
paddingClasses[size],
|
|
2475
2570
|
alignClasses[align],
|
|
2476
2571
|
customClassName
|
|
@@ -2482,9 +2577,9 @@ function getSortIconClasses(active) {
|
|
|
2482
2577
|
active ? "text-[var(--tiger-primary,#2563eb)]" : "text-gray-400"
|
|
2483
2578
|
);
|
|
2484
2579
|
}
|
|
2485
|
-
var tableEmptyStateClasses = "text-center py-12 text-
|
|
2580
|
+
var tableEmptyStateClasses = "text-center py-12 text-[var(--tiger-text-muted,#6b7280)]";
|
|
2486
2581
|
var tableLoadingOverlayClasses = classNames(
|
|
2487
|
-
"absolute inset-0 bg-
|
|
2582
|
+
"absolute inset-0 bg-[var(--tiger-surface,#ffffff)]/80 flex items-center justify-center z-20"
|
|
2488
2583
|
);
|
|
2489
2584
|
var tablePaginationContainerClasses = classNames(
|
|
2490
2585
|
"flex items-center justify-between px-4 py-3 border-t border-gray-200"
|
|
@@ -2600,27 +2695,17 @@ var badgePositionClasses = {
|
|
|
2600
2695
|
"bottom-left": "absolute -bottom-1 -left-1"
|
|
2601
2696
|
};
|
|
2602
2697
|
function formatBadgeContent(content, max = 99, showZero = false) {
|
|
2603
|
-
if (content === void 0 || content === null)
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
if (
|
|
2607
|
-
|
|
2608
|
-
}
|
|
2609
|
-
const num = Number(content);
|
|
2610
|
-
if (num === 0 && !showZero) {
|
|
2611
|
-
return null;
|
|
2612
|
-
}
|
|
2613
|
-
if (num > max) {
|
|
2614
|
-
return `${max}+`;
|
|
2615
|
-
}
|
|
2616
|
-
return String(num);
|
|
2698
|
+
if (content === void 0 || content === null) return null;
|
|
2699
|
+
if (typeof content === "string") return content;
|
|
2700
|
+
if (content === 0 && !showZero) return null;
|
|
2701
|
+
if (content > max) return `${max}+`;
|
|
2702
|
+
return String(content);
|
|
2617
2703
|
}
|
|
2618
2704
|
function shouldHideBadge(content, type, showZero) {
|
|
2619
|
-
if (type === "dot")
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
return formattedContent === null || formattedContent === "";
|
|
2705
|
+
if (type === "dot") return false;
|
|
2706
|
+
if (content === void 0 || content === null) return true;
|
|
2707
|
+
if (typeof content === "string") return content === "";
|
|
2708
|
+
return content === 0 && !showZero;
|
|
2624
2709
|
}
|
|
2625
2710
|
|
|
2626
2711
|
// src/utils/card-utils.ts
|
|
@@ -2638,7 +2723,6 @@ var cardVariantClasses = {
|
|
|
2638
2723
|
};
|
|
2639
2724
|
var cardHoverClasses = "cursor-pointer hover:shadow-xl hover:scale-[1.02]";
|
|
2640
2725
|
var cardHeaderClasses = "border-b border-[var(--tiger-border,#e5e7eb)] pb-3 mb-3";
|
|
2641
|
-
var cardBodyClasses = "";
|
|
2642
2726
|
var cardFooterClasses = "border-t border-[var(--tiger-border,#e5e7eb)] pt-3 mt-3";
|
|
2643
2727
|
var cardCoverClasses = "w-full h-48 object-cover";
|
|
2644
2728
|
var cardCoverWrapperClasses = "overflow-hidden";
|
|
@@ -2667,10 +2751,9 @@ var avatarDefaultBgColor = "bg-[var(--tiger-avatar-bg,#e5e7eb)]";
|
|
|
2667
2751
|
var avatarDefaultTextColor = "text-[var(--tiger-avatar-text,var(--tiger-text-muted,#6b7280))]";
|
|
2668
2752
|
var avatarImageClasses = "w-full h-full object-cover";
|
|
2669
2753
|
function getInitials(name) {
|
|
2670
|
-
const trimmed =
|
|
2754
|
+
const trimmed = name.trim();
|
|
2671
2755
|
if (!trimmed) return "";
|
|
2672
2756
|
const words = trimmed.split(/\s+/).filter(Boolean);
|
|
2673
|
-
if (words.length === 0) return "";
|
|
2674
2757
|
if (words.length === 1) {
|
|
2675
2758
|
const firstWord = words[0];
|
|
2676
2759
|
const hasNonASCII = /[^\x20-\x7E]/.test(firstWord);
|
|
@@ -2732,7 +2815,6 @@ var listHeaderFooterBaseClasses = "border-b border-[var(--tiger-border,#e5e7eb)]
|
|
|
2732
2815
|
var listFooterClasses = "border-t border-b-0";
|
|
2733
2816
|
var listEmptyStateClasses = "py-8 text-center text-[var(--tiger-text-muted,#6b7280)]";
|
|
2734
2817
|
var listLoadingOverlayClasses = "absolute inset-0 bg-[var(--tiger-surface,#ffffff)]/75 flex items-center justify-center z-10";
|
|
2735
|
-
var listPaginationContainerClasses = "flex items-center justify-between px-4 py-3 border-t border-[var(--tiger-border,#e5e7eb)]";
|
|
2736
2818
|
var listItemMetaClasses = "flex items-center gap-3 flex-1";
|
|
2737
2819
|
var listItemAvatarClasses = "flex-shrink-0";
|
|
2738
2820
|
var listItemContentClasses = "flex-1 min-w-0";
|
|
@@ -2800,7 +2882,6 @@ var descriptionsSizeClasses = {
|
|
|
2800
2882
|
};
|
|
2801
2883
|
var descriptionsTableClasses = "w-full border-collapse";
|
|
2802
2884
|
var descriptionsTableBorderedClasses = "border border-[var(--tiger-border,#e5e7eb)]";
|
|
2803
|
-
var descriptionsRowClasses = "";
|
|
2804
2885
|
var descriptionsCellSizeClasses = {
|
|
2805
2886
|
sm: "px-3 py-2",
|
|
2806
2887
|
md: "px-4 py-3",
|
|
@@ -2810,12 +2891,12 @@ var descriptionsLabelClasses = "font-medium bg-[var(--tiger-surface-muted,#f9faf
|
|
|
2810
2891
|
var descriptionsLabelBorderedClasses = "border border-[var(--tiger-border,#e5e7eb)]";
|
|
2811
2892
|
var descriptionsContentClasses = "text-[var(--tiger-text,#111827)]";
|
|
2812
2893
|
var descriptionsContentBorderedClasses = "border border-[var(--tiger-border,#e5e7eb)]";
|
|
2813
|
-
var descriptionsVerticalWrapperClasses = "
|
|
2894
|
+
var descriptionsVerticalWrapperClasses = "";
|
|
2814
2895
|
var descriptionsVerticalItemClasses = "border-b border-[var(--tiger-border,#e5e7eb)] last:border-b-0";
|
|
2815
2896
|
var descriptionsVerticalLabelClasses = "font-medium mb-1 text-[var(--tiger-text-muted,#374151)]";
|
|
2816
2897
|
var descriptionsVerticalContentClasses = "text-[var(--tiger-text,#111827)]";
|
|
2817
|
-
function getDescriptionsClasses(
|
|
2818
|
-
return
|
|
2898
|
+
function getDescriptionsClasses(size) {
|
|
2899
|
+
return `${descriptionsBaseClasses} ${descriptionsSizeClasses[size]}`;
|
|
2819
2900
|
}
|
|
2820
2901
|
function getDescriptionsTableClasses(bordered) {
|
|
2821
2902
|
const classes = [descriptionsTableClasses];
|
|
@@ -2844,12 +2925,8 @@ function getDescriptionsContentClasses(bordered, size, layout) {
|
|
|
2844
2925
|
}
|
|
2845
2926
|
return classes.join(" ");
|
|
2846
2927
|
}
|
|
2847
|
-
function getDescriptionsVerticalItemClasses(
|
|
2848
|
-
|
|
2849
|
-
if (!bordered) {
|
|
2850
|
-
classes.push(descriptionsVerticalItemClasses);
|
|
2851
|
-
}
|
|
2852
|
-
return classes.join(" ");
|
|
2928
|
+
function getDescriptionsVerticalItemClasses(size) {
|
|
2929
|
+
return `${descriptionsCellSizeClasses[size]} ${descriptionsVerticalItemClasses}`;
|
|
2853
2930
|
}
|
|
2854
2931
|
function groupItemsIntoRows(items, column) {
|
|
2855
2932
|
const rows = [];
|
|
@@ -2879,91 +2956,53 @@ function groupItemsIntoRows(items, column) {
|
|
|
2879
2956
|
// src/utils/timeline-utils.ts
|
|
2880
2957
|
var timelineContainerClasses = "relative";
|
|
2881
2958
|
var timelineListClasses = "list-none m-0 p-0";
|
|
2882
|
-
var timelineItemClasses = "relative pb-8
|
|
2959
|
+
var timelineItemClasses = "relative pb-8";
|
|
2883
2960
|
var timelineTailClasses = "absolute w-0.5 bg-[var(--tiger-border,#e5e7eb)]";
|
|
2884
|
-
var timelineHeadClasses = "absolute flex items-center justify-center";
|
|
2885
|
-
var timelineDotBgClass = "bg-[var(--tiger-timeline-dot,#d1d5db)]";
|
|
2886
|
-
var timelineDotClasses = `w-2.5 h-2.5 rounded-full border-2 border-[var(--tiger-surface,#ffffff)] ${timelineDotBgClass}`;
|
|
2887
|
-
var timelineCustomDotClasses = "flex items-center justify-center";
|
|
2961
|
+
var timelineHeadClasses = "absolute z-10 flex items-center justify-center";
|
|
2888
2962
|
var timelineContentClasses = "relative";
|
|
2963
|
+
var timelineCustomDotClasses = "flex items-center justify-center";
|
|
2889
2964
|
var timelineLabelClasses = "text-sm text-[var(--tiger-text-muted,#6b7280)] mb-1";
|
|
2890
2965
|
var timelineDescriptionClasses = "text-[var(--tiger-text,#374151)]";
|
|
2966
|
+
var timelineDotBase = "w-2.5 h-2.5 rounded-full border-2 border-[var(--tiger-surface,#ffffff)]";
|
|
2967
|
+
var timelineDotBg = "bg-[var(--tiger-timeline-dot,#d1d5db)]";
|
|
2968
|
+
var timelineDotClasses = `${timelineDotBase} ${timelineDotBg}`;
|
|
2969
|
+
var HEAD_TOP = "top-[18px]";
|
|
2970
|
+
var TAIL_TOP = "top-[23px]";
|
|
2971
|
+
var TAIL_BOTTOM = "-bottom-[23px]";
|
|
2891
2972
|
function getTimelineContainerClasses(mode) {
|
|
2892
|
-
|
|
2893
|
-
|
|
2894
|
-
classes.push("pl-0");
|
|
2895
|
-
} else if (mode === "alternate") {
|
|
2896
|
-
classes.push("flex flex-col");
|
|
2897
|
-
}
|
|
2898
|
-
return classes.join(" ");
|
|
2973
|
+
if (mode === "alternate") return `${timelineContainerClasses} flex flex-col`;
|
|
2974
|
+
return timelineContainerClasses;
|
|
2899
2975
|
}
|
|
2900
2976
|
function getTimelineItemClasses(mode, position, isLast = false) {
|
|
2901
|
-
const
|
|
2902
|
-
if (mode === "
|
|
2903
|
-
|
|
2904
|
-
|
|
2905
|
-
classes.push("pr-8 text-right");
|
|
2906
|
-
} else if (mode === "alternate") {
|
|
2907
|
-
if (position === "left") {
|
|
2908
|
-
classes.push("pr-8 text-right flex flex-row-reverse");
|
|
2909
|
-
} else {
|
|
2910
|
-
classes.push("pl-8 flex");
|
|
2911
|
-
}
|
|
2977
|
+
const base = isLast ? "relative pb-0" : timelineItemClasses;
|
|
2978
|
+
if (mode === "right") return `${base} pr-8 text-right`;
|
|
2979
|
+
if (mode === "alternate") {
|
|
2980
|
+
return position === "left" ? `${base} pr-8 text-right flex flex-row-reverse` : `${base} pl-8 flex`;
|
|
2912
2981
|
}
|
|
2913
|
-
|
|
2914
|
-
classes.push("pb-0");
|
|
2915
|
-
}
|
|
2916
|
-
return classes.join(" ");
|
|
2982
|
+
return `${base} pl-8`;
|
|
2917
2983
|
}
|
|
2918
|
-
function getTimelineTailClasses(mode,
|
|
2919
|
-
if (isLast)
|
|
2920
|
-
|
|
2921
|
-
}
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
classes.push("left-0 -translate-x-1/2 top-[10px] bottom-0");
|
|
2925
|
-
} else if (mode === "right") {
|
|
2926
|
-
classes.push("right-0 translate-x-1/2 top-[10px] bottom-0");
|
|
2927
|
-
} else if (mode === "alternate") {
|
|
2928
|
-
classes.push("left-1/2 -translate-x-1/2 top-[10px] bottom-0");
|
|
2929
|
-
}
|
|
2930
|
-
return classes.join(" ");
|
|
2984
|
+
function getTimelineTailClasses(mode, isLast = false) {
|
|
2985
|
+
if (isLast) return "hidden";
|
|
2986
|
+
const span = `${timelineTailClasses} ${TAIL_TOP} ${TAIL_BOTTOM}`;
|
|
2987
|
+
if (mode === "right") return `${span} right-0 translate-x-1/2`;
|
|
2988
|
+
if (mode === "alternate") return `${span} left-1/2 -translate-x-1/2`;
|
|
2989
|
+
return `${span} left-0 -translate-x-1/2`;
|
|
2931
2990
|
}
|
|
2932
|
-
function getTimelineHeadClasses(mode
|
|
2933
|
-
|
|
2934
|
-
if (mode === "
|
|
2935
|
-
|
|
2936
|
-
} else if (mode === "right") {
|
|
2937
|
-
classes.push("right-0 top-0 translate-x-1/2");
|
|
2938
|
-
} else if (mode === "alternate") {
|
|
2939
|
-
classes.push("left-1/2 -translate-x-1/2 top-0");
|
|
2940
|
-
}
|
|
2941
|
-
return classes.join(" ");
|
|
2991
|
+
function getTimelineHeadClasses(mode) {
|
|
2992
|
+
if (mode === "right") return `${timelineHeadClasses} right-0 ${HEAD_TOP} translate-x-1/2`;
|
|
2993
|
+
if (mode === "alternate") return `${timelineHeadClasses} left-1/2 -translate-x-1/2 ${HEAD_TOP}`;
|
|
2994
|
+
return `${timelineHeadClasses} left-0 ${HEAD_TOP} -translate-x-1/2`;
|
|
2942
2995
|
}
|
|
2943
2996
|
function getTimelineDotClasses(color, isCustom = false) {
|
|
2944
|
-
if (isCustom)
|
|
2945
|
-
|
|
2946
|
-
}
|
|
2947
|
-
const classes = [timelineDotClasses];
|
|
2948
|
-
if (color) {
|
|
2949
|
-
return classes.join(" ").replace(timelineDotBgClass, "");
|
|
2950
|
-
}
|
|
2951
|
-
return classes.join(" ");
|
|
2997
|
+
if (isCustom) return timelineCustomDotClasses;
|
|
2998
|
+
return color ? timelineDotBase : timelineDotClasses;
|
|
2952
2999
|
}
|
|
2953
3000
|
function getTimelineContentClasses(mode, position) {
|
|
2954
|
-
|
|
2955
|
-
if (mode === "
|
|
2956
|
-
|
|
2957
|
-
} else if (mode === "right") {
|
|
2958
|
-
classes.push("pr-2");
|
|
2959
|
-
} else if (mode === "alternate") {
|
|
2960
|
-
if (position === "left") {
|
|
2961
|
-
classes.push("pr-8");
|
|
2962
|
-
} else {
|
|
2963
|
-
classes.push("pl-8");
|
|
2964
|
-
}
|
|
3001
|
+
if (mode === "right") return `${timelineContentClasses} pr-2`;
|
|
3002
|
+
if (mode === "alternate") {
|
|
3003
|
+
return position === "left" ? `${timelineContentClasses} pr-8` : `${timelineContentClasses} pl-8`;
|
|
2965
3004
|
}
|
|
2966
|
-
return
|
|
3005
|
+
return `${timelineContentClasses} pl-2`;
|
|
2967
3006
|
}
|
|
2968
3007
|
function getPendingDotClasses() {
|
|
2969
3008
|
return "w-2.5 h-2.5 rounded-full border-2 border-white bg-[var(--tiger-primary,#2563eb)] animate-pulse";
|
|
@@ -2990,7 +3029,7 @@ var treeBaseClasses = "w-full bg-white rounded-lg";
|
|
|
2990
3029
|
var treeNodeWrapperClasses = "select-none";
|
|
2991
3030
|
var treeNodeContentClasses = "flex items-center px-2 py-1.5 cursor-pointer rounded transition-colors duration-200";
|
|
2992
3031
|
var treeNodeHoverClasses = "hover:bg-gray-50";
|
|
2993
|
-
var treeNodeSelectedClasses = "bg-[var(--tiger-primary,#2563eb)]
|
|
3032
|
+
var treeNodeSelectedClasses = "bg-[color-mix(in_srgb,var(--tiger-primary,#2563eb)_10%,transparent)] text-[var(--tiger-primary,#2563eb)]";
|
|
2994
3033
|
var treeNodeDisabledClasses = "opacity-50 cursor-not-allowed";
|
|
2995
3034
|
var treeNodeIndentClasses = "inline-block w-6";
|
|
2996
3035
|
var treeNodeExpandIconClasses = "inline-flex items-center justify-center w-6 h-6 transition-transform duration-200";
|
|
@@ -3003,40 +3042,16 @@ var treeLoadingClasses = "inline-block ml-2 animate-spin h-4 w-4";
|
|
|
3003
3042
|
var treeEmptyStateClasses = "py-8 text-center text-gray-500";
|
|
3004
3043
|
var treeLineClasses = "border-l border-gray-300";
|
|
3005
3044
|
function getTreeNodeClasses(selected, disabled, blockNode = false) {
|
|
3006
|
-
|
|
3007
|
-
|
|
3008
|
-
|
|
3009
|
-
|
|
3010
|
-
|
|
3011
|
-
|
|
3012
|
-
|
|
3013
|
-
if (disabled) {
|
|
3014
|
-
classes.push(treeNodeDisabledClasses);
|
|
3015
|
-
}
|
|
3016
|
-
if (blockNode) {
|
|
3017
|
-
classes.push("w-full");
|
|
3018
|
-
}
|
|
3019
|
-
return classes.join(" ");
|
|
3045
|
+
return classNames(
|
|
3046
|
+
treeNodeContentClasses,
|
|
3047
|
+
!disabled && treeNodeHoverClasses,
|
|
3048
|
+
selected && treeNodeSelectedClasses,
|
|
3049
|
+
disabled && treeNodeDisabledClasses,
|
|
3050
|
+
blockNode && "w-full"
|
|
3051
|
+
);
|
|
3020
3052
|
}
|
|
3021
3053
|
function getTreeNodeExpandIconClasses(expanded) {
|
|
3022
|
-
|
|
3023
|
-
if (expanded) {
|
|
3024
|
-
classes.push(treeNodeExpandIconExpandedClasses);
|
|
3025
|
-
}
|
|
3026
|
-
return classes.join(" ");
|
|
3027
|
-
}
|
|
3028
|
-
function flattenTree(treeData, expandedKeys = /* @__PURE__ */ new Set()) {
|
|
3029
|
-
const result = [];
|
|
3030
|
-
function traverse(nodes, level = 0, parentKey) {
|
|
3031
|
-
nodes.forEach((node) => {
|
|
3032
|
-
result.push({ ...node, level, parentKey });
|
|
3033
|
-
if (node.children && node.children.length > 0 && expandedKeys.has(node.key)) {
|
|
3034
|
-
traverse(node.children, level + 1, node.key);
|
|
3035
|
-
}
|
|
3036
|
-
});
|
|
3037
|
-
}
|
|
3038
|
-
traverse(treeData);
|
|
3039
|
-
return result;
|
|
3054
|
+
return classNames(treeNodeExpandIconClasses, expanded && treeNodeExpandIconExpandedClasses);
|
|
3040
3055
|
}
|
|
3041
3056
|
function getAllKeys(treeData) {
|
|
3042
3057
|
const keys = [];
|
|
@@ -3258,18 +3273,12 @@ function getAutoExpandKeys(treeData, matchedKeys) {
|
|
|
3258
3273
|
});
|
|
3259
3274
|
return expandKeys;
|
|
3260
3275
|
}
|
|
3261
|
-
|
|
3262
|
-
|
|
3263
|
-
|
|
3264
|
-
|
|
3265
|
-
|
|
3266
|
-
|
|
3267
|
-
`;
|
|
3268
|
-
var defaultIndeterminateIcon = `
|
|
3269
|
-
<svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor">
|
|
3270
|
-
<rect x="4" y="7" width="8" height="2" rx="1"/>
|
|
3271
|
-
</svg>
|
|
3272
|
-
`;
|
|
3276
|
+
function checkedSetsFromState(state) {
|
|
3277
|
+
return {
|
|
3278
|
+
checkedSet: new Set(state.checked),
|
|
3279
|
+
halfCheckedSet: new Set(state.halfChecked)
|
|
3280
|
+
};
|
|
3281
|
+
}
|
|
3273
3282
|
|
|
3274
3283
|
// src/utils/skeleton-utils.ts
|
|
3275
3284
|
var skeletonBaseClasses = "bg-[var(--tiger-skeleton-bg,#e5e7eb)] rounded";
|
|
@@ -3333,7 +3342,7 @@ function getParagraphRowWidth(rowIndex, totalRows) {
|
|
|
3333
3342
|
// src/utils/progress-utils.ts
|
|
3334
3343
|
var progressLineBaseClasses = "relative overflow-hidden rounded-full";
|
|
3335
3344
|
var progressLineInnerClasses = "h-full rounded-full transition-all duration-300 ease-in-out flex items-center justify-end";
|
|
3336
|
-
var progressTextBaseClasses = "font-medium ml-2
|
|
3345
|
+
var progressTextBaseClasses = "font-medium ml-2";
|
|
3337
3346
|
var progressCircleBaseClasses = "relative inline-flex items-center justify-center";
|
|
3338
3347
|
var progressLineSizeClasses = {
|
|
3339
3348
|
sm: "h-2",
|
|
@@ -3373,7 +3382,7 @@ function formatProgressText(percentage, customText, formatFn) {
|
|
|
3373
3382
|
function clampPercentage(percentage) {
|
|
3374
3383
|
return Math.max(0, Math.min(100, percentage));
|
|
3375
3384
|
}
|
|
3376
|
-
function calculateCirclePath(radius,
|
|
3385
|
+
function calculateCirclePath(radius, percentage) {
|
|
3377
3386
|
const circumference = 2 * Math.PI * radius;
|
|
3378
3387
|
const offset2 = circumference - percentage / 100 * circumference;
|
|
3379
3388
|
return {
|
|
@@ -3411,7 +3420,6 @@ var collapseIconPositionClasses = {
|
|
|
3411
3420
|
end: "ml-auto"
|
|
3412
3421
|
};
|
|
3413
3422
|
var collapseHeaderTextClasses = "flex-1 font-medium text-gray-900";
|
|
3414
|
-
var collapseExtraClasses = "ml-auto";
|
|
3415
3423
|
function getCollapseContainerClasses(bordered, ghost, className) {
|
|
3416
3424
|
const classes = [collapseBaseClasses];
|
|
3417
3425
|
if (ghost) {
|
|
@@ -3422,7 +3430,7 @@ function getCollapseContainerClasses(bordered, ghost, className) {
|
|
|
3422
3430
|
if (className) {
|
|
3423
3431
|
classes.push(className);
|
|
3424
3432
|
}
|
|
3425
|
-
return classes.
|
|
3433
|
+
return classes.join(" ");
|
|
3426
3434
|
}
|
|
3427
3435
|
function getCollapsePanelClasses(ghost, className) {
|
|
3428
3436
|
const classes = [];
|
|
@@ -3432,7 +3440,7 @@ function getCollapsePanelClasses(ghost, className) {
|
|
|
3432
3440
|
if (className) {
|
|
3433
3441
|
classes.push(className);
|
|
3434
3442
|
}
|
|
3435
|
-
return classes.
|
|
3443
|
+
return classes.join(" ");
|
|
3436
3444
|
}
|
|
3437
3445
|
function getCollapsePanelHeaderClasses(active, disabled, className) {
|
|
3438
3446
|
const classes = [collapsePanelHeaderBaseClasses];
|
|
@@ -3444,7 +3452,7 @@ function getCollapsePanelHeaderClasses(active, disabled, className) {
|
|
|
3444
3452
|
if (className) {
|
|
3445
3453
|
classes.push(className);
|
|
3446
3454
|
}
|
|
3447
|
-
return classes.
|
|
3455
|
+
return classes.join(" ");
|
|
3448
3456
|
}
|
|
3449
3457
|
function getCollapseIconClasses(expanded, position, className) {
|
|
3450
3458
|
const classes = [collapseIconBaseClasses, collapseIconPositionClasses[position]];
|
|
@@ -3454,7 +3462,7 @@ function getCollapseIconClasses(expanded, position, className) {
|
|
|
3454
3462
|
if (className) {
|
|
3455
3463
|
classes.push(className);
|
|
3456
3464
|
}
|
|
3457
|
-
return classes.
|
|
3465
|
+
return classes.join(" ");
|
|
3458
3466
|
}
|
|
3459
3467
|
function normalizeActiveKeys(activeKey) {
|
|
3460
3468
|
if (activeKey === void 0) {
|
|
@@ -3477,11 +3485,6 @@ function togglePanelKey(panelKey, activeKeys, accordion) {
|
|
|
3477
3485
|
}
|
|
3478
3486
|
}
|
|
3479
3487
|
}
|
|
3480
|
-
var collapseRightArrowIcon = `
|
|
3481
|
-
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
3482
|
-
<path d="M6 12L10 8L6 4" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
3483
|
-
</svg>
|
|
3484
|
-
`.trim();
|
|
3485
3488
|
|
|
3486
3489
|
// src/utils/menu-utils.ts
|
|
3487
3490
|
var menuBaseClasses = "flex border bg-[var(--tiger-surface,#ffffff)] text-[var(--tiger-text,#111827)] border-[var(--tiger-border,#e5e7eb)]";
|
|
@@ -3577,15 +3580,71 @@ function replaceKeys(key, keys) {
|
|
|
3577
3580
|
}
|
|
3578
3581
|
return [key];
|
|
3579
3582
|
}
|
|
3583
|
+
function getMenuButtons(container) {
|
|
3584
|
+
return Array.from(
|
|
3585
|
+
container.querySelectorAll('button[data-tiger-menuitem="true"]')
|
|
3586
|
+
).filter((el) => !el.disabled && !el.closest('[data-tiger-menu-hidden="true"]'));
|
|
3587
|
+
}
|
|
3588
|
+
function moveFocusInMenu(current, delta) {
|
|
3589
|
+
const menuEl = current.closest('ul[role="menu"]');
|
|
3590
|
+
if (!menuEl) return;
|
|
3591
|
+
const items = getMenuButtons(menuEl);
|
|
3592
|
+
const idx = items.indexOf(current);
|
|
3593
|
+
if (idx < 0) return;
|
|
3594
|
+
const next = items[(idx + delta + items.length) % items.length];
|
|
3595
|
+
items.forEach((el) => {
|
|
3596
|
+
el.tabIndex = el === next ? 0 : -1;
|
|
3597
|
+
});
|
|
3598
|
+
next.focus();
|
|
3599
|
+
}
|
|
3600
|
+
function focusMenuEdge(current, edge) {
|
|
3601
|
+
const menuEl = current.closest('ul[role="menu"]');
|
|
3602
|
+
if (!menuEl) return;
|
|
3603
|
+
const items = getMenuButtons(menuEl);
|
|
3604
|
+
if (items.length === 0) return;
|
|
3605
|
+
const target = edge === "start" ? items[0] : items[items.length - 1];
|
|
3606
|
+
items.forEach((el) => {
|
|
3607
|
+
el.tabIndex = el === target ? 0 : -1;
|
|
3608
|
+
});
|
|
3609
|
+
target.focus();
|
|
3610
|
+
}
|
|
3611
|
+
function initRovingTabIndex(root) {
|
|
3612
|
+
const items = getMenuButtons(root);
|
|
3613
|
+
if (items.length === 0) return;
|
|
3614
|
+
const hasActive = items.some((el) => el.tabIndex === 0);
|
|
3615
|
+
if (hasActive) return;
|
|
3616
|
+
const selected = items.find((el) => el.dataset.tigerSelected === "true");
|
|
3617
|
+
const active = selected ?? items[0];
|
|
3618
|
+
items.forEach((el) => {
|
|
3619
|
+
el.tabIndex = el === active ? 0 : -1;
|
|
3620
|
+
});
|
|
3621
|
+
}
|
|
3622
|
+
function focusFirstChildItem(titleEl) {
|
|
3623
|
+
const li = titleEl.closest("li");
|
|
3624
|
+
const submenu = li?.querySelector('ul[role="menu"]');
|
|
3625
|
+
if (!submenu) return;
|
|
3626
|
+
const items = getMenuButtons(submenu);
|
|
3627
|
+
if (items.length === 0) return;
|
|
3628
|
+
items.forEach((el, idx) => {
|
|
3629
|
+
el.tabIndex = idx === 0 ? 0 : -1;
|
|
3630
|
+
});
|
|
3631
|
+
items[0].focus();
|
|
3632
|
+
}
|
|
3580
3633
|
|
|
3581
3634
|
// src/utils/tabs-utils.ts
|
|
3582
3635
|
var tabsBaseClasses = "w-full";
|
|
3583
|
-
var tabNavBaseClasses = "flex
|
|
3636
|
+
var tabNavBaseClasses = "flex";
|
|
3584
3637
|
var tabNavPositionClasses = {
|
|
3585
|
-
top: "flex-row
|
|
3586
|
-
bottom: "flex-row
|
|
3587
|
-
left: "flex-col
|
|
3588
|
-
right: "flex-col
|
|
3638
|
+
top: "flex-row",
|
|
3639
|
+
bottom: "flex-row",
|
|
3640
|
+
left: "flex-col",
|
|
3641
|
+
right: "flex-col"
|
|
3642
|
+
};
|
|
3643
|
+
var tabNavLineBorderClasses = {
|
|
3644
|
+
top: "border-b border-gray-200",
|
|
3645
|
+
bottom: "border-t border-gray-200",
|
|
3646
|
+
left: "border-r border-gray-200",
|
|
3647
|
+
right: "border-l border-gray-200"
|
|
3589
3648
|
};
|
|
3590
3649
|
var tabNavListBaseClasses = "flex gap-1";
|
|
3591
3650
|
var tabNavListPositionClasses = {
|
|
@@ -3595,7 +3654,7 @@ var tabNavListPositionClasses = {
|
|
|
3595
3654
|
right: "flex-col"
|
|
3596
3655
|
};
|
|
3597
3656
|
var tabNavListCenteredClasses = "justify-center";
|
|
3598
|
-
var tabItemBaseClasses = "relative
|
|
3657
|
+
var tabItemBaseClasses = "relative cursor-pointer transition-all duration-200 select-none flex items-center gap-2 focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tiger-focus-ring,var(--tiger-primary,#2563eb))] focus-visible:ring-offset-2 active:opacity-90";
|
|
3599
3658
|
var tabItemSizeClasses = {
|
|
3600
3659
|
small: "text-sm px-3 py-1.5",
|
|
3601
3660
|
medium: "text-base px-4 py-2",
|
|
@@ -3614,63 +3673,39 @@ var tabPaneBaseClasses = "w-full";
|
|
|
3614
3673
|
var tabPaneHiddenClasses = "hidden";
|
|
3615
3674
|
var tabAddButtonClasses = "px-3 py-2 border border-gray-200 rounded-t bg-gray-50 hover:bg-white hover:text-[var(--tiger-primary,#2563eb)] text-gray-600 cursor-pointer transition-colors duration-200";
|
|
3616
3675
|
function getTabsContainerClasses(position) {
|
|
3617
|
-
|
|
3618
|
-
if (position === "left"
|
|
3619
|
-
|
|
3620
|
-
if (position === "right") {
|
|
3621
|
-
classes.push("flex-row-reverse");
|
|
3622
|
-
}
|
|
3623
|
-
}
|
|
3624
|
-
return classes.filter(Boolean).join(" ");
|
|
3676
|
+
if (position === "right") return `${tabsBaseClasses} flex flex-row-reverse`;
|
|
3677
|
+
if (position === "left") return `${tabsBaseClasses} flex`;
|
|
3678
|
+
return tabsBaseClasses;
|
|
3625
3679
|
}
|
|
3626
3680
|
function getTabNavClasses(position, type) {
|
|
3627
|
-
const
|
|
3628
|
-
|
|
3629
|
-
classes.push("border-0");
|
|
3630
|
-
}
|
|
3631
|
-
return classes.filter(Boolean).join(" ");
|
|
3681
|
+
const base = `${tabNavBaseClasses} ${tabNavPositionClasses[position]}`;
|
|
3682
|
+
return type === "line" ? `${base} ${tabNavLineBorderClasses[position]}` : base;
|
|
3632
3683
|
}
|
|
3633
3684
|
function getTabNavListClasses(position, centered) {
|
|
3634
|
-
const
|
|
3635
|
-
|
|
3636
|
-
classes.push(tabNavListCenteredClasses);
|
|
3637
|
-
}
|
|
3638
|
-
return classes.filter(Boolean).join(" ");
|
|
3685
|
+
const base = `${tabNavListBaseClasses} ${tabNavListPositionClasses[position]}`;
|
|
3686
|
+
return centered && (position === "top" || position === "bottom") ? `${base} ${tabNavListCenteredClasses}` : base;
|
|
3639
3687
|
}
|
|
3640
3688
|
function getTabItemClasses(active, disabled, type, size) {
|
|
3641
|
-
|
|
3642
|
-
if (disabled) {
|
|
3643
|
-
|
|
3644
|
-
|
|
3645
|
-
|
|
3646
|
-
|
|
3647
|
-
|
|
3648
|
-
|
|
3649
|
-
|
|
3650
|
-
|
|
3651
|
-
|
|
3652
|
-
|
|
3653
|
-
|
|
3654
|
-
|
|
3655
|
-
|
|
3656
|
-
}
|
|
3657
|
-
break;
|
|
3658
|
-
case "editable-card":
|
|
3659
|
-
classes.push(tabItemEditableCardClasses);
|
|
3660
|
-
if (active) {
|
|
3661
|
-
classes.push(tabItemEditableCardActiveClasses);
|
|
3662
|
-
}
|
|
3663
|
-
break;
|
|
3664
|
-
}
|
|
3689
|
+
let cls = `${tabItemBaseClasses} ${tabItemSizeClasses[size]}`;
|
|
3690
|
+
if (disabled) return `${cls} ${tabItemDisabledClasses}`;
|
|
3691
|
+
switch (type) {
|
|
3692
|
+
case "line":
|
|
3693
|
+
cls += ` ${tabItemLineClasses}`;
|
|
3694
|
+
if (active) cls += ` ${tabItemLineActiveClasses}`;
|
|
3695
|
+
break;
|
|
3696
|
+
case "card":
|
|
3697
|
+
cls += ` ${tabItemCardClasses}`;
|
|
3698
|
+
if (active) cls += ` ${tabItemCardActiveClasses}`;
|
|
3699
|
+
break;
|
|
3700
|
+
case "editable-card":
|
|
3701
|
+
cls += ` ${tabItemEditableCardClasses}`;
|
|
3702
|
+
if (active) cls += ` ${tabItemEditableCardActiveClasses}`;
|
|
3703
|
+
break;
|
|
3665
3704
|
}
|
|
3666
|
-
return
|
|
3705
|
+
return cls;
|
|
3667
3706
|
}
|
|
3668
3707
|
function getTabPaneClasses(active) {
|
|
3669
|
-
|
|
3670
|
-
if (!active) {
|
|
3671
|
-
classes.push(tabPaneHiddenClasses);
|
|
3672
|
-
}
|
|
3673
|
-
return classes.filter(Boolean).join(" ");
|
|
3708
|
+
return active ? tabPaneBaseClasses : `${tabPaneBaseClasses} ${tabPaneHiddenClasses}`;
|
|
3674
3709
|
}
|
|
3675
3710
|
function isKeyActive(key, activeKey) {
|
|
3676
3711
|
return activeKey !== void 0 && key === activeKey;
|
|
@@ -3700,16 +3735,14 @@ var breadcrumbLinkClasses = classNames(
|
|
|
3700
3735
|
);
|
|
3701
3736
|
var breadcrumbCurrentClasses = classNames("text-gray-900 font-medium", "cursor-default");
|
|
3702
3737
|
var breadcrumbSeparatorBaseClasses = "text-gray-400 select-none";
|
|
3703
|
-
function getBreadcrumbItemClasses(
|
|
3738
|
+
function getBreadcrumbItemClasses(className) {
|
|
3704
3739
|
return classNames(breadcrumbItemBaseClasses, className);
|
|
3705
3740
|
}
|
|
3706
3741
|
function getBreadcrumbLinkClasses(current) {
|
|
3707
3742
|
return current ? breadcrumbCurrentClasses : breadcrumbLinkClasses;
|
|
3708
3743
|
}
|
|
3709
3744
|
function getSeparatorContent(separator) {
|
|
3710
|
-
if (!separator
|
|
3711
|
-
return "/";
|
|
3712
|
-
}
|
|
3745
|
+
if (!separator) return "/";
|
|
3713
3746
|
switch (separator) {
|
|
3714
3747
|
case "slash":
|
|
3715
3748
|
return "/";
|
|
@@ -3726,61 +3759,53 @@ function getBreadcrumbSeparatorClasses(className) {
|
|
|
3726
3759
|
}
|
|
3727
3760
|
|
|
3728
3761
|
// src/utils/steps-utils.ts
|
|
3729
|
-
var
|
|
3730
|
-
var stepFinishIconViewBox = "0 0 24 24";
|
|
3731
|
-
var stepFinishIconPathD = "M5 13l4 4L19 7";
|
|
3732
|
-
var stepFinishIconPathStrokeLinecap = "round";
|
|
3733
|
-
var stepFinishIconPathStrokeLinejoin = "round";
|
|
3734
|
-
var stepFinishIconPathStrokeWidth = 2;
|
|
3762
|
+
var stepFinishChar = "\u2713";
|
|
3735
3763
|
function getStepsContainerClasses(direction) {
|
|
3736
|
-
const
|
|
3764
|
+
const baseClasses2 = "tiger-steps w-full list-none m-0 p-0";
|
|
3737
3765
|
if (direction === "vertical") {
|
|
3738
|
-
return `${
|
|
3766
|
+
return `${baseClasses2} flex flex-col`;
|
|
3739
3767
|
}
|
|
3740
|
-
return `${
|
|
3768
|
+
return `${baseClasses2} flex flex-row items-start`;
|
|
3741
3769
|
}
|
|
3742
|
-
function getStepItemClasses(direction, isLast
|
|
3743
|
-
const
|
|
3770
|
+
function getStepItemClasses(direction, isLast) {
|
|
3771
|
+
const baseClasses2 = "tiger-step-item relative";
|
|
3744
3772
|
if (direction === "vertical") {
|
|
3745
|
-
return `${
|
|
3773
|
+
return `${baseClasses2} flex flex-row ${!isLast ? "pb-6" : ""}`;
|
|
3746
3774
|
}
|
|
3747
|
-
return `${
|
|
3775
|
+
return `${baseClasses2} flex flex-col flex-1 items-center`;
|
|
3748
3776
|
}
|
|
3749
3777
|
function getStepIconClasses(status, size, simple, isCustomIcon) {
|
|
3750
|
-
const
|
|
3778
|
+
const baseClasses2 = "tiger-step-icon relative z-10 flex items-center justify-center rounded-full border-2";
|
|
3751
3779
|
const sizeClasses = simple ? "w-6 h-6 text-xs" : size === "small" ? "w-8 h-8 text-sm" : "w-10 h-10 text-base";
|
|
3752
3780
|
const iconClasses = isCustomIcon ? "" : "font-medium";
|
|
3781
|
+
const activeClasses = "bg-[var(--tiger-primary,#2563eb)] border-[var(--tiger-primary,#2563eb)] text-white";
|
|
3753
3782
|
const statusClasses = {
|
|
3754
3783
|
wait: "bg-[var(--tiger-surface-muted,#f3f4f6)] border-[var(--tiger-border,#e5e7eb)] text-[var(--tiger-text-muted,#6b7280)]",
|
|
3755
|
-
process:
|
|
3756
|
-
finish:
|
|
3784
|
+
process: activeClasses,
|
|
3785
|
+
finish: activeClasses,
|
|
3757
3786
|
error: "bg-[var(--tiger-error-bg,#fef2f2)] border-[var(--tiger-error,#ef4444)] text-[var(--tiger-error,#ef4444)]"
|
|
3758
3787
|
};
|
|
3759
|
-
return `${
|
|
3788
|
+
return `${baseClasses2} ${sizeClasses} ${iconClasses} ${statusClasses[status]}`;
|
|
3760
3789
|
}
|
|
3761
|
-
function getStepTailClasses(direction, status, isLast) {
|
|
3762
|
-
if (isLast)
|
|
3763
|
-
|
|
3764
|
-
}
|
|
3765
|
-
const baseClasses = "tiger-step-tail transition-all duration-200";
|
|
3790
|
+
function getStepTailClasses(direction, status, isLast, size, simple) {
|
|
3791
|
+
if (isLast) return "hidden";
|
|
3792
|
+
const colorClasses = status === "finish" ? "bg-[var(--tiger-primary,#2563eb)]" : "bg-[var(--tiger-border,#e5e7eb)]";
|
|
3766
3793
|
if (direction === "vertical") {
|
|
3767
|
-
const
|
|
3768
|
-
|
|
3769
|
-
return `${baseClasses} ${positionClasses2} ${colorClasses2}`;
|
|
3794
|
+
const verticalClasses = simple ? "absolute left-3 top-6 w-0.5 h-full" : size === "small" ? "absolute left-4 top-8 w-0.5 h-full" : "absolute left-5 top-10 w-0.5 h-full";
|
|
3795
|
+
return `tiger-step-tail ${verticalClasses} ${colorClasses}`;
|
|
3770
3796
|
}
|
|
3771
|
-
const
|
|
3772
|
-
|
|
3773
|
-
return `${baseClasses} ${positionClasses} ${colorClasses}`;
|
|
3797
|
+
const horizontalClasses = simple ? "absolute top-3 left-1/2 w-full h-0.5" : size === "small" ? "absolute top-4 left-1/2 w-full h-0.5" : "absolute top-5 left-1/2 w-full h-0.5";
|
|
3798
|
+
return `tiger-step-tail ${horizontalClasses} ${colorClasses}`;
|
|
3774
3799
|
}
|
|
3775
|
-
function getStepContentClasses(direction
|
|
3776
|
-
const
|
|
3800
|
+
function getStepContentClasses(direction) {
|
|
3801
|
+
const baseClasses2 = "tiger-step-content";
|
|
3777
3802
|
if (direction === "vertical") {
|
|
3778
|
-
return `${
|
|
3803
|
+
return `${baseClasses2} ml-4 flex-1`;
|
|
3779
3804
|
}
|
|
3780
|
-
return `${
|
|
3805
|
+
return `${baseClasses2} mt-2 text-center`;
|
|
3781
3806
|
}
|
|
3782
3807
|
function getStepTitleClasses(status, size, clickable) {
|
|
3783
|
-
const
|
|
3808
|
+
const baseClasses2 = "tiger-step-title font-medium";
|
|
3784
3809
|
const sizeClasses = size === "small" ? "text-sm" : "text-base";
|
|
3785
3810
|
const statusClasses = {
|
|
3786
3811
|
wait: "text-[var(--tiger-text-muted,#6b7280)]",
|
|
@@ -3788,19 +3813,14 @@ function getStepTitleClasses(status, size, clickable) {
|
|
|
3788
3813
|
finish: "text-[var(--tiger-text,#111827)]",
|
|
3789
3814
|
error: "text-[var(--tiger-error,#ef4444)]"
|
|
3790
3815
|
};
|
|
3791
|
-
const cursorClasses = clickable ? "cursor-pointer hover:text-[var(--tiger-primary,#2563eb)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tiger-primary,#2563eb)] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--tiger-surface,#ffffff)]" : "";
|
|
3792
|
-
return `${
|
|
3816
|
+
const cursorClasses = clickable ? "bg-transparent border-0 p-0 cursor-pointer hover:text-[var(--tiger-primary,#2563eb)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tiger-primary,#2563eb)] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--tiger-surface,#ffffff)]" : "";
|
|
3817
|
+
return `${baseClasses2} ${sizeClasses} ${statusClasses[status]} ${cursorClasses}`;
|
|
3793
3818
|
}
|
|
3794
3819
|
function getStepDescriptionClasses(status, size) {
|
|
3795
|
-
const
|
|
3820
|
+
const baseClasses2 = "tiger-step-description mt-1";
|
|
3796
3821
|
const sizeClasses = size === "small" ? "text-xs" : "text-sm";
|
|
3797
|
-
const
|
|
3798
|
-
|
|
3799
|
-
process: "text-[var(--tiger-text-muted,#6b7280)]",
|
|
3800
|
-
finish: "text-[var(--tiger-text-muted,#6b7280)]",
|
|
3801
|
-
error: "text-[var(--tiger-error,#ef4444)]"
|
|
3802
|
-
};
|
|
3803
|
-
return `${baseClasses} ${sizeClasses} ${statusClasses[status]}`;
|
|
3822
|
+
const statusClass = status === "error" ? "text-[var(--tiger-error,#ef4444)]" : "text-[var(--tiger-text-muted,#6b7280)]";
|
|
3823
|
+
return `${baseClasses2} ${sizeClasses} ${statusClass}`;
|
|
3804
3824
|
}
|
|
3805
3825
|
function calculateStepStatus(index, currentIndex, currentStatus, customStatus) {
|
|
3806
3826
|
if (customStatus) {
|
|
@@ -3935,13 +3955,16 @@ function getPageSizeSelectorClasses(size = "medium") {
|
|
|
3935
3955
|
sizeClasses[size]
|
|
3936
3956
|
);
|
|
3937
3957
|
}
|
|
3938
|
-
function
|
|
3958
|
+
function getSizeTextClasses(size = "medium") {
|
|
3939
3959
|
const sizeClasses = {
|
|
3940
3960
|
small: "text-sm",
|
|
3941
3961
|
medium: "text-base",
|
|
3942
3962
|
large: "text-lg"
|
|
3943
3963
|
};
|
|
3944
|
-
return
|
|
3964
|
+
return sizeClasses[size];
|
|
3965
|
+
}
|
|
3966
|
+
function getTotalTextClasses(size = "medium") {
|
|
3967
|
+
return classNames("text-[var(--tiger-text-muted,#6b7280)]", "mr-2", getSizeTextClasses(size));
|
|
3945
3968
|
}
|
|
3946
3969
|
function getSimplePaginationContainerClasses() {
|
|
3947
3970
|
return classNames(
|
|
@@ -3988,48 +4011,45 @@ function getDropdownContainerClasses() {
|
|
|
3988
4011
|
function getDropdownTriggerClasses(disabled) {
|
|
3989
4012
|
return classNames(
|
|
3990
4013
|
"tiger-dropdown-trigger",
|
|
3991
|
-
"
|
|
3992
|
-
|
|
4014
|
+
"inline-flex items-center gap-1.5",
|
|
4015
|
+
"select-none",
|
|
4016
|
+
disabled ? "cursor-not-allowed opacity-50 pointer-events-none" : "cursor-pointer"
|
|
3993
4017
|
);
|
|
3994
4018
|
}
|
|
3995
|
-
function
|
|
3996
|
-
const positionClasses = getPlacementClasses(placement);
|
|
4019
|
+
function getDropdownChevronClasses(visible) {
|
|
3997
4020
|
return classNames(
|
|
3998
|
-
"tiger-dropdown-
|
|
3999
|
-
"
|
|
4000
|
-
"
|
|
4001
|
-
|
|
4002
|
-
visible
|
|
4021
|
+
"tiger-dropdown-chevron",
|
|
4022
|
+
"w-4 h-4 shrink-0",
|
|
4023
|
+
"text-[var(--tiger-text-muted,#9ca3af)]",
|
|
4024
|
+
"transition-transform duration-200 ease-out",
|
|
4025
|
+
visible && "rotate-180"
|
|
4003
4026
|
);
|
|
4004
4027
|
}
|
|
4028
|
+
var DROPDOWN_CHEVRON_PATH = "M6 9l6 6 6-6";
|
|
4005
4029
|
function getDropdownMenuClasses() {
|
|
4006
4030
|
return classNames(
|
|
4007
4031
|
"tiger-dropdown-menu",
|
|
4008
4032
|
"min-w-[160px]",
|
|
4009
|
-
"py-1",
|
|
4010
|
-
"rounded-
|
|
4011
|
-
"
|
|
4033
|
+
"py-1.5 px-1",
|
|
4034
|
+
"rounded-lg",
|
|
4035
|
+
"bg-[var(--tiger-surface,#ffffff)]",
|
|
4012
4036
|
"border border-[var(--tiger-border,#e5e7eb)]",
|
|
4013
|
-
"
|
|
4037
|
+
"shadow-[0_6px_16px_-2px_rgba(0,0,0,0.12),0_2px_6px_-1px_rgba(0,0,0,0.08)]",
|
|
4038
|
+
"ring-1 ring-black/[0.04]"
|
|
4014
4039
|
);
|
|
4015
4040
|
}
|
|
4016
4041
|
function getDropdownItemClasses(disabled, divided) {
|
|
4017
4042
|
return classNames(
|
|
4018
4043
|
"tiger-dropdown-item",
|
|
4019
|
-
"flex",
|
|
4020
|
-
"
|
|
4021
|
-
"
|
|
4022
|
-
"
|
|
4023
|
-
"
|
|
4024
|
-
"text-sm",
|
|
4025
|
-
"text-[var(--tiger-text,#374151)]",
|
|
4026
|
-
"transition-colors",
|
|
4027
|
-
"duration-150",
|
|
4028
|
-
"w-full",
|
|
4044
|
+
"flex items-center gap-2",
|
|
4045
|
+
"w-full rounded-md",
|
|
4046
|
+
"px-3 py-1.5",
|
|
4047
|
+
"text-sm text-[var(--tiger-text,#374151)]",
|
|
4048
|
+
"transition-colors duration-150",
|
|
4029
4049
|
"text-left",
|
|
4030
4050
|
"focus:outline-none",
|
|
4031
|
-
"focus-visible:ring-2 focus-visible:ring-[var(--tiger-primary,#2563eb)] focus-visible:ring-
|
|
4032
|
-
divided && "border-t border-[var(--tiger-border,#e5e7eb)]",
|
|
4051
|
+
"focus-visible:ring-2 focus-visible:ring-[var(--tiger-primary,#2563eb)] focus-visible:ring-inset",
|
|
4052
|
+
divided && "mt-1 border-t border-[var(--tiger-border,#e5e7eb)] pt-1",
|
|
4033
4053
|
disabled ? "cursor-not-allowed opacity-50" : classNames(
|
|
4034
4054
|
"cursor-pointer",
|
|
4035
4055
|
"hover:bg-[var(--tiger-surface-muted,#f3f4f6)]",
|
|
@@ -4037,23 +4057,36 @@ function getDropdownItemClasses(disabled, divided) {
|
|
|
4037
4057
|
)
|
|
4038
4058
|
);
|
|
4039
4059
|
}
|
|
4040
|
-
|
|
4041
|
-
|
|
4042
|
-
|
|
4043
|
-
|
|
4044
|
-
|
|
4045
|
-
|
|
4046
|
-
|
|
4047
|
-
|
|
4048
|
-
|
|
4049
|
-
|
|
4050
|
-
|
|
4051
|
-
|
|
4052
|
-
|
|
4053
|
-
|
|
4054
|
-
|
|
4055
|
-
|
|
4060
|
+
var DROPDOWN_ANIMATION_CSS = `
|
|
4061
|
+
@keyframes tiger-dropdown-in {
|
|
4062
|
+
from {
|
|
4063
|
+
opacity: 0;
|
|
4064
|
+
transform: scale(0.95);
|
|
4065
|
+
}
|
|
4066
|
+
to {
|
|
4067
|
+
opacity: 1;
|
|
4068
|
+
transform: scale(1);
|
|
4069
|
+
}
|
|
4070
|
+
}
|
|
4071
|
+
.tiger-dropdown-enter {
|
|
4072
|
+
animation: tiger-dropdown-in 0.15s ease-out;
|
|
4073
|
+
}
|
|
4074
|
+
`;
|
|
4075
|
+
var isDropdownStyleInjected = false;
|
|
4076
|
+
function injectDropdownStyles() {
|
|
4077
|
+
if (typeof document === "undefined" || isDropdownStyleInjected) return;
|
|
4078
|
+
const styleId = "tiger-ui-dropdown-styles";
|
|
4079
|
+
if (document.getElementById(styleId)) {
|
|
4080
|
+
isDropdownStyleInjected = true;
|
|
4081
|
+
return;
|
|
4082
|
+
}
|
|
4083
|
+
const style = document.createElement("style");
|
|
4084
|
+
style.id = styleId;
|
|
4085
|
+
style.textContent = DROPDOWN_ANIMATION_CSS;
|
|
4086
|
+
document.head.appendChild(style);
|
|
4087
|
+
isDropdownStyleInjected = true;
|
|
4056
4088
|
}
|
|
4089
|
+
var DROPDOWN_ENTER_CLASS = "tiger-dropdown-enter";
|
|
4057
4090
|
|
|
4058
4091
|
// src/utils/drawer-utils.ts
|
|
4059
4092
|
function getDrawerMaskClasses(visible) {
|
|
@@ -4062,12 +4095,11 @@ function getDrawerMaskClasses(visible) {
|
|
|
4062
4095
|
visible ? "opacity-100" : "opacity-0 pointer-events-none"
|
|
4063
4096
|
);
|
|
4064
4097
|
}
|
|
4065
|
-
function getDrawerContainerClasses(
|
|
4066
|
-
void zIndex;
|
|
4098
|
+
function getDrawerContainerClasses() {
|
|
4067
4099
|
return "fixed inset-0 overflow-hidden";
|
|
4068
4100
|
}
|
|
4069
4101
|
function getDrawerPanelClasses(placement, visible, size) {
|
|
4070
|
-
const
|
|
4102
|
+
const baseClasses2 = "absolute bg-[var(--tiger-surface,#ffffff)] shadow-xl transition-transform duration-300 ease-in-out pointer-events-auto";
|
|
4071
4103
|
const sizeMap = {
|
|
4072
4104
|
sm: { width: "w-64", height: "h-48" },
|
|
4073
4105
|
md: { width: "w-96", height: "h-64" },
|
|
@@ -4097,7 +4129,7 @@ function getDrawerPanelClasses(placement, visible, size) {
|
|
|
4097
4129
|
visible ? "translate-y-0" : "translate-y-full"
|
|
4098
4130
|
)
|
|
4099
4131
|
};
|
|
4100
|
-
return classNames(
|
|
4132
|
+
return classNames(baseClasses2, placementClasses[placement]);
|
|
4101
4133
|
}
|
|
4102
4134
|
function getDrawerHeaderClasses() {
|
|
4103
4135
|
return "flex items-center justify-between px-6 py-4 border-b border-[var(--tiger-border,#e5e7eb)]";
|
|
@@ -4172,19 +4204,15 @@ var alertDescriptionSizeClasses = {
|
|
|
4172
4204
|
var alertCloseButtonBaseClasses = "ml-auto -mr-1 -mt-0.5 rounded-md p-1.5 inline-flex focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors";
|
|
4173
4205
|
var alertIconContainerClasses = "flex-shrink-0";
|
|
4174
4206
|
var alertContentClasses = "flex-1 ml-3";
|
|
4175
|
-
var alertSuccessIconPath = statusSuccessIconPath;
|
|
4176
|
-
var alertWarningIconPath = statusWarningIconPath;
|
|
4177
|
-
var alertErrorIconPath = statusErrorIconPath;
|
|
4178
|
-
var alertInfoIconPath = statusInfoIconPath;
|
|
4179
4207
|
var alertCloseIconPath = closeIconPathD;
|
|
4208
|
+
var alertIconPaths = {
|
|
4209
|
+
success: statusSuccessIconPath,
|
|
4210
|
+
warning: statusWarningIconPath,
|
|
4211
|
+
error: statusErrorIconPath,
|
|
4212
|
+
info: statusInfoIconPath
|
|
4213
|
+
};
|
|
4180
4214
|
function getAlertIconPath(type) {
|
|
4181
|
-
|
|
4182
|
-
success: alertSuccessIconPath,
|
|
4183
|
-
warning: alertWarningIconPath,
|
|
4184
|
-
error: alertErrorIconPath,
|
|
4185
|
-
info: alertInfoIconPath
|
|
4186
|
-
};
|
|
4187
|
-
return iconPaths[type];
|
|
4215
|
+
return alertIconPaths[type];
|
|
4188
4216
|
}
|
|
4189
4217
|
|
|
4190
4218
|
// src/utils/message-utils.ts
|
|
@@ -4198,10 +4226,6 @@ var messagePositionClasses = {
|
|
|
4198
4226
|
"bottom-right": "bottom-6 right-6"
|
|
4199
4227
|
};
|
|
4200
4228
|
var messageBaseClasses = "flex items-center gap-3 px-4 py-3 rounded-lg shadow-lg border pointer-events-auto transition-all duration-300 ease-in-out";
|
|
4201
|
-
var messageEnterClasses = "opacity-0 -translate-y-2";
|
|
4202
|
-
var messageEnterActiveClasses = "opacity-100 translate-y-0";
|
|
4203
|
-
var messageLeaveClasses = "opacity-100 translate-y-0";
|
|
4204
|
-
var messageLeaveActiveClasses = "opacity-0 -translate-y-2";
|
|
4205
4229
|
var defaultMessageThemeColors = {
|
|
4206
4230
|
info: {
|
|
4207
4231
|
bg: "bg-[var(--tiger-message-info-bg,#eff6ff)]",
|
|
@@ -4235,7 +4259,7 @@ var defaultMessageThemeColors = {
|
|
|
4235
4259
|
}
|
|
4236
4260
|
};
|
|
4237
4261
|
function getMessageTypeClasses(type, themeColors = defaultMessageThemeColors) {
|
|
4238
|
-
return themeColors[type]
|
|
4262
|
+
return themeColors[type];
|
|
4239
4263
|
}
|
|
4240
4264
|
var messageIconPaths = {
|
|
4241
4265
|
success: statusSuccessIconPath,
|
|
@@ -4245,7 +4269,7 @@ var messageIconPaths = {
|
|
|
4245
4269
|
loading: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
|
4246
4270
|
};
|
|
4247
4271
|
function getMessageIconPath(type) {
|
|
4248
|
-
return messageIconPaths[type]
|
|
4272
|
+
return messageIconPaths[type];
|
|
4249
4273
|
}
|
|
4250
4274
|
var messageCloseIconPath = closeIconPathD;
|
|
4251
4275
|
var messageCloseButtonClasses = "ml-auto p-1 rounded hover:bg-[var(--tiger-surface-muted,#e5e7eb)] transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-[var(--tiger-primary,#2563eb)]";
|
|
@@ -4344,25 +4368,23 @@ function getLoadingOverlaySpinnerClasses(customClassName) {
|
|
|
4344
4368
|
function getLoadingClasses(variant, size, color, customColor) {
|
|
4345
4369
|
const sizeClass = loadingSizeClasses[size];
|
|
4346
4370
|
const colorClass = customColor ? "" : loadingColorClasses[color];
|
|
4347
|
-
const
|
|
4371
|
+
const baseClasses2 = classNames(sizeClass, colorClass);
|
|
4348
4372
|
switch (variant) {
|
|
4349
|
-
case "spinner":
|
|
4350
|
-
return classNames(baseClasses, loadingSpinnerBaseClasses);
|
|
4351
4373
|
case "dots":
|
|
4352
|
-
return baseClasses;
|
|
4353
4374
|
case "bars":
|
|
4354
|
-
return
|
|
4355
|
-
case "ring":
|
|
4356
|
-
return classNames(baseClasses, loadingSpinnerBaseClasses);
|
|
4375
|
+
return baseClasses2;
|
|
4357
4376
|
case "pulse":
|
|
4358
|
-
return classNames(
|
|
4377
|
+
return classNames(baseClasses2, "animate-pulse");
|
|
4378
|
+
case "spinner":
|
|
4379
|
+
case "ring":
|
|
4359
4380
|
default:
|
|
4360
|
-
return classNames(
|
|
4381
|
+
return classNames(baseClasses2, loadingSpinnerBaseClasses);
|
|
4361
4382
|
}
|
|
4362
4383
|
}
|
|
4363
4384
|
function getSpinnerSVG(variant) {
|
|
4364
4385
|
switch (variant) {
|
|
4365
4386
|
case "spinner":
|
|
4387
|
+
default:
|
|
4366
4388
|
return {
|
|
4367
4389
|
viewBox: "0 0 24 24",
|
|
4368
4390
|
elements: [
|
|
@@ -4435,24 +4457,6 @@ function getSpinnerSVG(variant) {
|
|
|
4435
4457
|
}
|
|
4436
4458
|
]
|
|
4437
4459
|
};
|
|
4438
|
-
default:
|
|
4439
|
-
return {
|
|
4440
|
-
viewBox: "0 0 24 24",
|
|
4441
|
-
elements: [
|
|
4442
|
-
{
|
|
4443
|
-
type: "circle",
|
|
4444
|
-
attrs: {
|
|
4445
|
-
className: "opacity-25",
|
|
4446
|
-
cx: "12",
|
|
4447
|
-
cy: "12",
|
|
4448
|
-
r: "10",
|
|
4449
|
-
stroke: "currentColor",
|
|
4450
|
-
strokeWidth: "4",
|
|
4451
|
-
fill: "none"
|
|
4452
|
-
}
|
|
4453
|
-
}
|
|
4454
|
-
]
|
|
4455
|
-
};
|
|
4456
4460
|
}
|
|
4457
4461
|
}
|
|
4458
4462
|
var dotsVariantConfig = {
|
|
@@ -4557,6 +4561,25 @@ function injectLoadingAnimationStyles() {
|
|
|
4557
4561
|
}
|
|
4558
4562
|
}
|
|
4559
4563
|
|
|
4564
|
+
// src/utils/floating-popup-utils.ts
|
|
4565
|
+
function createFloatingIdFactory(prefix) {
|
|
4566
|
+
let counter = 0;
|
|
4567
|
+
return () => `tiger-${prefix}-${++counter}`;
|
|
4568
|
+
}
|
|
4569
|
+
function buildTriggerHandlerMap(trigger, handlers, framework = "vue") {
|
|
4570
|
+
switch (trigger) {
|
|
4571
|
+
case "click":
|
|
4572
|
+
return { onClick: handlers.toggle };
|
|
4573
|
+
case "hover":
|
|
4574
|
+
return framework === "vue" ? { onMouseenter: handlers.show, onMouseleave: handlers.hide } : { onMouseEnter: handlers.show, onMouseLeave: handlers.hide };
|
|
4575
|
+
case "focus":
|
|
4576
|
+
return framework === "vue" ? { onFocusin: handlers.show, onFocusout: handlers.hide } : { onFocus: handlers.show, onBlur: handlers.hide };
|
|
4577
|
+
case "manual":
|
|
4578
|
+
default:
|
|
4579
|
+
return {};
|
|
4580
|
+
}
|
|
4581
|
+
}
|
|
4582
|
+
|
|
4560
4583
|
// src/utils/popconfirm-utils.ts
|
|
4561
4584
|
function getPopconfirmContainerClasses() {
|
|
4562
4585
|
return classNames("tiger-popconfirm", "relative", "inline-block", "w-fit", "justify-self-start");
|
|
@@ -4727,14 +4750,9 @@ function getPopoverTriggerClasses(disabled) {
|
|
|
4727
4750
|
}
|
|
4728
4751
|
function getPopoverContentClasses(width) {
|
|
4729
4752
|
let widthClass = "min-w-[200px]";
|
|
4730
|
-
if (width) {
|
|
4731
|
-
|
|
4732
|
-
|
|
4733
|
-
} else if (width.match(/^\d+$/)) {
|
|
4734
|
-
widthClass = `w-[${width}px]`;
|
|
4735
|
-
} else {
|
|
4736
|
-
widthClass = width;
|
|
4737
|
-
}
|
|
4753
|
+
if (width != null && width !== "") {
|
|
4754
|
+
const w = String(width);
|
|
4755
|
+
widthClass = /^\d+$/.test(w) ? `w-[${w}px]` : w;
|
|
4738
4756
|
}
|
|
4739
4757
|
return classNames(
|
|
4740
4758
|
"tiger-popover-content",
|
|
@@ -4748,20 +4766,26 @@ function getPopoverContentClasses(width) {
|
|
|
4748
4766
|
"border-[var(--tiger-border,#e5e7eb)]"
|
|
4749
4767
|
);
|
|
4750
4768
|
}
|
|
4769
|
+
var POPOVER_TITLE_CLASSES = classNames(
|
|
4770
|
+
"tiger-popover-title",
|
|
4771
|
+
"text-sm",
|
|
4772
|
+
"font-semibold",
|
|
4773
|
+
"text-[var(--tiger-text,#111827)]",
|
|
4774
|
+
"mb-2",
|
|
4775
|
+
"border-b",
|
|
4776
|
+
"border-[var(--tiger-border,#e5e7eb)]",
|
|
4777
|
+
"pb-2"
|
|
4778
|
+
);
|
|
4779
|
+
var POPOVER_TEXT_CLASSES = classNames(
|
|
4780
|
+
"tiger-popover-text",
|
|
4781
|
+
"text-sm",
|
|
4782
|
+
"text-[var(--tiger-text-muted,#374151)]"
|
|
4783
|
+
);
|
|
4751
4784
|
function getPopoverTitleClasses() {
|
|
4752
|
-
return
|
|
4753
|
-
"tiger-popover-title",
|
|
4754
|
-
"text-sm",
|
|
4755
|
-
"font-semibold",
|
|
4756
|
-
"text-[var(--tiger-text,#111827)]",
|
|
4757
|
-
"mb-2",
|
|
4758
|
-
"border-b",
|
|
4759
|
-
"border-[var(--tiger-border,#e5e7eb)]",
|
|
4760
|
-
"pb-2"
|
|
4761
|
-
);
|
|
4785
|
+
return POPOVER_TITLE_CLASSES;
|
|
4762
4786
|
}
|
|
4763
4787
|
function getPopoverContentTextClasses() {
|
|
4764
|
-
return
|
|
4788
|
+
return POPOVER_TEXT_CLASSES;
|
|
4765
4789
|
}
|
|
4766
4790
|
|
|
4767
4791
|
// src/utils/tooltip-utils.ts
|
|
@@ -4808,6 +4832,9 @@ var iconSizeClasses = {
|
|
|
4808
4832
|
lg: "w-6 h-6",
|
|
4809
4833
|
xl: "w-8 h-8"
|
|
4810
4834
|
};
|
|
4835
|
+
var iconSvgDefaultStrokeWidth = 2;
|
|
4836
|
+
var iconSvgDefaultStrokeLinecap = "round";
|
|
4837
|
+
var iconSvgDefaultStrokeLinejoin = "round";
|
|
4811
4838
|
|
|
4812
4839
|
// src/utils/code-utils.ts
|
|
4813
4840
|
var codeBlockContainerClasses = "relative rounded-lg border border-gray-200 bg-gray-50 text-gray-800 dark:border-gray-800 dark:bg-gray-900/60 dark:text-gray-100";
|
|
@@ -4815,68 +4842,363 @@ var codeBlockPreClasses = "m-0 overflow-auto p-4 text-sm leading-relaxed font-mo
|
|
|
4815
4842
|
var codeBlockCopyButtonBaseClasses = "absolute right-3 top-0 -translate-y-1/2 inline-flex items-center rounded-md border border-gray-200 bg-white/90 px-1.5 py-0.5 text-[10px] text-gray-600 shadow-sm transition-colors hover:bg-white hover:text-gray-900 dark:border-gray-700 dark:bg-gray-900/90 dark:text-gray-200 dark:hover:bg-gray-800";
|
|
4816
4843
|
var codeBlockCopyButtonCopiedClasses = "border-[var(--tiger-primary,#2563eb)] text-[var(--tiger-primary,#2563eb)]";
|
|
4817
4844
|
|
|
4818
|
-
// src/
|
|
4819
|
-
var
|
|
4820
|
-
|
|
4821
|
-
|
|
4822
|
-
|
|
4823
|
-
|
|
4824
|
-
|
|
4825
|
-
var
|
|
4826
|
-
|
|
4827
|
-
|
|
4828
|
-
|
|
4829
|
-
|
|
4830
|
-
|
|
4831
|
-
|
|
4832
|
-
|
|
4833
|
-
|
|
4834
|
-
|
|
4835
|
-
|
|
4836
|
-
|
|
4837
|
-
|
|
4838
|
-
|
|
4839
|
-
|
|
4840
|
-
|
|
4841
|
-
}
|
|
4842
|
-
|
|
4843
|
-
|
|
4844
|
-
|
|
4845
|
-
|
|
4846
|
-
|
|
4847
|
-
|
|
4848
|
-
|
|
4849
|
-
|
|
4850
|
-
|
|
4845
|
+
// src/theme/colors.ts
|
|
4846
|
+
var defaultThemeColors = {
|
|
4847
|
+
primary: {
|
|
4848
|
+
bg: "bg-[var(--tiger-primary,#2563eb)]",
|
|
4849
|
+
bgHover: "hover:bg-[var(--tiger-primary-hover,#1d4ed8)]",
|
|
4850
|
+
text: "text-white",
|
|
4851
|
+
focus: "focus:ring-[var(--tiger-primary,#2563eb)]",
|
|
4852
|
+
disabled: "disabled:bg-[var(--tiger-primary-disabled,#93c5fd)]"
|
|
4853
|
+
},
|
|
4854
|
+
secondary: {
|
|
4855
|
+
bg: "bg-[var(--tiger-secondary,#4b5563)]",
|
|
4856
|
+
bgHover: "hover:bg-[var(--tiger-secondary-hover,#374151)]",
|
|
4857
|
+
text: "text-white",
|
|
4858
|
+
focus: "focus:ring-[var(--tiger-secondary,#4b5563)]",
|
|
4859
|
+
disabled: "disabled:bg-[var(--tiger-secondary-disabled,#9ca3af)]"
|
|
4860
|
+
},
|
|
4861
|
+
outline: {
|
|
4862
|
+
bg: "bg-transparent",
|
|
4863
|
+
bgHover: "hover:bg-[var(--tiger-outline-bg-hover,#eff6ff)]",
|
|
4864
|
+
text: "text-[var(--tiger-primary,#2563eb)]",
|
|
4865
|
+
border: "border-2 border-[var(--tiger-primary,#2563eb)]",
|
|
4866
|
+
focus: "focus:ring-[var(--tiger-primary,#2563eb)]",
|
|
4867
|
+
disabled: "disabled:border-[var(--tiger-primary-disabled,#93c5fd)] disabled:text-[var(--tiger-primary-disabled,#93c5fd)]"
|
|
4868
|
+
},
|
|
4869
|
+
ghost: {
|
|
4870
|
+
bg: "bg-transparent",
|
|
4871
|
+
bgHover: "hover:bg-[var(--tiger-ghost-bg-hover,#eff6ff)]",
|
|
4872
|
+
text: "text-[var(--tiger-primary,#2563eb)]",
|
|
4873
|
+
focus: "focus:ring-[var(--tiger-primary,#2563eb)]",
|
|
4874
|
+
disabled: "disabled:text-[var(--tiger-primary-disabled,#93c5fd)]"
|
|
4875
|
+
},
|
|
4876
|
+
link: {
|
|
4877
|
+
bg: "bg-transparent",
|
|
4878
|
+
bgHover: "hover:underline",
|
|
4879
|
+
text: "text-[var(--tiger-primary,#2563eb)]",
|
|
4880
|
+
focus: "focus:ring-[var(--tiger-primary,#2563eb)]",
|
|
4881
|
+
disabled: "disabled:text-[var(--tiger-primary-disabled,#93c5fd)]"
|
|
4851
4882
|
}
|
|
4852
|
-
|
|
4883
|
+
};
|
|
4884
|
+
function getButtonVariantClasses(variant, colors = defaultThemeColors) {
|
|
4885
|
+
const scheme = colors[variant];
|
|
4886
|
+
const classes = [
|
|
4887
|
+
scheme.bg,
|
|
4888
|
+
scheme.bgHover,
|
|
4889
|
+
scheme.text,
|
|
4890
|
+
scheme.border,
|
|
4891
|
+
scheme.borderHover,
|
|
4892
|
+
scheme.focus,
|
|
4893
|
+
scheme.disabled
|
|
4894
|
+
].filter(Boolean);
|
|
4895
|
+
return classes.join(" ");
|
|
4853
4896
|
}
|
|
4854
|
-
|
|
4855
|
-
|
|
4856
|
-
|
|
4857
|
-
|
|
4858
|
-
|
|
4897
|
+
var defaultRadioColors = {
|
|
4898
|
+
border: "border-[var(--tiger-border,#d1d5db)]",
|
|
4899
|
+
borderChecked: "border-[var(--tiger-primary,#2563eb)]",
|
|
4900
|
+
bg: "bg-[var(--tiger-surface,#ffffff)]",
|
|
4901
|
+
bgChecked: "bg-[var(--tiger-primary,#2563eb)]",
|
|
4902
|
+
innerDot: "bg-[var(--tiger-surface,#ffffff)]",
|
|
4903
|
+
focus: "ring-[var(--tiger-primary,#2563eb)]",
|
|
4904
|
+
disabled: "bg-[var(--tiger-surface-muted,#f3f4f6)] border-[var(--tiger-border,#d1d5db)]",
|
|
4905
|
+
textDisabled: "text-[var(--tiger-text-muted,#6b7280)]"
|
|
4906
|
+
};
|
|
4907
|
+
var getRadioColorClasses = (colors = defaultRadioColors) => colors;
|
|
4908
|
+
var defaultLinkThemeColors = {
|
|
4909
|
+
primary: {
|
|
4910
|
+
text: "text-[var(--tiger-primary,#2563eb)]",
|
|
4911
|
+
textHover: "hover:text-[var(--tiger-primary-hover,#1d4ed8)]",
|
|
4912
|
+
focus: "focus:ring-[var(--tiger-primary,#2563eb)]",
|
|
4913
|
+
disabled: "text-[var(--tiger-primary-disabled,#93c5fd)]"
|
|
4914
|
+
},
|
|
4915
|
+
secondary: {
|
|
4916
|
+
text: "text-[var(--tiger-secondary,#4b5563)]",
|
|
4917
|
+
textHover: "hover:text-[var(--tiger-secondary-hover,#374151)]",
|
|
4918
|
+
focus: "focus:ring-[var(--tiger-secondary,#4b5563)]",
|
|
4919
|
+
disabled: "text-[var(--tiger-secondary-disabled,#9ca3af)]"
|
|
4920
|
+
},
|
|
4921
|
+
default: {
|
|
4922
|
+
text: "text-gray-700",
|
|
4923
|
+
textHover: "hover:text-gray-900",
|
|
4924
|
+
focus: "focus:ring-gray-500",
|
|
4925
|
+
disabled: "text-gray-400"
|
|
4859
4926
|
}
|
|
4860
|
-
|
|
4927
|
+
};
|
|
4928
|
+
function getLinkVariantClasses(variant, colors, options) {
|
|
4929
|
+
const scheme = (colors ?? defaultLinkThemeColors)[variant];
|
|
4930
|
+
if (options?.disabled) return scheme.disabled;
|
|
4931
|
+
return `${scheme.text} ${scheme.textHover}`;
|
|
4861
4932
|
}
|
|
4862
|
-
|
|
4863
|
-
|
|
4864
|
-
|
|
4865
|
-
|
|
4866
|
-
|
|
4933
|
+
var textSizeClasses = {
|
|
4934
|
+
xs: "text-xs",
|
|
4935
|
+
sm: "text-sm",
|
|
4936
|
+
base: "text-base",
|
|
4937
|
+
lg: "text-lg",
|
|
4938
|
+
xl: "text-xl",
|
|
4939
|
+
"2xl": "text-2xl",
|
|
4940
|
+
"3xl": "text-3xl",
|
|
4941
|
+
"4xl": "text-4xl",
|
|
4942
|
+
"5xl": "text-5xl",
|
|
4943
|
+
"6xl": "text-6xl"
|
|
4944
|
+
};
|
|
4945
|
+
var textWeightClasses = {
|
|
4946
|
+
thin: "font-thin",
|
|
4947
|
+
light: "font-light",
|
|
4948
|
+
normal: "font-normal",
|
|
4949
|
+
medium: "font-medium",
|
|
4950
|
+
semibold: "font-semibold",
|
|
4951
|
+
bold: "font-bold",
|
|
4952
|
+
extrabold: "font-extrabold",
|
|
4953
|
+
black: "font-black"
|
|
4954
|
+
};
|
|
4955
|
+
var textAlignClasses = {
|
|
4956
|
+
left: "text-left",
|
|
4957
|
+
center: "text-center",
|
|
4958
|
+
right: "text-right",
|
|
4959
|
+
justify: "text-justify"
|
|
4960
|
+
};
|
|
4961
|
+
var textColorClasses = {
|
|
4962
|
+
default: "text-[var(--tiger-text,#111827)]",
|
|
4963
|
+
primary: "text-[var(--tiger-primary,#2563eb)]",
|
|
4964
|
+
secondary: "text-[var(--tiger-secondary,#4b5563)]",
|
|
4965
|
+
success: "text-[var(--tiger-success,#16a34a)]",
|
|
4966
|
+
warning: "text-[var(--tiger-warning,#ca8a04)]",
|
|
4967
|
+
danger: "text-[var(--tiger-error,#dc2626)]",
|
|
4968
|
+
muted: "text-[var(--tiger-text-muted,#6b7280)]"
|
|
4969
|
+
};
|
|
4970
|
+
var textDecorationClasses = {
|
|
4971
|
+
truncate: "truncate",
|
|
4972
|
+
italic: "italic",
|
|
4973
|
+
underline: "underline",
|
|
4974
|
+
lineThrough: "line-through"
|
|
4975
|
+
};
|
|
4976
|
+
var defaultTagThemeColors = {
|
|
4977
|
+
default: {
|
|
4978
|
+
bg: "bg-[var(--tiger-tag-default-bg,#f3f4f6)]",
|
|
4979
|
+
text: "text-[var(--tiger-text,#111827)]",
|
|
4980
|
+
border: "border-[var(--tiger-border,#e5e7eb)]",
|
|
4981
|
+
closeBgHover: "hover:bg-[var(--tiger-tag-default-close-hover,#e5e7eb)]"
|
|
4982
|
+
},
|
|
4983
|
+
primary: {
|
|
4984
|
+
bg: "bg-[var(--tiger-tag-primary-bg,#dbeafe)]",
|
|
4985
|
+
text: "text-[var(--tiger-primary,#2563eb)]",
|
|
4986
|
+
border: "border-[var(--tiger-tag-primary-border,#bfdbfe)]",
|
|
4987
|
+
closeBgHover: "hover:bg-[var(--tiger-tag-primary-close-hover,#bfdbfe)]"
|
|
4988
|
+
},
|
|
4989
|
+
success: {
|
|
4990
|
+
bg: "bg-[var(--tiger-tag-success-bg,#dcfce7)]",
|
|
4991
|
+
text: "text-[var(--tiger-success,#16a34a)]",
|
|
4992
|
+
border: "border-[var(--tiger-tag-success-border,#bbf7d0)]",
|
|
4993
|
+
closeBgHover: "hover:bg-[var(--tiger-tag-success-close-hover,#bbf7d0)]"
|
|
4994
|
+
},
|
|
4995
|
+
warning: {
|
|
4996
|
+
bg: "bg-[var(--tiger-tag-warning-bg,#fef9c3)]",
|
|
4997
|
+
text: "text-[var(--tiger-warning,#ca8a04)]",
|
|
4998
|
+
border: "border-[var(--tiger-tag-warning-border,#fef08a)]",
|
|
4999
|
+
closeBgHover: "hover:bg-[var(--tiger-tag-warning-close-hover,#fef08a)]"
|
|
5000
|
+
},
|
|
5001
|
+
danger: {
|
|
5002
|
+
bg: "bg-[var(--tiger-tag-danger-bg,#fee2e2)]",
|
|
5003
|
+
text: "text-[var(--tiger-error,#dc2626)]",
|
|
5004
|
+
border: "border-[var(--tiger-tag-danger-border,#fecaca)]",
|
|
5005
|
+
closeBgHover: "hover:bg-[var(--tiger-tag-danger-close-hover,#fecaca)]"
|
|
5006
|
+
},
|
|
5007
|
+
info: {
|
|
5008
|
+
bg: "bg-[var(--tiger-tag-info-bg,#e0f2fe)]",
|
|
5009
|
+
text: "text-[var(--tiger-info,#3b82f6)]",
|
|
5010
|
+
border: "border-[var(--tiger-tag-info-border,#bae6fd)]",
|
|
5011
|
+
closeBgHover: "hover:bg-[var(--tiger-tag-info-close-hover,#bae6fd)]"
|
|
4867
5012
|
}
|
|
4868
|
-
|
|
5013
|
+
};
|
|
5014
|
+
function getTagVariantClasses(variant, colors = defaultTagThemeColors) {
|
|
5015
|
+
const scheme = colors[variant];
|
|
5016
|
+
const classes = [scheme.bg, scheme.text, scheme.border].filter(Boolean);
|
|
5017
|
+
return classes.join(" ");
|
|
4869
5018
|
}
|
|
4870
|
-
|
|
4871
|
-
|
|
4872
|
-
|
|
4873
|
-
|
|
4874
|
-
|
|
5019
|
+
var defaultBadgeThemeColors = {
|
|
5020
|
+
default: {
|
|
5021
|
+
bg: "bg-[var(--tiger-text-muted,#6b7280)]",
|
|
5022
|
+
text: "text-white"
|
|
5023
|
+
},
|
|
5024
|
+
primary: {
|
|
5025
|
+
bg: "bg-[var(--tiger-primary,#2563eb)]",
|
|
5026
|
+
text: "text-white"
|
|
5027
|
+
},
|
|
5028
|
+
success: {
|
|
5029
|
+
bg: "bg-[var(--tiger-success,#16a34a)]",
|
|
5030
|
+
text: "text-white"
|
|
5031
|
+
},
|
|
5032
|
+
warning: {
|
|
5033
|
+
bg: "bg-[var(--tiger-warning,#ca8a04)]",
|
|
5034
|
+
text: "text-white"
|
|
5035
|
+
},
|
|
5036
|
+
danger: {
|
|
5037
|
+
bg: "bg-[var(--tiger-error,#dc2626)]",
|
|
5038
|
+
text: "text-white"
|
|
5039
|
+
},
|
|
5040
|
+
info: {
|
|
5041
|
+
bg: "bg-[var(--tiger-info,#3b82f6)]",
|
|
5042
|
+
text: "text-white"
|
|
4875
5043
|
}
|
|
4876
|
-
|
|
5044
|
+
};
|
|
5045
|
+
function getBadgeVariantClasses(variant, colors = defaultBadgeThemeColors) {
|
|
5046
|
+
const scheme = colors[variant];
|
|
5047
|
+
return `${scheme.bg} ${scheme.text}`;
|
|
4877
5048
|
}
|
|
4878
|
-
|
|
4879
|
-
|
|
5049
|
+
var defaultProgressThemeColors = {
|
|
5050
|
+
default: {
|
|
5051
|
+
bg: "bg-[color:var(--tiger-text-muted,#6b7280)]",
|
|
5052
|
+
text: "text-[color:var(--tiger-text,#374151)]"
|
|
5053
|
+
},
|
|
5054
|
+
primary: {
|
|
5055
|
+
bg: "bg-[color:var(--tiger-primary,#2563eb)]",
|
|
5056
|
+
text: "text-[color:var(--tiger-primary,#2563eb)]"
|
|
5057
|
+
},
|
|
5058
|
+
success: {
|
|
5059
|
+
bg: "bg-[color:var(--tiger-success,#16a34a)]",
|
|
5060
|
+
text: "text-[color:var(--tiger-success,#16a34a)]"
|
|
5061
|
+
},
|
|
5062
|
+
warning: {
|
|
5063
|
+
bg: "bg-[color:var(--tiger-warning,#f59e0b)]",
|
|
5064
|
+
text: "text-[color:var(--tiger-warning,#f59e0b)]"
|
|
5065
|
+
},
|
|
5066
|
+
danger: {
|
|
5067
|
+
bg: "bg-[color:var(--tiger-error,#dc2626)]",
|
|
5068
|
+
text: "text-[color:var(--tiger-error,#dc2626)]"
|
|
5069
|
+
},
|
|
5070
|
+
info: {
|
|
5071
|
+
bg: "bg-[color:var(--tiger-info,#0ea5e9)]",
|
|
5072
|
+
text: "text-[color:var(--tiger-info,#0ea5e9)]"
|
|
5073
|
+
}
|
|
5074
|
+
};
|
|
5075
|
+
function getProgressVariantClasses(variant, colors = defaultProgressThemeColors) {
|
|
5076
|
+
const scheme = colors[variant];
|
|
5077
|
+
return scheme.bg;
|
|
5078
|
+
}
|
|
5079
|
+
function getProgressTextColorClasses(variant, colors = defaultProgressThemeColors) {
|
|
5080
|
+
const scheme = colors[variant];
|
|
5081
|
+
return scheme.text || "text-[var(--tiger-text,#374151)]";
|
|
5082
|
+
}
|
|
5083
|
+
var defaultAlertThemeColors = {
|
|
5084
|
+
success: {
|
|
5085
|
+
bg: "bg-[var(--tiger-alert-success-bg,#f0fdf4)]",
|
|
5086
|
+
border: "border-[var(--tiger-alert-success-border,#bbf7d0)]",
|
|
5087
|
+
icon: "text-[var(--tiger-alert-success-icon,#22c55e)]",
|
|
5088
|
+
title: "text-[var(--tiger-alert-success-title,#166534)]",
|
|
5089
|
+
description: "text-[var(--tiger-alert-success-description,#15803d)]",
|
|
5090
|
+
closeButton: "text-[var(--tiger-alert-success-close,#22c55e)]",
|
|
5091
|
+
closeButtonHover: "hover:bg-[var(--tiger-alert-success-close-hover-bg,#dcfce7)]",
|
|
5092
|
+
focus: "focus:ring-[color:var(--tiger-alert-success-ring,#22c55e)]"
|
|
5093
|
+
},
|
|
5094
|
+
warning: {
|
|
5095
|
+
bg: "bg-[var(--tiger-alert-warning-bg,#fefce8)]",
|
|
5096
|
+
border: "border-[var(--tiger-alert-warning-border,#fef08a)]",
|
|
5097
|
+
icon: "text-[var(--tiger-alert-warning-icon,#eab308)]",
|
|
5098
|
+
title: "text-[var(--tiger-alert-warning-title,#854d0e)]",
|
|
5099
|
+
description: "text-[var(--tiger-alert-warning-description,#a16207)]",
|
|
5100
|
+
closeButton: "text-[var(--tiger-alert-warning-close,#eab308)]",
|
|
5101
|
+
closeButtonHover: "hover:bg-[var(--tiger-alert-warning-close-hover-bg,#fef9c3)]",
|
|
5102
|
+
focus: "focus:ring-[color:var(--tiger-alert-warning-ring,#eab308)]"
|
|
5103
|
+
},
|
|
5104
|
+
error: {
|
|
5105
|
+
bg: "bg-[var(--tiger-alert-error-bg,#fef2f2)]",
|
|
5106
|
+
border: "border-[var(--tiger-alert-error-border,#fecaca)]",
|
|
5107
|
+
icon: "text-[var(--tiger-alert-error-icon,#ef4444)]",
|
|
5108
|
+
title: "text-[var(--tiger-alert-error-title,#991b1b)]",
|
|
5109
|
+
description: "text-[var(--tiger-alert-error-description,#b91c1c)]",
|
|
5110
|
+
closeButton: "text-[var(--tiger-alert-error-close,#ef4444)]",
|
|
5111
|
+
closeButtonHover: "hover:bg-[var(--tiger-alert-error-close-hover-bg,#fee2e2)]",
|
|
5112
|
+
focus: "focus:ring-[color:var(--tiger-alert-error-ring,#ef4444)]"
|
|
5113
|
+
},
|
|
5114
|
+
info: {
|
|
5115
|
+
bg: "bg-[var(--tiger-alert-info-bg,#eff6ff)]",
|
|
5116
|
+
border: "border-[var(--tiger-alert-info-border,#bfdbfe)]",
|
|
5117
|
+
icon: "text-[var(--tiger-alert-info-icon,#3b82f6)]",
|
|
5118
|
+
title: "text-[var(--tiger-alert-info-title,#1e40af)]",
|
|
5119
|
+
description: "text-[var(--tiger-alert-info-description,#1d4ed8)]",
|
|
5120
|
+
closeButton: "text-[var(--tiger-alert-info-close,#3b82f6)]",
|
|
5121
|
+
closeButtonHover: "hover:bg-[var(--tiger-alert-info-close-hover-bg,#dbeafe)]",
|
|
5122
|
+
focus: "focus:ring-[color:var(--tiger-alert-info-ring,#3b82f6)]"
|
|
5123
|
+
}
|
|
5124
|
+
};
|
|
5125
|
+
function getAlertTypeClasses(type, colors = defaultAlertThemeColors) {
|
|
5126
|
+
return colors[type];
|
|
5127
|
+
}
|
|
5128
|
+
|
|
5129
|
+
// src/utils/text-utils.ts
|
|
5130
|
+
function getTextClasses(props) {
|
|
5131
|
+
const {
|
|
5132
|
+
size = "base",
|
|
5133
|
+
weight = "normal",
|
|
5134
|
+
align,
|
|
5135
|
+
color = "default",
|
|
5136
|
+
truncate,
|
|
5137
|
+
italic,
|
|
5138
|
+
underline,
|
|
5139
|
+
lineThrough
|
|
5140
|
+
} = props;
|
|
5141
|
+
return classNames(
|
|
5142
|
+
textSizeClasses[size],
|
|
5143
|
+
textWeightClasses[weight],
|
|
5144
|
+
align && textAlignClasses[align],
|
|
5145
|
+
textColorClasses[color],
|
|
5146
|
+
truncate && textDecorationClasses.truncate,
|
|
5147
|
+
italic && textDecorationClasses.italic,
|
|
5148
|
+
underline && textDecorationClasses.underline,
|
|
5149
|
+
lineThrough && textDecorationClasses.lineThrough
|
|
5150
|
+
);
|
|
5151
|
+
}
|
|
5152
|
+
|
|
5153
|
+
// src/utils/carousel-utils.ts
|
|
5154
|
+
var carouselBaseClasses = "relative overflow-hidden w-full";
|
|
5155
|
+
var carouselTrackScrollClasses = "flex transition-transform ease-in-out";
|
|
5156
|
+
var carouselTrackFadeClasses = "relative";
|
|
5157
|
+
var carouselSlideBaseClasses = "flex-shrink-0 w-full";
|
|
5158
|
+
var carouselDotsBaseClasses = "absolute flex gap-2 z-10";
|
|
5159
|
+
var carouselDotsPositionClasses = {
|
|
5160
|
+
top: "top-4 left-1/2 -translate-x-1/2 flex-row",
|
|
5161
|
+
bottom: "bottom-4 left-1/2 -translate-x-1/2 flex-row",
|
|
5162
|
+
left: "left-4 top-1/2 -translate-y-1/2 flex-col",
|
|
5163
|
+
right: "right-4 top-1/2 -translate-y-1/2 flex-col"
|
|
5164
|
+
};
|
|
5165
|
+
var carouselDotClasses = "w-3 h-3 rounded-full transition-all duration-200 cursor-pointer border-0 p-0 bg-white/50 hover:bg-white/75 focus:outline-none focus-visible:ring-2 focus-visible:ring-white focus-visible:ring-offset-2 focus-visible:ring-offset-gray-800";
|
|
5166
|
+
var carouselDotActiveClasses = "bg-white scale-110";
|
|
5167
|
+
var carouselArrowBaseClasses = "absolute top-1/2 -translate-y-1/2 z-10 flex items-center justify-center w-10 h-10 rounded-full bg-black/30 text-white cursor-pointer transition-all duration-200 hover:bg-black/50 focus:outline-none focus-visible:ring-2 focus-visible:ring-white border-0";
|
|
5168
|
+
var carouselPrevArrowClasses = "left-4";
|
|
5169
|
+
var carouselNextArrowClasses = "right-4";
|
|
5170
|
+
var carouselArrowDisabledClasses = "opacity-50 cursor-not-allowed pointer-events-none";
|
|
5171
|
+
function getCarouselContainerClasses(className) {
|
|
5172
|
+
return className ? `${carouselBaseClasses} ${className}` : carouselBaseClasses;
|
|
5173
|
+
}
|
|
5174
|
+
function getCarouselDotsClasses(position) {
|
|
5175
|
+
return `${carouselDotsBaseClasses} ${carouselDotsPositionClasses[position]}`;
|
|
5176
|
+
}
|
|
5177
|
+
function getCarouselDotClasses(isActive) {
|
|
5178
|
+
return isActive ? `${carouselDotClasses} ${carouselDotActiveClasses}` : carouselDotClasses;
|
|
5179
|
+
}
|
|
5180
|
+
function getCarouselArrowClasses(type, disabled) {
|
|
5181
|
+
const position = type === "prev" ? carouselPrevArrowClasses : carouselNextArrowClasses;
|
|
5182
|
+
return disabled ? `${carouselArrowBaseClasses} ${position} ${carouselArrowDisabledClasses}` : `${carouselArrowBaseClasses} ${position}`;
|
|
5183
|
+
}
|
|
5184
|
+
function getNextSlideIndex(currentIndex, totalSlides, infinite) {
|
|
5185
|
+
if (totalSlides <= 0) return 0;
|
|
5186
|
+
const nextIndex = currentIndex + 1;
|
|
5187
|
+
if (nextIndex >= totalSlides) {
|
|
5188
|
+
return infinite ? 0 : currentIndex;
|
|
5189
|
+
}
|
|
5190
|
+
return nextIndex;
|
|
5191
|
+
}
|
|
5192
|
+
function getPrevSlideIndex(currentIndex, totalSlides, infinite) {
|
|
5193
|
+
if (totalSlides <= 0) return 0;
|
|
5194
|
+
const prevIndex = currentIndex - 1;
|
|
5195
|
+
if (prevIndex < 0) {
|
|
5196
|
+
return infinite ? totalSlides - 1 : currentIndex;
|
|
5197
|
+
}
|
|
5198
|
+
return prevIndex;
|
|
5199
|
+
}
|
|
5200
|
+
function isNextDisabled(currentIndex, totalSlides, infinite) {
|
|
5201
|
+
if (infinite) return false;
|
|
4880
5202
|
return currentIndex >= totalSlides - 1;
|
|
4881
5203
|
}
|
|
4882
5204
|
function isPrevDisabled(currentIndex, _totalSlides, infinite) {
|
|
@@ -4907,14 +5229,7 @@ var anchorLinkListHorizontalClasses = "flex items-center space-x-4 pb-2";
|
|
|
4907
5229
|
var anchorLinkBaseClasses = "block text-sm text-gray-600 hover:text-[var(--tiger-primary,#2563eb)] transition-colors duration-200 whitespace-nowrap";
|
|
4908
5230
|
var anchorLinkActiveClasses = "text-[var(--tiger-primary,#2563eb)] font-medium";
|
|
4909
5231
|
function getAnchorWrapperClasses(affix, className) {
|
|
4910
|
-
|
|
4911
|
-
if (affix) {
|
|
4912
|
-
classes.push(anchorAffixClasses);
|
|
4913
|
-
}
|
|
4914
|
-
if (className) {
|
|
4915
|
-
classes.push(className);
|
|
4916
|
-
}
|
|
4917
|
-
return classes.filter(Boolean).join(" ");
|
|
5232
|
+
return [anchorBaseClasses, affix && anchorAffixClasses, className].filter(Boolean).join(" ");
|
|
4918
5233
|
}
|
|
4919
5234
|
function getAnchorInkContainerClasses(direction) {
|
|
4920
5235
|
return direction === "vertical" ? anchorInkContainerVerticalClasses : anchorInkContainerHorizontalClasses;
|
|
@@ -4926,14 +5241,7 @@ function getAnchorLinkListClasses(direction) {
|
|
|
4926
5241
|
return direction === "vertical" ? anchorLinkListVerticalClasses : anchorLinkListHorizontalClasses;
|
|
4927
5242
|
}
|
|
4928
5243
|
function getAnchorLinkClasses(active, className) {
|
|
4929
|
-
|
|
4930
|
-
if (active) {
|
|
4931
|
-
classes.push(anchorLinkActiveClasses);
|
|
4932
|
-
}
|
|
4933
|
-
if (className) {
|
|
4934
|
-
classes.push(className);
|
|
4935
|
-
}
|
|
4936
|
-
return classes.filter(Boolean).join(" ");
|
|
5244
|
+
return [anchorLinkBaseClasses, active && anchorLinkActiveClasses, className].filter(Boolean).join(" ");
|
|
4937
5245
|
}
|
|
4938
5246
|
function getAnchorTargetElement(href) {
|
|
4939
5247
|
if (!href || !href.startsWith("#")) {
|
|
@@ -4981,19 +5289,9 @@ function scrollToAnchor(href, container, targetOffset = 0) {
|
|
|
4981
5289
|
if (!element) {
|
|
4982
5290
|
return;
|
|
4983
5291
|
}
|
|
4984
|
-
const
|
|
4985
|
-
|
|
4986
|
-
|
|
4987
|
-
top: offsetTop,
|
|
4988
|
-
behavior: "smooth"
|
|
4989
|
-
});
|
|
4990
|
-
} else {
|
|
4991
|
-
;
|
|
4992
|
-
container.scrollTo({
|
|
4993
|
-
top: offsetTop,
|
|
4994
|
-
behavior: "smooth"
|
|
4995
|
-
});
|
|
4996
|
-
}
|
|
5292
|
+
const top = getElementOffsetTop(element, container) - targetOffset;
|
|
5293
|
+
const scrollTarget = container === window ? window : container;
|
|
5294
|
+
scrollTarget.scrollTo({ top, behavior: "smooth" });
|
|
4997
5295
|
}
|
|
4998
5296
|
function findActiveAnchor(links, container, bounds = 5, targetOffset = 0) {
|
|
4999
5297
|
if (links.length === 0) {
|
|
@@ -5249,6 +5547,33 @@ function createPieArcPath(options) {
|
|
|
5249
5547
|
"Z"
|
|
5250
5548
|
].join(" ");
|
|
5251
5549
|
}
|
|
5550
|
+
function computePieHoverOffset(startAngle, endAngle, offset2) {
|
|
5551
|
+
const midAngle = (startAngle + endAngle) / 2;
|
|
5552
|
+
return {
|
|
5553
|
+
dx: offset2 * Math.cos(midAngle),
|
|
5554
|
+
dy: offset2 * Math.sin(midAngle)
|
|
5555
|
+
};
|
|
5556
|
+
}
|
|
5557
|
+
function computePieLabelLine(cx, cy, outerRadius, startAngle, endAngle, offset2) {
|
|
5558
|
+
const midAngle = (startAngle + endAngle) / 2;
|
|
5559
|
+
const gap = offset2 ?? Math.max(12, outerRadius * 0.15);
|
|
5560
|
+
const anchor = polarToCartesian(cx, cy, outerRadius, midAngle);
|
|
5561
|
+
const elbow = polarToCartesian(cx, cy, outerRadius + gap * 0.6, midAngle);
|
|
5562
|
+
const isRight = Math.cos(midAngle) >= 0;
|
|
5563
|
+
return {
|
|
5564
|
+
anchor,
|
|
5565
|
+
elbow,
|
|
5566
|
+
label: {
|
|
5567
|
+
x: elbow.x + (isRight ? gap * 0.8 : -gap * 0.8),
|
|
5568
|
+
y: elbow.y
|
|
5569
|
+
},
|
|
5570
|
+
textAnchor: isRight ? "start" : "end"
|
|
5571
|
+
};
|
|
5572
|
+
}
|
|
5573
|
+
var PIE_EMPHASIS_SHADOW = "drop-shadow(0 4px 8px rgba(0,0,0,0.2))";
|
|
5574
|
+
var PIE_BASE_SHADOW = "drop-shadow(0 1px 2px rgba(0,0,0,0.06))";
|
|
5575
|
+
var DONUT_EMPHASIS_SHADOW = "drop-shadow(0 8px 20px rgba(0,0,0,0.28)) drop-shadow(0 2px 6px rgba(0,0,0,0.12))";
|
|
5576
|
+
var DONUT_BASE_SHADOW = "drop-shadow(0 2px 8px rgba(0,0,0,0.10))";
|
|
5252
5577
|
function getRadarAngles(count, startAngle = -Math.PI / 2) {
|
|
5253
5578
|
if (count <= 0) return [];
|
|
5254
5579
|
const step = Math.PI * 2 / count;
|
|
@@ -5284,6 +5609,49 @@ function createPolygonPath(points) {
|
|
|
5284
5609
|
" "
|
|
5285
5610
|
);
|
|
5286
5611
|
}
|
|
5612
|
+
function getRadarLabelAlign(angle) {
|
|
5613
|
+
const TWO_PI = Math.PI * 2;
|
|
5614
|
+
const a = (angle % TWO_PI + TWO_PI) % TWO_PI;
|
|
5615
|
+
const threshold = Math.PI / 10;
|
|
5616
|
+
let textAnchor;
|
|
5617
|
+
if (Math.abs(a - Math.PI * 1.5) < threshold || a < threshold || Math.abs(a - TWO_PI) < threshold) {
|
|
5618
|
+
textAnchor = "middle";
|
|
5619
|
+
} else if (a > Math.PI - threshold && a < Math.PI + threshold) {
|
|
5620
|
+
textAnchor = "middle";
|
|
5621
|
+
} else if (a < Math.PI) {
|
|
5622
|
+
textAnchor = "start";
|
|
5623
|
+
} else {
|
|
5624
|
+
textAnchor = "end";
|
|
5625
|
+
}
|
|
5626
|
+
let dominantBaseline;
|
|
5627
|
+
if (Math.abs(a - Math.PI / 2) < threshold * 1.5) {
|
|
5628
|
+
dominantBaseline = "hanging";
|
|
5629
|
+
} else if (Math.abs(a - Math.PI * 1.5) < threshold * 1.5) {
|
|
5630
|
+
dominantBaseline = "auto";
|
|
5631
|
+
} else {
|
|
5632
|
+
dominantBaseline = "middle";
|
|
5633
|
+
}
|
|
5634
|
+
return { textAnchor, dominantBaseline };
|
|
5635
|
+
}
|
|
5636
|
+
var RADAR_SPLIT_AREA_COLORS = [
|
|
5637
|
+
"var(--tiger-chart-split-1,rgba(0,0,0,0.02))",
|
|
5638
|
+
"var(--tiger-chart-split-2,rgba(0,0,0,0.05))"
|
|
5639
|
+
];
|
|
5640
|
+
var lineGradientCounter = 0;
|
|
5641
|
+
function getLineGradientPrefix() {
|
|
5642
|
+
return `tiger-line-grad-${++lineGradientCounter}`;
|
|
5643
|
+
}
|
|
5644
|
+
function resetLineGradientCounter() {
|
|
5645
|
+
lineGradientCounter = 0;
|
|
5646
|
+
}
|
|
5647
|
+
var areaGradientCounter = 0;
|
|
5648
|
+
function getAreaGradientPrefix() {
|
|
5649
|
+
return `tiger-area-grad-${++areaGradientCounter}`;
|
|
5650
|
+
}
|
|
5651
|
+
function resetAreaGradientCounter() {
|
|
5652
|
+
areaGradientCounter = 0;
|
|
5653
|
+
}
|
|
5654
|
+
var linePointTransitionClasses = "transition-all duration-200 ease-out";
|
|
5287
5655
|
function createLinePath(points, curve = "linear") {
|
|
5288
5656
|
if (points.length === 0) return "";
|
|
5289
5657
|
if (points.length === 1) return `M ${points[0].x} ${points[0].y}`;
|
|
@@ -5439,6 +5807,63 @@ function stackSeriesData(seriesData) {
|
|
|
5439
5807
|
}
|
|
5440
5808
|
return result;
|
|
5441
5809
|
}
|
|
5810
|
+
var barGradientCounter = 0;
|
|
5811
|
+
function getBarGradientPrefix() {
|
|
5812
|
+
return `tiger-bar-grad-${++barGradientCounter}`;
|
|
5813
|
+
}
|
|
5814
|
+
function resetBarGradientCounter() {
|
|
5815
|
+
barGradientCounter = 0;
|
|
5816
|
+
}
|
|
5817
|
+
function clampBarWidth(width, maxWidth) {
|
|
5818
|
+
if (maxWidth === void 0 || maxWidth <= 0) return width;
|
|
5819
|
+
return Math.min(width, maxWidth);
|
|
5820
|
+
}
|
|
5821
|
+
function ensureBarMinHeight(barY, barHeight, baseline, minHeight) {
|
|
5822
|
+
if (minHeight <= 0 || barHeight === 0 || barHeight >= minHeight) {
|
|
5823
|
+
return { y: barY, height: barHeight };
|
|
5824
|
+
}
|
|
5825
|
+
if (barY < baseline) {
|
|
5826
|
+
return { y: baseline - minHeight, height: minHeight };
|
|
5827
|
+
}
|
|
5828
|
+
return { y: baseline, height: minHeight };
|
|
5829
|
+
}
|
|
5830
|
+
function getBarValueLabelY(barY, barHeight, position, offset2 = 8) {
|
|
5831
|
+
if (position === "inside") {
|
|
5832
|
+
return barY + barHeight / 2;
|
|
5833
|
+
}
|
|
5834
|
+
return barY - offset2;
|
|
5835
|
+
}
|
|
5836
|
+
var barValueLabelClasses = "fill-[color:var(--tiger-text,#374151)] text-[11px] font-medium pointer-events-none select-none";
|
|
5837
|
+
var barValueLabelInsideClasses = "fill-white text-[11px] font-medium pointer-events-none select-none";
|
|
5838
|
+
var barAnimatedTransition = "transition: y 600ms cubic-bezier(.4,0,.2,1), height 600ms cubic-bezier(.4,0,.2,1), opacity 200ms ease-out, filter 200ms ease-out";
|
|
5839
|
+
var scatterGradientCounter = 0;
|
|
5840
|
+
function getScatterGradientPrefix() {
|
|
5841
|
+
return `tiger-scatter-grad-${++scatterGradientCounter}`;
|
|
5842
|
+
}
|
|
5843
|
+
function resetScatterGradientCounter() {
|
|
5844
|
+
scatterGradientCounter = 0;
|
|
5845
|
+
}
|
|
5846
|
+
var scatterPointTransitionClasses = "transition-all duration-200 ease-out";
|
|
5847
|
+
function getScatterHoverShadow(color) {
|
|
5848
|
+
return `drop-shadow(0 0 4px ${color})`;
|
|
5849
|
+
}
|
|
5850
|
+
function getScatterPointPath(style, size) {
|
|
5851
|
+
switch (style) {
|
|
5852
|
+
case "square":
|
|
5853
|
+
return `M ${-size} ${-size} L ${size} ${-size} L ${size} ${size} L ${-size} ${size} Z`;
|
|
5854
|
+
case "triangle": {
|
|
5855
|
+
const h = size * 1.15;
|
|
5856
|
+
return `M 0 ${-h} L ${size} ${h * 0.75} L ${-size} ${h * 0.75} Z`;
|
|
5857
|
+
}
|
|
5858
|
+
case "diamond":
|
|
5859
|
+
return `M 0 ${-size * 1.2} L ${size} 0 L 0 ${size * 1.2} L ${-size} 0 Z`;
|
|
5860
|
+
}
|
|
5861
|
+
}
|
|
5862
|
+
function getScatterHoverSize(baseSize) {
|
|
5863
|
+
return baseSize + 2;
|
|
5864
|
+
}
|
|
5865
|
+
var SCATTER_ENTRANCE_KEYFRAMES = `@keyframes tiger-scatter-entrance{from{opacity:0;transform:scale(0)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}`;
|
|
5866
|
+
var SCATTER_ENTRANCE_CLASS = "tiger-scatter-entrance";
|
|
5442
5867
|
|
|
5443
5868
|
// src/utils/chart-interaction.ts
|
|
5444
5869
|
function createChartInteractionHandlers(data, state, options) {
|
|
@@ -5536,6 +5961,59 @@ function getChartEntranceTransform(type, progress, options = {}) {
|
|
|
5536
5961
|
}
|
|
5537
5962
|
}
|
|
5538
5963
|
|
|
5964
|
+
// src/utils/chart-shared.ts
|
|
5965
|
+
function resolveChartPalette(colors, fallbackColor) {
|
|
5966
|
+
if (colors && colors.length > 0) return colors;
|
|
5967
|
+
if (fallbackColor) return [fallbackColor];
|
|
5968
|
+
return [...DEFAULT_CHART_COLORS];
|
|
5969
|
+
}
|
|
5970
|
+
function buildChartLegendItems(options) {
|
|
5971
|
+
const { data, palette, activeIndex, getLabel, getColor } = options;
|
|
5972
|
+
return data.map((datum, index) => ({
|
|
5973
|
+
index,
|
|
5974
|
+
label: getLabel(datum, index),
|
|
5975
|
+
color: getColor ? getColor(datum, index) : palette[index % palette.length],
|
|
5976
|
+
active: activeIndex === null || activeIndex === index
|
|
5977
|
+
}));
|
|
5978
|
+
}
|
|
5979
|
+
function resolveChartTooltipContent(hoveredIndex, data, formatter, defaultFormatter) {
|
|
5980
|
+
if (hoveredIndex === null) return "";
|
|
5981
|
+
const datum = data[hoveredIndex];
|
|
5982
|
+
if (!datum) return "";
|
|
5983
|
+
const fmt = formatter ?? defaultFormatter;
|
|
5984
|
+
return fmt(datum, hoveredIndex);
|
|
5985
|
+
}
|
|
5986
|
+
function resolveMultiSeriesTooltipContent(hoveredPoint, series, formatter, defaultFormatter) {
|
|
5987
|
+
if (!hoveredPoint) return "";
|
|
5988
|
+
const { seriesIndex, pointIndex } = hoveredPoint;
|
|
5989
|
+
const s = series[seriesIndex];
|
|
5990
|
+
const datum = s?.data[pointIndex];
|
|
5991
|
+
if (!datum) return "";
|
|
5992
|
+
const fmt = formatter ?? defaultFormatter;
|
|
5993
|
+
return fmt(datum, seriesIndex, pointIndex, s);
|
|
5994
|
+
}
|
|
5995
|
+
function resolveSeriesData(series, data, defaultSeries) {
|
|
5996
|
+
if (series && series.length > 0) return series;
|
|
5997
|
+
if (data && data.length > 0) {
|
|
5998
|
+
return [{ ...defaultSeries, data }];
|
|
5999
|
+
}
|
|
6000
|
+
return [];
|
|
6001
|
+
}
|
|
6002
|
+
function defaultXYTooltipFormatter(datum, index) {
|
|
6003
|
+
const label = datum.label ?? (datum.x !== void 0 ? String(datum.x) : `#${index + 1}`);
|
|
6004
|
+
return `${label}: ${datum.y ?? ""}`;
|
|
6005
|
+
}
|
|
6006
|
+
function defaultSeriesXYTooltipFormatter(datum, seriesIndex, _pointIndex, series) {
|
|
6007
|
+
const seriesName = series?.name ?? `Series ${seriesIndex + 1}`;
|
|
6008
|
+
const label = datum.label ?? (datum.x !== void 0 ? String(datum.x) : "");
|
|
6009
|
+
return `${seriesName} \xB7 ${label}: ${datum.y ?? ""}`;
|
|
6010
|
+
}
|
|
6011
|
+
function defaultRadarTooltipFormatter(datum, seriesIndex, _pointIndex, series) {
|
|
6012
|
+
const seriesName = series?.name ?? `Series ${seriesIndex + 1}`;
|
|
6013
|
+
const label = datum.label ?? `#${_pointIndex + 1}`;
|
|
6014
|
+
return `${seriesName} \xB7 ${label}: ${datum.value}`;
|
|
6015
|
+
}
|
|
6016
|
+
|
|
5539
6017
|
// src/utils/floating.ts
|
|
5540
6018
|
import {
|
|
5541
6019
|
computePosition,
|
|
@@ -5630,304 +6108,166 @@ function applyFloatingStyles(element, result) {
|
|
|
5630
6108
|
element.style.top = `${result.y}px`;
|
|
5631
6109
|
}
|
|
5632
6110
|
|
|
5633
|
-
// src/
|
|
5634
|
-
var
|
|
5635
|
-
|
|
5636
|
-
|
|
5637
|
-
|
|
5638
|
-
text: "text-white",
|
|
5639
|
-
focus: "focus:ring-[var(--tiger-primary,#2563eb)]",
|
|
5640
|
-
disabled: "disabled:bg-[var(--tiger-primary-disabled,#93c5fd)]"
|
|
5641
|
-
},
|
|
5642
|
-
secondary: {
|
|
5643
|
-
bg: "bg-[var(--tiger-secondary,#4b5563)]",
|
|
5644
|
-
bgHover: "hover:bg-[var(--tiger-secondary-hover,#374151)]",
|
|
5645
|
-
text: "text-white",
|
|
5646
|
-
focus: "focus:ring-[var(--tiger-secondary,#4b5563)]",
|
|
5647
|
-
disabled: "disabled:bg-[var(--tiger-secondary-disabled,#9ca3af)]"
|
|
5648
|
-
},
|
|
5649
|
-
outline: {
|
|
5650
|
-
bg: "bg-transparent",
|
|
5651
|
-
bgHover: "hover:bg-[var(--tiger-outline-bg-hover,#eff6ff)]",
|
|
5652
|
-
text: "text-[var(--tiger-primary,#2563eb)]",
|
|
5653
|
-
border: "border-2 border-[var(--tiger-primary,#2563eb)]",
|
|
5654
|
-
focus: "focus:ring-[var(--tiger-primary,#2563eb)]",
|
|
5655
|
-
disabled: "disabled:border-[var(--tiger-primary-disabled,#93c5fd)] disabled:text-[var(--tiger-primary-disabled,#93c5fd)]"
|
|
5656
|
-
},
|
|
5657
|
-
ghost: {
|
|
5658
|
-
bg: "bg-transparent",
|
|
5659
|
-
bgHover: "hover:bg-[var(--tiger-ghost-bg-hover,#eff6ff)]",
|
|
5660
|
-
text: "text-[var(--tiger-primary,#2563eb)]",
|
|
5661
|
-
focus: "focus:ring-[var(--tiger-primary,#2563eb)]",
|
|
5662
|
-
disabled: "disabled:text-[var(--tiger-primary-disabled,#93c5fd)]"
|
|
5663
|
-
},
|
|
5664
|
-
link: {
|
|
5665
|
-
bg: "bg-transparent",
|
|
5666
|
-
bgHover: "hover:underline",
|
|
5667
|
-
text: "text-[var(--tiger-primary,#2563eb)]",
|
|
5668
|
-
focus: "focus:ring-[var(--tiger-primary,#2563eb)]",
|
|
5669
|
-
disabled: "disabled:text-[var(--tiger-primary-disabled,#93c5fd)]"
|
|
5670
|
-
}
|
|
5671
|
-
};
|
|
5672
|
-
function getButtonVariantClasses(variant, colors = defaultThemeColors) {
|
|
5673
|
-
const scheme = colors[variant];
|
|
5674
|
-
const classes = [
|
|
5675
|
-
scheme.bg,
|
|
5676
|
-
scheme.bgHover,
|
|
5677
|
-
scheme.text,
|
|
5678
|
-
scheme.border,
|
|
5679
|
-
scheme.borderHover,
|
|
5680
|
-
scheme.focus,
|
|
5681
|
-
scheme.disabled
|
|
5682
|
-
].filter(Boolean);
|
|
5683
|
-
return classes.join(" ");
|
|
5684
|
-
}
|
|
5685
|
-
var defaultRadioColors = {
|
|
5686
|
-
border: "border-[var(--tiger-border,#d1d5db)]",
|
|
5687
|
-
borderChecked: "border-[var(--tiger-primary,#2563eb)]",
|
|
5688
|
-
bg: "bg-[var(--tiger-surface,#ffffff)]",
|
|
5689
|
-
bgChecked: "bg-[var(--tiger-primary,#2563eb)]",
|
|
5690
|
-
innerDot: "bg-[var(--tiger-surface,#ffffff)]",
|
|
5691
|
-
focus: "ring-[var(--tiger-primary,#2563eb)]",
|
|
5692
|
-
disabled: "bg-[var(--tiger-surface-muted,#f3f4f6)] border-[var(--tiger-border,#d1d5db)]",
|
|
5693
|
-
textDisabled: "text-[var(--tiger-text-muted,#6b7280)]"
|
|
6111
|
+
// src/utils/chat-window-utils.ts
|
|
6112
|
+
var defaultChatMessageStatusInfo = {
|
|
6113
|
+
sending: { text: "\u53D1\u9001\u4E2D", className: "text-[var(--tiger-text-muted,#6b7280)]" },
|
|
6114
|
+
sent: { text: "\u5DF2\u9001\u8FBE", className: "text-[var(--tiger-text-muted,#6b7280)]" },
|
|
6115
|
+
failed: { text: "\u53D1\u9001\u5931\u8D25", className: "text-[var(--tiger-danger,#ef4444)]" }
|
|
5694
6116
|
};
|
|
5695
|
-
function
|
|
5696
|
-
return
|
|
6117
|
+
function getChatMessageStatusInfo(status, statusMap = defaultChatMessageStatusInfo) {
|
|
6118
|
+
return statusMap[status] || defaultChatMessageStatusInfo[status];
|
|
5697
6119
|
}
|
|
5698
|
-
|
|
5699
|
-
|
|
5700
|
-
|
|
5701
|
-
|
|
5702
|
-
|
|
5703
|
-
|
|
5704
|
-
|
|
5705
|
-
secondary: {
|
|
5706
|
-
text: "text-[var(--tiger-secondary,#4b5563)]",
|
|
5707
|
-
textHover: "hover:text-[var(--tiger-secondary-hover,#374151)]",
|
|
5708
|
-
focus: "focus:ring-[var(--tiger-secondary,#4b5563)]",
|
|
5709
|
-
disabled: "text-[var(--tiger-secondary-disabled,#9ca3af)]"
|
|
5710
|
-
},
|
|
5711
|
-
default: {
|
|
5712
|
-
text: "text-gray-700",
|
|
5713
|
-
textHover: "hover:text-gray-900",
|
|
5714
|
-
focus: "focus:ring-gray-500",
|
|
5715
|
-
disabled: "text-gray-400"
|
|
5716
|
-
}
|
|
5717
|
-
};
|
|
5718
|
-
function getLinkVariantClasses(variant, colors, options) {
|
|
5719
|
-
const scheme = (colors ?? defaultLinkThemeColors)[variant];
|
|
5720
|
-
const classes = [
|
|
5721
|
-
scheme.text,
|
|
5722
|
-
scheme.textHover,
|
|
5723
|
-
scheme.focus,
|
|
5724
|
-
`disabled:${scheme.disabled}`,
|
|
5725
|
-
options?.disabled ? scheme.disabled : void 0
|
|
5726
|
-
].filter(Boolean);
|
|
5727
|
-
return classes.join(" ");
|
|
5728
|
-
}
|
|
5729
|
-
var textSizeClasses = {
|
|
5730
|
-
xs: "text-xs",
|
|
5731
|
-
sm: "text-sm",
|
|
5732
|
-
base: "text-base",
|
|
5733
|
-
lg: "text-lg",
|
|
5734
|
-
xl: "text-xl",
|
|
5735
|
-
"2xl": "text-2xl",
|
|
5736
|
-
"3xl": "text-3xl",
|
|
5737
|
-
"4xl": "text-4xl",
|
|
5738
|
-
"5xl": "text-5xl",
|
|
5739
|
-
"6xl": "text-6xl"
|
|
6120
|
+
|
|
6121
|
+
// src/utils/activity-feed-utils.ts
|
|
6122
|
+
var formatActivityTime = (value) => {
|
|
6123
|
+
if (value == null || value === "") return "";
|
|
6124
|
+
if (value instanceof Date) return value.toLocaleString();
|
|
6125
|
+
if (typeof value === "number") return new Date(value).toLocaleString();
|
|
6126
|
+
return value;
|
|
5740
6127
|
};
|
|
5741
|
-
var
|
|
5742
|
-
|
|
5743
|
-
|
|
5744
|
-
|
|
5745
|
-
|
|
5746
|
-
|
|
5747
|
-
|
|
5748
|
-
|
|
5749
|
-
|
|
6128
|
+
var sortActivityGroups = (groups, groupOrder) => {
|
|
6129
|
+
if (!groupOrder || groupOrder.length === 0) return groups;
|
|
6130
|
+
const orderMap = new Map(groupOrder.map((key, index) => [key, index]));
|
|
6131
|
+
return [...groups].sort((a, b) => {
|
|
6132
|
+
const aKey = String(a.key ?? a.title ?? "");
|
|
6133
|
+
const bKey = String(b.key ?? b.title ?? "");
|
|
6134
|
+
const aIndex = orderMap.has(aKey) ? orderMap.get(aKey) : Number.POSITIVE_INFINITY;
|
|
6135
|
+
const bIndex = orderMap.has(bKey) ? orderMap.get(bKey) : Number.POSITIVE_INFINITY;
|
|
6136
|
+
if (aIndex === bIndex) return 0;
|
|
6137
|
+
return aIndex - bIndex;
|
|
6138
|
+
});
|
|
5750
6139
|
};
|
|
5751
|
-
var
|
|
5752
|
-
|
|
5753
|
-
|
|
5754
|
-
|
|
5755
|
-
|
|
6140
|
+
var buildActivityGroups = (items, groups, groupBy, groupOrder) => {
|
|
6141
|
+
if (groups && groups.length > 0) {
|
|
6142
|
+
return sortActivityGroups(groups, groupOrder);
|
|
6143
|
+
}
|
|
6144
|
+
if (!items || items.length === 0) return [];
|
|
6145
|
+
if (groupBy) {
|
|
6146
|
+
const groupMap = /* @__PURE__ */ new Map();
|
|
6147
|
+
items.forEach((item) => {
|
|
6148
|
+
const key = groupBy(item) || "\u5176\u4ED6";
|
|
6149
|
+
const bucket = groupMap.get(key) ?? [];
|
|
6150
|
+
bucket.push(item);
|
|
6151
|
+
groupMap.set(key, bucket);
|
|
6152
|
+
});
|
|
6153
|
+
const mappedGroups = Array.from(groupMap.entries()).map(([title, groupItems]) => ({
|
|
6154
|
+
key: title,
|
|
6155
|
+
title,
|
|
6156
|
+
items: groupItems
|
|
6157
|
+
}));
|
|
6158
|
+
return sortActivityGroups(mappedGroups, groupOrder);
|
|
6159
|
+
}
|
|
6160
|
+
return [{ key: "default", title: "", items }];
|
|
5756
6161
|
};
|
|
5757
|
-
var
|
|
5758
|
-
|
|
5759
|
-
|
|
5760
|
-
|
|
5761
|
-
|
|
5762
|
-
warning: "text-[var(--tiger-warning,#ca8a04)]",
|
|
5763
|
-
danger: "text-[var(--tiger-error,#dc2626)]",
|
|
5764
|
-
muted: "text-[var(--tiger-text-muted,#6b7280)]"
|
|
6162
|
+
var toActivityTimelineItems = (items) => {
|
|
6163
|
+
return items.map((item, index) => ({
|
|
6164
|
+
key: item.id ?? index,
|
|
6165
|
+
activity: item
|
|
6166
|
+
}));
|
|
5765
6167
|
};
|
|
5766
|
-
|
|
5767
|
-
|
|
5768
|
-
|
|
5769
|
-
|
|
5770
|
-
|
|
6168
|
+
|
|
6169
|
+
// src/utils/notification-center-utils.ts
|
|
6170
|
+
var sortNotificationGroups = (groups, groupOrder) => {
|
|
6171
|
+
if (!groupOrder || groupOrder.length === 0) {
|
|
6172
|
+
return groups;
|
|
6173
|
+
}
|
|
6174
|
+
const orderMap = /* @__PURE__ */ new Map();
|
|
6175
|
+
groupOrder.forEach((key, index) => {
|
|
6176
|
+
orderMap.set(String(key), index);
|
|
6177
|
+
});
|
|
6178
|
+
return [...groups].sort((a, b) => {
|
|
6179
|
+
const aKey = String(a.key ?? a.title);
|
|
6180
|
+
const bKey = String(b.key ?? b.title);
|
|
6181
|
+
const aIndex = orderMap.get(aKey);
|
|
6182
|
+
const bIndex = orderMap.get(bKey);
|
|
6183
|
+
if (aIndex === void 0 && bIndex === void 0) return 0;
|
|
6184
|
+
if (aIndex === void 0) return 1;
|
|
6185
|
+
if (bIndex === void 0) return -1;
|
|
6186
|
+
return aIndex - bIndex;
|
|
6187
|
+
});
|
|
5771
6188
|
};
|
|
5772
|
-
var
|
|
5773
|
-
|
|
5774
|
-
|
|
5775
|
-
text: "text-[var(--tiger-text,#111827)]",
|
|
5776
|
-
border: "border-[var(--tiger-border,#e5e7eb)]",
|
|
5777
|
-
closeBgHover: "hover:bg-[var(--tiger-tag-default-close-hover,#e5e7eb)]"
|
|
5778
|
-
},
|
|
5779
|
-
primary: {
|
|
5780
|
-
bg: "bg-[var(--tiger-tag-primary-bg,#dbeafe)]",
|
|
5781
|
-
text: "text-[var(--tiger-primary,#2563eb)]",
|
|
5782
|
-
border: "border-[var(--tiger-tag-primary-border,#bfdbfe)]",
|
|
5783
|
-
closeBgHover: "hover:bg-[var(--tiger-tag-primary-close-hover,#bfdbfe)]"
|
|
5784
|
-
},
|
|
5785
|
-
success: {
|
|
5786
|
-
bg: "bg-[var(--tiger-tag-success-bg,#dcfce7)]",
|
|
5787
|
-
text: "text-[var(--tiger-success,#16a34a)]",
|
|
5788
|
-
border: "border-[var(--tiger-tag-success-border,#bbf7d0)]",
|
|
5789
|
-
closeBgHover: "hover:bg-[var(--tiger-tag-success-close-hover,#bbf7d0)]"
|
|
5790
|
-
},
|
|
5791
|
-
warning: {
|
|
5792
|
-
bg: "bg-[var(--tiger-tag-warning-bg,#fef9c3)]",
|
|
5793
|
-
text: "text-[var(--tiger-warning,#ca8a04)]",
|
|
5794
|
-
border: "border-[var(--tiger-tag-warning-border,#fef08a)]",
|
|
5795
|
-
closeBgHover: "hover:bg-[var(--tiger-tag-warning-close-hover,#fef08a)]"
|
|
5796
|
-
},
|
|
5797
|
-
danger: {
|
|
5798
|
-
bg: "bg-[var(--tiger-tag-danger-bg,#fee2e2)]",
|
|
5799
|
-
text: "text-[var(--tiger-error,#dc2626)]",
|
|
5800
|
-
border: "border-[var(--tiger-tag-danger-border,#fecaca)]",
|
|
5801
|
-
closeBgHover: "hover:bg-[var(--tiger-tag-danger-close-hover,#fecaca)]"
|
|
5802
|
-
},
|
|
5803
|
-
info: {
|
|
5804
|
-
bg: "bg-[var(--tiger-tag-info-bg,#e0f2fe)]",
|
|
5805
|
-
text: "text-[var(--tiger-info,#3b82f6)]",
|
|
5806
|
-
border: "border-[var(--tiger-tag-info-border,#bae6fd)]",
|
|
5807
|
-
closeBgHover: "hover:bg-[var(--tiger-tag-info-close-hover,#bae6fd)]"
|
|
6189
|
+
var buildNotificationGroups = (items = [], groups, groupBy, groupOrder) => {
|
|
6190
|
+
if (groups && groups.length > 0) {
|
|
6191
|
+
return sortNotificationGroups(groups, groupOrder);
|
|
5808
6192
|
}
|
|
5809
|
-
|
|
5810
|
-
|
|
5811
|
-
const scheme = colors[variant];
|
|
5812
|
-
const classes = [scheme.bg, scheme.text, scheme.border].filter(Boolean);
|
|
5813
|
-
return classes.join(" ");
|
|
5814
|
-
}
|
|
5815
|
-
var defaultBadgeThemeColors = {
|
|
5816
|
-
default: {
|
|
5817
|
-
bg: "bg-[var(--tiger-text-muted,#6b7280)]",
|
|
5818
|
-
text: "text-white",
|
|
5819
|
-
border: "border-[var(--tiger-text-muted,#6b7280)]"
|
|
5820
|
-
},
|
|
5821
|
-
primary: {
|
|
5822
|
-
bg: "bg-[var(--tiger-primary,#2563eb)]",
|
|
5823
|
-
text: "text-white",
|
|
5824
|
-
border: "border-[var(--tiger-primary,#2563eb)]"
|
|
5825
|
-
},
|
|
5826
|
-
success: {
|
|
5827
|
-
bg: "bg-[var(--tiger-success,#16a34a)]",
|
|
5828
|
-
text: "text-white",
|
|
5829
|
-
border: "border-[var(--tiger-success,#16a34a)]"
|
|
5830
|
-
},
|
|
5831
|
-
warning: {
|
|
5832
|
-
bg: "bg-[var(--tiger-warning,#ca8a04)]",
|
|
5833
|
-
text: "text-white",
|
|
5834
|
-
border: "border-[var(--tiger-warning,#ca8a04)]"
|
|
5835
|
-
},
|
|
5836
|
-
danger: {
|
|
5837
|
-
bg: "bg-[var(--tiger-error,#dc2626)]",
|
|
5838
|
-
text: "text-white",
|
|
5839
|
-
border: "border-[var(--tiger-error,#dc2626)]"
|
|
5840
|
-
},
|
|
5841
|
-
info: {
|
|
5842
|
-
bg: "bg-[var(--tiger-info,#3b82f6)]",
|
|
5843
|
-
text: "text-white",
|
|
5844
|
-
border: "border-[var(--tiger-info,#3b82f6)]"
|
|
6193
|
+
if (!items || items.length === 0) {
|
|
6194
|
+
return [];
|
|
5845
6195
|
}
|
|
6196
|
+
const groupFn = groupBy ?? ((item) => String(item.type ?? "default"));
|
|
6197
|
+
const groupMap = /* @__PURE__ */ new Map();
|
|
6198
|
+
items.forEach((item) => {
|
|
6199
|
+
const key = groupFn(item);
|
|
6200
|
+
if (!groupMap.has(key)) {
|
|
6201
|
+
groupMap.set(key, []);
|
|
6202
|
+
}
|
|
6203
|
+
groupMap.get(key)?.push(item);
|
|
6204
|
+
});
|
|
6205
|
+
const mappedGroups = Array.from(groupMap.entries()).map(([key, groupItems]) => ({
|
|
6206
|
+
key,
|
|
6207
|
+
title: key,
|
|
6208
|
+
items: groupItems
|
|
6209
|
+
}));
|
|
6210
|
+
return sortNotificationGroups(mappedGroups, groupOrder);
|
|
5846
6211
|
};
|
|
5847
|
-
|
|
5848
|
-
|
|
5849
|
-
|
|
5850
|
-
|
|
5851
|
-
|
|
5852
|
-
|
|
5853
|
-
|
|
5854
|
-
|
|
5855
|
-
|
|
5856
|
-
|
|
5857
|
-
|
|
5858
|
-
|
|
5859
|
-
|
|
5860
|
-
|
|
5861
|
-
|
|
5862
|
-
|
|
5863
|
-
|
|
5864
|
-
|
|
5865
|
-
|
|
5866
|
-
|
|
5867
|
-
|
|
5868
|
-
|
|
5869
|
-
|
|
5870
|
-
|
|
5871
|
-
|
|
5872
|
-
|
|
5873
|
-
|
|
5874
|
-
|
|
5875
|
-
|
|
5876
|
-
|
|
6212
|
+
|
|
6213
|
+
// src/utils/comment-thread-utils.ts
|
|
6214
|
+
var buildCommentTree = (items = []) => {
|
|
6215
|
+
if (!items || items.length === 0) return [];
|
|
6216
|
+
const nodeMap = /* @__PURE__ */ new Map();
|
|
6217
|
+
const order = [];
|
|
6218
|
+
items.forEach((item) => {
|
|
6219
|
+
nodeMap.set(item.id, {
|
|
6220
|
+
...item,
|
|
6221
|
+
children: []
|
|
6222
|
+
});
|
|
6223
|
+
order.push(item.id);
|
|
6224
|
+
});
|
|
6225
|
+
const roots = [];
|
|
6226
|
+
order.forEach((id) => {
|
|
6227
|
+
const node = nodeMap.get(id);
|
|
6228
|
+
if (!node) return;
|
|
6229
|
+
if (node.parentId === void 0 || node.parentId === null) {
|
|
6230
|
+
roots.push(node);
|
|
6231
|
+
return;
|
|
6232
|
+
}
|
|
6233
|
+
const parent = nodeMap.get(node.parentId);
|
|
6234
|
+
if (!parent) {
|
|
6235
|
+
roots.push(node);
|
|
6236
|
+
return;
|
|
6237
|
+
}
|
|
6238
|
+
if (!parent.children) parent.children = [];
|
|
6239
|
+
parent.children.push(node);
|
|
6240
|
+
});
|
|
6241
|
+
return roots;
|
|
5877
6242
|
};
|
|
5878
|
-
|
|
5879
|
-
|
|
5880
|
-
return
|
|
5881
|
-
|
|
5882
|
-
|
|
5883
|
-
|
|
5884
|
-
|
|
5885
|
-
}
|
|
5886
|
-
|
|
5887
|
-
|
|
5888
|
-
|
|
5889
|
-
|
|
5890
|
-
|
|
5891
|
-
|
|
5892
|
-
|
|
5893
|
-
|
|
5894
|
-
|
|
5895
|
-
|
|
5896
|
-
|
|
5897
|
-
|
|
5898
|
-
|
|
5899
|
-
|
|
5900
|
-
|
|
5901
|
-
|
|
5902
|
-
|
|
5903
|
-
|
|
5904
|
-
|
|
5905
|
-
focus: "focus:ring-[color:var(--tiger-alert-warning-ring,#eab308)]"
|
|
5906
|
-
},
|
|
5907
|
-
error: {
|
|
5908
|
-
bg: "bg-[var(--tiger-alert-error-bg,#fef2f2)]",
|
|
5909
|
-
border: "border-[var(--tiger-alert-error-border,#fecaca)]",
|
|
5910
|
-
icon: "text-[var(--tiger-alert-error-icon,#ef4444)]",
|
|
5911
|
-
title: "text-[var(--tiger-alert-error-title,#991b1b)]",
|
|
5912
|
-
description: "text-[var(--tiger-alert-error-description,#b91c1c)]",
|
|
5913
|
-
closeButton: "text-[var(--tiger-alert-error-close,#ef4444)]",
|
|
5914
|
-
closeButtonHover: "hover:bg-[var(--tiger-alert-error-close-hover-bg,#fee2e2)]",
|
|
5915
|
-
focus: "focus:ring-[color:var(--tiger-alert-error-ring,#ef4444)]"
|
|
5916
|
-
},
|
|
5917
|
-
info: {
|
|
5918
|
-
bg: "bg-[var(--tiger-alert-info-bg,#eff6ff)]",
|
|
5919
|
-
border: "border-[var(--tiger-alert-info-border,#bfdbfe)]",
|
|
5920
|
-
icon: "text-[var(--tiger-alert-info-icon,#3b82f6)]",
|
|
5921
|
-
title: "text-[var(--tiger-alert-info-title,#1e40af)]",
|
|
5922
|
-
description: "text-[var(--tiger-alert-info-description,#1d4ed8)]",
|
|
5923
|
-
closeButton: "text-[var(--tiger-alert-info-close,#3b82f6)]",
|
|
5924
|
-
closeButtonHover: "hover:bg-[var(--tiger-alert-info-close-hover-bg,#dbeafe)]",
|
|
5925
|
-
focus: "focus:ring-[color:var(--tiger-alert-info-ring,#3b82f6)]"
|
|
5926
|
-
}
|
|
6243
|
+
var clipCommentTreeDepth = (nodes = [], maxDepth = 3) => {
|
|
6244
|
+
if (!nodes || nodes.length === 0) return [];
|
|
6245
|
+
if (maxDepth <= 0) return [];
|
|
6246
|
+
const cloneNode = (node, depth) => {
|
|
6247
|
+
const next = { ...node };
|
|
6248
|
+
if (node.children && node.children.length > 0 && depth < maxDepth) {
|
|
6249
|
+
next.children = node.children.map((child) => cloneNode(child, depth + 1));
|
|
6250
|
+
} else {
|
|
6251
|
+
next.children = [];
|
|
6252
|
+
}
|
|
6253
|
+
return next;
|
|
6254
|
+
};
|
|
6255
|
+
return nodes.map((node) => cloneNode(node, 1));
|
|
6256
|
+
};
|
|
6257
|
+
|
|
6258
|
+
// src/utils/composite-time-utils.ts
|
|
6259
|
+
var formatChatTime = (value) => {
|
|
6260
|
+
if (!value) return "";
|
|
6261
|
+
if (value instanceof Date) return value.toLocaleTimeString();
|
|
6262
|
+
if (typeof value === "number") return new Date(value).toLocaleTimeString();
|
|
6263
|
+
return value;
|
|
6264
|
+
};
|
|
6265
|
+
var formatCommentTime = (value) => {
|
|
6266
|
+
if (value == null || value === "") return "";
|
|
6267
|
+
if (value instanceof Date) return value.toLocaleString();
|
|
6268
|
+
if (typeof value === "number") return new Date(value).toLocaleString();
|
|
6269
|
+
return value;
|
|
5927
6270
|
};
|
|
5928
|
-
function getAlertTypeClasses(type, colors = defaultAlertThemeColors) {
|
|
5929
|
-
return colors[type];
|
|
5930
|
-
}
|
|
5931
6271
|
|
|
5932
6272
|
// src/theme/checkbox.ts
|
|
5933
6273
|
var checkboxSizeClasses = {
|
|
@@ -5941,26 +6281,17 @@ var checkboxLabelSizeClasses = {
|
|
|
5941
6281
|
lg: "text-lg"
|
|
5942
6282
|
};
|
|
5943
6283
|
function getCheckboxClasses(size = "md", disabled = false) {
|
|
5944
|
-
const
|
|
6284
|
+
const baseClasses2 = "rounded border-2 transition-all duration-150 cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[var(--tiger-focus-ring,var(--tiger-primary,#2563eb))] active:scale-95";
|
|
5945
6285
|
const sizeClass = checkboxSizeClasses[size];
|
|
5946
|
-
const colorClasses = [
|
|
5947
|
-
"border-[var(--tiger-primary,#2563eb)]",
|
|
5948
|
-
"accent-[var(--tiger-primary,#2563eb)]",
|
|
5949
|
-
"text-white",
|
|
5950
|
-
"checked:bg-[var(--tiger-primary,#2563eb)]",
|
|
5951
|
-
"checked:border-[var(--tiger-primary,#2563eb)]",
|
|
5952
|
-
"indeterminate:bg-[var(--tiger-primary,#2563eb)]",
|
|
5953
|
-
"indeterminate:border-[var(--tiger-primary,#2563eb)]",
|
|
5954
|
-
"focus:ring-[var(--tiger-primary,#2563eb)]"
|
|
5955
|
-
].join(" ");
|
|
6286
|
+
const colorClasses = "border-[var(--tiger-primary,#2563eb)] accent-[var(--tiger-primary,#2563eb)] text-white checked:bg-[var(--tiger-primary,#2563eb)] checked:border-[var(--tiger-primary,#2563eb)] indeterminate:bg-[var(--tiger-primary,#2563eb)] indeterminate:border-[var(--tiger-primary,#2563eb)]";
|
|
5956
6287
|
const disabledClasses = disabled ? "cursor-not-allowed opacity-50 disabled:bg-[var(--tiger-surface-muted,#f3f4f6)] disabled:border-[var(--tiger-border,#e5e7eb)]" : "";
|
|
5957
|
-
return [
|
|
6288
|
+
return [baseClasses2, sizeClass, colorClasses, disabledClasses].filter(Boolean).join(" ");
|
|
5958
6289
|
}
|
|
5959
6290
|
function getCheckboxLabelClasses(size = "md", disabled = false) {
|
|
5960
|
-
const
|
|
6291
|
+
const baseClasses2 = "inline-flex items-center cursor-pointer select-none";
|
|
5961
6292
|
const sizeClass = checkboxLabelSizeClasses[size];
|
|
5962
|
-
const disabledClasses = disabled ? "cursor-not-allowed
|
|
5963
|
-
return [
|
|
6293
|
+
const disabledClasses = disabled ? "cursor-not-allowed" : "";
|
|
6294
|
+
return [baseClasses2, sizeClass, disabledClasses].filter(Boolean).join(" ");
|
|
5964
6295
|
}
|
|
5965
6296
|
|
|
5966
6297
|
// src/theme/switch.ts
|
|
@@ -5991,10 +6322,10 @@ function getSwitchClasses(size = "md", checked = false, disabled = false) {
|
|
|
5991
6322
|
);
|
|
5992
6323
|
}
|
|
5993
6324
|
function getSwitchThumbClasses(size = "md", checked = false) {
|
|
5994
|
-
const
|
|
6325
|
+
const baseClasses2 = "inline-block rounded-full bg-[var(--tiger-surface,#ffffff)] shadow-lg transition-transform";
|
|
5995
6326
|
const sizeClass = switchThumbSizeClasses[size];
|
|
5996
6327
|
const translateClass = checked ? switchThumbTranslateClasses[size] : "translate-x-0.5";
|
|
5997
|
-
return classNames(
|
|
6328
|
+
return classNames(baseClasses2, sizeClass, translateClass);
|
|
5998
6329
|
}
|
|
5999
6330
|
|
|
6000
6331
|
// src/theme/slider.ts
|
|
@@ -6108,7 +6439,11 @@ var tigercatTheme = {
|
|
|
6108
6439
|
};
|
|
6109
6440
|
var tigercatPlugin = (0, import_plugin.default)(function({ addBase }) {
|
|
6110
6441
|
addBase({
|
|
6111
|
-
":root": tigercatTheme
|
|
6442
|
+
":root": tigercatTheme,
|
|
6443
|
+
// Remove browser default focus outline on interactive SVG elements
|
|
6444
|
+
'svg [tabindex], svg [role="button"]': {
|
|
6445
|
+
outline: "none"
|
|
6446
|
+
}
|
|
6112
6447
|
});
|
|
6113
6448
|
});
|
|
6114
6449
|
|
|
@@ -6124,15 +6459,26 @@ export {
|
|
|
6124
6459
|
ClockIconPath,
|
|
6125
6460
|
CloseIconPath,
|
|
6126
6461
|
DEFAULT_CHART_COLORS,
|
|
6462
|
+
DEFAULT_FORM_WIZARD_LABELS,
|
|
6127
6463
|
DEFAULT_PAGINATION_LABELS,
|
|
6464
|
+
DONUT_BASE_SHADOW,
|
|
6465
|
+
DONUT_EMPHASIS_SHADOW,
|
|
6466
|
+
DROPDOWN_CHEVRON_PATH,
|
|
6467
|
+
DROPDOWN_ENTER_CLASS,
|
|
6128
6468
|
DURATION_CLASS,
|
|
6129
6469
|
DURATION_FAST_CLASS,
|
|
6130
6470
|
DURATION_SLOW_CLASS,
|
|
6131
6471
|
EASING_DEFAULT,
|
|
6132
6472
|
EASING_ENTER,
|
|
6133
6473
|
EASING_LEAVE,
|
|
6474
|
+
PIE_BASE_SHADOW,
|
|
6475
|
+
PIE_EMPHASIS_SHADOW,
|
|
6476
|
+
POPOVER_TEXT_CLASSES,
|
|
6477
|
+
POPOVER_TITLE_CLASSES,
|
|
6478
|
+
RADAR_SPLIT_AREA_COLORS,
|
|
6479
|
+
SCATTER_ENTRANCE_CLASS,
|
|
6480
|
+
SCATTER_ENTRANCE_KEYFRAMES,
|
|
6134
6481
|
SHAKE_CLASS,
|
|
6135
|
-
SPACE_BASE_CLASS,
|
|
6136
6482
|
SVG_ANIMATION_CLASSES,
|
|
6137
6483
|
SVG_ANIMATION_VARS,
|
|
6138
6484
|
SVG_DEFAULT_FILL,
|
|
@@ -6146,6 +6492,7 @@ export {
|
|
|
6146
6492
|
TRANSITION_OPACITY,
|
|
6147
6493
|
TRANSITION_TRANSFORM,
|
|
6148
6494
|
TimePickerCloseIconPath,
|
|
6495
|
+
ZH_CN_FORM_WIZARD_LABELS,
|
|
6149
6496
|
ZH_CN_PAGINATION_LABELS,
|
|
6150
6497
|
activeOpacityClasses,
|
|
6151
6498
|
activePressClasses,
|
|
@@ -6154,14 +6501,10 @@ export {
|
|
|
6154
6501
|
alertCloseIconPath,
|
|
6155
6502
|
alertContentClasses,
|
|
6156
6503
|
alertDescriptionSizeClasses,
|
|
6157
|
-
alertErrorIconPath,
|
|
6158
6504
|
alertIconContainerClasses,
|
|
6159
6505
|
alertIconSizeClasses,
|
|
6160
|
-
alertInfoIconPath,
|
|
6161
6506
|
alertSizeClasses,
|
|
6162
|
-
alertSuccessIconPath,
|
|
6163
6507
|
alertTitleSizeClasses,
|
|
6164
|
-
alertWarningIconPath,
|
|
6165
6508
|
anchorAffixClasses,
|
|
6166
6509
|
anchorBaseClasses,
|
|
6167
6510
|
anchorInkActiveHorizontalClasses,
|
|
@@ -6183,7 +6526,6 @@ export {
|
|
|
6183
6526
|
avatarImageClasses,
|
|
6184
6527
|
avatarShapeClasses,
|
|
6185
6528
|
avatarSizeClasses,
|
|
6186
|
-
backTopBaseClasses,
|
|
6187
6529
|
backTopButtonClasses,
|
|
6188
6530
|
backTopContainerClasses,
|
|
6189
6531
|
backTopHiddenClasses,
|
|
@@ -6194,12 +6536,20 @@ export {
|
|
|
6194
6536
|
badgeSizeClasses,
|
|
6195
6537
|
badgeTypeClasses,
|
|
6196
6538
|
badgeWrapperClasses,
|
|
6539
|
+
barAnimatedTransition,
|
|
6540
|
+
barValueLabelClasses,
|
|
6541
|
+
barValueLabelInsideClasses,
|
|
6197
6542
|
barsVariantConfig,
|
|
6198
6543
|
breadcrumbContainerClasses,
|
|
6199
6544
|
breadcrumbCurrentClasses,
|
|
6200
6545
|
breadcrumbItemBaseClasses,
|
|
6201
6546
|
breadcrumbLinkClasses,
|
|
6202
6547
|
breadcrumbSeparatorBaseClasses,
|
|
6548
|
+
buildActivityGroups,
|
|
6549
|
+
buildChartLegendItems,
|
|
6550
|
+
buildCommentTree,
|
|
6551
|
+
buildNotificationGroups,
|
|
6552
|
+
buildTriggerHandlerMap,
|
|
6203
6553
|
buttonBaseClasses,
|
|
6204
6554
|
buttonDisabledClasses,
|
|
6205
6555
|
buttonSizeClasses,
|
|
@@ -6211,7 +6561,6 @@ export {
|
|
|
6211
6561
|
captureActiveElement,
|
|
6212
6562
|
cardActionsClasses,
|
|
6213
6563
|
cardBaseClasses,
|
|
6214
|
-
cardBodyClasses,
|
|
6215
6564
|
cardCoverClasses,
|
|
6216
6565
|
cardCoverWrapperClasses,
|
|
6217
6566
|
cardFooterClasses,
|
|
@@ -6231,7 +6580,6 @@ export {
|
|
|
6231
6580
|
carouselPrevArrowClasses,
|
|
6232
6581
|
carouselPrevArrowPath,
|
|
6233
6582
|
carouselSlideBaseClasses,
|
|
6234
|
-
carouselSlideFadeClasses,
|
|
6235
6583
|
carouselTrackFadeClasses,
|
|
6236
6584
|
carouselTrackScrollClasses,
|
|
6237
6585
|
chartAxisLabelClasses,
|
|
@@ -6244,13 +6592,16 @@ export {
|
|
|
6244
6592
|
checkSolidIcon20PathD,
|
|
6245
6593
|
checkboxLabelSizeClasses,
|
|
6246
6594
|
checkboxSizeClasses,
|
|
6595
|
+
checkedSetsFromState,
|
|
6247
6596
|
chevronDownSolidIcon20PathD,
|
|
6248
6597
|
chevronLeftSolidIcon20PathD,
|
|
6249
6598
|
chevronRightSolidIcon20PathD,
|
|
6599
|
+
clampBarWidth,
|
|
6250
6600
|
clampPercentage,
|
|
6251
6601
|
clampSlideIndex,
|
|
6252
6602
|
classNames,
|
|
6253
6603
|
clearFieldErrors,
|
|
6604
|
+
clipCommentTreeDepth,
|
|
6254
6605
|
clockSolidIcon20PathD,
|
|
6255
6606
|
closeIconPathD,
|
|
6256
6607
|
closeIconPathStrokeLinecap,
|
|
@@ -6266,7 +6617,6 @@ export {
|
|
|
6266
6617
|
coerceStyleValue,
|
|
6267
6618
|
collapseBaseClasses,
|
|
6268
6619
|
collapseBorderlessClasses,
|
|
6269
|
-
collapseExtraClasses,
|
|
6270
6620
|
collapseGhostClasses,
|
|
6271
6621
|
collapseHeaderTextClasses,
|
|
6272
6622
|
collapseIconBaseClasses,
|
|
@@ -6278,8 +6628,9 @@ export {
|
|
|
6278
6628
|
collapsePanelHeaderActiveClasses,
|
|
6279
6629
|
collapsePanelHeaderBaseClasses,
|
|
6280
6630
|
collapsePanelHeaderDisabledClasses,
|
|
6281
|
-
collapseRightArrowIcon,
|
|
6282
6631
|
computeFloatingPosition,
|
|
6632
|
+
computePieHoverOffset,
|
|
6633
|
+
computePieLabelLine,
|
|
6283
6634
|
containerBaseClasses,
|
|
6284
6635
|
containerCenteredClasses,
|
|
6285
6636
|
containerMaxWidthClasses,
|
|
@@ -6289,6 +6640,7 @@ export {
|
|
|
6289
6640
|
createAriaId,
|
|
6290
6641
|
createBandScale,
|
|
6291
6642
|
createChartInteractionHandlers,
|
|
6643
|
+
createFloatingIdFactory,
|
|
6292
6644
|
createLinePath,
|
|
6293
6645
|
createLinearScale,
|
|
6294
6646
|
createPieArcPath,
|
|
@@ -6307,18 +6659,20 @@ export {
|
|
|
6307
6659
|
datePickerNavButtonClasses,
|
|
6308
6660
|
defaultAlertThemeColors,
|
|
6309
6661
|
defaultBadgeThemeColors,
|
|
6310
|
-
|
|
6311
|
-
defaultIndeterminateIcon,
|
|
6662
|
+
defaultChatMessageStatusInfo,
|
|
6312
6663
|
defaultLinkThemeColors,
|
|
6313
6664
|
defaultMessageThemeColors,
|
|
6314
6665
|
defaultNotificationThemeColors,
|
|
6315
6666
|
defaultProgressThemeColors,
|
|
6667
|
+
defaultRadarTooltipFormatter,
|
|
6316
6668
|
defaultRadioColors,
|
|
6669
|
+
defaultSeriesXYTooltipFormatter,
|
|
6317
6670
|
defaultSortFn,
|
|
6318
6671
|
defaultTagThemeColors,
|
|
6319
6672
|
defaultThemeColors,
|
|
6320
6673
|
defaultTooltipFormatter,
|
|
6321
6674
|
defaultTotalText,
|
|
6675
|
+
defaultXYTooltipFormatter,
|
|
6322
6676
|
descriptionsBaseClasses,
|
|
6323
6677
|
descriptionsCellSizeClasses,
|
|
6324
6678
|
descriptionsContentBorderedClasses,
|
|
@@ -6327,7 +6681,6 @@ export {
|
|
|
6327
6681
|
descriptionsHeaderClasses,
|
|
6328
6682
|
descriptionsLabelBorderedClasses,
|
|
6329
6683
|
descriptionsLabelClasses,
|
|
6330
|
-
descriptionsRowClasses,
|
|
6331
6684
|
descriptionsSizeClasses,
|
|
6332
6685
|
descriptionsTableBorderedClasses,
|
|
6333
6686
|
descriptionsTableClasses,
|
|
@@ -6339,6 +6692,7 @@ export {
|
|
|
6339
6692
|
descriptionsWrapperClasses,
|
|
6340
6693
|
dotSizeClasses,
|
|
6341
6694
|
dotsVariantConfig,
|
|
6695
|
+
ensureBarMinHeight,
|
|
6342
6696
|
errorCircleSolidIcon20PathD,
|
|
6343
6697
|
fileToUploadFile,
|
|
6344
6698
|
filterData,
|
|
@@ -6346,12 +6700,17 @@ export {
|
|
|
6346
6700
|
filterTreeNodes,
|
|
6347
6701
|
findActiveAnchor,
|
|
6348
6702
|
findNode,
|
|
6349
|
-
|
|
6703
|
+
flattenSelectOptions,
|
|
6350
6704
|
focusElement,
|
|
6351
6705
|
focusFirst,
|
|
6706
|
+
focusFirstChildItem,
|
|
6707
|
+
focusMenuEdge,
|
|
6352
6708
|
focusRingClasses,
|
|
6353
6709
|
focusRingInsetClasses,
|
|
6710
|
+
formatActivityTime,
|
|
6354
6711
|
formatBadgeContent,
|
|
6712
|
+
formatChatTime,
|
|
6713
|
+
formatCommentTime,
|
|
6355
6714
|
formatDate,
|
|
6356
6715
|
formatFileSize,
|
|
6357
6716
|
formatMonthYear,
|
|
@@ -6378,10 +6737,13 @@ export {
|
|
|
6378
6737
|
getAnchorLinkListClasses,
|
|
6379
6738
|
getAnchorTargetElement,
|
|
6380
6739
|
getAnchorWrapperClasses,
|
|
6740
|
+
getAreaGradientPrefix,
|
|
6381
6741
|
getArrowStyles,
|
|
6382
6742
|
getAutoExpandKeys,
|
|
6383
6743
|
getBadgeVariantClasses,
|
|
6744
|
+
getBarGradientPrefix,
|
|
6384
6745
|
getBarGrowAnimationStyle,
|
|
6746
|
+
getBarValueLabelY,
|
|
6385
6747
|
getBreadcrumbItemClasses,
|
|
6386
6748
|
getBreadcrumbLinkClasses,
|
|
6387
6749
|
getBreadcrumbSeparatorClasses,
|
|
@@ -6398,11 +6760,13 @@ export {
|
|
|
6398
6760
|
getChartEntranceTransform,
|
|
6399
6761
|
getChartGridLineDasharray,
|
|
6400
6762
|
getChartInnerRect,
|
|
6763
|
+
getChatMessageStatusInfo,
|
|
6401
6764
|
getCheckboxCellClasses,
|
|
6402
6765
|
getCheckboxClasses,
|
|
6403
6766
|
getCheckboxLabelClasses,
|
|
6404
6767
|
getCheckedKeysByStrategy,
|
|
6405
6768
|
getCircleSize,
|
|
6769
|
+
getColMergedStyleVars,
|
|
6406
6770
|
getColOrderStyleVars,
|
|
6407
6771
|
getColStyleVars,
|
|
6408
6772
|
getCollapseContainerClasses,
|
|
@@ -6425,9 +6789,8 @@ export {
|
|
|
6425
6789
|
getDescriptionsLabelClasses,
|
|
6426
6790
|
getDescriptionsTableClasses,
|
|
6427
6791
|
getDescriptionsVerticalItemClasses,
|
|
6428
|
-
|
|
6429
|
-
|
|
6430
|
-
getDividerSpacingClasses,
|
|
6792
|
+
getDividerClasses,
|
|
6793
|
+
getDividerStyle,
|
|
6431
6794
|
getDragAreaClasses,
|
|
6432
6795
|
getDrawerBodyClasses,
|
|
6433
6796
|
getDrawerCloseButtonClasses,
|
|
@@ -6437,10 +6800,10 @@ export {
|
|
|
6437
6800
|
getDrawerMaskClasses,
|
|
6438
6801
|
getDrawerPanelClasses,
|
|
6439
6802
|
getDrawerTitleClasses,
|
|
6803
|
+
getDropdownChevronClasses,
|
|
6440
6804
|
getDropdownContainerClasses,
|
|
6441
6805
|
getDropdownItemClasses,
|
|
6442
6806
|
getDropdownMenuClasses,
|
|
6443
|
-
getDropdownMenuWrapperClasses,
|
|
6444
6807
|
getDropdownTriggerClasses,
|
|
6445
6808
|
getElementOffsetTop,
|
|
6446
6809
|
getErrorFields,
|
|
@@ -6451,6 +6814,13 @@ export {
|
|
|
6451
6814
|
getFlexClasses,
|
|
6452
6815
|
getFocusTrapNavigation,
|
|
6453
6816
|
getFocusableElements,
|
|
6817
|
+
getFormItemAsteriskClasses,
|
|
6818
|
+
getFormItemClasses,
|
|
6819
|
+
getFormItemContentClasses,
|
|
6820
|
+
getFormItemErrorClasses,
|
|
6821
|
+
getFormItemFieldClasses,
|
|
6822
|
+
getFormItemLabelClasses,
|
|
6823
|
+
getFormWizardLabels,
|
|
6454
6824
|
getGridColumnClasses,
|
|
6455
6825
|
getGutterStyles,
|
|
6456
6826
|
getInitials,
|
|
@@ -6460,6 +6830,7 @@ export {
|
|
|
6460
6830
|
getInputWrapperClasses,
|
|
6461
6831
|
getJustifyClasses,
|
|
6462
6832
|
getLeafKeys,
|
|
6833
|
+
getLineGradientPrefix,
|
|
6463
6834
|
getLinkVariantClasses,
|
|
6464
6835
|
getListClasses,
|
|
6465
6836
|
getListHeaderFooterClasses,
|
|
@@ -6471,6 +6842,7 @@ export {
|
|
|
6471
6842
|
getLoadingDotsWrapperClasses,
|
|
6472
6843
|
getLoadingOverlaySpinnerClasses,
|
|
6473
6844
|
getLoadingTextClasses,
|
|
6845
|
+
getMenuButtons,
|
|
6474
6846
|
getMenuClasses,
|
|
6475
6847
|
getMenuItemClasses,
|
|
6476
6848
|
getMenuItemIndent,
|
|
@@ -6526,6 +6898,7 @@ export {
|
|
|
6526
6898
|
getProgressVariantClasses,
|
|
6527
6899
|
getQuickJumperInputClasses,
|
|
6528
6900
|
getRadarAngles,
|
|
6901
|
+
getRadarLabelAlign,
|
|
6529
6902
|
getRadarPoints,
|
|
6530
6903
|
getRadioColorClasses,
|
|
6531
6904
|
getRadioDotClasses,
|
|
@@ -6533,6 +6906,10 @@ export {
|
|
|
6533
6906
|
getRadioLabelClasses,
|
|
6534
6907
|
getRadioVisualClasses,
|
|
6535
6908
|
getRowKey,
|
|
6909
|
+
getScatterGradientPrefix,
|
|
6910
|
+
getScatterHoverShadow,
|
|
6911
|
+
getScatterHoverSize,
|
|
6912
|
+
getScatterPointPath,
|
|
6536
6913
|
getScrollTop,
|
|
6537
6914
|
getScrollTransform,
|
|
6538
6915
|
getSecureRel,
|
|
@@ -6549,15 +6926,15 @@ export {
|
|
|
6549
6926
|
getSimplePaginationPageIndicatorClasses,
|
|
6550
6927
|
getSimplePaginationSelectClasses,
|
|
6551
6928
|
getSimplePaginationTotalClasses,
|
|
6929
|
+
getSizeTextClasses,
|
|
6552
6930
|
getSkeletonClasses,
|
|
6553
6931
|
getSkeletonDimensions,
|
|
6554
6932
|
getSliderThumbClasses,
|
|
6555
6933
|
getSliderTooltipClasses,
|
|
6556
6934
|
getSliderTrackClasses,
|
|
6557
6935
|
getSortIconClasses,
|
|
6558
|
-
|
|
6559
|
-
|
|
6560
|
-
getSpaceGapSize,
|
|
6936
|
+
getSpaceClasses,
|
|
6937
|
+
getSpaceStyle,
|
|
6561
6938
|
getSpanClasses,
|
|
6562
6939
|
getSpinnerSVG,
|
|
6563
6940
|
getStatusVariant,
|
|
@@ -6584,6 +6961,7 @@ export {
|
|
|
6584
6961
|
getTableWrapperClasses,
|
|
6585
6962
|
getTabsContainerClasses,
|
|
6586
6963
|
getTagVariantClasses,
|
|
6964
|
+
getTextClasses,
|
|
6587
6965
|
getThemeColor,
|
|
6588
6966
|
getTimePeriodLabels,
|
|
6589
6967
|
getTimePickerIconButtonClasses,
|
|
@@ -6623,7 +7001,12 @@ export {
|
|
|
6623
7001
|
icon24ViewBox,
|
|
6624
7002
|
iconSizeClasses,
|
|
6625
7003
|
iconSvgBaseClasses,
|
|
7004
|
+
iconSvgDefaultStrokeLinecap,
|
|
7005
|
+
iconSvgDefaultStrokeLinejoin,
|
|
7006
|
+
iconSvgDefaultStrokeWidth,
|
|
6626
7007
|
iconWrapperClasses,
|
|
7008
|
+
initRovingTabIndex,
|
|
7009
|
+
injectDropdownStyles,
|
|
6627
7010
|
injectLoadingAnimationStyles,
|
|
6628
7011
|
injectShakeStyle,
|
|
6629
7012
|
injectSvgAnimationStyles,
|
|
@@ -6654,6 +7037,7 @@ export {
|
|
|
6654
7037
|
layoutHeaderClasses,
|
|
6655
7038
|
layoutRootClasses,
|
|
6656
7039
|
layoutSidebarClasses,
|
|
7040
|
+
linePointTransitionClasses,
|
|
6657
7041
|
linkBaseClasses,
|
|
6658
7042
|
linkDisabledClasses,
|
|
6659
7043
|
linkSizeClasses,
|
|
@@ -6675,7 +7059,6 @@ export {
|
|
|
6675
7059
|
listItemSizeClasses,
|
|
6676
7060
|
listItemTitleClasses,
|
|
6677
7061
|
listLoadingOverlayClasses,
|
|
6678
|
-
listPaginationContainerClasses,
|
|
6679
7062
|
listSizeClasses,
|
|
6680
7063
|
listWrapperClasses,
|
|
6681
7064
|
loadingBarBaseClasses,
|
|
@@ -6713,12 +7096,8 @@ export {
|
|
|
6713
7096
|
messageCloseIconPath,
|
|
6714
7097
|
messageContainerBaseClasses,
|
|
6715
7098
|
messageContentClasses,
|
|
6716
|
-
messageEnterActiveClasses,
|
|
6717
|
-
messageEnterClasses,
|
|
6718
7099
|
messageIconClasses,
|
|
6719
7100
|
messageIconPaths,
|
|
6720
|
-
messageLeaveActiveClasses,
|
|
6721
|
-
messageLeaveClasses,
|
|
6722
7101
|
messageLoadingSpinnerClasses,
|
|
6723
7102
|
messagePositionClasses,
|
|
6724
7103
|
modalBodyClasses,
|
|
@@ -6730,9 +7109,11 @@ export {
|
|
|
6730
7109
|
modalSizeClasses,
|
|
6731
7110
|
modalTitleClasses,
|
|
6732
7111
|
modalWrapperClasses,
|
|
7112
|
+
moveFocusInMenu,
|
|
6733
7113
|
normalizeActiveKeys,
|
|
6734
7114
|
normalizeChartPadding,
|
|
6735
7115
|
normalizeDate,
|
|
7116
|
+
normalizeStringOption,
|
|
6736
7117
|
normalizeSvgAttrs,
|
|
6737
7118
|
notificationBaseClasses,
|
|
6738
7119
|
notificationCloseButtonClasses,
|
|
@@ -6747,6 +7128,7 @@ export {
|
|
|
6747
7128
|
notificationTitleClasses,
|
|
6748
7129
|
paginateData,
|
|
6749
7130
|
parseDate,
|
|
7131
|
+
parseInputValue,
|
|
6750
7132
|
parseTime,
|
|
6751
7133
|
parseWidthToPx,
|
|
6752
7134
|
polarToCartesian,
|
|
@@ -6782,8 +7164,17 @@ export {
|
|
|
6782
7164
|
radioSizeClasses,
|
|
6783
7165
|
radioVisualBaseClasses,
|
|
6784
7166
|
replaceKeys,
|
|
7167
|
+
resetAreaGradientCounter,
|
|
7168
|
+
resetBarGradientCounter,
|
|
7169
|
+
resetLineGradientCounter,
|
|
7170
|
+
resetScatterGradientCounter,
|
|
7171
|
+
resolveChartPalette,
|
|
7172
|
+
resolveChartTooltipContent,
|
|
6785
7173
|
resolveLocaleText,
|
|
7174
|
+
resolveMultiSeriesTooltipContent,
|
|
7175
|
+
resolveSeriesData,
|
|
6786
7176
|
restoreFocus,
|
|
7177
|
+
scatterPointTransitionClasses,
|
|
6787
7178
|
scrollToAnchor,
|
|
6788
7179
|
scrollToTop,
|
|
6789
7180
|
selectBaseClasses,
|
|
@@ -6811,22 +7202,19 @@ export {
|
|
|
6811
7202
|
sliderThumbClasses,
|
|
6812
7203
|
sliderTooltipClasses,
|
|
6813
7204
|
sliderTrackClasses,
|
|
7205
|
+
sortActivityGroups,
|
|
6814
7206
|
sortAscIcon16PathD,
|
|
6815
7207
|
sortBothIcon16PathD,
|
|
6816
7208
|
sortData,
|
|
6817
7209
|
sortDescIcon16PathD,
|
|
7210
|
+
sortNotificationGroups,
|
|
6818
7211
|
stackSeriesData,
|
|
6819
7212
|
statusErrorIconPath,
|
|
6820
7213
|
statusIconPaths,
|
|
6821
7214
|
statusInfoIconPath,
|
|
6822
7215
|
statusSuccessIconPath,
|
|
6823
7216
|
statusWarningIconPath,
|
|
6824
|
-
|
|
6825
|
-
stepFinishIconPathStrokeLinecap,
|
|
6826
|
-
stepFinishIconPathStrokeLinejoin,
|
|
6827
|
-
stepFinishIconPathStrokeWidth,
|
|
6828
|
-
stepFinishIconSvgClasses,
|
|
6829
|
-
stepFinishIconViewBox,
|
|
7217
|
+
stepFinishChar,
|
|
6830
7218
|
submenuContentHorizontalClasses,
|
|
6831
7219
|
submenuContentInlineClasses,
|
|
6832
7220
|
submenuContentPopupClasses,
|
|
@@ -6853,6 +7241,7 @@ export {
|
|
|
6853
7241
|
tabItemLineClasses,
|
|
6854
7242
|
tabItemSizeClasses,
|
|
6855
7243
|
tabNavBaseClasses,
|
|
7244
|
+
tabNavLineBorderClasses,
|
|
6856
7245
|
tabNavListBaseClasses,
|
|
6857
7246
|
tabNavListCenteredClasses,
|
|
6858
7247
|
tabNavListPositionClasses,
|
|
@@ -6899,6 +7288,7 @@ export {
|
|
|
6899
7288
|
timelineTailClasses,
|
|
6900
7289
|
to12HourFormat,
|
|
6901
7290
|
to24HourFormat,
|
|
7291
|
+
toActivityTimelineItems,
|
|
6902
7292
|
toggleKey,
|
|
6903
7293
|
togglePanelKey,
|
|
6904
7294
|
treeBaseClasses,
|