@expcat/tigercat-core 0.3.0 → 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 +1351 -1154
- package/dist/index.d.cts +1031 -659
- package/dist/index.d.ts +1031 -659
- package/dist/index.js +1282 -1121
- 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,18 @@ 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
|
+
}
|
|
1082
1088
|
|
|
1083
1089
|
// src/utils/form-item-styles.ts
|
|
1084
1090
|
var FORM_ITEM_SPACING = {
|
|
@@ -1101,6 +1107,11 @@ var ERROR_TEXT_SIZE = {
|
|
|
1101
1107
|
md: "text-xs",
|
|
1102
1108
|
lg: "text-sm"
|
|
1103
1109
|
};
|
|
1110
|
+
var ERROR_MIN_HEIGHT = {
|
|
1111
|
+
sm: "min-h-[1rem]",
|
|
1112
|
+
md: "min-h-[1.25rem]",
|
|
1113
|
+
lg: "min-h-[1.5rem]"
|
|
1114
|
+
};
|
|
1104
1115
|
function getFormItemClasses(options = {}) {
|
|
1105
1116
|
const { size = "md", labelPosition = "right", hasError = false, disabled = false } = options;
|
|
1106
1117
|
const layoutClasses = labelPosition === "top" ? "flex flex-col gap-2" : "flex items-start gap-4";
|
|
@@ -1117,7 +1128,7 @@ function getFormItemClasses(options = {}) {
|
|
|
1117
1128
|
}
|
|
1118
1129
|
function getFormItemLabelClasses(options = {}) {
|
|
1119
1130
|
const { size = "md", labelPosition = "right", labelAlign = "right", isRequired = false } = options;
|
|
1120
|
-
const alignClass = labelAlign === "right" ? "text-right" :
|
|
1131
|
+
const alignClass = labelAlign === "right" ? "text-right" : "text-left";
|
|
1121
1132
|
const positionClasses = labelPosition === "top" ? "w-full" : "shrink-0";
|
|
1122
1133
|
const paddingClass = labelPosition === "top" ? "" : LABEL_PADDING_TOP[size];
|
|
1123
1134
|
return classNames(
|
|
@@ -1149,7 +1160,11 @@ function getFormItemErrorClasses(size = "md") {
|
|
|
1149
1160
|
"tiger-form-item__error",
|
|
1150
1161
|
"mt-1",
|
|
1151
1162
|
ERROR_TEXT_SIZE[size],
|
|
1152
|
-
|
|
1163
|
+
ERROR_MIN_HEIGHT[size],
|
|
1164
|
+
"text-[var(--tiger-error,#ef4444)]",
|
|
1165
|
+
"transition-opacity",
|
|
1166
|
+
"duration-150",
|
|
1167
|
+
"opacity-0"
|
|
1153
1168
|
);
|
|
1154
1169
|
}
|
|
1155
1170
|
function getFormItemAsteriskClasses() {
|
|
@@ -1157,15 +1172,9 @@ function getFormItemAsteriskClasses() {
|
|
|
1157
1172
|
"tiger-form-item__asterisk",
|
|
1158
1173
|
"mr-1",
|
|
1159
1174
|
"font-semibold",
|
|
1160
|
-
"text-red-500",
|
|
1161
1175
|
"text-[var(--tiger-error,#ef4444)]"
|
|
1162
1176
|
);
|
|
1163
1177
|
}
|
|
1164
|
-
function getFormItemAsteriskStyle() {
|
|
1165
|
-
return {
|
|
1166
|
-
color: "var(--tiger-error,#ef4444)"
|
|
1167
|
-
};
|
|
1168
|
-
}
|
|
1169
1178
|
|
|
1170
1179
|
// src/utils/select-utils.ts
|
|
1171
1180
|
var selectBaseClasses = "relative inline-block w-full";
|
|
@@ -1176,7 +1185,6 @@ var SELECT_TRIGGER_BASE_CLASSES = [
|
|
|
1176
1185
|
"justify-between",
|
|
1177
1186
|
"gap-2",
|
|
1178
1187
|
"px-3",
|
|
1179
|
-
"py-2",
|
|
1180
1188
|
"bg-[var(--tiger-select-trigger-bg,var(--tiger-surface,#ffffff))]",
|
|
1181
1189
|
"border",
|
|
1182
1190
|
"border-[var(--tiger-select-trigger-border,var(--tiger-border,#d1d5db))]",
|
|
@@ -1232,6 +1240,17 @@ function getSelectOptionClasses(isSelected, isDisabled, size) {
|
|
|
1232
1240
|
function isOptionGroup(option) {
|
|
1233
1241
|
return !!option && typeof option === "object" && "options" in option && Array.isArray(option.options);
|
|
1234
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
|
+
}
|
|
1235
1254
|
function filterOptions(options, query) {
|
|
1236
1255
|
if (!query) {
|
|
1237
1256
|
return options;
|
|
@@ -1523,20 +1542,9 @@ var getRadioLabelClasses = ({ size, disabled, colors }) => classNames(
|
|
|
1523
1542
|
|
|
1524
1543
|
// src/utils/radio-group-utils.ts
|
|
1525
1544
|
var radioGroupDefaultClasses = "space-y-2";
|
|
1526
|
-
var getRadioGroupClasses = ({
|
|
1527
|
-
className,
|
|
1528
|
-
hasCustomClass
|
|
1529
|
-
} = {}) => {
|
|
1530
|
-
const effectiveHasCustomClass = hasCustomClass ?? !!className;
|
|
1531
|
-
return classNames(className, !effectiveHasCustomClass && radioGroupDefaultClasses);
|
|
1532
|
-
};
|
|
1545
|
+
var getRadioGroupClasses = ({ className } = {}) => classNames(className, !className && radioGroupDefaultClasses);
|
|
1533
1546
|
|
|
1534
1547
|
// src/utils/date-utils.ts
|
|
1535
|
-
function isValidDate(value) {
|
|
1536
|
-
if (!value) return false;
|
|
1537
|
-
const date = value instanceof Date ? value : new Date(value);
|
|
1538
|
-
return !isNaN(date.getTime());
|
|
1539
|
-
}
|
|
1540
1548
|
function parseDate(value) {
|
|
1541
1549
|
if (!value) return null;
|
|
1542
1550
|
if (value instanceof Date) {
|
|
@@ -1546,7 +1554,7 @@ function parseDate(value) {
|
|
|
1546
1554
|
return isNaN(parsed.getTime()) ? null : parsed;
|
|
1547
1555
|
}
|
|
1548
1556
|
function formatDate(date, format = "yyyy-MM-dd") {
|
|
1549
|
-
if (!date ||
|
|
1557
|
+
if (!date || isNaN(date.getTime())) return "";
|
|
1550
1558
|
const year = date.getFullYear();
|
|
1551
1559
|
const month = String(date.getMonth() + 1).padStart(2, "0");
|
|
1552
1560
|
const day = String(date.getDate()).padStart(2, "0");
|
|
@@ -1573,15 +1581,13 @@ function normalizeDate(date) {
|
|
|
1573
1581
|
return normalized;
|
|
1574
1582
|
}
|
|
1575
1583
|
function isDateInRange(date, minDate, maxDate) {
|
|
1576
|
-
if (
|
|
1584
|
+
if (isNaN(date.getTime())) return false;
|
|
1577
1585
|
const normalizedDate = normalizeDate(date);
|
|
1578
|
-
if (minDate &&
|
|
1579
|
-
|
|
1580
|
-
if (normalizedDate < normalizedMin) return false;
|
|
1586
|
+
if (minDate && !isNaN(minDate.getTime())) {
|
|
1587
|
+
if (normalizedDate < normalizeDate(minDate)) return false;
|
|
1581
1588
|
}
|
|
1582
|
-
if (maxDate &&
|
|
1583
|
-
|
|
1584
|
-
if (normalizedDate > normalizedMax) return false;
|
|
1589
|
+
if (maxDate && !isNaN(maxDate.getTime())) {
|
|
1590
|
+
if (normalizedDate > normalizeDate(maxDate)) return false;
|
|
1585
1591
|
}
|
|
1586
1592
|
return true;
|
|
1587
1593
|
}
|
|
@@ -1708,7 +1714,7 @@ function isToday(date) {
|
|
|
1708
1714
|
var datePickerBaseClasses = "relative inline-block w-full";
|
|
1709
1715
|
var datePickerInputWrapperClasses = "relative w-full";
|
|
1710
1716
|
function getDatePickerInputClasses(size = "md", disabled = false) {
|
|
1711
|
-
const
|
|
1717
|
+
const baseClasses2 = [
|
|
1712
1718
|
"w-full",
|
|
1713
1719
|
"rounded-md",
|
|
1714
1720
|
"border",
|
|
@@ -1730,10 +1736,10 @@ function getDatePickerInputClasses(size = "md", disabled = false) {
|
|
|
1730
1736
|
lg: "px-4 py-3 text-lg"
|
|
1731
1737
|
};
|
|
1732
1738
|
const disabledClasses = disabled ? ["bg-gray-100", "cursor-not-allowed", "text-gray-500"] : ["cursor-pointer"];
|
|
1733
|
-
return classNames(...
|
|
1739
|
+
return classNames(...baseClasses2, sizeClasses[size], ...disabledClasses);
|
|
1734
1740
|
}
|
|
1735
1741
|
function getDatePickerIconButtonClasses(size = "md") {
|
|
1736
|
-
const
|
|
1742
|
+
const baseClasses2 = [
|
|
1737
1743
|
"absolute",
|
|
1738
1744
|
"right-0",
|
|
1739
1745
|
"top-0",
|
|
@@ -1750,7 +1756,7 @@ function getDatePickerIconButtonClasses(size = "md") {
|
|
|
1750
1756
|
md: "px-3",
|
|
1751
1757
|
lg: "px-4"
|
|
1752
1758
|
};
|
|
1753
|
-
return classNames(...
|
|
1759
|
+
return classNames(...baseClasses2, sizeClasses[size]);
|
|
1754
1760
|
}
|
|
1755
1761
|
var datePickerCalendarClasses = classNames(
|
|
1756
1762
|
"absolute",
|
|
@@ -1791,33 +1797,22 @@ var datePickerDayNameClasses = classNames(
|
|
|
1791
1797
|
"py-2"
|
|
1792
1798
|
);
|
|
1793
1799
|
function getDatePickerDayCellClasses(isCurrentMonth, isSelected, isToday2, isDisabled, isInRange = false, isRangeStart = false, isRangeEnd = false) {
|
|
1794
|
-
const
|
|
1795
|
-
|
|
1796
|
-
"
|
|
1797
|
-
"flex",
|
|
1798
|
-
"items-center",
|
|
1799
|
-
"justify-center",
|
|
1800
|
-
"rounded-md",
|
|
1801
|
-
"text-sm",
|
|
1802
|
-
"transition-colors"
|
|
1803
|
-
];
|
|
1804
|
-
const interactionClasses = isDisabled ? ["cursor-not-allowed", "text-gray-300"] : ["cursor-pointer", "hover:bg-gray-100"];
|
|
1805
|
-
const monthClasses = isCurrentMonth ? ["text-gray-900"] : ["text-gray-400"];
|
|
1806
|
-
const stateClasses = [];
|
|
1807
|
-
if (isInRange && !isDisabled && !isSelected) {
|
|
1808
|
-
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");
|
|
1809
1803
|
}
|
|
1810
1804
|
if (isSelected || isRangeStart || isRangeEnd) {
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
"
|
|
1814
|
-
"
|
|
1815
|
-
"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"
|
|
1816
1810
|
);
|
|
1817
|
-
} else if (isToday2) {
|
|
1818
|
-
stateClasses.push("border", "border-[var(--tiger-primary,#2563eb)]", "font-semibold");
|
|
1819
1811
|
}
|
|
1820
|
-
|
|
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);
|
|
1821
1816
|
}
|
|
1822
1817
|
var datePickerClearButtonClasses = classNames(
|
|
1823
1818
|
"absolute",
|
|
@@ -1900,15 +1895,7 @@ function to24HourFormat(hours, period) {
|
|
|
1900
1895
|
}
|
|
1901
1896
|
}
|
|
1902
1897
|
function formatTimeDisplay(hours, minutes, seconds = 0, format = "24", showSeconds = false) {
|
|
1903
|
-
|
|
1904
|
-
const { hours: hours12, period } = to12HourFormat(hours);
|
|
1905
|
-
const h = hours12.toString().padStart(2, "0");
|
|
1906
|
-
const m = clampValue(minutes, 0, 59).toString().padStart(2, "0");
|
|
1907
|
-
const s = clampValue(seconds, 0, 59).toString().padStart(2, "0");
|
|
1908
|
-
const timeStr = showSeconds ? `${h}:${m}:${s}` : `${h}:${m}`;
|
|
1909
|
-
return `${timeStr} ${period}`;
|
|
1910
|
-
}
|
|
1911
|
-
return formatTime(hours, minutes, seconds, showSeconds);
|
|
1898
|
+
return formatTimeDisplayWithLocale(hours, minutes, seconds, format, showSeconds);
|
|
1912
1899
|
}
|
|
1913
1900
|
function getTimePeriodLabels(locale) {
|
|
1914
1901
|
if (!locale) return { am: "AM", pm: "PM" };
|
|
@@ -1972,21 +1959,19 @@ function generateHours(step = 1, format = "24") {
|
|
|
1972
1959
|
}
|
|
1973
1960
|
return hours;
|
|
1974
1961
|
}
|
|
1975
|
-
function
|
|
1976
|
-
const minutes = [];
|
|
1962
|
+
function generateTimeSlots(step, max) {
|
|
1977
1963
|
const validStep = validateStep(step);
|
|
1978
|
-
|
|
1979
|
-
|
|
1964
|
+
const values = [];
|
|
1965
|
+
for (let i = 0; i < max; i += validStep) {
|
|
1966
|
+
values.push(i);
|
|
1980
1967
|
}
|
|
1981
|
-
return
|
|
1968
|
+
return values;
|
|
1969
|
+
}
|
|
1970
|
+
function generateMinutes(step = 1) {
|
|
1971
|
+
return generateTimeSlots(step, 60);
|
|
1982
1972
|
}
|
|
1983
1973
|
function generateSeconds(step = 1) {
|
|
1984
|
-
|
|
1985
|
-
const validStep = validateStep(step);
|
|
1986
|
-
for (let i = 0; i < 60; i += validStep) {
|
|
1987
|
-
seconds.push(i);
|
|
1988
|
-
}
|
|
1989
|
-
return seconds;
|
|
1974
|
+
return generateTimeSlots(step, 60);
|
|
1990
1975
|
}
|
|
1991
1976
|
function getCurrentTime(showSeconds = false) {
|
|
1992
1977
|
const now = /* @__PURE__ */ new Date();
|
|
@@ -2126,8 +2111,8 @@ function formatFileSize(bytes) {
|
|
|
2126
2111
|
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
2127
2112
|
return `${(bytes / Math.pow(k, i)).toFixed(2)} ${units[i]}`;
|
|
2128
2113
|
}
|
|
2129
|
-
function getUploadButtonClasses(
|
|
2130
|
-
const
|
|
2114
|
+
function getUploadButtonClasses(disabled) {
|
|
2115
|
+
const baseClasses2 = [
|
|
2131
2116
|
"inline-flex",
|
|
2132
2117
|
"items-center",
|
|
2133
2118
|
"justify-center",
|
|
@@ -2152,10 +2137,10 @@ function getUploadButtonClasses(drag, disabled) {
|
|
|
2152
2137
|
"focus:ring-[var(--tiger-primary,#2563eb)]",
|
|
2153
2138
|
"cursor-pointer"
|
|
2154
2139
|
];
|
|
2155
|
-
return classNames(...
|
|
2140
|
+
return classNames(...baseClasses2, ...stateClasses);
|
|
2156
2141
|
}
|
|
2157
2142
|
function getDragAreaClasses(isDragging, disabled) {
|
|
2158
|
-
const
|
|
2143
|
+
const baseClasses2 = [
|
|
2159
2144
|
"flex",
|
|
2160
2145
|
"flex-col",
|
|
2161
2146
|
"items-center",
|
|
@@ -2194,7 +2179,7 @@ function getDragAreaClasses(isDragging, disabled) {
|
|
|
2194
2179
|
...focusClasses
|
|
2195
2180
|
];
|
|
2196
2181
|
}
|
|
2197
|
-
return classNames(...
|
|
2182
|
+
return classNames(...baseClasses2, ...stateClasses);
|
|
2198
2183
|
}
|
|
2199
2184
|
var FILE_LIST_STATUS_CLASSES = {
|
|
2200
2185
|
ready: ["bg-gray-50", "hover:bg-gray-100"],
|
|
@@ -2209,7 +2194,7 @@ var PICTURE_CARD_STATUS_CLASSES = {
|
|
|
2209
2194
|
error: ["border-red-400", "bg-red-50"]
|
|
2210
2195
|
};
|
|
2211
2196
|
function getFileListItemClasses(status) {
|
|
2212
|
-
const
|
|
2197
|
+
const baseClasses2 = [
|
|
2213
2198
|
"flex",
|
|
2214
2199
|
"items-center",
|
|
2215
2200
|
"justify-between",
|
|
@@ -2220,10 +2205,10 @@ function getFileListItemClasses(status) {
|
|
|
2220
2205
|
"duration-200"
|
|
2221
2206
|
];
|
|
2222
2207
|
const stateClasses = status ? FILE_LIST_STATUS_CLASSES[status] : FILE_LIST_STATUS_CLASSES.ready;
|
|
2223
|
-
return classNames(...
|
|
2208
|
+
return classNames(...baseClasses2, ...stateClasses);
|
|
2224
2209
|
}
|
|
2225
2210
|
function getPictureCardClasses(status) {
|
|
2226
|
-
const
|
|
2211
|
+
const baseClasses2 = [
|
|
2227
2212
|
"relative",
|
|
2228
2213
|
"inline-flex",
|
|
2229
2214
|
"items-center",
|
|
@@ -2237,7 +2222,7 @@ function getPictureCardClasses(status) {
|
|
|
2237
2222
|
"duration-200"
|
|
2238
2223
|
];
|
|
2239
2224
|
const stateClasses = status ? PICTURE_CARD_STATUS_CLASSES[status] : PICTURE_CARD_STATUS_CLASSES.ready;
|
|
2240
|
-
return classNames(...
|
|
2225
|
+
return classNames(...baseClasses2, ...stateClasses);
|
|
2241
2226
|
}
|
|
2242
2227
|
|
|
2243
2228
|
// src/utils/grid.ts
|
|
@@ -2340,6 +2325,14 @@ function getColOrderStyleVars(order) {
|
|
|
2340
2325
|
setOrderVars(vars, order);
|
|
2341
2326
|
return vars;
|
|
2342
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
|
+
}
|
|
2343
2336
|
function getAlignClasses(align) {
|
|
2344
2337
|
return ALIGN_MAP[align] || "items-start";
|
|
2345
2338
|
}
|
|
@@ -2384,34 +2377,48 @@ function getFlexClasses(flex) {
|
|
|
2384
2377
|
}
|
|
2385
2378
|
|
|
2386
2379
|
// src/utils/divider.ts
|
|
2387
|
-
var
|
|
2388
|
-
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
|
|
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"
|
|
2394
2396
|
};
|
|
2395
2397
|
var LINE_STYLE_MAP = {
|
|
2396
2398
|
solid: "border-solid",
|
|
2397
2399
|
dashed: "border-dashed",
|
|
2398
2400
|
dotted: "border-dotted"
|
|
2399
2401
|
};
|
|
2400
|
-
|
|
2401
|
-
|
|
2402
|
-
|
|
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]}`;
|
|
2403
2407
|
}
|
|
2404
|
-
function
|
|
2405
|
-
return
|
|
2406
|
-
}
|
|
2407
|
-
|
|
2408
|
-
|
|
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;
|
|
2409
2416
|
}
|
|
2410
2417
|
|
|
2411
2418
|
// src/utils/layout-utils.ts
|
|
2412
2419
|
var layoutRootClasses = "tiger-layout flex flex-col min-h-screen";
|
|
2413
2420
|
var layoutHeaderClasses = "tiger-header bg-[var(--tiger-surface,#ffffff)] border-b border-[var(--tiger-border,#e5e7eb)]";
|
|
2414
|
-
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";
|
|
2415
2422
|
var layoutContentClasses = "tiger-content flex-1 bg-[var(--tiger-layout-content-bg,#f9fafb)] p-6";
|
|
2416
2423
|
var layoutFooterClasses = "tiger-footer bg-[var(--tiger-surface,#ffffff)] border-t border-[var(--tiger-border,#e5e7eb)] p-4";
|
|
2417
2424
|
|
|
@@ -2441,33 +2448,30 @@ var getContainerClasses = ({
|
|
|
2441
2448
|
);
|
|
2442
2449
|
|
|
2443
2450
|
// src/utils/space.ts
|
|
2444
|
-
var
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
return
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
stretch: "items-stretch"
|
|
2466
|
-
};
|
|
2467
|
-
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
|
+
);
|
|
2468
2472
|
}
|
|
2469
|
-
function
|
|
2470
|
-
return
|
|
2473
|
+
function getSpaceStyle(size = "md") {
|
|
2474
|
+
return typeof size === "number" ? { gap: `${size}px` } : void 0;
|
|
2471
2475
|
}
|
|
2472
2476
|
|
|
2473
2477
|
// src/utils/table-utils.ts
|
|
@@ -2510,13 +2514,17 @@ function getFixedColumnOffsets(columns) {
|
|
|
2510
2514
|
}
|
|
2511
2515
|
function getTableWrapperClasses(bordered, maxHeight) {
|
|
2512
2516
|
return classNames(
|
|
2517
|
+
"relative",
|
|
2513
2518
|
tableContainerClasses,
|
|
2514
|
-
bordered && "border border-
|
|
2519
|
+
bordered && "border border-[var(--tiger-border,#e5e7eb)] rounded-lg overflow-hidden",
|
|
2515
2520
|
maxHeight && "overflow-y-auto"
|
|
2516
2521
|
);
|
|
2517
2522
|
}
|
|
2518
2523
|
function getTableHeaderClasses(stickyHeader) {
|
|
2519
|
-
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
|
+
);
|
|
2520
2528
|
}
|
|
2521
2529
|
function getTableHeaderCellClasses(size, align, sortable, customClassName) {
|
|
2522
2530
|
const paddingClasses = {
|
|
@@ -2530,18 +2538,18 @@ function getTableHeaderCellClasses(size, align, sortable, customClassName) {
|
|
|
2530
2538
|
right: "text-right"
|
|
2531
2539
|
};
|
|
2532
2540
|
return classNames(
|
|
2533
|
-
"font-medium text-
|
|
2541
|
+
"font-medium text-[var(--tiger-text-muted,#6b7280)] text-xs uppercase tracking-wider",
|
|
2534
2542
|
paddingClasses[size],
|
|
2535
2543
|
alignClasses[align],
|
|
2536
|
-
sortable && "cursor-pointer select-none hover:bg-
|
|
2544
|
+
sortable && "cursor-pointer select-none hover:bg-[var(--tiger-surface,#ffffff)]/50 transition-colors",
|
|
2537
2545
|
customClassName
|
|
2538
2546
|
);
|
|
2539
2547
|
}
|
|
2540
2548
|
function getTableRowClasses(hoverable, striped, isEven, customClassName) {
|
|
2541
2549
|
return classNames(
|
|
2542
|
-
"border-b border-
|
|
2543
|
-
hoverable && "hover:bg-
|
|
2544
|
-
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",
|
|
2545
2553
|
customClassName
|
|
2546
2554
|
);
|
|
2547
2555
|
}
|
|
@@ -2557,7 +2565,7 @@ function getTableCellClasses(size, align, customClassName) {
|
|
|
2557
2565
|
right: "text-right"
|
|
2558
2566
|
};
|
|
2559
2567
|
return classNames(
|
|
2560
|
-
"text-sm text-
|
|
2568
|
+
"text-sm text-[var(--tiger-text,#111827)]",
|
|
2561
2569
|
paddingClasses[size],
|
|
2562
2570
|
alignClasses[align],
|
|
2563
2571
|
customClassName
|
|
@@ -2569,9 +2577,9 @@ function getSortIconClasses(active) {
|
|
|
2569
2577
|
active ? "text-[var(--tiger-primary,#2563eb)]" : "text-gray-400"
|
|
2570
2578
|
);
|
|
2571
2579
|
}
|
|
2572
|
-
var tableEmptyStateClasses = "text-center py-12 text-
|
|
2580
|
+
var tableEmptyStateClasses = "text-center py-12 text-[var(--tiger-text-muted,#6b7280)]";
|
|
2573
2581
|
var tableLoadingOverlayClasses = classNames(
|
|
2574
|
-
"absolute inset-0 bg-
|
|
2582
|
+
"absolute inset-0 bg-[var(--tiger-surface,#ffffff)]/80 flex items-center justify-center z-20"
|
|
2575
2583
|
);
|
|
2576
2584
|
var tablePaginationContainerClasses = classNames(
|
|
2577
2585
|
"flex items-center justify-between px-4 py-3 border-t border-gray-200"
|
|
@@ -2687,27 +2695,17 @@ var badgePositionClasses = {
|
|
|
2687
2695
|
"bottom-left": "absolute -bottom-1 -left-1"
|
|
2688
2696
|
};
|
|
2689
2697
|
function formatBadgeContent(content, max = 99, showZero = false) {
|
|
2690
|
-
if (content === void 0 || content === null)
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
if (
|
|
2694
|
-
|
|
2695
|
-
}
|
|
2696
|
-
const num = Number(content);
|
|
2697
|
-
if (num === 0 && !showZero) {
|
|
2698
|
-
return null;
|
|
2699
|
-
}
|
|
2700
|
-
if (num > max) {
|
|
2701
|
-
return `${max}+`;
|
|
2702
|
-
}
|
|
2703
|
-
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);
|
|
2704
2703
|
}
|
|
2705
2704
|
function shouldHideBadge(content, type, showZero) {
|
|
2706
|
-
if (type === "dot")
|
|
2707
|
-
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
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;
|
|
2711
2709
|
}
|
|
2712
2710
|
|
|
2713
2711
|
// src/utils/card-utils.ts
|
|
@@ -2725,7 +2723,6 @@ var cardVariantClasses = {
|
|
|
2725
2723
|
};
|
|
2726
2724
|
var cardHoverClasses = "cursor-pointer hover:shadow-xl hover:scale-[1.02]";
|
|
2727
2725
|
var cardHeaderClasses = "border-b border-[var(--tiger-border,#e5e7eb)] pb-3 mb-3";
|
|
2728
|
-
var cardBodyClasses = "";
|
|
2729
2726
|
var cardFooterClasses = "border-t border-[var(--tiger-border,#e5e7eb)] pt-3 mt-3";
|
|
2730
2727
|
var cardCoverClasses = "w-full h-48 object-cover";
|
|
2731
2728
|
var cardCoverWrapperClasses = "overflow-hidden";
|
|
@@ -2754,10 +2751,9 @@ var avatarDefaultBgColor = "bg-[var(--tiger-avatar-bg,#e5e7eb)]";
|
|
|
2754
2751
|
var avatarDefaultTextColor = "text-[var(--tiger-avatar-text,var(--tiger-text-muted,#6b7280))]";
|
|
2755
2752
|
var avatarImageClasses = "w-full h-full object-cover";
|
|
2756
2753
|
function getInitials(name) {
|
|
2757
|
-
const trimmed =
|
|
2754
|
+
const trimmed = name.trim();
|
|
2758
2755
|
if (!trimmed) return "";
|
|
2759
2756
|
const words = trimmed.split(/\s+/).filter(Boolean);
|
|
2760
|
-
if (words.length === 0) return "";
|
|
2761
2757
|
if (words.length === 1) {
|
|
2762
2758
|
const firstWord = words[0];
|
|
2763
2759
|
const hasNonASCII = /[^\x20-\x7E]/.test(firstWord);
|
|
@@ -2819,7 +2815,6 @@ var listHeaderFooterBaseClasses = "border-b border-[var(--tiger-border,#e5e7eb)]
|
|
|
2819
2815
|
var listFooterClasses = "border-t border-b-0";
|
|
2820
2816
|
var listEmptyStateClasses = "py-8 text-center text-[var(--tiger-text-muted,#6b7280)]";
|
|
2821
2817
|
var listLoadingOverlayClasses = "absolute inset-0 bg-[var(--tiger-surface,#ffffff)]/75 flex items-center justify-center z-10";
|
|
2822
|
-
var listPaginationContainerClasses = "flex items-center justify-between px-4 py-3 border-t border-[var(--tiger-border,#e5e7eb)]";
|
|
2823
2818
|
var listItemMetaClasses = "flex items-center gap-3 flex-1";
|
|
2824
2819
|
var listItemAvatarClasses = "flex-shrink-0";
|
|
2825
2820
|
var listItemContentClasses = "flex-1 min-w-0";
|
|
@@ -2887,7 +2882,6 @@ var descriptionsSizeClasses = {
|
|
|
2887
2882
|
};
|
|
2888
2883
|
var descriptionsTableClasses = "w-full border-collapse";
|
|
2889
2884
|
var descriptionsTableBorderedClasses = "border border-[var(--tiger-border,#e5e7eb)]";
|
|
2890
|
-
var descriptionsRowClasses = "";
|
|
2891
2885
|
var descriptionsCellSizeClasses = {
|
|
2892
2886
|
sm: "px-3 py-2",
|
|
2893
2887
|
md: "px-4 py-3",
|
|
@@ -2897,12 +2891,12 @@ var descriptionsLabelClasses = "font-medium bg-[var(--tiger-surface-muted,#f9faf
|
|
|
2897
2891
|
var descriptionsLabelBorderedClasses = "border border-[var(--tiger-border,#e5e7eb)]";
|
|
2898
2892
|
var descriptionsContentClasses = "text-[var(--tiger-text,#111827)]";
|
|
2899
2893
|
var descriptionsContentBorderedClasses = "border border-[var(--tiger-border,#e5e7eb)]";
|
|
2900
|
-
var descriptionsVerticalWrapperClasses = "
|
|
2894
|
+
var descriptionsVerticalWrapperClasses = "";
|
|
2901
2895
|
var descriptionsVerticalItemClasses = "border-b border-[var(--tiger-border,#e5e7eb)] last:border-b-0";
|
|
2902
2896
|
var descriptionsVerticalLabelClasses = "font-medium mb-1 text-[var(--tiger-text-muted,#374151)]";
|
|
2903
2897
|
var descriptionsVerticalContentClasses = "text-[var(--tiger-text,#111827)]";
|
|
2904
|
-
function getDescriptionsClasses(
|
|
2905
|
-
return
|
|
2898
|
+
function getDescriptionsClasses(size) {
|
|
2899
|
+
return `${descriptionsBaseClasses} ${descriptionsSizeClasses[size]}`;
|
|
2906
2900
|
}
|
|
2907
2901
|
function getDescriptionsTableClasses(bordered) {
|
|
2908
2902
|
const classes = [descriptionsTableClasses];
|
|
@@ -2931,12 +2925,8 @@ function getDescriptionsContentClasses(bordered, size, layout) {
|
|
|
2931
2925
|
}
|
|
2932
2926
|
return classes.join(" ");
|
|
2933
2927
|
}
|
|
2934
|
-
function getDescriptionsVerticalItemClasses(
|
|
2935
|
-
|
|
2936
|
-
if (!bordered) {
|
|
2937
|
-
classes.push(descriptionsVerticalItemClasses);
|
|
2938
|
-
}
|
|
2939
|
-
return classes.join(" ");
|
|
2928
|
+
function getDescriptionsVerticalItemClasses(size) {
|
|
2929
|
+
return `${descriptionsCellSizeClasses[size]} ${descriptionsVerticalItemClasses}`;
|
|
2940
2930
|
}
|
|
2941
2931
|
function groupItemsIntoRows(items, column) {
|
|
2942
2932
|
const rows = [];
|
|
@@ -2973,8 +2963,9 @@ var timelineContentClasses = "relative";
|
|
|
2973
2963
|
var timelineCustomDotClasses = "flex items-center justify-center";
|
|
2974
2964
|
var timelineLabelClasses = "text-sm text-[var(--tiger-text-muted,#6b7280)] mb-1";
|
|
2975
2965
|
var timelineDescriptionClasses = "text-[var(--tiger-text,#374151)]";
|
|
2976
|
-
var
|
|
2977
|
-
var
|
|
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}`;
|
|
2978
2969
|
var HEAD_TOP = "top-[18px]";
|
|
2979
2970
|
var TAIL_TOP = "top-[23px]";
|
|
2980
2971
|
var TAIL_BOTTOM = "-bottom-[23px]";
|
|
@@ -2990,22 +2981,21 @@ function getTimelineItemClasses(mode, position, isLast = false) {
|
|
|
2990
2981
|
}
|
|
2991
2982
|
return `${base} pl-8`;
|
|
2992
2983
|
}
|
|
2993
|
-
function getTimelineTailClasses(mode,
|
|
2984
|
+
function getTimelineTailClasses(mode, isLast = false) {
|
|
2994
2985
|
if (isLast) return "hidden";
|
|
2995
2986
|
const span = `${timelineTailClasses} ${TAIL_TOP} ${TAIL_BOTTOM}`;
|
|
2996
2987
|
if (mode === "right") return `${span} right-0 translate-x-1/2`;
|
|
2997
2988
|
if (mode === "alternate") return `${span} left-1/2 -translate-x-1/2`;
|
|
2998
2989
|
return `${span} left-0 -translate-x-1/2`;
|
|
2999
2990
|
}
|
|
3000
|
-
function getTimelineHeadClasses(mode
|
|
2991
|
+
function getTimelineHeadClasses(mode) {
|
|
3001
2992
|
if (mode === "right") return `${timelineHeadClasses} right-0 ${HEAD_TOP} translate-x-1/2`;
|
|
3002
2993
|
if (mode === "alternate") return `${timelineHeadClasses} left-1/2 -translate-x-1/2 ${HEAD_TOP}`;
|
|
3003
2994
|
return `${timelineHeadClasses} left-0 ${HEAD_TOP} -translate-x-1/2`;
|
|
3004
2995
|
}
|
|
3005
2996
|
function getTimelineDotClasses(color, isCustom = false) {
|
|
3006
2997
|
if (isCustom) return timelineCustomDotClasses;
|
|
3007
|
-
|
|
3008
|
-
return timelineDotClasses;
|
|
2998
|
+
return color ? timelineDotBase : timelineDotClasses;
|
|
3009
2999
|
}
|
|
3010
3000
|
function getTimelineContentClasses(mode, position) {
|
|
3011
3001
|
if (mode === "right") return `${timelineContentClasses} pr-2`;
|
|
@@ -3039,7 +3029,7 @@ var treeBaseClasses = "w-full bg-white rounded-lg";
|
|
|
3039
3029
|
var treeNodeWrapperClasses = "select-none";
|
|
3040
3030
|
var treeNodeContentClasses = "flex items-center px-2 py-1.5 cursor-pointer rounded transition-colors duration-200";
|
|
3041
3031
|
var treeNodeHoverClasses = "hover:bg-gray-50";
|
|
3042
|
-
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)]";
|
|
3043
3033
|
var treeNodeDisabledClasses = "opacity-50 cursor-not-allowed";
|
|
3044
3034
|
var treeNodeIndentClasses = "inline-block w-6";
|
|
3045
3035
|
var treeNodeExpandIconClasses = "inline-flex items-center justify-center w-6 h-6 transition-transform duration-200";
|
|
@@ -3052,40 +3042,16 @@ var treeLoadingClasses = "inline-block ml-2 animate-spin h-4 w-4";
|
|
|
3052
3042
|
var treeEmptyStateClasses = "py-8 text-center text-gray-500";
|
|
3053
3043
|
var treeLineClasses = "border-l border-gray-300";
|
|
3054
3044
|
function getTreeNodeClasses(selected, disabled, blockNode = false) {
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
|
|
3058
|
-
|
|
3059
|
-
|
|
3060
|
-
|
|
3061
|
-
|
|
3062
|
-
if (disabled) {
|
|
3063
|
-
classes.push(treeNodeDisabledClasses);
|
|
3064
|
-
}
|
|
3065
|
-
if (blockNode) {
|
|
3066
|
-
classes.push("w-full");
|
|
3067
|
-
}
|
|
3068
|
-
return classes.join(" ");
|
|
3045
|
+
return classNames(
|
|
3046
|
+
treeNodeContentClasses,
|
|
3047
|
+
!disabled && treeNodeHoverClasses,
|
|
3048
|
+
selected && treeNodeSelectedClasses,
|
|
3049
|
+
disabled && treeNodeDisabledClasses,
|
|
3050
|
+
blockNode && "w-full"
|
|
3051
|
+
);
|
|
3069
3052
|
}
|
|
3070
3053
|
function getTreeNodeExpandIconClasses(expanded) {
|
|
3071
|
-
|
|
3072
|
-
if (expanded) {
|
|
3073
|
-
classes.push(treeNodeExpandIconExpandedClasses);
|
|
3074
|
-
}
|
|
3075
|
-
return classes.join(" ");
|
|
3076
|
-
}
|
|
3077
|
-
function flattenTree(treeData, expandedKeys = /* @__PURE__ */ new Set()) {
|
|
3078
|
-
const result = [];
|
|
3079
|
-
function traverse(nodes, level = 0, parentKey) {
|
|
3080
|
-
nodes.forEach((node) => {
|
|
3081
|
-
result.push({ ...node, level, parentKey });
|
|
3082
|
-
if (node.children && node.children.length > 0 && expandedKeys.has(node.key)) {
|
|
3083
|
-
traverse(node.children, level + 1, node.key);
|
|
3084
|
-
}
|
|
3085
|
-
});
|
|
3086
|
-
}
|
|
3087
|
-
traverse(treeData);
|
|
3088
|
-
return result;
|
|
3054
|
+
return classNames(treeNodeExpandIconClasses, expanded && treeNodeExpandIconExpandedClasses);
|
|
3089
3055
|
}
|
|
3090
3056
|
function getAllKeys(treeData) {
|
|
3091
3057
|
const keys = [];
|
|
@@ -3307,18 +3273,12 @@ function getAutoExpandKeys(treeData, matchedKeys) {
|
|
|
3307
3273
|
});
|
|
3308
3274
|
return expandKeys;
|
|
3309
3275
|
}
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
|
|
3316
|
-
`;
|
|
3317
|
-
var defaultIndeterminateIcon = `
|
|
3318
|
-
<svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor">
|
|
3319
|
-
<rect x="4" y="7" width="8" height="2" rx="1"/>
|
|
3320
|
-
</svg>
|
|
3321
|
-
`;
|
|
3276
|
+
function checkedSetsFromState(state) {
|
|
3277
|
+
return {
|
|
3278
|
+
checkedSet: new Set(state.checked),
|
|
3279
|
+
halfCheckedSet: new Set(state.halfChecked)
|
|
3280
|
+
};
|
|
3281
|
+
}
|
|
3322
3282
|
|
|
3323
3283
|
// src/utils/skeleton-utils.ts
|
|
3324
3284
|
var skeletonBaseClasses = "bg-[var(--tiger-skeleton-bg,#e5e7eb)] rounded";
|
|
@@ -3382,7 +3342,7 @@ function getParagraphRowWidth(rowIndex, totalRows) {
|
|
|
3382
3342
|
// src/utils/progress-utils.ts
|
|
3383
3343
|
var progressLineBaseClasses = "relative overflow-hidden rounded-full";
|
|
3384
3344
|
var progressLineInnerClasses = "h-full rounded-full transition-all duration-300 ease-in-out flex items-center justify-end";
|
|
3385
|
-
var progressTextBaseClasses = "font-medium ml-2
|
|
3345
|
+
var progressTextBaseClasses = "font-medium ml-2";
|
|
3386
3346
|
var progressCircleBaseClasses = "relative inline-flex items-center justify-center";
|
|
3387
3347
|
var progressLineSizeClasses = {
|
|
3388
3348
|
sm: "h-2",
|
|
@@ -3422,7 +3382,7 @@ function formatProgressText(percentage, customText, formatFn) {
|
|
|
3422
3382
|
function clampPercentage(percentage) {
|
|
3423
3383
|
return Math.max(0, Math.min(100, percentage));
|
|
3424
3384
|
}
|
|
3425
|
-
function calculateCirclePath(radius,
|
|
3385
|
+
function calculateCirclePath(radius, percentage) {
|
|
3426
3386
|
const circumference = 2 * Math.PI * radius;
|
|
3427
3387
|
const offset2 = circumference - percentage / 100 * circumference;
|
|
3428
3388
|
return {
|
|
@@ -3460,7 +3420,6 @@ var collapseIconPositionClasses = {
|
|
|
3460
3420
|
end: "ml-auto"
|
|
3461
3421
|
};
|
|
3462
3422
|
var collapseHeaderTextClasses = "flex-1 font-medium text-gray-900";
|
|
3463
|
-
var collapseExtraClasses = "ml-auto";
|
|
3464
3423
|
function getCollapseContainerClasses(bordered, ghost, className) {
|
|
3465
3424
|
const classes = [collapseBaseClasses];
|
|
3466
3425
|
if (ghost) {
|
|
@@ -3471,7 +3430,7 @@ function getCollapseContainerClasses(bordered, ghost, className) {
|
|
|
3471
3430
|
if (className) {
|
|
3472
3431
|
classes.push(className);
|
|
3473
3432
|
}
|
|
3474
|
-
return classes.
|
|
3433
|
+
return classes.join(" ");
|
|
3475
3434
|
}
|
|
3476
3435
|
function getCollapsePanelClasses(ghost, className) {
|
|
3477
3436
|
const classes = [];
|
|
@@ -3481,7 +3440,7 @@ function getCollapsePanelClasses(ghost, className) {
|
|
|
3481
3440
|
if (className) {
|
|
3482
3441
|
classes.push(className);
|
|
3483
3442
|
}
|
|
3484
|
-
return classes.
|
|
3443
|
+
return classes.join(" ");
|
|
3485
3444
|
}
|
|
3486
3445
|
function getCollapsePanelHeaderClasses(active, disabled, className) {
|
|
3487
3446
|
const classes = [collapsePanelHeaderBaseClasses];
|
|
@@ -3493,7 +3452,7 @@ function getCollapsePanelHeaderClasses(active, disabled, className) {
|
|
|
3493
3452
|
if (className) {
|
|
3494
3453
|
classes.push(className);
|
|
3495
3454
|
}
|
|
3496
|
-
return classes.
|
|
3455
|
+
return classes.join(" ");
|
|
3497
3456
|
}
|
|
3498
3457
|
function getCollapseIconClasses(expanded, position, className) {
|
|
3499
3458
|
const classes = [collapseIconBaseClasses, collapseIconPositionClasses[position]];
|
|
@@ -3503,7 +3462,7 @@ function getCollapseIconClasses(expanded, position, className) {
|
|
|
3503
3462
|
if (className) {
|
|
3504
3463
|
classes.push(className);
|
|
3505
3464
|
}
|
|
3506
|
-
return classes.
|
|
3465
|
+
return classes.join(" ");
|
|
3507
3466
|
}
|
|
3508
3467
|
function normalizeActiveKeys(activeKey) {
|
|
3509
3468
|
if (activeKey === void 0) {
|
|
@@ -3526,11 +3485,6 @@ function togglePanelKey(panelKey, activeKeys, accordion) {
|
|
|
3526
3485
|
}
|
|
3527
3486
|
}
|
|
3528
3487
|
}
|
|
3529
|
-
var collapseRightArrowIcon = `
|
|
3530
|
-
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
3531
|
-
<path d="M6 12L10 8L6 4" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
3532
|
-
</svg>
|
|
3533
|
-
`.trim();
|
|
3534
3488
|
|
|
3535
3489
|
// src/utils/menu-utils.ts
|
|
3536
3490
|
var menuBaseClasses = "flex border bg-[var(--tiger-surface,#ffffff)] text-[var(--tiger-text,#111827)] border-[var(--tiger-border,#e5e7eb)]";
|
|
@@ -3626,15 +3580,71 @@ function replaceKeys(key, keys) {
|
|
|
3626
3580
|
}
|
|
3627
3581
|
return [key];
|
|
3628
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
|
+
}
|
|
3629
3633
|
|
|
3630
3634
|
// src/utils/tabs-utils.ts
|
|
3631
3635
|
var tabsBaseClasses = "w-full";
|
|
3632
|
-
var tabNavBaseClasses = "flex
|
|
3636
|
+
var tabNavBaseClasses = "flex";
|
|
3633
3637
|
var tabNavPositionClasses = {
|
|
3634
|
-
top: "flex-row
|
|
3635
|
-
bottom: "flex-row
|
|
3636
|
-
left: "flex-col
|
|
3637
|
-
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"
|
|
3638
3648
|
};
|
|
3639
3649
|
var tabNavListBaseClasses = "flex gap-1";
|
|
3640
3650
|
var tabNavListPositionClasses = {
|
|
@@ -3644,7 +3654,7 @@ var tabNavListPositionClasses = {
|
|
|
3644
3654
|
right: "flex-col"
|
|
3645
3655
|
};
|
|
3646
3656
|
var tabNavListCenteredClasses = "justify-center";
|
|
3647
|
-
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";
|
|
3648
3658
|
var tabItemSizeClasses = {
|
|
3649
3659
|
small: "text-sm px-3 py-1.5",
|
|
3650
3660
|
medium: "text-base px-4 py-2",
|
|
@@ -3663,63 +3673,39 @@ var tabPaneBaseClasses = "w-full";
|
|
|
3663
3673
|
var tabPaneHiddenClasses = "hidden";
|
|
3664
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";
|
|
3665
3675
|
function getTabsContainerClasses(position) {
|
|
3666
|
-
|
|
3667
|
-
if (position === "left"
|
|
3668
|
-
|
|
3669
|
-
if (position === "right") {
|
|
3670
|
-
classes.push("flex-row-reverse");
|
|
3671
|
-
}
|
|
3672
|
-
}
|
|
3673
|
-
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;
|
|
3674
3679
|
}
|
|
3675
3680
|
function getTabNavClasses(position, type) {
|
|
3676
|
-
const
|
|
3677
|
-
|
|
3678
|
-
classes.push("border-0");
|
|
3679
|
-
}
|
|
3680
|
-
return classes.filter(Boolean).join(" ");
|
|
3681
|
+
const base = `${tabNavBaseClasses} ${tabNavPositionClasses[position]}`;
|
|
3682
|
+
return type === "line" ? `${base} ${tabNavLineBorderClasses[position]}` : base;
|
|
3681
3683
|
}
|
|
3682
3684
|
function getTabNavListClasses(position, centered) {
|
|
3683
|
-
const
|
|
3684
|
-
|
|
3685
|
-
classes.push(tabNavListCenteredClasses);
|
|
3686
|
-
}
|
|
3687
|
-
return classes.filter(Boolean).join(" ");
|
|
3685
|
+
const base = `${tabNavListBaseClasses} ${tabNavListPositionClasses[position]}`;
|
|
3686
|
+
return centered && (position === "top" || position === "bottom") ? `${base} ${tabNavListCenteredClasses}` : base;
|
|
3688
3687
|
}
|
|
3689
3688
|
function getTabItemClasses(active, disabled, type, size) {
|
|
3690
|
-
|
|
3691
|
-
if (disabled) {
|
|
3692
|
-
|
|
3693
|
-
|
|
3694
|
-
|
|
3695
|
-
|
|
3696
|
-
|
|
3697
|
-
|
|
3698
|
-
|
|
3699
|
-
|
|
3700
|
-
|
|
3701
|
-
|
|
3702
|
-
|
|
3703
|
-
|
|
3704
|
-
|
|
3705
|
-
}
|
|
3706
|
-
break;
|
|
3707
|
-
case "editable-card":
|
|
3708
|
-
classes.push(tabItemEditableCardClasses);
|
|
3709
|
-
if (active) {
|
|
3710
|
-
classes.push(tabItemEditableCardActiveClasses);
|
|
3711
|
-
}
|
|
3712
|
-
break;
|
|
3713
|
-
}
|
|
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;
|
|
3714
3704
|
}
|
|
3715
|
-
return
|
|
3705
|
+
return cls;
|
|
3716
3706
|
}
|
|
3717
3707
|
function getTabPaneClasses(active) {
|
|
3718
|
-
|
|
3719
|
-
if (!active) {
|
|
3720
|
-
classes.push(tabPaneHiddenClasses);
|
|
3721
|
-
}
|
|
3722
|
-
return classes.filter(Boolean).join(" ");
|
|
3708
|
+
return active ? tabPaneBaseClasses : `${tabPaneBaseClasses} ${tabPaneHiddenClasses}`;
|
|
3723
3709
|
}
|
|
3724
3710
|
function isKeyActive(key, activeKey) {
|
|
3725
3711
|
return activeKey !== void 0 && key === activeKey;
|
|
@@ -3749,16 +3735,14 @@ var breadcrumbLinkClasses = classNames(
|
|
|
3749
3735
|
);
|
|
3750
3736
|
var breadcrumbCurrentClasses = classNames("text-gray-900 font-medium", "cursor-default");
|
|
3751
3737
|
var breadcrumbSeparatorBaseClasses = "text-gray-400 select-none";
|
|
3752
|
-
function getBreadcrumbItemClasses(
|
|
3738
|
+
function getBreadcrumbItemClasses(className) {
|
|
3753
3739
|
return classNames(breadcrumbItemBaseClasses, className);
|
|
3754
3740
|
}
|
|
3755
3741
|
function getBreadcrumbLinkClasses(current) {
|
|
3756
3742
|
return current ? breadcrumbCurrentClasses : breadcrumbLinkClasses;
|
|
3757
3743
|
}
|
|
3758
3744
|
function getSeparatorContent(separator) {
|
|
3759
|
-
if (!separator
|
|
3760
|
-
return "/";
|
|
3761
|
-
}
|
|
3745
|
+
if (!separator) return "/";
|
|
3762
3746
|
switch (separator) {
|
|
3763
3747
|
case "slash":
|
|
3764
3748
|
return "/";
|
|
@@ -3775,61 +3759,53 @@ function getBreadcrumbSeparatorClasses(className) {
|
|
|
3775
3759
|
}
|
|
3776
3760
|
|
|
3777
3761
|
// src/utils/steps-utils.ts
|
|
3778
|
-
var
|
|
3779
|
-
var stepFinishIconViewBox = "0 0 24 24";
|
|
3780
|
-
var stepFinishIconPathD = "M5 13l4 4L19 7";
|
|
3781
|
-
var stepFinishIconPathStrokeLinecap = "round";
|
|
3782
|
-
var stepFinishIconPathStrokeLinejoin = "round";
|
|
3783
|
-
var stepFinishIconPathStrokeWidth = 2;
|
|
3762
|
+
var stepFinishChar = "\u2713";
|
|
3784
3763
|
function getStepsContainerClasses(direction) {
|
|
3785
|
-
const
|
|
3764
|
+
const baseClasses2 = "tiger-steps w-full list-none m-0 p-0";
|
|
3786
3765
|
if (direction === "vertical") {
|
|
3787
|
-
return `${
|
|
3766
|
+
return `${baseClasses2} flex flex-col`;
|
|
3788
3767
|
}
|
|
3789
|
-
return `${
|
|
3768
|
+
return `${baseClasses2} flex flex-row items-start`;
|
|
3790
3769
|
}
|
|
3791
|
-
function getStepItemClasses(direction, isLast
|
|
3792
|
-
const
|
|
3770
|
+
function getStepItemClasses(direction, isLast) {
|
|
3771
|
+
const baseClasses2 = "tiger-step-item relative";
|
|
3793
3772
|
if (direction === "vertical") {
|
|
3794
|
-
return `${
|
|
3773
|
+
return `${baseClasses2} flex flex-row ${!isLast ? "pb-6" : ""}`;
|
|
3795
3774
|
}
|
|
3796
|
-
return `${
|
|
3775
|
+
return `${baseClasses2} flex flex-col flex-1 items-center`;
|
|
3797
3776
|
}
|
|
3798
3777
|
function getStepIconClasses(status, size, simple, isCustomIcon) {
|
|
3799
|
-
const
|
|
3778
|
+
const baseClasses2 = "tiger-step-icon relative z-10 flex items-center justify-center rounded-full border-2";
|
|
3800
3779
|
const sizeClasses = simple ? "w-6 h-6 text-xs" : size === "small" ? "w-8 h-8 text-sm" : "w-10 h-10 text-base";
|
|
3801
3780
|
const iconClasses = isCustomIcon ? "" : "font-medium";
|
|
3781
|
+
const activeClasses = "bg-[var(--tiger-primary,#2563eb)] border-[var(--tiger-primary,#2563eb)] text-white";
|
|
3802
3782
|
const statusClasses = {
|
|
3803
3783
|
wait: "bg-[var(--tiger-surface-muted,#f3f4f6)] border-[var(--tiger-border,#e5e7eb)] text-[var(--tiger-text-muted,#6b7280)]",
|
|
3804
|
-
process:
|
|
3805
|
-
finish:
|
|
3784
|
+
process: activeClasses,
|
|
3785
|
+
finish: activeClasses,
|
|
3806
3786
|
error: "bg-[var(--tiger-error-bg,#fef2f2)] border-[var(--tiger-error,#ef4444)] text-[var(--tiger-error,#ef4444)]"
|
|
3807
3787
|
};
|
|
3808
|
-
return `${
|
|
3788
|
+
return `${baseClasses2} ${sizeClasses} ${iconClasses} ${statusClasses[status]}`;
|
|
3809
3789
|
}
|
|
3810
|
-
function getStepTailClasses(direction, status, isLast) {
|
|
3811
|
-
if (isLast)
|
|
3812
|
-
|
|
3813
|
-
}
|
|
3814
|
-
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)]";
|
|
3815
3793
|
if (direction === "vertical") {
|
|
3816
|
-
const
|
|
3817
|
-
|
|
3818
|
-
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}`;
|
|
3819
3796
|
}
|
|
3820
|
-
const
|
|
3821
|
-
|
|
3822
|
-
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}`;
|
|
3823
3799
|
}
|
|
3824
|
-
function getStepContentClasses(direction
|
|
3825
|
-
const
|
|
3800
|
+
function getStepContentClasses(direction) {
|
|
3801
|
+
const baseClasses2 = "tiger-step-content";
|
|
3826
3802
|
if (direction === "vertical") {
|
|
3827
|
-
return `${
|
|
3803
|
+
return `${baseClasses2} ml-4 flex-1`;
|
|
3828
3804
|
}
|
|
3829
|
-
return `${
|
|
3805
|
+
return `${baseClasses2} mt-2 text-center`;
|
|
3830
3806
|
}
|
|
3831
3807
|
function getStepTitleClasses(status, size, clickable) {
|
|
3832
|
-
const
|
|
3808
|
+
const baseClasses2 = "tiger-step-title font-medium";
|
|
3833
3809
|
const sizeClasses = size === "small" ? "text-sm" : "text-base";
|
|
3834
3810
|
const statusClasses = {
|
|
3835
3811
|
wait: "text-[var(--tiger-text-muted,#6b7280)]",
|
|
@@ -3837,19 +3813,14 @@ function getStepTitleClasses(status, size, clickable) {
|
|
|
3837
3813
|
finish: "text-[var(--tiger-text,#111827)]",
|
|
3838
3814
|
error: "text-[var(--tiger-error,#ef4444)]"
|
|
3839
3815
|
};
|
|
3840
|
-
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)]" : "";
|
|
3841
|
-
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}`;
|
|
3842
3818
|
}
|
|
3843
3819
|
function getStepDescriptionClasses(status, size) {
|
|
3844
|
-
const
|
|
3820
|
+
const baseClasses2 = "tiger-step-description mt-1";
|
|
3845
3821
|
const sizeClasses = size === "small" ? "text-xs" : "text-sm";
|
|
3846
|
-
const
|
|
3847
|
-
|
|
3848
|
-
process: "text-[var(--tiger-text-muted,#6b7280)]",
|
|
3849
|
-
finish: "text-[var(--tiger-text-muted,#6b7280)]",
|
|
3850
|
-
error: "text-[var(--tiger-error,#ef4444)]"
|
|
3851
|
-
};
|
|
3852
|
-
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}`;
|
|
3853
3824
|
}
|
|
3854
3825
|
function calculateStepStatus(index, currentIndex, currentStatus, customStatus) {
|
|
3855
3826
|
if (customStatus) {
|
|
@@ -3984,13 +3955,16 @@ function getPageSizeSelectorClasses(size = "medium") {
|
|
|
3984
3955
|
sizeClasses[size]
|
|
3985
3956
|
);
|
|
3986
3957
|
}
|
|
3987
|
-
function
|
|
3958
|
+
function getSizeTextClasses(size = "medium") {
|
|
3988
3959
|
const sizeClasses = {
|
|
3989
3960
|
small: "text-sm",
|
|
3990
3961
|
medium: "text-base",
|
|
3991
3962
|
large: "text-lg"
|
|
3992
3963
|
};
|
|
3993
|
-
return
|
|
3964
|
+
return sizeClasses[size];
|
|
3965
|
+
}
|
|
3966
|
+
function getTotalTextClasses(size = "medium") {
|
|
3967
|
+
return classNames("text-[var(--tiger-text-muted,#6b7280)]", "mr-2", getSizeTextClasses(size));
|
|
3994
3968
|
}
|
|
3995
3969
|
function getSimplePaginationContainerClasses() {
|
|
3996
3970
|
return classNames(
|
|
@@ -4037,48 +4011,45 @@ function getDropdownContainerClasses() {
|
|
|
4037
4011
|
function getDropdownTriggerClasses(disabled) {
|
|
4038
4012
|
return classNames(
|
|
4039
4013
|
"tiger-dropdown-trigger",
|
|
4040
|
-
"
|
|
4041
|
-
|
|
4014
|
+
"inline-flex items-center gap-1.5",
|
|
4015
|
+
"select-none",
|
|
4016
|
+
disabled ? "cursor-not-allowed opacity-50 pointer-events-none" : "cursor-pointer"
|
|
4042
4017
|
);
|
|
4043
4018
|
}
|
|
4044
|
-
function
|
|
4045
|
-
const positionClasses = getPlacementClasses(placement);
|
|
4019
|
+
function getDropdownChevronClasses(visible) {
|
|
4046
4020
|
return classNames(
|
|
4047
|
-
"tiger-dropdown-
|
|
4048
|
-
"
|
|
4049
|
-
"
|
|
4050
|
-
|
|
4051
|
-
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"
|
|
4052
4026
|
);
|
|
4053
4027
|
}
|
|
4028
|
+
var DROPDOWN_CHEVRON_PATH = "M6 9l6 6 6-6";
|
|
4054
4029
|
function getDropdownMenuClasses() {
|
|
4055
4030
|
return classNames(
|
|
4056
4031
|
"tiger-dropdown-menu",
|
|
4057
4032
|
"min-w-[160px]",
|
|
4058
|
-
"py-1",
|
|
4059
|
-
"rounded-
|
|
4060
|
-
"
|
|
4033
|
+
"py-1.5 px-1",
|
|
4034
|
+
"rounded-lg",
|
|
4035
|
+
"bg-[var(--tiger-surface,#ffffff)]",
|
|
4061
4036
|
"border border-[var(--tiger-border,#e5e7eb)]",
|
|
4062
|
-
"
|
|
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]"
|
|
4063
4039
|
);
|
|
4064
4040
|
}
|
|
4065
4041
|
function getDropdownItemClasses(disabled, divided) {
|
|
4066
4042
|
return classNames(
|
|
4067
4043
|
"tiger-dropdown-item",
|
|
4068
|
-
"flex",
|
|
4069
|
-
"
|
|
4070
|
-
"
|
|
4071
|
-
"
|
|
4072
|
-
"
|
|
4073
|
-
"text-sm",
|
|
4074
|
-
"text-[var(--tiger-text,#374151)]",
|
|
4075
|
-
"transition-colors",
|
|
4076
|
-
"duration-150",
|
|
4077
|
-
"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",
|
|
4078
4049
|
"text-left",
|
|
4079
4050
|
"focus:outline-none",
|
|
4080
|
-
"focus-visible:ring-2 focus-visible:ring-[var(--tiger-primary,#2563eb)] focus-visible:ring-
|
|
4081
|
-
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",
|
|
4082
4053
|
disabled ? "cursor-not-allowed opacity-50" : classNames(
|
|
4083
4054
|
"cursor-pointer",
|
|
4084
4055
|
"hover:bg-[var(--tiger-surface-muted,#f3f4f6)]",
|
|
@@ -4086,23 +4057,36 @@ function getDropdownItemClasses(disabled, divided) {
|
|
|
4086
4057
|
)
|
|
4087
4058
|
);
|
|
4088
4059
|
}
|
|
4089
|
-
|
|
4090
|
-
|
|
4091
|
-
|
|
4092
|
-
|
|
4093
|
-
|
|
4094
|
-
|
|
4095
|
-
|
|
4096
|
-
|
|
4097
|
-
|
|
4098
|
-
|
|
4099
|
-
|
|
4100
|
-
|
|
4101
|
-
|
|
4102
|
-
|
|
4103
|
-
|
|
4104
|
-
|
|
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;
|
|
4105
4088
|
}
|
|
4089
|
+
var DROPDOWN_ENTER_CLASS = "tiger-dropdown-enter";
|
|
4106
4090
|
|
|
4107
4091
|
// src/utils/drawer-utils.ts
|
|
4108
4092
|
function getDrawerMaskClasses(visible) {
|
|
@@ -4111,12 +4095,11 @@ function getDrawerMaskClasses(visible) {
|
|
|
4111
4095
|
visible ? "opacity-100" : "opacity-0 pointer-events-none"
|
|
4112
4096
|
);
|
|
4113
4097
|
}
|
|
4114
|
-
function getDrawerContainerClasses(
|
|
4115
|
-
void zIndex;
|
|
4098
|
+
function getDrawerContainerClasses() {
|
|
4116
4099
|
return "fixed inset-0 overflow-hidden";
|
|
4117
4100
|
}
|
|
4118
4101
|
function getDrawerPanelClasses(placement, visible, size) {
|
|
4119
|
-
const
|
|
4102
|
+
const baseClasses2 = "absolute bg-[var(--tiger-surface,#ffffff)] shadow-xl transition-transform duration-300 ease-in-out pointer-events-auto";
|
|
4120
4103
|
const sizeMap = {
|
|
4121
4104
|
sm: { width: "w-64", height: "h-48" },
|
|
4122
4105
|
md: { width: "w-96", height: "h-64" },
|
|
@@ -4146,7 +4129,7 @@ function getDrawerPanelClasses(placement, visible, size) {
|
|
|
4146
4129
|
visible ? "translate-y-0" : "translate-y-full"
|
|
4147
4130
|
)
|
|
4148
4131
|
};
|
|
4149
|
-
return classNames(
|
|
4132
|
+
return classNames(baseClasses2, placementClasses[placement]);
|
|
4150
4133
|
}
|
|
4151
4134
|
function getDrawerHeaderClasses() {
|
|
4152
4135
|
return "flex items-center justify-between px-6 py-4 border-b border-[var(--tiger-border,#e5e7eb)]";
|
|
@@ -4221,19 +4204,15 @@ var alertDescriptionSizeClasses = {
|
|
|
4221
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";
|
|
4222
4205
|
var alertIconContainerClasses = "flex-shrink-0";
|
|
4223
4206
|
var alertContentClasses = "flex-1 ml-3";
|
|
4224
|
-
var alertSuccessIconPath = statusSuccessIconPath;
|
|
4225
|
-
var alertWarningIconPath = statusWarningIconPath;
|
|
4226
|
-
var alertErrorIconPath = statusErrorIconPath;
|
|
4227
|
-
var alertInfoIconPath = statusInfoIconPath;
|
|
4228
4207
|
var alertCloseIconPath = closeIconPathD;
|
|
4208
|
+
var alertIconPaths = {
|
|
4209
|
+
success: statusSuccessIconPath,
|
|
4210
|
+
warning: statusWarningIconPath,
|
|
4211
|
+
error: statusErrorIconPath,
|
|
4212
|
+
info: statusInfoIconPath
|
|
4213
|
+
};
|
|
4229
4214
|
function getAlertIconPath(type) {
|
|
4230
|
-
|
|
4231
|
-
success: alertSuccessIconPath,
|
|
4232
|
-
warning: alertWarningIconPath,
|
|
4233
|
-
error: alertErrorIconPath,
|
|
4234
|
-
info: alertInfoIconPath
|
|
4235
|
-
};
|
|
4236
|
-
return iconPaths[type];
|
|
4215
|
+
return alertIconPaths[type];
|
|
4237
4216
|
}
|
|
4238
4217
|
|
|
4239
4218
|
// src/utils/message-utils.ts
|
|
@@ -4247,10 +4226,6 @@ var messagePositionClasses = {
|
|
|
4247
4226
|
"bottom-right": "bottom-6 right-6"
|
|
4248
4227
|
};
|
|
4249
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";
|
|
4250
|
-
var messageEnterClasses = "opacity-0 -translate-y-2";
|
|
4251
|
-
var messageEnterActiveClasses = "opacity-100 translate-y-0";
|
|
4252
|
-
var messageLeaveClasses = "opacity-100 translate-y-0";
|
|
4253
|
-
var messageLeaveActiveClasses = "opacity-0 -translate-y-2";
|
|
4254
4229
|
var defaultMessageThemeColors = {
|
|
4255
4230
|
info: {
|
|
4256
4231
|
bg: "bg-[var(--tiger-message-info-bg,#eff6ff)]",
|
|
@@ -4284,7 +4259,7 @@ var defaultMessageThemeColors = {
|
|
|
4284
4259
|
}
|
|
4285
4260
|
};
|
|
4286
4261
|
function getMessageTypeClasses(type, themeColors = defaultMessageThemeColors) {
|
|
4287
|
-
return themeColors[type]
|
|
4262
|
+
return themeColors[type];
|
|
4288
4263
|
}
|
|
4289
4264
|
var messageIconPaths = {
|
|
4290
4265
|
success: statusSuccessIconPath,
|
|
@@ -4294,7 +4269,7 @@ var messageIconPaths = {
|
|
|
4294
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"
|
|
4295
4270
|
};
|
|
4296
4271
|
function getMessageIconPath(type) {
|
|
4297
|
-
return messageIconPaths[type]
|
|
4272
|
+
return messageIconPaths[type];
|
|
4298
4273
|
}
|
|
4299
4274
|
var messageCloseIconPath = closeIconPathD;
|
|
4300
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)]";
|
|
@@ -4393,25 +4368,23 @@ function getLoadingOverlaySpinnerClasses(customClassName) {
|
|
|
4393
4368
|
function getLoadingClasses(variant, size, color, customColor) {
|
|
4394
4369
|
const sizeClass = loadingSizeClasses[size];
|
|
4395
4370
|
const colorClass = customColor ? "" : loadingColorClasses[color];
|
|
4396
|
-
const
|
|
4371
|
+
const baseClasses2 = classNames(sizeClass, colorClass);
|
|
4397
4372
|
switch (variant) {
|
|
4398
|
-
case "spinner":
|
|
4399
|
-
return classNames(baseClasses, loadingSpinnerBaseClasses);
|
|
4400
4373
|
case "dots":
|
|
4401
|
-
return baseClasses;
|
|
4402
4374
|
case "bars":
|
|
4403
|
-
return
|
|
4404
|
-
case "ring":
|
|
4405
|
-
return classNames(baseClasses, loadingSpinnerBaseClasses);
|
|
4375
|
+
return baseClasses2;
|
|
4406
4376
|
case "pulse":
|
|
4407
|
-
return classNames(
|
|
4377
|
+
return classNames(baseClasses2, "animate-pulse");
|
|
4378
|
+
case "spinner":
|
|
4379
|
+
case "ring":
|
|
4408
4380
|
default:
|
|
4409
|
-
return classNames(
|
|
4381
|
+
return classNames(baseClasses2, loadingSpinnerBaseClasses);
|
|
4410
4382
|
}
|
|
4411
4383
|
}
|
|
4412
4384
|
function getSpinnerSVG(variant) {
|
|
4413
4385
|
switch (variant) {
|
|
4414
4386
|
case "spinner":
|
|
4387
|
+
default:
|
|
4415
4388
|
return {
|
|
4416
4389
|
viewBox: "0 0 24 24",
|
|
4417
4390
|
elements: [
|
|
@@ -4484,24 +4457,6 @@ function getSpinnerSVG(variant) {
|
|
|
4484
4457
|
}
|
|
4485
4458
|
]
|
|
4486
4459
|
};
|
|
4487
|
-
default:
|
|
4488
|
-
return {
|
|
4489
|
-
viewBox: "0 0 24 24",
|
|
4490
|
-
elements: [
|
|
4491
|
-
{
|
|
4492
|
-
type: "circle",
|
|
4493
|
-
attrs: {
|
|
4494
|
-
className: "opacity-25",
|
|
4495
|
-
cx: "12",
|
|
4496
|
-
cy: "12",
|
|
4497
|
-
r: "10",
|
|
4498
|
-
stroke: "currentColor",
|
|
4499
|
-
strokeWidth: "4",
|
|
4500
|
-
fill: "none"
|
|
4501
|
-
}
|
|
4502
|
-
}
|
|
4503
|
-
]
|
|
4504
|
-
};
|
|
4505
4460
|
}
|
|
4506
4461
|
}
|
|
4507
4462
|
var dotsVariantConfig = {
|
|
@@ -4606,6 +4561,25 @@ function injectLoadingAnimationStyles() {
|
|
|
4606
4561
|
}
|
|
4607
4562
|
}
|
|
4608
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
|
+
|
|
4609
4583
|
// src/utils/popconfirm-utils.ts
|
|
4610
4584
|
function getPopconfirmContainerClasses() {
|
|
4611
4585
|
return classNames("tiger-popconfirm", "relative", "inline-block", "w-fit", "justify-self-start");
|
|
@@ -4776,14 +4750,9 @@ function getPopoverTriggerClasses(disabled) {
|
|
|
4776
4750
|
}
|
|
4777
4751
|
function getPopoverContentClasses(width) {
|
|
4778
4752
|
let widthClass = "min-w-[200px]";
|
|
4779
|
-
if (width) {
|
|
4780
|
-
|
|
4781
|
-
|
|
4782
|
-
} else if (width.match(/^\d+$/)) {
|
|
4783
|
-
widthClass = `w-[${width}px]`;
|
|
4784
|
-
} else {
|
|
4785
|
-
widthClass = width;
|
|
4786
|
-
}
|
|
4753
|
+
if (width != null && width !== "") {
|
|
4754
|
+
const w = String(width);
|
|
4755
|
+
widthClass = /^\d+$/.test(w) ? `w-[${w}px]` : w;
|
|
4787
4756
|
}
|
|
4788
4757
|
return classNames(
|
|
4789
4758
|
"tiger-popover-content",
|
|
@@ -4797,20 +4766,26 @@ function getPopoverContentClasses(width) {
|
|
|
4797
4766
|
"border-[var(--tiger-border,#e5e7eb)]"
|
|
4798
4767
|
);
|
|
4799
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
|
+
);
|
|
4800
4784
|
function getPopoverTitleClasses() {
|
|
4801
|
-
return
|
|
4802
|
-
"tiger-popover-title",
|
|
4803
|
-
"text-sm",
|
|
4804
|
-
"font-semibold",
|
|
4805
|
-
"text-[var(--tiger-text,#111827)]",
|
|
4806
|
-
"mb-2",
|
|
4807
|
-
"border-b",
|
|
4808
|
-
"border-[var(--tiger-border,#e5e7eb)]",
|
|
4809
|
-
"pb-2"
|
|
4810
|
-
);
|
|
4785
|
+
return POPOVER_TITLE_CLASSES;
|
|
4811
4786
|
}
|
|
4812
4787
|
function getPopoverContentTextClasses() {
|
|
4813
|
-
return
|
|
4788
|
+
return POPOVER_TEXT_CLASSES;
|
|
4814
4789
|
}
|
|
4815
4790
|
|
|
4816
4791
|
// src/utils/tooltip-utils.ts
|
|
@@ -4857,6 +4832,9 @@ var iconSizeClasses = {
|
|
|
4857
4832
|
lg: "w-6 h-6",
|
|
4858
4833
|
xl: "w-8 h-8"
|
|
4859
4834
|
};
|
|
4835
|
+
var iconSvgDefaultStrokeWidth = 2;
|
|
4836
|
+
var iconSvgDefaultStrokeLinecap = "round";
|
|
4837
|
+
var iconSvgDefaultStrokeLinejoin = "round";
|
|
4860
4838
|
|
|
4861
4839
|
// src/utils/code-utils.ts
|
|
4862
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";
|
|
@@ -4864,82 +4842,377 @@ var codeBlockPreClasses = "m-0 overflow-auto p-4 text-sm leading-relaxed font-mo
|
|
|
4864
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";
|
|
4865
4843
|
var codeBlockCopyButtonCopiedClasses = "border-[var(--tiger-primary,#2563eb)] text-[var(--tiger-primary,#2563eb)]";
|
|
4866
4844
|
|
|
4867
|
-
// src/
|
|
4868
|
-
var
|
|
4869
|
-
|
|
4870
|
-
|
|
4871
|
-
|
|
4872
|
-
|
|
4873
|
-
|
|
4874
|
-
var
|
|
4875
|
-
|
|
4876
|
-
|
|
4877
|
-
|
|
4878
|
-
|
|
4879
|
-
|
|
4880
|
-
|
|
4881
|
-
|
|
4882
|
-
|
|
4883
|
-
|
|
4884
|
-
|
|
4885
|
-
|
|
4886
|
-
|
|
4887
|
-
|
|
4888
|
-
|
|
4889
|
-
|
|
4890
|
-
}
|
|
4891
|
-
|
|
4892
|
-
|
|
4893
|
-
|
|
4894
|
-
|
|
4895
|
-
|
|
4896
|
-
|
|
4897
|
-
|
|
4898
|
-
|
|
4899
|
-
|
|
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)]"
|
|
4900
4882
|
}
|
|
4901
|
-
|
|
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(" ");
|
|
4902
4896
|
}
|
|
4903
|
-
|
|
4904
|
-
|
|
4905
|
-
|
|
4906
|
-
|
|
4907
|
-
|
|
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"
|
|
4908
4926
|
}
|
|
4909
|
-
|
|
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}`;
|
|
4910
4932
|
}
|
|
4911
|
-
|
|
4912
|
-
|
|
4913
|
-
|
|
4914
|
-
|
|
4915
|
-
|
|
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)]"
|
|
4916
5012
|
}
|
|
4917
|
-
|
|
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(" ");
|
|
4918
5018
|
}
|
|
4919
|
-
|
|
4920
|
-
|
|
4921
|
-
|
|
4922
|
-
|
|
4923
|
-
|
|
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"
|
|
4924
5043
|
}
|
|
4925
|
-
|
|
4926
|
-
|
|
4927
|
-
|
|
4928
|
-
|
|
4929
|
-
return currentIndex >= totalSlides - 1;
|
|
4930
|
-
}
|
|
4931
|
-
function isPrevDisabled(currentIndex, _totalSlides, infinite) {
|
|
4932
|
-
if (infinite) return false;
|
|
4933
|
-
return currentIndex <= 0;
|
|
5044
|
+
};
|
|
5045
|
+
function getBadgeVariantClasses(variant, colors = defaultBadgeThemeColors) {
|
|
5046
|
+
const scheme = colors[variant];
|
|
5047
|
+
return `${scheme.bg} ${scheme.text}`;
|
|
4934
5048
|
}
|
|
4935
|
-
|
|
4936
|
-
|
|
4937
|
-
|
|
4938
|
-
|
|
4939
|
-
|
|
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;
|
|
4940
5078
|
}
|
|
4941
|
-
function
|
|
4942
|
-
|
|
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;
|
|
5202
|
+
return currentIndex >= totalSlides - 1;
|
|
5203
|
+
}
|
|
5204
|
+
function isPrevDisabled(currentIndex, _totalSlides, infinite) {
|
|
5205
|
+
if (infinite) return false;
|
|
5206
|
+
return currentIndex <= 0;
|
|
5207
|
+
}
|
|
5208
|
+
function clampSlideIndex(index, totalSlides) {
|
|
5209
|
+
if (totalSlides <= 0) return 0;
|
|
5210
|
+
if (index < 0) return 0;
|
|
5211
|
+
if (index >= totalSlides) return totalSlides - 1;
|
|
5212
|
+
return index;
|
|
5213
|
+
}
|
|
5214
|
+
function getScrollTransform(currentIndex) {
|
|
5215
|
+
return `translateX(-${currentIndex * 100}%)`;
|
|
4943
5216
|
}
|
|
4944
5217
|
var carouselPrevArrowPath = "M15.75 19.5L8.25 12l7.5-7.5";
|
|
4945
5218
|
var carouselNextArrowPath = "M8.25 4.5l7.5 7.5-7.5 7.5";
|
|
@@ -4956,14 +5229,7 @@ var anchorLinkListHorizontalClasses = "flex items-center space-x-4 pb-2";
|
|
|
4956
5229
|
var anchorLinkBaseClasses = "block text-sm text-gray-600 hover:text-[var(--tiger-primary,#2563eb)] transition-colors duration-200 whitespace-nowrap";
|
|
4957
5230
|
var anchorLinkActiveClasses = "text-[var(--tiger-primary,#2563eb)] font-medium";
|
|
4958
5231
|
function getAnchorWrapperClasses(affix, className) {
|
|
4959
|
-
|
|
4960
|
-
if (affix) {
|
|
4961
|
-
classes.push(anchorAffixClasses);
|
|
4962
|
-
}
|
|
4963
|
-
if (className) {
|
|
4964
|
-
classes.push(className);
|
|
4965
|
-
}
|
|
4966
|
-
return classes.filter(Boolean).join(" ");
|
|
5232
|
+
return [anchorBaseClasses, affix && anchorAffixClasses, className].filter(Boolean).join(" ");
|
|
4967
5233
|
}
|
|
4968
5234
|
function getAnchorInkContainerClasses(direction) {
|
|
4969
5235
|
return direction === "vertical" ? anchorInkContainerVerticalClasses : anchorInkContainerHorizontalClasses;
|
|
@@ -4975,14 +5241,7 @@ function getAnchorLinkListClasses(direction) {
|
|
|
4975
5241
|
return direction === "vertical" ? anchorLinkListVerticalClasses : anchorLinkListHorizontalClasses;
|
|
4976
5242
|
}
|
|
4977
5243
|
function getAnchorLinkClasses(active, className) {
|
|
4978
|
-
|
|
4979
|
-
if (active) {
|
|
4980
|
-
classes.push(anchorLinkActiveClasses);
|
|
4981
|
-
}
|
|
4982
|
-
if (className) {
|
|
4983
|
-
classes.push(className);
|
|
4984
|
-
}
|
|
4985
|
-
return classes.filter(Boolean).join(" ");
|
|
5244
|
+
return [anchorLinkBaseClasses, active && anchorLinkActiveClasses, className].filter(Boolean).join(" ");
|
|
4986
5245
|
}
|
|
4987
5246
|
function getAnchorTargetElement(href) {
|
|
4988
5247
|
if (!href || !href.startsWith("#")) {
|
|
@@ -5030,19 +5289,9 @@ function scrollToAnchor(href, container, targetOffset = 0) {
|
|
|
5030
5289
|
if (!element) {
|
|
5031
5290
|
return;
|
|
5032
5291
|
}
|
|
5033
|
-
const
|
|
5034
|
-
|
|
5035
|
-
|
|
5036
|
-
top: offsetTop,
|
|
5037
|
-
behavior: "smooth"
|
|
5038
|
-
});
|
|
5039
|
-
} else {
|
|
5040
|
-
;
|
|
5041
|
-
container.scrollTo({
|
|
5042
|
-
top: offsetTop,
|
|
5043
|
-
behavior: "smooth"
|
|
5044
|
-
});
|
|
5045
|
-
}
|
|
5292
|
+
const top = getElementOffsetTop(element, container) - targetOffset;
|
|
5293
|
+
const scrollTarget = container === window ? window : container;
|
|
5294
|
+
scrollTarget.scrollTo({ top, behavior: "smooth" });
|
|
5046
5295
|
}
|
|
5047
5296
|
function findActiveAnchor(links, container, bounds = 5, targetOffset = 0) {
|
|
5048
5297
|
if (links.length === 0) {
|
|
@@ -5298,6 +5547,33 @@ function createPieArcPath(options) {
|
|
|
5298
5547
|
"Z"
|
|
5299
5548
|
].join(" ");
|
|
5300
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))";
|
|
5301
5577
|
function getRadarAngles(count, startAngle = -Math.PI / 2) {
|
|
5302
5578
|
if (count <= 0) return [];
|
|
5303
5579
|
const step = Math.PI * 2 / count;
|
|
@@ -5333,6 +5609,49 @@ function createPolygonPath(points) {
|
|
|
5333
5609
|
" "
|
|
5334
5610
|
);
|
|
5335
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";
|
|
5336
5655
|
function createLinePath(points, curve = "linear") {
|
|
5337
5656
|
if (points.length === 0) return "";
|
|
5338
5657
|
if (points.length === 1) return `M ${points[0].x} ${points[0].y}`;
|
|
@@ -5488,6 +5807,63 @@ function stackSeriesData(seriesData) {
|
|
|
5488
5807
|
}
|
|
5489
5808
|
return result;
|
|
5490
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";
|
|
5491
5867
|
|
|
5492
5868
|
// src/utils/chart-interaction.ts
|
|
5493
5869
|
function createChartInteractionHandlers(data, state, options) {
|
|
@@ -5585,6 +5961,59 @@ function getChartEntranceTransform(type, progress, options = {}) {
|
|
|
5585
5961
|
}
|
|
5586
5962
|
}
|
|
5587
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
|
+
|
|
5588
6017
|
// src/utils/floating.ts
|
|
5589
6018
|
import {
|
|
5590
6019
|
computePosition,
|
|
@@ -5660,484 +6089,185 @@ function getArrowStyles(placement, arrowData) {
|
|
|
5660
6089
|
top: "bottom",
|
|
5661
6090
|
bottom: "top",
|
|
5662
6091
|
left: "right",
|
|
5663
|
-
right: "left"
|
|
5664
|
-
};
|
|
5665
|
-
const styles = {
|
|
5666
|
-
position: "absolute",
|
|
5667
|
-
[staticSide[side]]: "-4px"
|
|
5668
|
-
};
|
|
5669
|
-
if (arrowData?.x != null) {
|
|
5670
|
-
styles.left = `${arrowData.x}px`;
|
|
5671
|
-
}
|
|
5672
|
-
if (arrowData?.y != null) {
|
|
5673
|
-
styles.top = `${arrowData.y}px`;
|
|
5674
|
-
}
|
|
5675
|
-
return styles;
|
|
5676
|
-
}
|
|
5677
|
-
function applyFloatingStyles(element, result) {
|
|
5678
|
-
element.style.left = `${result.x}px`;
|
|
5679
|
-
element.style.top = `${result.y}px`;
|
|
5680
|
-
}
|
|
5681
|
-
|
|
5682
|
-
// src/utils/chat-window-utils.ts
|
|
5683
|
-
var defaultChatMessageStatusInfo = {
|
|
5684
|
-
sending: { text: "\u53D1\u9001\u4E2D", className: "text-[var(--tiger-text-muted,#6b7280)]" },
|
|
5685
|
-
sent: { text: "\u5DF2\u9001\u8FBE", className: "text-[var(--tiger-text-muted,#6b7280)]" },
|
|
5686
|
-
failed: { text: "\u53D1\u9001\u5931\u8D25", className: "text-[var(--tiger-danger,#ef4444)]" }
|
|
5687
|
-
};
|
|
5688
|
-
function getChatMessageStatusInfo(status, statusMap = defaultChatMessageStatusInfo) {
|
|
5689
|
-
return statusMap[status] || defaultChatMessageStatusInfo[status];
|
|
5690
|
-
}
|
|
5691
|
-
|
|
5692
|
-
// src/utils/activity-feed-utils.ts
|
|
5693
|
-
var formatActivityTime = (value) => {
|
|
5694
|
-
if (value == null || value === "") return "";
|
|
5695
|
-
if (value instanceof Date) return value.toLocaleString();
|
|
5696
|
-
if (typeof value === "number") return new Date(value).toLocaleString();
|
|
5697
|
-
return value;
|
|
5698
|
-
};
|
|
5699
|
-
var sortActivityGroups = (groups, groupOrder) => {
|
|
5700
|
-
if (!groupOrder || groupOrder.length === 0) return groups;
|
|
5701
|
-
const orderMap = new Map(groupOrder.map((key, index) => [key, index]));
|
|
5702
|
-
return [...groups].sort((a, b) => {
|
|
5703
|
-
const aKey = String(a.key ?? a.title ?? "");
|
|
5704
|
-
const bKey = String(b.key ?? b.title ?? "");
|
|
5705
|
-
const aIndex = orderMap.has(aKey) ? orderMap.get(aKey) : Number.POSITIVE_INFINITY;
|
|
5706
|
-
const bIndex = orderMap.has(bKey) ? orderMap.get(bKey) : Number.POSITIVE_INFINITY;
|
|
5707
|
-
if (aIndex === bIndex) return 0;
|
|
5708
|
-
return aIndex - bIndex;
|
|
5709
|
-
});
|
|
5710
|
-
};
|
|
5711
|
-
var buildActivityGroups = (items, groups, groupBy, groupOrder) => {
|
|
5712
|
-
if (groups && groups.length > 0) {
|
|
5713
|
-
return sortActivityGroups(groups, groupOrder);
|
|
5714
|
-
}
|
|
5715
|
-
if (!items || items.length === 0) return [];
|
|
5716
|
-
if (groupBy) {
|
|
5717
|
-
const groupMap = /* @__PURE__ */ new Map();
|
|
5718
|
-
items.forEach((item) => {
|
|
5719
|
-
const key = groupBy(item) || "\u5176\u4ED6";
|
|
5720
|
-
const bucket = groupMap.get(key) ?? [];
|
|
5721
|
-
bucket.push(item);
|
|
5722
|
-
groupMap.set(key, bucket);
|
|
5723
|
-
});
|
|
5724
|
-
const mappedGroups = Array.from(groupMap.entries()).map(([title, groupItems]) => ({
|
|
5725
|
-
key: title,
|
|
5726
|
-
title,
|
|
5727
|
-
items: groupItems
|
|
5728
|
-
}));
|
|
5729
|
-
return sortActivityGroups(mappedGroups, groupOrder);
|
|
5730
|
-
}
|
|
5731
|
-
return [{ key: "default", title: "", items }];
|
|
5732
|
-
};
|
|
5733
|
-
var toActivityTimelineItems = (items) => {
|
|
5734
|
-
return items.map((item, index) => ({
|
|
5735
|
-
key: item.id ?? index,
|
|
5736
|
-
activity: item
|
|
5737
|
-
}));
|
|
5738
|
-
};
|
|
5739
|
-
|
|
5740
|
-
// src/utils/notification-center-utils.ts
|
|
5741
|
-
var sortNotificationGroups = (groups, groupOrder) => {
|
|
5742
|
-
if (!groupOrder || groupOrder.length === 0) {
|
|
5743
|
-
return groups;
|
|
5744
|
-
}
|
|
5745
|
-
const orderMap = /* @__PURE__ */ new Map();
|
|
5746
|
-
groupOrder.forEach((key, index) => {
|
|
5747
|
-
orderMap.set(String(key), index);
|
|
5748
|
-
});
|
|
5749
|
-
return [...groups].sort((a, b) => {
|
|
5750
|
-
const aKey = String(a.key ?? a.title);
|
|
5751
|
-
const bKey = String(b.key ?? b.title);
|
|
5752
|
-
const aIndex = orderMap.get(aKey);
|
|
5753
|
-
const bIndex = orderMap.get(bKey);
|
|
5754
|
-
if (aIndex === void 0 && bIndex === void 0) return 0;
|
|
5755
|
-
if (aIndex === void 0) return 1;
|
|
5756
|
-
if (bIndex === void 0) return -1;
|
|
5757
|
-
return aIndex - bIndex;
|
|
5758
|
-
});
|
|
5759
|
-
};
|
|
5760
|
-
var buildNotificationGroups = (items = [], groups, groupBy, groupOrder) => {
|
|
5761
|
-
if (groups && groups.length > 0) {
|
|
5762
|
-
return sortNotificationGroups(groups, groupOrder);
|
|
5763
|
-
}
|
|
5764
|
-
if (!items || items.length === 0) {
|
|
5765
|
-
return [];
|
|
5766
|
-
}
|
|
5767
|
-
const groupFn = groupBy ?? ((item) => String(item.type ?? "default"));
|
|
5768
|
-
const groupMap = /* @__PURE__ */ new Map();
|
|
5769
|
-
items.forEach((item) => {
|
|
5770
|
-
const key = groupFn(item);
|
|
5771
|
-
if (!groupMap.has(key)) {
|
|
5772
|
-
groupMap.set(key, []);
|
|
5773
|
-
}
|
|
5774
|
-
groupMap.get(key)?.push(item);
|
|
5775
|
-
});
|
|
5776
|
-
const mappedGroups = Array.from(groupMap.entries()).map(([key, groupItems]) => ({
|
|
5777
|
-
key,
|
|
5778
|
-
title: key,
|
|
5779
|
-
items: groupItems
|
|
5780
|
-
}));
|
|
5781
|
-
return sortNotificationGroups(mappedGroups, groupOrder);
|
|
5782
|
-
};
|
|
5783
|
-
|
|
5784
|
-
// src/utils/comment-thread-utils.ts
|
|
5785
|
-
var buildCommentTree = (items = []) => {
|
|
5786
|
-
if (!items || items.length === 0) return [];
|
|
5787
|
-
const nodeMap = /* @__PURE__ */ new Map();
|
|
5788
|
-
const order = [];
|
|
5789
|
-
items.forEach((item) => {
|
|
5790
|
-
nodeMap.set(item.id, {
|
|
5791
|
-
...item,
|
|
5792
|
-
children: []
|
|
5793
|
-
});
|
|
5794
|
-
order.push(item.id);
|
|
5795
|
-
});
|
|
5796
|
-
const roots = [];
|
|
5797
|
-
order.forEach((id) => {
|
|
5798
|
-
const node = nodeMap.get(id);
|
|
5799
|
-
if (!node) return;
|
|
5800
|
-
if (node.parentId === void 0 || node.parentId === null) {
|
|
5801
|
-
roots.push(node);
|
|
5802
|
-
return;
|
|
5803
|
-
}
|
|
5804
|
-
const parent = nodeMap.get(node.parentId);
|
|
5805
|
-
if (!parent) {
|
|
5806
|
-
roots.push(node);
|
|
5807
|
-
return;
|
|
5808
|
-
}
|
|
5809
|
-
if (!parent.children) parent.children = [];
|
|
5810
|
-
parent.children.push(node);
|
|
5811
|
-
});
|
|
5812
|
-
return roots;
|
|
5813
|
-
};
|
|
5814
|
-
var clipCommentTreeDepth = (nodes = [], maxDepth = 3) => {
|
|
5815
|
-
if (!nodes || nodes.length === 0) return [];
|
|
5816
|
-
if (maxDepth <= 0) return [];
|
|
5817
|
-
const cloneNode = (node, depth) => {
|
|
5818
|
-
const next = { ...node };
|
|
5819
|
-
if (node.children && node.children.length > 0 && depth < maxDepth) {
|
|
5820
|
-
next.children = node.children.map((child) => cloneNode(child, depth + 1));
|
|
5821
|
-
} else {
|
|
5822
|
-
next.children = [];
|
|
5823
|
-
}
|
|
5824
|
-
return next;
|
|
5825
|
-
};
|
|
5826
|
-
return nodes.map((node) => cloneNode(node, 1));
|
|
5827
|
-
};
|
|
5828
|
-
|
|
5829
|
-
// src/utils/composite-time-utils.ts
|
|
5830
|
-
var formatChatTime = (value) => {
|
|
5831
|
-
if (!value) return "";
|
|
5832
|
-
if (value instanceof Date) return value.toLocaleTimeString();
|
|
5833
|
-
if (typeof value === "number") return new Date(value).toLocaleTimeString();
|
|
5834
|
-
return value;
|
|
5835
|
-
};
|
|
5836
|
-
var formatCommentTime = (value) => {
|
|
5837
|
-
if (value == null || value === "") return "";
|
|
5838
|
-
if (value instanceof Date) return value.toLocaleString();
|
|
5839
|
-
if (typeof value === "number") return new Date(value).toLocaleString();
|
|
5840
|
-
return value;
|
|
5841
|
-
};
|
|
5842
|
-
|
|
5843
|
-
// src/theme/colors.ts
|
|
5844
|
-
var defaultThemeColors = {
|
|
5845
|
-
primary: {
|
|
5846
|
-
bg: "bg-[var(--tiger-primary,#2563eb)]",
|
|
5847
|
-
bgHover: "hover:bg-[var(--tiger-primary-hover,#1d4ed8)]",
|
|
5848
|
-
text: "text-white",
|
|
5849
|
-
focus: "focus:ring-[var(--tiger-primary,#2563eb)]",
|
|
5850
|
-
disabled: "disabled:bg-[var(--tiger-primary-disabled,#93c5fd)]"
|
|
5851
|
-
},
|
|
5852
|
-
secondary: {
|
|
5853
|
-
bg: "bg-[var(--tiger-secondary,#4b5563)]",
|
|
5854
|
-
bgHover: "hover:bg-[var(--tiger-secondary-hover,#374151)]",
|
|
5855
|
-
text: "text-white",
|
|
5856
|
-
focus: "focus:ring-[var(--tiger-secondary,#4b5563)]",
|
|
5857
|
-
disabled: "disabled:bg-[var(--tiger-secondary-disabled,#9ca3af)]"
|
|
5858
|
-
},
|
|
5859
|
-
outline: {
|
|
5860
|
-
bg: "bg-transparent",
|
|
5861
|
-
bgHover: "hover:bg-[var(--tiger-outline-bg-hover,#eff6ff)]",
|
|
5862
|
-
text: "text-[var(--tiger-primary,#2563eb)]",
|
|
5863
|
-
border: "border-2 border-[var(--tiger-primary,#2563eb)]",
|
|
5864
|
-
focus: "focus:ring-[var(--tiger-primary,#2563eb)]",
|
|
5865
|
-
disabled: "disabled:border-[var(--tiger-primary-disabled,#93c5fd)] disabled:text-[var(--tiger-primary-disabled,#93c5fd)]"
|
|
5866
|
-
},
|
|
5867
|
-
ghost: {
|
|
5868
|
-
bg: "bg-transparent",
|
|
5869
|
-
bgHover: "hover:bg-[var(--tiger-ghost-bg-hover,#eff6ff)]",
|
|
5870
|
-
text: "text-[var(--tiger-primary,#2563eb)]",
|
|
5871
|
-
focus: "focus:ring-[var(--tiger-primary,#2563eb)]",
|
|
5872
|
-
disabled: "disabled:text-[var(--tiger-primary-disabled,#93c5fd)]"
|
|
5873
|
-
},
|
|
5874
|
-
link: {
|
|
5875
|
-
bg: "bg-transparent",
|
|
5876
|
-
bgHover: "hover:underline",
|
|
5877
|
-
text: "text-[var(--tiger-primary,#2563eb)]",
|
|
5878
|
-
focus: "focus:ring-[var(--tiger-primary,#2563eb)]",
|
|
5879
|
-
disabled: "disabled:text-[var(--tiger-primary-disabled,#93c5fd)]"
|
|
5880
|
-
}
|
|
5881
|
-
};
|
|
5882
|
-
function getButtonVariantClasses(variant, colors = defaultThemeColors) {
|
|
5883
|
-
const scheme = colors[variant];
|
|
5884
|
-
const classes = [
|
|
5885
|
-
scheme.bg,
|
|
5886
|
-
scheme.bgHover,
|
|
5887
|
-
scheme.text,
|
|
5888
|
-
scheme.border,
|
|
5889
|
-
scheme.borderHover,
|
|
5890
|
-
scheme.focus,
|
|
5891
|
-
scheme.disabled
|
|
5892
|
-
].filter(Boolean);
|
|
5893
|
-
return classes.join(" ");
|
|
5894
|
-
}
|
|
5895
|
-
var defaultRadioColors = {
|
|
5896
|
-
border: "border-[var(--tiger-border,#d1d5db)]",
|
|
5897
|
-
borderChecked: "border-[var(--tiger-primary,#2563eb)]",
|
|
5898
|
-
bg: "bg-[var(--tiger-surface,#ffffff)]",
|
|
5899
|
-
bgChecked: "bg-[var(--tiger-primary,#2563eb)]",
|
|
5900
|
-
innerDot: "bg-[var(--tiger-surface,#ffffff)]",
|
|
5901
|
-
focus: "ring-[var(--tiger-primary,#2563eb)]",
|
|
5902
|
-
disabled: "bg-[var(--tiger-surface-muted,#f3f4f6)] border-[var(--tiger-border,#d1d5db)]",
|
|
5903
|
-
textDisabled: "text-[var(--tiger-text-muted,#6b7280)]"
|
|
5904
|
-
};
|
|
5905
|
-
function getRadioColorClasses(colors = defaultRadioColors) {
|
|
5906
|
-
return colors;
|
|
5907
|
-
}
|
|
5908
|
-
var defaultLinkThemeColors = {
|
|
5909
|
-
primary: {
|
|
5910
|
-
text: "text-[var(--tiger-primary,#2563eb)]",
|
|
5911
|
-
textHover: "hover:text-[var(--tiger-primary-hover,#1d4ed8)]",
|
|
5912
|
-
focus: "focus:ring-[var(--tiger-primary,#2563eb)]",
|
|
5913
|
-
disabled: "text-[var(--tiger-primary-disabled,#93c5fd)]"
|
|
5914
|
-
},
|
|
5915
|
-
secondary: {
|
|
5916
|
-
text: "text-[var(--tiger-secondary,#4b5563)]",
|
|
5917
|
-
textHover: "hover:text-[var(--tiger-secondary-hover,#374151)]",
|
|
5918
|
-
focus: "focus:ring-[var(--tiger-secondary,#4b5563)]",
|
|
5919
|
-
disabled: "text-[var(--tiger-secondary-disabled,#9ca3af)]"
|
|
5920
|
-
},
|
|
5921
|
-
default: {
|
|
5922
|
-
text: "text-gray-700",
|
|
5923
|
-
textHover: "hover:text-gray-900",
|
|
5924
|
-
focus: "focus:ring-gray-500",
|
|
5925
|
-
disabled: "text-gray-400"
|
|
5926
|
-
}
|
|
5927
|
-
};
|
|
5928
|
-
function getLinkVariantClasses(variant, colors, options) {
|
|
5929
|
-
const scheme = (colors ?? defaultLinkThemeColors)[variant];
|
|
5930
|
-
const classes = [
|
|
5931
|
-
scheme.text,
|
|
5932
|
-
scheme.textHover,
|
|
5933
|
-
scheme.focus,
|
|
5934
|
-
`disabled:${scheme.disabled}`,
|
|
5935
|
-
options?.disabled ? scheme.disabled : void 0
|
|
5936
|
-
].filter(Boolean);
|
|
5937
|
-
return classes.join(" ");
|
|
5938
|
-
}
|
|
5939
|
-
var textSizeClasses = {
|
|
5940
|
-
xs: "text-xs",
|
|
5941
|
-
sm: "text-sm",
|
|
5942
|
-
base: "text-base",
|
|
5943
|
-
lg: "text-lg",
|
|
5944
|
-
xl: "text-xl",
|
|
5945
|
-
"2xl": "text-2xl",
|
|
5946
|
-
"3xl": "text-3xl",
|
|
5947
|
-
"4xl": "text-4xl",
|
|
5948
|
-
"5xl": "text-5xl",
|
|
5949
|
-
"6xl": "text-6xl"
|
|
5950
|
-
};
|
|
5951
|
-
var textWeightClasses = {
|
|
5952
|
-
thin: "font-thin",
|
|
5953
|
-
light: "font-light",
|
|
5954
|
-
normal: "font-normal",
|
|
5955
|
-
medium: "font-medium",
|
|
5956
|
-
semibold: "font-semibold",
|
|
5957
|
-
bold: "font-bold",
|
|
5958
|
-
extrabold: "font-extrabold",
|
|
5959
|
-
black: "font-black"
|
|
5960
|
-
};
|
|
5961
|
-
var textAlignClasses = {
|
|
5962
|
-
left: "text-left",
|
|
5963
|
-
center: "text-center",
|
|
5964
|
-
right: "text-right",
|
|
5965
|
-
justify: "text-justify"
|
|
5966
|
-
};
|
|
5967
|
-
var textColorClasses = {
|
|
5968
|
-
default: "text-[var(--tiger-text,#111827)]",
|
|
5969
|
-
primary: "text-[var(--tiger-primary,#2563eb)]",
|
|
5970
|
-
secondary: "text-[var(--tiger-secondary,#4b5563)]",
|
|
5971
|
-
success: "text-[var(--tiger-success,#16a34a)]",
|
|
5972
|
-
warning: "text-[var(--tiger-warning,#ca8a04)]",
|
|
5973
|
-
danger: "text-[var(--tiger-error,#dc2626)]",
|
|
5974
|
-
muted: "text-[var(--tiger-text-muted,#6b7280)]"
|
|
5975
|
-
};
|
|
5976
|
-
var textDecorationClasses = {
|
|
5977
|
-
truncate: "truncate",
|
|
5978
|
-
italic: "italic",
|
|
5979
|
-
underline: "underline",
|
|
5980
|
-
lineThrough: "line-through"
|
|
5981
|
-
};
|
|
5982
|
-
var defaultTagThemeColors = {
|
|
5983
|
-
default: {
|
|
5984
|
-
bg: "bg-[var(--tiger-tag-default-bg,#f3f4f6)]",
|
|
5985
|
-
text: "text-[var(--tiger-text,#111827)]",
|
|
5986
|
-
border: "border-[var(--tiger-border,#e5e7eb)]",
|
|
5987
|
-
closeBgHover: "hover:bg-[var(--tiger-tag-default-close-hover,#e5e7eb)]"
|
|
5988
|
-
},
|
|
5989
|
-
primary: {
|
|
5990
|
-
bg: "bg-[var(--tiger-tag-primary-bg,#dbeafe)]",
|
|
5991
|
-
text: "text-[var(--tiger-primary,#2563eb)]",
|
|
5992
|
-
border: "border-[var(--tiger-tag-primary-border,#bfdbfe)]",
|
|
5993
|
-
closeBgHover: "hover:bg-[var(--tiger-tag-primary-close-hover,#bfdbfe)]"
|
|
5994
|
-
},
|
|
5995
|
-
success: {
|
|
5996
|
-
bg: "bg-[var(--tiger-tag-success-bg,#dcfce7)]",
|
|
5997
|
-
text: "text-[var(--tiger-success,#16a34a)]",
|
|
5998
|
-
border: "border-[var(--tiger-tag-success-border,#bbf7d0)]",
|
|
5999
|
-
closeBgHover: "hover:bg-[var(--tiger-tag-success-close-hover,#bbf7d0)]"
|
|
6000
|
-
},
|
|
6001
|
-
warning: {
|
|
6002
|
-
bg: "bg-[var(--tiger-tag-warning-bg,#fef9c3)]",
|
|
6003
|
-
text: "text-[var(--tiger-warning,#ca8a04)]",
|
|
6004
|
-
border: "border-[var(--tiger-tag-warning-border,#fef08a)]",
|
|
6005
|
-
closeBgHover: "hover:bg-[var(--tiger-tag-warning-close-hover,#fef08a)]"
|
|
6006
|
-
},
|
|
6007
|
-
danger: {
|
|
6008
|
-
bg: "bg-[var(--tiger-tag-danger-bg,#fee2e2)]",
|
|
6009
|
-
text: "text-[var(--tiger-error,#dc2626)]",
|
|
6010
|
-
border: "border-[var(--tiger-tag-danger-border,#fecaca)]",
|
|
6011
|
-
closeBgHover: "hover:bg-[var(--tiger-tag-danger-close-hover,#fecaca)]"
|
|
6012
|
-
},
|
|
6013
|
-
info: {
|
|
6014
|
-
bg: "bg-[var(--tiger-tag-info-bg,#e0f2fe)]",
|
|
6015
|
-
text: "text-[var(--tiger-info,#3b82f6)]",
|
|
6016
|
-
border: "border-[var(--tiger-tag-info-border,#bae6fd)]",
|
|
6017
|
-
closeBgHover: "hover:bg-[var(--tiger-tag-info-close-hover,#bae6fd)]"
|
|
6018
|
-
}
|
|
6019
|
-
};
|
|
6020
|
-
function getTagVariantClasses(variant, colors = defaultTagThemeColors) {
|
|
6021
|
-
const scheme = colors[variant];
|
|
6022
|
-
const classes = [scheme.bg, scheme.text, scheme.border].filter(Boolean);
|
|
6023
|
-
return classes.join(" ");
|
|
6024
|
-
}
|
|
6025
|
-
var defaultBadgeThemeColors = {
|
|
6026
|
-
default: {
|
|
6027
|
-
bg: "bg-[var(--tiger-text-muted,#6b7280)]",
|
|
6028
|
-
text: "text-white",
|
|
6029
|
-
border: "border-[var(--tiger-text-muted,#6b7280)]"
|
|
6030
|
-
},
|
|
6031
|
-
primary: {
|
|
6032
|
-
bg: "bg-[var(--tiger-primary,#2563eb)]",
|
|
6033
|
-
text: "text-white",
|
|
6034
|
-
border: "border-[var(--tiger-primary,#2563eb)]"
|
|
6035
|
-
},
|
|
6036
|
-
success: {
|
|
6037
|
-
bg: "bg-[var(--tiger-success,#16a34a)]",
|
|
6038
|
-
text: "text-white",
|
|
6039
|
-
border: "border-[var(--tiger-success,#16a34a)]"
|
|
6040
|
-
},
|
|
6041
|
-
warning: {
|
|
6042
|
-
bg: "bg-[var(--tiger-warning,#ca8a04)]",
|
|
6043
|
-
text: "text-white",
|
|
6044
|
-
border: "border-[var(--tiger-warning,#ca8a04)]"
|
|
6045
|
-
},
|
|
6046
|
-
danger: {
|
|
6047
|
-
bg: "bg-[var(--tiger-error,#dc2626)]",
|
|
6048
|
-
text: "text-white",
|
|
6049
|
-
border: "border-[var(--tiger-error,#dc2626)]"
|
|
6050
|
-
},
|
|
6051
|
-
info: {
|
|
6052
|
-
bg: "bg-[var(--tiger-info,#3b82f6)]",
|
|
6053
|
-
text: "text-white",
|
|
6054
|
-
border: "border-[var(--tiger-info,#3b82f6)]"
|
|
6092
|
+
right: "left"
|
|
6093
|
+
};
|
|
6094
|
+
const styles = {
|
|
6095
|
+
position: "absolute",
|
|
6096
|
+
[staticSide[side]]: "-4px"
|
|
6097
|
+
};
|
|
6098
|
+
if (arrowData?.x != null) {
|
|
6099
|
+
styles.left = `${arrowData.x}px`;
|
|
6055
6100
|
}
|
|
6101
|
+
if (arrowData?.y != null) {
|
|
6102
|
+
styles.top = `${arrowData.y}px`;
|
|
6103
|
+
}
|
|
6104
|
+
return styles;
|
|
6105
|
+
}
|
|
6106
|
+
function applyFloatingStyles(element, result) {
|
|
6107
|
+
element.style.left = `${result.x}px`;
|
|
6108
|
+
element.style.top = `${result.y}px`;
|
|
6109
|
+
}
|
|
6110
|
+
|
|
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)]" }
|
|
6056
6116
|
};
|
|
6057
|
-
function
|
|
6058
|
-
|
|
6059
|
-
const classes = [scheme.bg, scheme.text, scheme.border].filter(Boolean);
|
|
6060
|
-
return classes.join(" ");
|
|
6117
|
+
function getChatMessageStatusInfo(status, statusMap = defaultChatMessageStatusInfo) {
|
|
6118
|
+
return statusMap[status] || defaultChatMessageStatusInfo[status];
|
|
6061
6119
|
}
|
|
6062
|
-
|
|
6063
|
-
|
|
6064
|
-
|
|
6065
|
-
|
|
6066
|
-
|
|
6067
|
-
|
|
6068
|
-
|
|
6069
|
-
|
|
6070
|
-
|
|
6071
|
-
|
|
6072
|
-
|
|
6073
|
-
|
|
6074
|
-
|
|
6075
|
-
|
|
6076
|
-
|
|
6077
|
-
|
|
6078
|
-
|
|
6079
|
-
|
|
6080
|
-
|
|
6081
|
-
|
|
6082
|
-
|
|
6083
|
-
|
|
6084
|
-
|
|
6085
|
-
|
|
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;
|
|
6127
|
+
};
|
|
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
|
+
});
|
|
6139
|
+
};
|
|
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);
|
|
6086
6159
|
}
|
|
6160
|
+
return [{ key: "default", title: "", items }];
|
|
6087
6161
|
};
|
|
6088
|
-
|
|
6089
|
-
|
|
6090
|
-
|
|
6091
|
-
|
|
6092
|
-
|
|
6093
|
-
|
|
6094
|
-
|
|
6095
|
-
|
|
6096
|
-
var
|
|
6097
|
-
|
|
6098
|
-
|
|
6099
|
-
|
|
6100
|
-
|
|
6101
|
-
|
|
6102
|
-
|
|
6103
|
-
|
|
6104
|
-
|
|
6105
|
-
|
|
6106
|
-
|
|
6107
|
-
|
|
6108
|
-
|
|
6109
|
-
|
|
6110
|
-
|
|
6111
|
-
|
|
6112
|
-
|
|
6113
|
-
|
|
6114
|
-
|
|
6115
|
-
|
|
6116
|
-
|
|
6117
|
-
|
|
6118
|
-
|
|
6119
|
-
|
|
6120
|
-
|
|
6121
|
-
title: "text-[var(--tiger-alert-error-title,#991b1b)]",
|
|
6122
|
-
description: "text-[var(--tiger-alert-error-description,#b91c1c)]",
|
|
6123
|
-
closeButton: "text-[var(--tiger-alert-error-close,#ef4444)]",
|
|
6124
|
-
closeButtonHover: "hover:bg-[var(--tiger-alert-error-close-hover-bg,#fee2e2)]",
|
|
6125
|
-
focus: "focus:ring-[color:var(--tiger-alert-error-ring,#ef4444)]"
|
|
6126
|
-
},
|
|
6127
|
-
info: {
|
|
6128
|
-
bg: "bg-[var(--tiger-alert-info-bg,#eff6ff)]",
|
|
6129
|
-
border: "border-[var(--tiger-alert-info-border,#bfdbfe)]",
|
|
6130
|
-
icon: "text-[var(--tiger-alert-info-icon,#3b82f6)]",
|
|
6131
|
-
title: "text-[var(--tiger-alert-info-title,#1e40af)]",
|
|
6132
|
-
description: "text-[var(--tiger-alert-info-description,#1d4ed8)]",
|
|
6133
|
-
closeButton: "text-[var(--tiger-alert-info-close,#3b82f6)]",
|
|
6134
|
-
closeButtonHover: "hover:bg-[var(--tiger-alert-info-close-hover-bg,#dbeafe)]",
|
|
6135
|
-
focus: "focus:ring-[color:var(--tiger-alert-info-ring,#3b82f6)]"
|
|
6162
|
+
var toActivityTimelineItems = (items) => {
|
|
6163
|
+
return items.map((item, index) => ({
|
|
6164
|
+
key: item.id ?? index,
|
|
6165
|
+
activity: item
|
|
6166
|
+
}));
|
|
6167
|
+
};
|
|
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
|
+
});
|
|
6188
|
+
};
|
|
6189
|
+
var buildNotificationGroups = (items = [], groups, groupBy, groupOrder) => {
|
|
6190
|
+
if (groups && groups.length > 0) {
|
|
6191
|
+
return sortNotificationGroups(groups, groupOrder);
|
|
6192
|
+
}
|
|
6193
|
+
if (!items || items.length === 0) {
|
|
6194
|
+
return [];
|
|
6136
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);
|
|
6211
|
+
};
|
|
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;
|
|
6242
|
+
};
|
|
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;
|
|
6137
6270
|
};
|
|
6138
|
-
function getAlertTypeClasses(type, colors = defaultAlertThemeColors) {
|
|
6139
|
-
return colors[type];
|
|
6140
|
-
}
|
|
6141
6271
|
|
|
6142
6272
|
// src/theme/checkbox.ts
|
|
6143
6273
|
var checkboxSizeClasses = {
|
|
@@ -6151,26 +6281,17 @@ var checkboxLabelSizeClasses = {
|
|
|
6151
6281
|
lg: "text-lg"
|
|
6152
6282
|
};
|
|
6153
6283
|
function getCheckboxClasses(size = "md", disabled = false) {
|
|
6154
|
-
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";
|
|
6155
6285
|
const sizeClass = checkboxSizeClasses[size];
|
|
6156
|
-
const colorClasses = [
|
|
6157
|
-
"border-[var(--tiger-primary,#2563eb)]",
|
|
6158
|
-
"accent-[var(--tiger-primary,#2563eb)]",
|
|
6159
|
-
"text-white",
|
|
6160
|
-
"checked:bg-[var(--tiger-primary,#2563eb)]",
|
|
6161
|
-
"checked:border-[var(--tiger-primary,#2563eb)]",
|
|
6162
|
-
"indeterminate:bg-[var(--tiger-primary,#2563eb)]",
|
|
6163
|
-
"indeterminate:border-[var(--tiger-primary,#2563eb)]",
|
|
6164
|
-
"focus:ring-[var(--tiger-primary,#2563eb)]"
|
|
6165
|
-
].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)]";
|
|
6166
6287
|
const disabledClasses = disabled ? "cursor-not-allowed opacity-50 disabled:bg-[var(--tiger-surface-muted,#f3f4f6)] disabled:border-[var(--tiger-border,#e5e7eb)]" : "";
|
|
6167
|
-
return [
|
|
6288
|
+
return [baseClasses2, sizeClass, colorClasses, disabledClasses].filter(Boolean).join(" ");
|
|
6168
6289
|
}
|
|
6169
6290
|
function getCheckboxLabelClasses(size = "md", disabled = false) {
|
|
6170
|
-
const
|
|
6291
|
+
const baseClasses2 = "inline-flex items-center cursor-pointer select-none";
|
|
6171
6292
|
const sizeClass = checkboxLabelSizeClasses[size];
|
|
6172
|
-
const disabledClasses = disabled ? "cursor-not-allowed
|
|
6173
|
-
return [
|
|
6293
|
+
const disabledClasses = disabled ? "cursor-not-allowed" : "";
|
|
6294
|
+
return [baseClasses2, sizeClass, disabledClasses].filter(Boolean).join(" ");
|
|
6174
6295
|
}
|
|
6175
6296
|
|
|
6176
6297
|
// src/theme/switch.ts
|
|
@@ -6201,10 +6322,10 @@ function getSwitchClasses(size = "md", checked = false, disabled = false) {
|
|
|
6201
6322
|
);
|
|
6202
6323
|
}
|
|
6203
6324
|
function getSwitchThumbClasses(size = "md", checked = false) {
|
|
6204
|
-
const
|
|
6325
|
+
const baseClasses2 = "inline-block rounded-full bg-[var(--tiger-surface,#ffffff)] shadow-lg transition-transform";
|
|
6205
6326
|
const sizeClass = switchThumbSizeClasses[size];
|
|
6206
6327
|
const translateClass = checked ? switchThumbTranslateClasses[size] : "translate-x-0.5";
|
|
6207
|
-
return classNames(
|
|
6328
|
+
return classNames(baseClasses2, sizeClass, translateClass);
|
|
6208
6329
|
}
|
|
6209
6330
|
|
|
6210
6331
|
// src/theme/slider.ts
|
|
@@ -6318,7 +6439,11 @@ var tigercatTheme = {
|
|
|
6318
6439
|
};
|
|
6319
6440
|
var tigercatPlugin = (0, import_plugin.default)(function({ addBase }) {
|
|
6320
6441
|
addBase({
|
|
6321
|
-
":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
|
+
}
|
|
6322
6447
|
});
|
|
6323
6448
|
});
|
|
6324
6449
|
|
|
@@ -6334,15 +6459,26 @@ export {
|
|
|
6334
6459
|
ClockIconPath,
|
|
6335
6460
|
CloseIconPath,
|
|
6336
6461
|
DEFAULT_CHART_COLORS,
|
|
6462
|
+
DEFAULT_FORM_WIZARD_LABELS,
|
|
6337
6463
|
DEFAULT_PAGINATION_LABELS,
|
|
6464
|
+
DONUT_BASE_SHADOW,
|
|
6465
|
+
DONUT_EMPHASIS_SHADOW,
|
|
6466
|
+
DROPDOWN_CHEVRON_PATH,
|
|
6467
|
+
DROPDOWN_ENTER_CLASS,
|
|
6338
6468
|
DURATION_CLASS,
|
|
6339
6469
|
DURATION_FAST_CLASS,
|
|
6340
6470
|
DURATION_SLOW_CLASS,
|
|
6341
6471
|
EASING_DEFAULT,
|
|
6342
6472
|
EASING_ENTER,
|
|
6343
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,
|
|
6344
6481
|
SHAKE_CLASS,
|
|
6345
|
-
SPACE_BASE_CLASS,
|
|
6346
6482
|
SVG_ANIMATION_CLASSES,
|
|
6347
6483
|
SVG_ANIMATION_VARS,
|
|
6348
6484
|
SVG_DEFAULT_FILL,
|
|
@@ -6356,6 +6492,7 @@ export {
|
|
|
6356
6492
|
TRANSITION_OPACITY,
|
|
6357
6493
|
TRANSITION_TRANSFORM,
|
|
6358
6494
|
TimePickerCloseIconPath,
|
|
6495
|
+
ZH_CN_FORM_WIZARD_LABELS,
|
|
6359
6496
|
ZH_CN_PAGINATION_LABELS,
|
|
6360
6497
|
activeOpacityClasses,
|
|
6361
6498
|
activePressClasses,
|
|
@@ -6364,14 +6501,10 @@ export {
|
|
|
6364
6501
|
alertCloseIconPath,
|
|
6365
6502
|
alertContentClasses,
|
|
6366
6503
|
alertDescriptionSizeClasses,
|
|
6367
|
-
alertErrorIconPath,
|
|
6368
6504
|
alertIconContainerClasses,
|
|
6369
6505
|
alertIconSizeClasses,
|
|
6370
|
-
alertInfoIconPath,
|
|
6371
6506
|
alertSizeClasses,
|
|
6372
|
-
alertSuccessIconPath,
|
|
6373
6507
|
alertTitleSizeClasses,
|
|
6374
|
-
alertWarningIconPath,
|
|
6375
6508
|
anchorAffixClasses,
|
|
6376
6509
|
anchorBaseClasses,
|
|
6377
6510
|
anchorInkActiveHorizontalClasses,
|
|
@@ -6393,7 +6526,6 @@ export {
|
|
|
6393
6526
|
avatarImageClasses,
|
|
6394
6527
|
avatarShapeClasses,
|
|
6395
6528
|
avatarSizeClasses,
|
|
6396
|
-
backTopBaseClasses,
|
|
6397
6529
|
backTopButtonClasses,
|
|
6398
6530
|
backTopContainerClasses,
|
|
6399
6531
|
backTopHiddenClasses,
|
|
@@ -6404,6 +6536,9 @@ export {
|
|
|
6404
6536
|
badgeSizeClasses,
|
|
6405
6537
|
badgeTypeClasses,
|
|
6406
6538
|
badgeWrapperClasses,
|
|
6539
|
+
barAnimatedTransition,
|
|
6540
|
+
barValueLabelClasses,
|
|
6541
|
+
barValueLabelInsideClasses,
|
|
6407
6542
|
barsVariantConfig,
|
|
6408
6543
|
breadcrumbContainerClasses,
|
|
6409
6544
|
breadcrumbCurrentClasses,
|
|
@@ -6411,8 +6546,10 @@ export {
|
|
|
6411
6546
|
breadcrumbLinkClasses,
|
|
6412
6547
|
breadcrumbSeparatorBaseClasses,
|
|
6413
6548
|
buildActivityGroups,
|
|
6549
|
+
buildChartLegendItems,
|
|
6414
6550
|
buildCommentTree,
|
|
6415
6551
|
buildNotificationGroups,
|
|
6552
|
+
buildTriggerHandlerMap,
|
|
6416
6553
|
buttonBaseClasses,
|
|
6417
6554
|
buttonDisabledClasses,
|
|
6418
6555
|
buttonSizeClasses,
|
|
@@ -6424,7 +6561,6 @@ export {
|
|
|
6424
6561
|
captureActiveElement,
|
|
6425
6562
|
cardActionsClasses,
|
|
6426
6563
|
cardBaseClasses,
|
|
6427
|
-
cardBodyClasses,
|
|
6428
6564
|
cardCoverClasses,
|
|
6429
6565
|
cardCoverWrapperClasses,
|
|
6430
6566
|
cardFooterClasses,
|
|
@@ -6444,7 +6580,6 @@ export {
|
|
|
6444
6580
|
carouselPrevArrowClasses,
|
|
6445
6581
|
carouselPrevArrowPath,
|
|
6446
6582
|
carouselSlideBaseClasses,
|
|
6447
|
-
carouselSlideFadeClasses,
|
|
6448
6583
|
carouselTrackFadeClasses,
|
|
6449
6584
|
carouselTrackScrollClasses,
|
|
6450
6585
|
chartAxisLabelClasses,
|
|
@@ -6457,9 +6592,11 @@ export {
|
|
|
6457
6592
|
checkSolidIcon20PathD,
|
|
6458
6593
|
checkboxLabelSizeClasses,
|
|
6459
6594
|
checkboxSizeClasses,
|
|
6595
|
+
checkedSetsFromState,
|
|
6460
6596
|
chevronDownSolidIcon20PathD,
|
|
6461
6597
|
chevronLeftSolidIcon20PathD,
|
|
6462
6598
|
chevronRightSolidIcon20PathD,
|
|
6599
|
+
clampBarWidth,
|
|
6463
6600
|
clampPercentage,
|
|
6464
6601
|
clampSlideIndex,
|
|
6465
6602
|
classNames,
|
|
@@ -6480,7 +6617,6 @@ export {
|
|
|
6480
6617
|
coerceStyleValue,
|
|
6481
6618
|
collapseBaseClasses,
|
|
6482
6619
|
collapseBorderlessClasses,
|
|
6483
|
-
collapseExtraClasses,
|
|
6484
6620
|
collapseGhostClasses,
|
|
6485
6621
|
collapseHeaderTextClasses,
|
|
6486
6622
|
collapseIconBaseClasses,
|
|
@@ -6492,8 +6628,9 @@ export {
|
|
|
6492
6628
|
collapsePanelHeaderActiveClasses,
|
|
6493
6629
|
collapsePanelHeaderBaseClasses,
|
|
6494
6630
|
collapsePanelHeaderDisabledClasses,
|
|
6495
|
-
collapseRightArrowIcon,
|
|
6496
6631
|
computeFloatingPosition,
|
|
6632
|
+
computePieHoverOffset,
|
|
6633
|
+
computePieLabelLine,
|
|
6497
6634
|
containerBaseClasses,
|
|
6498
6635
|
containerCenteredClasses,
|
|
6499
6636
|
containerMaxWidthClasses,
|
|
@@ -6503,6 +6640,7 @@ export {
|
|
|
6503
6640
|
createAriaId,
|
|
6504
6641
|
createBandScale,
|
|
6505
6642
|
createChartInteractionHandlers,
|
|
6643
|
+
createFloatingIdFactory,
|
|
6506
6644
|
createLinePath,
|
|
6507
6645
|
createLinearScale,
|
|
6508
6646
|
createPieArcPath,
|
|
@@ -6522,18 +6660,19 @@ export {
|
|
|
6522
6660
|
defaultAlertThemeColors,
|
|
6523
6661
|
defaultBadgeThemeColors,
|
|
6524
6662
|
defaultChatMessageStatusInfo,
|
|
6525
|
-
defaultExpandIcon,
|
|
6526
|
-
defaultIndeterminateIcon,
|
|
6527
6663
|
defaultLinkThemeColors,
|
|
6528
6664
|
defaultMessageThemeColors,
|
|
6529
6665
|
defaultNotificationThemeColors,
|
|
6530
6666
|
defaultProgressThemeColors,
|
|
6667
|
+
defaultRadarTooltipFormatter,
|
|
6531
6668
|
defaultRadioColors,
|
|
6669
|
+
defaultSeriesXYTooltipFormatter,
|
|
6532
6670
|
defaultSortFn,
|
|
6533
6671
|
defaultTagThemeColors,
|
|
6534
6672
|
defaultThemeColors,
|
|
6535
6673
|
defaultTooltipFormatter,
|
|
6536
6674
|
defaultTotalText,
|
|
6675
|
+
defaultXYTooltipFormatter,
|
|
6537
6676
|
descriptionsBaseClasses,
|
|
6538
6677
|
descriptionsCellSizeClasses,
|
|
6539
6678
|
descriptionsContentBorderedClasses,
|
|
@@ -6542,7 +6681,6 @@ export {
|
|
|
6542
6681
|
descriptionsHeaderClasses,
|
|
6543
6682
|
descriptionsLabelBorderedClasses,
|
|
6544
6683
|
descriptionsLabelClasses,
|
|
6545
|
-
descriptionsRowClasses,
|
|
6546
6684
|
descriptionsSizeClasses,
|
|
6547
6685
|
descriptionsTableBorderedClasses,
|
|
6548
6686
|
descriptionsTableClasses,
|
|
@@ -6554,6 +6692,7 @@ export {
|
|
|
6554
6692
|
descriptionsWrapperClasses,
|
|
6555
6693
|
dotSizeClasses,
|
|
6556
6694
|
dotsVariantConfig,
|
|
6695
|
+
ensureBarMinHeight,
|
|
6557
6696
|
errorCircleSolidIcon20PathD,
|
|
6558
6697
|
fileToUploadFile,
|
|
6559
6698
|
filterData,
|
|
@@ -6561,9 +6700,11 @@ export {
|
|
|
6561
6700
|
filterTreeNodes,
|
|
6562
6701
|
findActiveAnchor,
|
|
6563
6702
|
findNode,
|
|
6564
|
-
|
|
6703
|
+
flattenSelectOptions,
|
|
6565
6704
|
focusElement,
|
|
6566
6705
|
focusFirst,
|
|
6706
|
+
focusFirstChildItem,
|
|
6707
|
+
focusMenuEdge,
|
|
6567
6708
|
focusRingClasses,
|
|
6568
6709
|
focusRingInsetClasses,
|
|
6569
6710
|
formatActivityTime,
|
|
@@ -6596,10 +6737,13 @@ export {
|
|
|
6596
6737
|
getAnchorLinkListClasses,
|
|
6597
6738
|
getAnchorTargetElement,
|
|
6598
6739
|
getAnchorWrapperClasses,
|
|
6740
|
+
getAreaGradientPrefix,
|
|
6599
6741
|
getArrowStyles,
|
|
6600
6742
|
getAutoExpandKeys,
|
|
6601
6743
|
getBadgeVariantClasses,
|
|
6744
|
+
getBarGradientPrefix,
|
|
6602
6745
|
getBarGrowAnimationStyle,
|
|
6746
|
+
getBarValueLabelY,
|
|
6603
6747
|
getBreadcrumbItemClasses,
|
|
6604
6748
|
getBreadcrumbLinkClasses,
|
|
6605
6749
|
getBreadcrumbSeparatorClasses,
|
|
@@ -6622,6 +6766,7 @@ export {
|
|
|
6622
6766
|
getCheckboxLabelClasses,
|
|
6623
6767
|
getCheckedKeysByStrategy,
|
|
6624
6768
|
getCircleSize,
|
|
6769
|
+
getColMergedStyleVars,
|
|
6625
6770
|
getColOrderStyleVars,
|
|
6626
6771
|
getColStyleVars,
|
|
6627
6772
|
getCollapseContainerClasses,
|
|
@@ -6644,9 +6789,8 @@ export {
|
|
|
6644
6789
|
getDescriptionsLabelClasses,
|
|
6645
6790
|
getDescriptionsTableClasses,
|
|
6646
6791
|
getDescriptionsVerticalItemClasses,
|
|
6647
|
-
|
|
6648
|
-
|
|
6649
|
-
getDividerSpacingClasses,
|
|
6792
|
+
getDividerClasses,
|
|
6793
|
+
getDividerStyle,
|
|
6650
6794
|
getDragAreaClasses,
|
|
6651
6795
|
getDrawerBodyClasses,
|
|
6652
6796
|
getDrawerCloseButtonClasses,
|
|
@@ -6656,10 +6800,10 @@ export {
|
|
|
6656
6800
|
getDrawerMaskClasses,
|
|
6657
6801
|
getDrawerPanelClasses,
|
|
6658
6802
|
getDrawerTitleClasses,
|
|
6803
|
+
getDropdownChevronClasses,
|
|
6659
6804
|
getDropdownContainerClasses,
|
|
6660
6805
|
getDropdownItemClasses,
|
|
6661
6806
|
getDropdownMenuClasses,
|
|
6662
|
-
getDropdownMenuWrapperClasses,
|
|
6663
6807
|
getDropdownTriggerClasses,
|
|
6664
6808
|
getElementOffsetTop,
|
|
6665
6809
|
getErrorFields,
|
|
@@ -6671,12 +6815,12 @@ export {
|
|
|
6671
6815
|
getFocusTrapNavigation,
|
|
6672
6816
|
getFocusableElements,
|
|
6673
6817
|
getFormItemAsteriskClasses,
|
|
6674
|
-
getFormItemAsteriskStyle,
|
|
6675
6818
|
getFormItemClasses,
|
|
6676
6819
|
getFormItemContentClasses,
|
|
6677
6820
|
getFormItemErrorClasses,
|
|
6678
6821
|
getFormItemFieldClasses,
|
|
6679
6822
|
getFormItemLabelClasses,
|
|
6823
|
+
getFormWizardLabels,
|
|
6680
6824
|
getGridColumnClasses,
|
|
6681
6825
|
getGutterStyles,
|
|
6682
6826
|
getInitials,
|
|
@@ -6686,6 +6830,7 @@ export {
|
|
|
6686
6830
|
getInputWrapperClasses,
|
|
6687
6831
|
getJustifyClasses,
|
|
6688
6832
|
getLeafKeys,
|
|
6833
|
+
getLineGradientPrefix,
|
|
6689
6834
|
getLinkVariantClasses,
|
|
6690
6835
|
getListClasses,
|
|
6691
6836
|
getListHeaderFooterClasses,
|
|
@@ -6697,6 +6842,7 @@ export {
|
|
|
6697
6842
|
getLoadingDotsWrapperClasses,
|
|
6698
6843
|
getLoadingOverlaySpinnerClasses,
|
|
6699
6844
|
getLoadingTextClasses,
|
|
6845
|
+
getMenuButtons,
|
|
6700
6846
|
getMenuClasses,
|
|
6701
6847
|
getMenuItemClasses,
|
|
6702
6848
|
getMenuItemIndent,
|
|
@@ -6752,6 +6898,7 @@ export {
|
|
|
6752
6898
|
getProgressVariantClasses,
|
|
6753
6899
|
getQuickJumperInputClasses,
|
|
6754
6900
|
getRadarAngles,
|
|
6901
|
+
getRadarLabelAlign,
|
|
6755
6902
|
getRadarPoints,
|
|
6756
6903
|
getRadioColorClasses,
|
|
6757
6904
|
getRadioDotClasses,
|
|
@@ -6759,6 +6906,10 @@ export {
|
|
|
6759
6906
|
getRadioLabelClasses,
|
|
6760
6907
|
getRadioVisualClasses,
|
|
6761
6908
|
getRowKey,
|
|
6909
|
+
getScatterGradientPrefix,
|
|
6910
|
+
getScatterHoverShadow,
|
|
6911
|
+
getScatterHoverSize,
|
|
6912
|
+
getScatterPointPath,
|
|
6762
6913
|
getScrollTop,
|
|
6763
6914
|
getScrollTransform,
|
|
6764
6915
|
getSecureRel,
|
|
@@ -6775,15 +6926,15 @@ export {
|
|
|
6775
6926
|
getSimplePaginationPageIndicatorClasses,
|
|
6776
6927
|
getSimplePaginationSelectClasses,
|
|
6777
6928
|
getSimplePaginationTotalClasses,
|
|
6929
|
+
getSizeTextClasses,
|
|
6778
6930
|
getSkeletonClasses,
|
|
6779
6931
|
getSkeletonDimensions,
|
|
6780
6932
|
getSliderThumbClasses,
|
|
6781
6933
|
getSliderTooltipClasses,
|
|
6782
6934
|
getSliderTrackClasses,
|
|
6783
6935
|
getSortIconClasses,
|
|
6784
|
-
|
|
6785
|
-
|
|
6786
|
-
getSpaceGapSize,
|
|
6936
|
+
getSpaceClasses,
|
|
6937
|
+
getSpaceStyle,
|
|
6787
6938
|
getSpanClasses,
|
|
6788
6939
|
getSpinnerSVG,
|
|
6789
6940
|
getStatusVariant,
|
|
@@ -6810,6 +6961,7 @@ export {
|
|
|
6810
6961
|
getTableWrapperClasses,
|
|
6811
6962
|
getTabsContainerClasses,
|
|
6812
6963
|
getTagVariantClasses,
|
|
6964
|
+
getTextClasses,
|
|
6813
6965
|
getThemeColor,
|
|
6814
6966
|
getTimePeriodLabels,
|
|
6815
6967
|
getTimePickerIconButtonClasses,
|
|
@@ -6849,7 +7001,12 @@ export {
|
|
|
6849
7001
|
icon24ViewBox,
|
|
6850
7002
|
iconSizeClasses,
|
|
6851
7003
|
iconSvgBaseClasses,
|
|
7004
|
+
iconSvgDefaultStrokeLinecap,
|
|
7005
|
+
iconSvgDefaultStrokeLinejoin,
|
|
7006
|
+
iconSvgDefaultStrokeWidth,
|
|
6852
7007
|
iconWrapperClasses,
|
|
7008
|
+
initRovingTabIndex,
|
|
7009
|
+
injectDropdownStyles,
|
|
6853
7010
|
injectLoadingAnimationStyles,
|
|
6854
7011
|
injectShakeStyle,
|
|
6855
7012
|
injectSvgAnimationStyles,
|
|
@@ -6880,6 +7037,7 @@ export {
|
|
|
6880
7037
|
layoutHeaderClasses,
|
|
6881
7038
|
layoutRootClasses,
|
|
6882
7039
|
layoutSidebarClasses,
|
|
7040
|
+
linePointTransitionClasses,
|
|
6883
7041
|
linkBaseClasses,
|
|
6884
7042
|
linkDisabledClasses,
|
|
6885
7043
|
linkSizeClasses,
|
|
@@ -6901,7 +7059,6 @@ export {
|
|
|
6901
7059
|
listItemSizeClasses,
|
|
6902
7060
|
listItemTitleClasses,
|
|
6903
7061
|
listLoadingOverlayClasses,
|
|
6904
|
-
listPaginationContainerClasses,
|
|
6905
7062
|
listSizeClasses,
|
|
6906
7063
|
listWrapperClasses,
|
|
6907
7064
|
loadingBarBaseClasses,
|
|
@@ -6939,12 +7096,8 @@ export {
|
|
|
6939
7096
|
messageCloseIconPath,
|
|
6940
7097
|
messageContainerBaseClasses,
|
|
6941
7098
|
messageContentClasses,
|
|
6942
|
-
messageEnterActiveClasses,
|
|
6943
|
-
messageEnterClasses,
|
|
6944
7099
|
messageIconClasses,
|
|
6945
7100
|
messageIconPaths,
|
|
6946
|
-
messageLeaveActiveClasses,
|
|
6947
|
-
messageLeaveClasses,
|
|
6948
7101
|
messageLoadingSpinnerClasses,
|
|
6949
7102
|
messagePositionClasses,
|
|
6950
7103
|
modalBodyClasses,
|
|
@@ -6956,9 +7109,11 @@ export {
|
|
|
6956
7109
|
modalSizeClasses,
|
|
6957
7110
|
modalTitleClasses,
|
|
6958
7111
|
modalWrapperClasses,
|
|
7112
|
+
moveFocusInMenu,
|
|
6959
7113
|
normalizeActiveKeys,
|
|
6960
7114
|
normalizeChartPadding,
|
|
6961
7115
|
normalizeDate,
|
|
7116
|
+
normalizeStringOption,
|
|
6962
7117
|
normalizeSvgAttrs,
|
|
6963
7118
|
notificationBaseClasses,
|
|
6964
7119
|
notificationCloseButtonClasses,
|
|
@@ -6973,6 +7128,7 @@ export {
|
|
|
6973
7128
|
notificationTitleClasses,
|
|
6974
7129
|
paginateData,
|
|
6975
7130
|
parseDate,
|
|
7131
|
+
parseInputValue,
|
|
6976
7132
|
parseTime,
|
|
6977
7133
|
parseWidthToPx,
|
|
6978
7134
|
polarToCartesian,
|
|
@@ -7008,8 +7164,17 @@ export {
|
|
|
7008
7164
|
radioSizeClasses,
|
|
7009
7165
|
radioVisualBaseClasses,
|
|
7010
7166
|
replaceKeys,
|
|
7167
|
+
resetAreaGradientCounter,
|
|
7168
|
+
resetBarGradientCounter,
|
|
7169
|
+
resetLineGradientCounter,
|
|
7170
|
+
resetScatterGradientCounter,
|
|
7171
|
+
resolveChartPalette,
|
|
7172
|
+
resolveChartTooltipContent,
|
|
7011
7173
|
resolveLocaleText,
|
|
7174
|
+
resolveMultiSeriesTooltipContent,
|
|
7175
|
+
resolveSeriesData,
|
|
7012
7176
|
restoreFocus,
|
|
7177
|
+
scatterPointTransitionClasses,
|
|
7013
7178
|
scrollToAnchor,
|
|
7014
7179
|
scrollToTop,
|
|
7015
7180
|
selectBaseClasses,
|
|
@@ -7049,12 +7214,7 @@ export {
|
|
|
7049
7214
|
statusInfoIconPath,
|
|
7050
7215
|
statusSuccessIconPath,
|
|
7051
7216
|
statusWarningIconPath,
|
|
7052
|
-
|
|
7053
|
-
stepFinishIconPathStrokeLinecap,
|
|
7054
|
-
stepFinishIconPathStrokeLinejoin,
|
|
7055
|
-
stepFinishIconPathStrokeWidth,
|
|
7056
|
-
stepFinishIconSvgClasses,
|
|
7057
|
-
stepFinishIconViewBox,
|
|
7217
|
+
stepFinishChar,
|
|
7058
7218
|
submenuContentHorizontalClasses,
|
|
7059
7219
|
submenuContentInlineClasses,
|
|
7060
7220
|
submenuContentPopupClasses,
|
|
@@ -7081,6 +7241,7 @@ export {
|
|
|
7081
7241
|
tabItemLineClasses,
|
|
7082
7242
|
tabItemSizeClasses,
|
|
7083
7243
|
tabNavBaseClasses,
|
|
7244
|
+
tabNavLineBorderClasses,
|
|
7084
7245
|
tabNavListBaseClasses,
|
|
7085
7246
|
tabNavListCenteredClasses,
|
|
7086
7247
|
tabNavListPositionClasses,
|