@expcat/tigercat-core 0.3.0 → 0.3.70
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 +1632 -1156
- package/dist/index.d.cts +1570 -811
- package/dist/index.d.ts +1570 -811
- package/dist/index.js +1521 -1122
- 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,574 @@ 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/image-utils.ts
|
|
5154
|
+
var imageBaseClasses = "relative inline-block overflow-hidden";
|
|
5155
|
+
function getImageImgClasses(fit) {
|
|
5156
|
+
const fitMap = {
|
|
5157
|
+
contain: "object-contain",
|
|
5158
|
+
cover: "object-cover",
|
|
5159
|
+
fill: "object-fill",
|
|
5160
|
+
none: "object-none",
|
|
5161
|
+
"scale-down": "object-scale-down"
|
|
5162
|
+
};
|
|
5163
|
+
return classNames("block w-full h-full", fitMap[fit]);
|
|
5164
|
+
}
|
|
5165
|
+
var imageErrorClasses = "flex items-center justify-center w-full h-full bg-[var(--tiger-image-error-bg,#f3f4f6)] text-[var(--tiger-image-error-text,#9ca3af)]";
|
|
5166
|
+
var imageLoadingClasses = "flex items-center justify-center w-full h-full bg-[var(--tiger-image-error-bg,#f3f4f6)] text-[var(--tiger-image-error-text,#9ca3af)] animate-pulse";
|
|
5167
|
+
var imagePreviewCursorClass = "cursor-pointer";
|
|
5168
|
+
var imageErrorIconPath = "M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z";
|
|
5169
|
+
var zoomInIconPath = "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0zM10 7v6m3-3H7";
|
|
5170
|
+
var zoomOutIconPath = "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0zM13 10H7";
|
|
5171
|
+
var resetIconPath = "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15";
|
|
5172
|
+
var prevIconPath = "M15 19l-7-7 7-7";
|
|
5173
|
+
var nextIconPath = "M9 5l7 7-7 7";
|
|
5174
|
+
var previewCloseIconPath = "M6 18L18 6M6 6l12 12";
|
|
5175
|
+
var imagePreviewMaskClasses = "fixed inset-0 bg-[var(--tiger-image-mask,rgba(0,0,0,0.85))] transition-opacity";
|
|
5176
|
+
var imagePreviewWrapperClasses = "fixed inset-0 flex items-center justify-center select-none";
|
|
5177
|
+
var imagePreviewImgClasses = "max-w-none transition-transform duration-150 ease-out cursor-grab active:cursor-grabbing";
|
|
5178
|
+
var imagePreviewToolbarClasses = "absolute bottom-6 left-1/2 -translate-x-1/2 flex items-center gap-2 px-4 py-2 rounded-full bg-[var(--tiger-image-toolbar-bg,rgba(0,0,0,0.6))] text-white";
|
|
5179
|
+
var imagePreviewToolbarBtnClasses = "flex items-center justify-center w-8 h-8 rounded-full hover:bg-white/20 transition-colors focus:outline-none focus:ring-2 focus:ring-white/50 disabled:opacity-40 disabled:cursor-not-allowed";
|
|
5180
|
+
var imagePreviewNavBtnClasses = "absolute top-1/2 -translate-y-1/2 flex items-center justify-center w-10 h-10 rounded-full bg-[var(--tiger-image-toolbar-bg,rgba(0,0,0,0.6))] text-white hover:bg-white/20 transition-colors focus:outline-none focus:ring-2 focus:ring-white/50 disabled:opacity-40 disabled:cursor-not-allowed";
|
|
5181
|
+
var imagePreviewCloseBtnClasses = "absolute top-4 right-4 flex items-center justify-center w-10 h-10 rounded-full bg-[var(--tiger-image-toolbar-bg,rgba(0,0,0,0.6))] text-white hover:bg-white/20 transition-colors focus:outline-none focus:ring-2 focus:ring-white/50";
|
|
5182
|
+
var imagePreviewCounterClasses = "text-sm text-white/80 mx-2 tabular-nums";
|
|
5183
|
+
var imageCropperContainerClasses = "relative overflow-hidden bg-[var(--tiger-image-cropper-bg,#1a1a2e)] select-none touch-none";
|
|
5184
|
+
var imageCropperImgClasses = "absolute top-0 left-0 max-w-none pointer-events-none";
|
|
5185
|
+
var imageCropperMaskClasses = "absolute inset-0 pointer-events-none";
|
|
5186
|
+
var imageCropperSelectionClasses = "absolute border-2 border-[var(--tiger-image-cropper-border,#ffffff)] pointer-events-none";
|
|
5187
|
+
var imageCropperGuideClasses = "absolute border-[var(--tiger-image-cropper-border,rgba(255,255,255,0.4))] pointer-events-none";
|
|
5188
|
+
var imageCropperDragAreaClasses = "absolute cursor-move";
|
|
5189
|
+
function getCropperHandleClasses(handle) {
|
|
5190
|
+
const base = "absolute w-3 h-3 bg-[var(--tiger-image-cropper-border,#ffffff)] border border-[var(--tiger-image-cropper-handle-border,rgba(0,0,0,0.3))]";
|
|
5191
|
+
const positionMap = {
|
|
5192
|
+
nw: "-top-1.5 -left-1.5 cursor-nw-resize",
|
|
5193
|
+
n: "-top-1.5 left-1/2 -translate-x-1/2 cursor-n-resize",
|
|
5194
|
+
ne: "-top-1.5 -right-1.5 cursor-ne-resize",
|
|
5195
|
+
e: "top-1/2 -right-1.5 -translate-y-1/2 cursor-e-resize",
|
|
5196
|
+
se: "-bottom-1.5 -right-1.5 cursor-se-resize",
|
|
5197
|
+
s: "-bottom-1.5 left-1/2 -translate-x-1/2 cursor-s-resize",
|
|
5198
|
+
sw: "-bottom-1.5 -left-1.5 cursor-sw-resize",
|
|
5199
|
+
w: "top-1/2 -left-1.5 -translate-y-1/2 cursor-w-resize"
|
|
5200
|
+
};
|
|
5201
|
+
return classNames(base, positionMap[handle]);
|
|
5202
|
+
}
|
|
5203
|
+
var CROP_HANDLES = ["nw", "n", "ne", "e", "se", "s", "sw", "w"];
|
|
5204
|
+
var cropUploadTriggerClasses = "inline-flex items-center justify-center gap-2 px-4 py-2 border-2 border-dashed border-[var(--tiger-border,#d1d5db)] rounded-lg text-[var(--tiger-text-muted,#6b7280)] hover:border-[var(--tiger-primary,#2563eb)] hover:text-[var(--tiger-primary,#2563eb)] transition-colors cursor-pointer focus:outline-none focus:ring-2 focus:ring-[var(--tiger-primary,#2563eb)] focus:ring-offset-2";
|
|
5205
|
+
var cropUploadTriggerDisabledClasses = "inline-flex items-center justify-center gap-2 px-4 py-2 border-2 border-dashed border-[var(--tiger-border,#d1d5db)] rounded-lg text-[var(--tiger-text-muted,#9ca3af)] cursor-not-allowed opacity-50";
|
|
5206
|
+
var uploadPlusIconPath = "M12 4v16m8-8H4";
|
|
5207
|
+
function clampScale(scale, min, max) {
|
|
5208
|
+
return Math.min(Math.max(scale, min), max);
|
|
5209
|
+
}
|
|
5210
|
+
function calculateTransform(scale, offsetX, offsetY) {
|
|
5211
|
+
return `translate(${offsetX}px, ${offsetY}px) scale(${scale})`;
|
|
5212
|
+
}
|
|
5213
|
+
function getPreviewNavState(currentIndex, total) {
|
|
5214
|
+
return {
|
|
5215
|
+
hasPrev: currentIndex > 0,
|
|
5216
|
+
hasNext: currentIndex < total - 1,
|
|
5217
|
+
counter: total > 1 ? `${currentIndex + 1} / ${total}` : ""
|
|
5218
|
+
};
|
|
5219
|
+
}
|
|
5220
|
+
function constrainCropRect(rect, imageWidth, imageHeight, aspectRatio) {
|
|
5221
|
+
let { x, y, width, height } = rect;
|
|
5222
|
+
if (aspectRatio && aspectRatio > 0) {
|
|
5223
|
+
const currentRatio = width / height;
|
|
5224
|
+
if (currentRatio > aspectRatio) {
|
|
5225
|
+
width = height * aspectRatio;
|
|
5226
|
+
} else {
|
|
5227
|
+
height = width / aspectRatio;
|
|
5228
|
+
}
|
|
5229
|
+
}
|
|
5230
|
+
width = Math.min(width, imageWidth);
|
|
5231
|
+
height = Math.min(height, imageHeight);
|
|
5232
|
+
x = Math.max(0, Math.min(x, imageWidth - width));
|
|
5233
|
+
y = Math.max(0, Math.min(y, imageHeight - height));
|
|
5234
|
+
return { x, y, width, height };
|
|
5235
|
+
}
|
|
5236
|
+
function resizeCropRect(rect, handle, dx, dy, imageWidth, imageHeight, aspectRatio, minW = 20, minH = 20) {
|
|
5237
|
+
let { x, y, width, height } = rect;
|
|
5238
|
+
switch (handle) {
|
|
5239
|
+
case "nw":
|
|
5240
|
+
x += dx;
|
|
5241
|
+
y += dy;
|
|
5242
|
+
width -= dx;
|
|
5243
|
+
height -= dy;
|
|
5244
|
+
break;
|
|
5245
|
+
case "n":
|
|
5246
|
+
y += dy;
|
|
5247
|
+
height -= dy;
|
|
5248
|
+
break;
|
|
5249
|
+
case "ne":
|
|
5250
|
+
width += dx;
|
|
5251
|
+
y += dy;
|
|
5252
|
+
height -= dy;
|
|
5253
|
+
break;
|
|
5254
|
+
case "e":
|
|
5255
|
+
width += dx;
|
|
5256
|
+
break;
|
|
5257
|
+
case "se":
|
|
5258
|
+
width += dx;
|
|
5259
|
+
height += dy;
|
|
5260
|
+
break;
|
|
5261
|
+
case "s":
|
|
5262
|
+
height += dy;
|
|
5263
|
+
break;
|
|
5264
|
+
case "sw":
|
|
5265
|
+
x += dx;
|
|
5266
|
+
width -= dx;
|
|
5267
|
+
height += dy;
|
|
5268
|
+
break;
|
|
5269
|
+
case "w":
|
|
5270
|
+
x += dx;
|
|
5271
|
+
width -= dx;
|
|
5272
|
+
break;
|
|
5273
|
+
}
|
|
5274
|
+
if (width < minW) {
|
|
5275
|
+
if (handle.includes("w")) {
|
|
5276
|
+
x = rect.x + rect.width - minW;
|
|
5277
|
+
}
|
|
5278
|
+
width = minW;
|
|
5279
|
+
}
|
|
5280
|
+
if (height < minH) {
|
|
5281
|
+
if (handle.includes("n")) {
|
|
5282
|
+
y = rect.y + rect.height - minH;
|
|
5283
|
+
}
|
|
5284
|
+
height = minH;
|
|
5285
|
+
}
|
|
5286
|
+
if (aspectRatio && aspectRatio > 0) {
|
|
5287
|
+
const newRatio = width / height;
|
|
5288
|
+
if (handle === "n" || handle === "s" || handle === "nw" || handle === "sw" || handle === "ne" || handle === "se") {
|
|
5289
|
+
width = height * aspectRatio;
|
|
5290
|
+
}
|
|
5291
|
+
if (handle === "e" || handle === "w") {
|
|
5292
|
+
height = width / aspectRatio;
|
|
5293
|
+
}
|
|
5294
|
+
if (newRatio !== aspectRatio && (handle === "nw" || handle === "ne" || handle === "sw" || handle === "se")) {
|
|
5295
|
+
width = height * aspectRatio;
|
|
5296
|
+
}
|
|
5297
|
+
}
|
|
5298
|
+
return constrainCropRect({ x, y, width, height }, imageWidth, imageHeight, aspectRatio);
|
|
5299
|
+
}
|
|
5300
|
+
function moveCropRect(rect, dx, dy, boundW, boundH) {
|
|
5301
|
+
const x = Math.max(0, Math.min(rect.x + dx, boundW - rect.width));
|
|
5302
|
+
const y = Math.max(0, Math.min(rect.y + dy, boundH - rect.height));
|
|
5303
|
+
return { x, y, width: rect.width, height: rect.height };
|
|
5304
|
+
}
|
|
5305
|
+
function getInitialCropRect(imageWidth, imageHeight, aspectRatio) {
|
|
5306
|
+
const padding = 0.1;
|
|
5307
|
+
let cropW = imageWidth * (1 - padding * 2);
|
|
5308
|
+
let cropH = imageHeight * (1 - padding * 2);
|
|
5309
|
+
if (aspectRatio && aspectRatio > 0) {
|
|
5310
|
+
if (cropW / cropH > aspectRatio) {
|
|
5311
|
+
cropW = cropH * aspectRatio;
|
|
5312
|
+
} else {
|
|
5313
|
+
cropH = cropW / aspectRatio;
|
|
5314
|
+
}
|
|
5315
|
+
}
|
|
5316
|
+
return {
|
|
5317
|
+
x: (imageWidth - cropW) / 2,
|
|
5318
|
+
y: (imageHeight - cropH) / 2,
|
|
5319
|
+
width: cropW,
|
|
5320
|
+
height: cropH
|
|
5321
|
+
};
|
|
5322
|
+
}
|
|
5323
|
+
function cropCanvas(image, cropRect, displayWidth, displayHeight, outputType = "image/png", quality = 0.92) {
|
|
5324
|
+
const scaleX = image.naturalWidth / displayWidth;
|
|
5325
|
+
const scaleY = image.naturalHeight / displayHeight;
|
|
5326
|
+
const sx = cropRect.x * scaleX;
|
|
5327
|
+
const sy = cropRect.y * scaleY;
|
|
5328
|
+
const sw = cropRect.width * scaleX;
|
|
5329
|
+
const sh = cropRect.height * scaleY;
|
|
5330
|
+
const canvas = document.createElement("canvas");
|
|
5331
|
+
canvas.width = Math.round(sw);
|
|
5332
|
+
canvas.height = Math.round(sh);
|
|
5333
|
+
const ctx = canvas.getContext("2d");
|
|
5334
|
+
if (ctx) {
|
|
5335
|
+
ctx.drawImage(image, sx, sy, sw, sh, 0, 0, canvas.width, canvas.height);
|
|
5336
|
+
}
|
|
5337
|
+
const dataUrl = canvas.toDataURL(outputType, quality);
|
|
5338
|
+
return { canvas, dataUrl };
|
|
5339
|
+
}
|
|
5340
|
+
function getTouchDistance(touch1, touch2) {
|
|
5341
|
+
const dx = touch1.clientX - touch2.clientX;
|
|
5342
|
+
const dy = touch1.clientY - touch2.clientY;
|
|
5343
|
+
return Math.sqrt(dx * dx + dy * dy);
|
|
5344
|
+
}
|
|
5345
|
+
function toCSSSize(value) {
|
|
5346
|
+
if (value === void 0) return void 0;
|
|
5347
|
+
return typeof value === "number" ? `${value}px` : value;
|
|
5348
|
+
}
|
|
5349
|
+
|
|
5350
|
+
// src/utils/carousel-utils.ts
|
|
5351
|
+
var carouselBaseClasses = "relative overflow-hidden w-full";
|
|
5352
|
+
var carouselTrackScrollClasses = "flex transition-transform ease-in-out";
|
|
5353
|
+
var carouselTrackFadeClasses = "relative";
|
|
5354
|
+
var carouselSlideBaseClasses = "flex-shrink-0 w-full";
|
|
5355
|
+
var carouselDotsBaseClasses = "absolute flex gap-2 z-10";
|
|
5356
|
+
var carouselDotsPositionClasses = {
|
|
5357
|
+
top: "top-4 left-1/2 -translate-x-1/2 flex-row",
|
|
5358
|
+
bottom: "bottom-4 left-1/2 -translate-x-1/2 flex-row",
|
|
5359
|
+
left: "left-4 top-1/2 -translate-y-1/2 flex-col",
|
|
5360
|
+
right: "right-4 top-1/2 -translate-y-1/2 flex-col"
|
|
5361
|
+
};
|
|
5362
|
+
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";
|
|
5363
|
+
var carouselDotActiveClasses = "bg-white scale-110";
|
|
5364
|
+
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";
|
|
5365
|
+
var carouselPrevArrowClasses = "left-4";
|
|
5366
|
+
var carouselNextArrowClasses = "right-4";
|
|
5367
|
+
var carouselArrowDisabledClasses = "opacity-50 cursor-not-allowed pointer-events-none";
|
|
5368
|
+
function getCarouselContainerClasses(className) {
|
|
5369
|
+
return className ? `${carouselBaseClasses} ${className}` : carouselBaseClasses;
|
|
5370
|
+
}
|
|
5371
|
+
function getCarouselDotsClasses(position) {
|
|
5372
|
+
return `${carouselDotsBaseClasses} ${carouselDotsPositionClasses[position]}`;
|
|
5373
|
+
}
|
|
5374
|
+
function getCarouselDotClasses(isActive) {
|
|
5375
|
+
return isActive ? `${carouselDotClasses} ${carouselDotActiveClasses}` : carouselDotClasses;
|
|
5376
|
+
}
|
|
5377
|
+
function getCarouselArrowClasses(type, disabled) {
|
|
5378
|
+
const position = type === "prev" ? carouselPrevArrowClasses : carouselNextArrowClasses;
|
|
5379
|
+
return disabled ? `${carouselArrowBaseClasses} ${position} ${carouselArrowDisabledClasses}` : `${carouselArrowBaseClasses} ${position}`;
|
|
5380
|
+
}
|
|
5381
|
+
function getNextSlideIndex(currentIndex, totalSlides, infinite) {
|
|
5382
|
+
if (totalSlides <= 0) return 0;
|
|
5383
|
+
const nextIndex = currentIndex + 1;
|
|
5384
|
+
if (nextIndex >= totalSlides) {
|
|
5385
|
+
return infinite ? 0 : currentIndex;
|
|
5386
|
+
}
|
|
5387
|
+
return nextIndex;
|
|
5388
|
+
}
|
|
5389
|
+
function getPrevSlideIndex(currentIndex, totalSlides, infinite) {
|
|
5390
|
+
if (totalSlides <= 0) return 0;
|
|
5391
|
+
const prevIndex = currentIndex - 1;
|
|
5392
|
+
if (prevIndex < 0) {
|
|
5393
|
+
return infinite ? totalSlides - 1 : currentIndex;
|
|
5394
|
+
}
|
|
5395
|
+
return prevIndex;
|
|
5396
|
+
}
|
|
5397
|
+
function isNextDisabled(currentIndex, totalSlides, infinite) {
|
|
5398
|
+
if (infinite) return false;
|
|
5399
|
+
return currentIndex >= totalSlides - 1;
|
|
5400
|
+
}
|
|
5401
|
+
function isPrevDisabled(currentIndex, _totalSlides, infinite) {
|
|
5402
|
+
if (infinite) return false;
|
|
5403
|
+
return currentIndex <= 0;
|
|
5404
|
+
}
|
|
5405
|
+
function clampSlideIndex(index, totalSlides) {
|
|
5406
|
+
if (totalSlides <= 0) return 0;
|
|
5407
|
+
if (index < 0) return 0;
|
|
5408
|
+
if (index >= totalSlides) return totalSlides - 1;
|
|
5409
|
+
return index;
|
|
5410
|
+
}
|
|
5411
|
+
function getScrollTransform(currentIndex) {
|
|
5412
|
+
return `translateX(-${currentIndex * 100}%)`;
|
|
4943
5413
|
}
|
|
4944
5414
|
var carouselPrevArrowPath = "M15.75 19.5L8.25 12l7.5-7.5";
|
|
4945
5415
|
var carouselNextArrowPath = "M8.25 4.5l7.5 7.5-7.5 7.5";
|
|
@@ -4956,14 +5426,7 @@ var anchorLinkListHorizontalClasses = "flex items-center space-x-4 pb-2";
|
|
|
4956
5426
|
var anchorLinkBaseClasses = "block text-sm text-gray-600 hover:text-[var(--tiger-primary,#2563eb)] transition-colors duration-200 whitespace-nowrap";
|
|
4957
5427
|
var anchorLinkActiveClasses = "text-[var(--tiger-primary,#2563eb)] font-medium";
|
|
4958
5428
|
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(" ");
|
|
5429
|
+
return [anchorBaseClasses, affix && anchorAffixClasses, className].filter(Boolean).join(" ");
|
|
4967
5430
|
}
|
|
4968
5431
|
function getAnchorInkContainerClasses(direction) {
|
|
4969
5432
|
return direction === "vertical" ? anchorInkContainerVerticalClasses : anchorInkContainerHorizontalClasses;
|
|
@@ -4975,14 +5438,7 @@ function getAnchorLinkListClasses(direction) {
|
|
|
4975
5438
|
return direction === "vertical" ? anchorLinkListVerticalClasses : anchorLinkListHorizontalClasses;
|
|
4976
5439
|
}
|
|
4977
5440
|
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(" ");
|
|
5441
|
+
return [anchorLinkBaseClasses, active && anchorLinkActiveClasses, className].filter(Boolean).join(" ");
|
|
4986
5442
|
}
|
|
4987
5443
|
function getAnchorTargetElement(href) {
|
|
4988
5444
|
if (!href || !href.startsWith("#")) {
|
|
@@ -5030,19 +5486,9 @@ function scrollToAnchor(href, container, targetOffset = 0) {
|
|
|
5030
5486
|
if (!element) {
|
|
5031
5487
|
return;
|
|
5032
5488
|
}
|
|
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
|
-
}
|
|
5489
|
+
const top = getElementOffsetTop(element, container) - targetOffset;
|
|
5490
|
+
const scrollTarget = container === window ? window : container;
|
|
5491
|
+
scrollTarget.scrollTo({ top, behavior: "smooth" });
|
|
5046
5492
|
}
|
|
5047
5493
|
function findActiveAnchor(links, container, bounds = 5, targetOffset = 0) {
|
|
5048
5494
|
if (links.length === 0) {
|
|
@@ -5298,6 +5744,33 @@ function createPieArcPath(options) {
|
|
|
5298
5744
|
"Z"
|
|
5299
5745
|
].join(" ");
|
|
5300
5746
|
}
|
|
5747
|
+
function computePieHoverOffset(startAngle, endAngle, offset2) {
|
|
5748
|
+
const midAngle = (startAngle + endAngle) / 2;
|
|
5749
|
+
return {
|
|
5750
|
+
dx: offset2 * Math.cos(midAngle),
|
|
5751
|
+
dy: offset2 * Math.sin(midAngle)
|
|
5752
|
+
};
|
|
5753
|
+
}
|
|
5754
|
+
function computePieLabelLine(cx, cy, outerRadius, startAngle, endAngle, offset2) {
|
|
5755
|
+
const midAngle = (startAngle + endAngle) / 2;
|
|
5756
|
+
const gap = offset2 ?? Math.max(12, outerRadius * 0.15);
|
|
5757
|
+
const anchor = polarToCartesian(cx, cy, outerRadius, midAngle);
|
|
5758
|
+
const elbow = polarToCartesian(cx, cy, outerRadius + gap * 0.6, midAngle);
|
|
5759
|
+
const isRight = Math.cos(midAngle) >= 0;
|
|
5760
|
+
return {
|
|
5761
|
+
anchor,
|
|
5762
|
+
elbow,
|
|
5763
|
+
label: {
|
|
5764
|
+
x: elbow.x + (isRight ? gap * 0.8 : -gap * 0.8),
|
|
5765
|
+
y: elbow.y
|
|
5766
|
+
},
|
|
5767
|
+
textAnchor: isRight ? "start" : "end"
|
|
5768
|
+
};
|
|
5769
|
+
}
|
|
5770
|
+
var PIE_EMPHASIS_SHADOW = "drop-shadow(0 4px 8px rgba(0,0,0,0.2))";
|
|
5771
|
+
var PIE_BASE_SHADOW = "drop-shadow(0 1px 2px rgba(0,0,0,0.06))";
|
|
5772
|
+
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))";
|
|
5773
|
+
var DONUT_BASE_SHADOW = "drop-shadow(0 2px 8px rgba(0,0,0,0.10))";
|
|
5301
5774
|
function getRadarAngles(count, startAngle = -Math.PI / 2) {
|
|
5302
5775
|
if (count <= 0) return [];
|
|
5303
5776
|
const step = Math.PI * 2 / count;
|
|
@@ -5333,6 +5806,49 @@ function createPolygonPath(points) {
|
|
|
5333
5806
|
" "
|
|
5334
5807
|
);
|
|
5335
5808
|
}
|
|
5809
|
+
function getRadarLabelAlign(angle) {
|
|
5810
|
+
const TWO_PI = Math.PI * 2;
|
|
5811
|
+
const a = (angle % TWO_PI + TWO_PI) % TWO_PI;
|
|
5812
|
+
const threshold = Math.PI / 10;
|
|
5813
|
+
let textAnchor;
|
|
5814
|
+
if (Math.abs(a - Math.PI * 1.5) < threshold || a < threshold || Math.abs(a - TWO_PI) < threshold) {
|
|
5815
|
+
textAnchor = "middle";
|
|
5816
|
+
} else if (a > Math.PI - threshold && a < Math.PI + threshold) {
|
|
5817
|
+
textAnchor = "middle";
|
|
5818
|
+
} else if (a < Math.PI) {
|
|
5819
|
+
textAnchor = "start";
|
|
5820
|
+
} else {
|
|
5821
|
+
textAnchor = "end";
|
|
5822
|
+
}
|
|
5823
|
+
let dominantBaseline;
|
|
5824
|
+
if (Math.abs(a - Math.PI / 2) < threshold * 1.5) {
|
|
5825
|
+
dominantBaseline = "hanging";
|
|
5826
|
+
} else if (Math.abs(a - Math.PI * 1.5) < threshold * 1.5) {
|
|
5827
|
+
dominantBaseline = "auto";
|
|
5828
|
+
} else {
|
|
5829
|
+
dominantBaseline = "middle";
|
|
5830
|
+
}
|
|
5831
|
+
return { textAnchor, dominantBaseline };
|
|
5832
|
+
}
|
|
5833
|
+
var RADAR_SPLIT_AREA_COLORS = [
|
|
5834
|
+
"var(--tiger-chart-split-1,rgba(0,0,0,0.02))",
|
|
5835
|
+
"var(--tiger-chart-split-2,rgba(0,0,0,0.05))"
|
|
5836
|
+
];
|
|
5837
|
+
var lineGradientCounter = 0;
|
|
5838
|
+
function getLineGradientPrefix() {
|
|
5839
|
+
return `tiger-line-grad-${++lineGradientCounter}`;
|
|
5840
|
+
}
|
|
5841
|
+
function resetLineGradientCounter() {
|
|
5842
|
+
lineGradientCounter = 0;
|
|
5843
|
+
}
|
|
5844
|
+
var areaGradientCounter = 0;
|
|
5845
|
+
function getAreaGradientPrefix() {
|
|
5846
|
+
return `tiger-area-grad-${++areaGradientCounter}`;
|
|
5847
|
+
}
|
|
5848
|
+
function resetAreaGradientCounter() {
|
|
5849
|
+
areaGradientCounter = 0;
|
|
5850
|
+
}
|
|
5851
|
+
var linePointTransitionClasses = "transition-all duration-200 ease-out";
|
|
5336
5852
|
function createLinePath(points, curve = "linear") {
|
|
5337
5853
|
if (points.length === 0) return "";
|
|
5338
5854
|
if (points.length === 1) return `M ${points[0].x} ${points[0].y}`;
|
|
@@ -5488,6 +6004,63 @@ function stackSeriesData(seriesData) {
|
|
|
5488
6004
|
}
|
|
5489
6005
|
return result;
|
|
5490
6006
|
}
|
|
6007
|
+
var barGradientCounter = 0;
|
|
6008
|
+
function getBarGradientPrefix() {
|
|
6009
|
+
return `tiger-bar-grad-${++barGradientCounter}`;
|
|
6010
|
+
}
|
|
6011
|
+
function resetBarGradientCounter() {
|
|
6012
|
+
barGradientCounter = 0;
|
|
6013
|
+
}
|
|
6014
|
+
function clampBarWidth(width, maxWidth) {
|
|
6015
|
+
if (maxWidth === void 0 || maxWidth <= 0) return width;
|
|
6016
|
+
return Math.min(width, maxWidth);
|
|
6017
|
+
}
|
|
6018
|
+
function ensureBarMinHeight(barY, barHeight, baseline, minHeight) {
|
|
6019
|
+
if (minHeight <= 0 || barHeight === 0 || barHeight >= minHeight) {
|
|
6020
|
+
return { y: barY, height: barHeight };
|
|
6021
|
+
}
|
|
6022
|
+
if (barY < baseline) {
|
|
6023
|
+
return { y: baseline - minHeight, height: minHeight };
|
|
6024
|
+
}
|
|
6025
|
+
return { y: baseline, height: minHeight };
|
|
6026
|
+
}
|
|
6027
|
+
function getBarValueLabelY(barY, barHeight, position, offset2 = 8) {
|
|
6028
|
+
if (position === "inside") {
|
|
6029
|
+
return barY + barHeight / 2;
|
|
6030
|
+
}
|
|
6031
|
+
return barY - offset2;
|
|
6032
|
+
}
|
|
6033
|
+
var barValueLabelClasses = "fill-[color:var(--tiger-text,#374151)] text-[11px] font-medium pointer-events-none select-none";
|
|
6034
|
+
var barValueLabelInsideClasses = "fill-white text-[11px] font-medium pointer-events-none select-none";
|
|
6035
|
+
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";
|
|
6036
|
+
var scatterGradientCounter = 0;
|
|
6037
|
+
function getScatterGradientPrefix() {
|
|
6038
|
+
return `tiger-scatter-grad-${++scatterGradientCounter}`;
|
|
6039
|
+
}
|
|
6040
|
+
function resetScatterGradientCounter() {
|
|
6041
|
+
scatterGradientCounter = 0;
|
|
6042
|
+
}
|
|
6043
|
+
var scatterPointTransitionClasses = "transition-all duration-200 ease-out";
|
|
6044
|
+
function getScatterHoverShadow(color) {
|
|
6045
|
+
return `drop-shadow(0 0 4px ${color})`;
|
|
6046
|
+
}
|
|
6047
|
+
function getScatterPointPath(style, size) {
|
|
6048
|
+
switch (style) {
|
|
6049
|
+
case "square":
|
|
6050
|
+
return `M ${-size} ${-size} L ${size} ${-size} L ${size} ${size} L ${-size} ${size} Z`;
|
|
6051
|
+
case "triangle": {
|
|
6052
|
+
const h = size * 1.15;
|
|
6053
|
+
return `M 0 ${-h} L ${size} ${h * 0.75} L ${-size} ${h * 0.75} Z`;
|
|
6054
|
+
}
|
|
6055
|
+
case "diamond":
|
|
6056
|
+
return `M 0 ${-size * 1.2} L ${size} 0 L 0 ${size * 1.2} L ${-size} 0 Z`;
|
|
6057
|
+
}
|
|
6058
|
+
}
|
|
6059
|
+
function getScatterHoverSize(baseSize) {
|
|
6060
|
+
return baseSize + 2;
|
|
6061
|
+
}
|
|
6062
|
+
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)}}`;
|
|
6063
|
+
var SCATTER_ENTRANCE_CLASS = "tiger-scatter-entrance";
|
|
5491
6064
|
|
|
5492
6065
|
// src/utils/chart-interaction.ts
|
|
5493
6066
|
function createChartInteractionHandlers(data, state, options) {
|
|
@@ -5585,6 +6158,59 @@ function getChartEntranceTransform(type, progress, options = {}) {
|
|
|
5585
6158
|
}
|
|
5586
6159
|
}
|
|
5587
6160
|
|
|
6161
|
+
// src/utils/chart-shared.ts
|
|
6162
|
+
function resolveChartPalette(colors, fallbackColor) {
|
|
6163
|
+
if (colors && colors.length > 0) return colors;
|
|
6164
|
+
if (fallbackColor) return [fallbackColor];
|
|
6165
|
+
return [...DEFAULT_CHART_COLORS];
|
|
6166
|
+
}
|
|
6167
|
+
function buildChartLegendItems(options) {
|
|
6168
|
+
const { data, palette, activeIndex, getLabel, getColor } = options;
|
|
6169
|
+
return data.map((datum, index) => ({
|
|
6170
|
+
index,
|
|
6171
|
+
label: getLabel(datum, index),
|
|
6172
|
+
color: getColor ? getColor(datum, index) : palette[index % palette.length],
|
|
6173
|
+
active: activeIndex === null || activeIndex === index
|
|
6174
|
+
}));
|
|
6175
|
+
}
|
|
6176
|
+
function resolveChartTooltipContent(hoveredIndex, data, formatter, defaultFormatter) {
|
|
6177
|
+
if (hoveredIndex === null) return "";
|
|
6178
|
+
const datum = data[hoveredIndex];
|
|
6179
|
+
if (!datum) return "";
|
|
6180
|
+
const fmt = formatter ?? defaultFormatter;
|
|
6181
|
+
return fmt(datum, hoveredIndex);
|
|
6182
|
+
}
|
|
6183
|
+
function resolveMultiSeriesTooltipContent(hoveredPoint, series, formatter, defaultFormatter) {
|
|
6184
|
+
if (!hoveredPoint) return "";
|
|
6185
|
+
const { seriesIndex, pointIndex } = hoveredPoint;
|
|
6186
|
+
const s = series[seriesIndex];
|
|
6187
|
+
const datum = s?.data[pointIndex];
|
|
6188
|
+
if (!datum) return "";
|
|
6189
|
+
const fmt = formatter ?? defaultFormatter;
|
|
6190
|
+
return fmt(datum, seriesIndex, pointIndex, s);
|
|
6191
|
+
}
|
|
6192
|
+
function resolveSeriesData(series, data, defaultSeries) {
|
|
6193
|
+
if (series && series.length > 0) return series;
|
|
6194
|
+
if (data && data.length > 0) {
|
|
6195
|
+
return [{ ...defaultSeries, data }];
|
|
6196
|
+
}
|
|
6197
|
+
return [];
|
|
6198
|
+
}
|
|
6199
|
+
function defaultXYTooltipFormatter(datum, index) {
|
|
6200
|
+
const label = datum.label ?? (datum.x !== void 0 ? String(datum.x) : `#${index + 1}`);
|
|
6201
|
+
return `${label}: ${datum.y ?? ""}`;
|
|
6202
|
+
}
|
|
6203
|
+
function defaultSeriesXYTooltipFormatter(datum, seriesIndex, _pointIndex, series) {
|
|
6204
|
+
const seriesName = series?.name ?? `Series ${seriesIndex + 1}`;
|
|
6205
|
+
const label = datum.label ?? (datum.x !== void 0 ? String(datum.x) : "");
|
|
6206
|
+
return `${seriesName} \xB7 ${label}: ${datum.y ?? ""}`;
|
|
6207
|
+
}
|
|
6208
|
+
function defaultRadarTooltipFormatter(datum, seriesIndex, _pointIndex, series) {
|
|
6209
|
+
const seriesName = series?.name ?? `Series ${seriesIndex + 1}`;
|
|
6210
|
+
const label = datum.label ?? `#${_pointIndex + 1}`;
|
|
6211
|
+
return `${seriesName} \xB7 ${label}: ${datum.value}`;
|
|
6212
|
+
}
|
|
6213
|
+
|
|
5588
6214
|
// src/utils/floating.ts
|
|
5589
6215
|
import {
|
|
5590
6216
|
computePosition,
|
|
@@ -5660,484 +6286,185 @@ function getArrowStyles(placement, arrowData) {
|
|
|
5660
6286
|
top: "bottom",
|
|
5661
6287
|
bottom: "top",
|
|
5662
6288
|
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)]"
|
|
6289
|
+
right: "left"
|
|
6290
|
+
};
|
|
6291
|
+
const styles = {
|
|
6292
|
+
position: "absolute",
|
|
6293
|
+
[staticSide[side]]: "-4px"
|
|
6294
|
+
};
|
|
6295
|
+
if (arrowData?.x != null) {
|
|
6296
|
+
styles.left = `${arrowData.x}px`;
|
|
6055
6297
|
}
|
|
6298
|
+
if (arrowData?.y != null) {
|
|
6299
|
+
styles.top = `${arrowData.y}px`;
|
|
6300
|
+
}
|
|
6301
|
+
return styles;
|
|
6302
|
+
}
|
|
6303
|
+
function applyFloatingStyles(element, result) {
|
|
6304
|
+
element.style.left = `${result.x}px`;
|
|
6305
|
+
element.style.top = `${result.y}px`;
|
|
6306
|
+
}
|
|
6307
|
+
|
|
6308
|
+
// src/utils/chat-window-utils.ts
|
|
6309
|
+
var defaultChatMessageStatusInfo = {
|
|
6310
|
+
sending: { text: "\u53D1\u9001\u4E2D", className: "text-[var(--tiger-text-muted,#6b7280)]" },
|
|
6311
|
+
sent: { text: "\u5DF2\u9001\u8FBE", className: "text-[var(--tiger-text-muted,#6b7280)]" },
|
|
6312
|
+
failed: { text: "\u53D1\u9001\u5931\u8D25", className: "text-[var(--tiger-danger,#ef4444)]" }
|
|
6056
6313
|
};
|
|
6057
|
-
function
|
|
6058
|
-
|
|
6059
|
-
const classes = [scheme.bg, scheme.text, scheme.border].filter(Boolean);
|
|
6060
|
-
return classes.join(" ");
|
|
6314
|
+
function getChatMessageStatusInfo(status, statusMap = defaultChatMessageStatusInfo) {
|
|
6315
|
+
return statusMap[status] || defaultChatMessageStatusInfo[status];
|
|
6061
6316
|
}
|
|
6062
|
-
|
|
6063
|
-
|
|
6064
|
-
|
|
6065
|
-
|
|
6066
|
-
|
|
6067
|
-
|
|
6068
|
-
|
|
6069
|
-
|
|
6070
|
-
|
|
6071
|
-
|
|
6072
|
-
|
|
6073
|
-
|
|
6074
|
-
|
|
6075
|
-
|
|
6076
|
-
|
|
6077
|
-
|
|
6078
|
-
|
|
6079
|
-
|
|
6080
|
-
|
|
6081
|
-
|
|
6082
|
-
|
|
6083
|
-
|
|
6084
|
-
|
|
6085
|
-
|
|
6317
|
+
|
|
6318
|
+
// src/utils/activity-feed-utils.ts
|
|
6319
|
+
var formatActivityTime = (value) => {
|
|
6320
|
+
if (value == null || value === "") return "";
|
|
6321
|
+
if (value instanceof Date) return value.toLocaleString();
|
|
6322
|
+
if (typeof value === "number") return new Date(value).toLocaleString();
|
|
6323
|
+
return value;
|
|
6324
|
+
};
|
|
6325
|
+
var sortActivityGroups = (groups, groupOrder) => {
|
|
6326
|
+
if (!groupOrder || groupOrder.length === 0) return groups;
|
|
6327
|
+
const orderMap = new Map(groupOrder.map((key, index) => [key, index]));
|
|
6328
|
+
return [...groups].sort((a, b) => {
|
|
6329
|
+
const aKey = String(a.key ?? a.title ?? "");
|
|
6330
|
+
const bKey = String(b.key ?? b.title ?? "");
|
|
6331
|
+
const aIndex = orderMap.has(aKey) ? orderMap.get(aKey) : Number.POSITIVE_INFINITY;
|
|
6332
|
+
const bIndex = orderMap.has(bKey) ? orderMap.get(bKey) : Number.POSITIVE_INFINITY;
|
|
6333
|
+
if (aIndex === bIndex) return 0;
|
|
6334
|
+
return aIndex - bIndex;
|
|
6335
|
+
});
|
|
6336
|
+
};
|
|
6337
|
+
var buildActivityGroups = (items, groups, groupBy, groupOrder) => {
|
|
6338
|
+
if (groups && groups.length > 0) {
|
|
6339
|
+
return sortActivityGroups(groups, groupOrder);
|
|
6340
|
+
}
|
|
6341
|
+
if (!items || items.length === 0) return [];
|
|
6342
|
+
if (groupBy) {
|
|
6343
|
+
const groupMap = /* @__PURE__ */ new Map();
|
|
6344
|
+
items.forEach((item) => {
|
|
6345
|
+
const key = groupBy(item) || "\u5176\u4ED6";
|
|
6346
|
+
const bucket = groupMap.get(key) ?? [];
|
|
6347
|
+
bucket.push(item);
|
|
6348
|
+
groupMap.set(key, bucket);
|
|
6349
|
+
});
|
|
6350
|
+
const mappedGroups = Array.from(groupMap.entries()).map(([title, groupItems]) => ({
|
|
6351
|
+
key: title,
|
|
6352
|
+
title,
|
|
6353
|
+
items: groupItems
|
|
6354
|
+
}));
|
|
6355
|
+
return sortActivityGroups(mappedGroups, groupOrder);
|
|
6086
6356
|
}
|
|
6357
|
+
return [{ key: "default", title: "", items }];
|
|
6087
6358
|
};
|
|
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)]"
|
|
6359
|
+
var toActivityTimelineItems = (items) => {
|
|
6360
|
+
return items.map((item, index) => ({
|
|
6361
|
+
key: item.id ?? index,
|
|
6362
|
+
activity: item
|
|
6363
|
+
}));
|
|
6364
|
+
};
|
|
6365
|
+
|
|
6366
|
+
// src/utils/notification-center-utils.ts
|
|
6367
|
+
var sortNotificationGroups = (groups, groupOrder) => {
|
|
6368
|
+
if (!groupOrder || groupOrder.length === 0) {
|
|
6369
|
+
return groups;
|
|
6370
|
+
}
|
|
6371
|
+
const orderMap = /* @__PURE__ */ new Map();
|
|
6372
|
+
groupOrder.forEach((key, index) => {
|
|
6373
|
+
orderMap.set(String(key), index);
|
|
6374
|
+
});
|
|
6375
|
+
return [...groups].sort((a, b) => {
|
|
6376
|
+
const aKey = String(a.key ?? a.title);
|
|
6377
|
+
const bKey = String(b.key ?? b.title);
|
|
6378
|
+
const aIndex = orderMap.get(aKey);
|
|
6379
|
+
const bIndex = orderMap.get(bKey);
|
|
6380
|
+
if (aIndex === void 0 && bIndex === void 0) return 0;
|
|
6381
|
+
if (aIndex === void 0) return 1;
|
|
6382
|
+
if (bIndex === void 0) return -1;
|
|
6383
|
+
return aIndex - bIndex;
|
|
6384
|
+
});
|
|
6385
|
+
};
|
|
6386
|
+
var buildNotificationGroups = (items = [], groups, groupBy, groupOrder) => {
|
|
6387
|
+
if (groups && groups.length > 0) {
|
|
6388
|
+
return sortNotificationGroups(groups, groupOrder);
|
|
6389
|
+
}
|
|
6390
|
+
if (!items || items.length === 0) {
|
|
6391
|
+
return [];
|
|
6136
6392
|
}
|
|
6393
|
+
const groupFn = groupBy ?? ((item) => String(item.type ?? "default"));
|
|
6394
|
+
const groupMap = /* @__PURE__ */ new Map();
|
|
6395
|
+
items.forEach((item) => {
|
|
6396
|
+
const key = groupFn(item);
|
|
6397
|
+
if (!groupMap.has(key)) {
|
|
6398
|
+
groupMap.set(key, []);
|
|
6399
|
+
}
|
|
6400
|
+
groupMap.get(key)?.push(item);
|
|
6401
|
+
});
|
|
6402
|
+
const mappedGroups = Array.from(groupMap.entries()).map(([key, groupItems]) => ({
|
|
6403
|
+
key,
|
|
6404
|
+
title: key,
|
|
6405
|
+
items: groupItems
|
|
6406
|
+
}));
|
|
6407
|
+
return sortNotificationGroups(mappedGroups, groupOrder);
|
|
6408
|
+
};
|
|
6409
|
+
|
|
6410
|
+
// src/utils/comment-thread-utils.ts
|
|
6411
|
+
var buildCommentTree = (items = []) => {
|
|
6412
|
+
if (!items || items.length === 0) return [];
|
|
6413
|
+
const nodeMap = /* @__PURE__ */ new Map();
|
|
6414
|
+
const order = [];
|
|
6415
|
+
items.forEach((item) => {
|
|
6416
|
+
nodeMap.set(item.id, {
|
|
6417
|
+
...item,
|
|
6418
|
+
children: []
|
|
6419
|
+
});
|
|
6420
|
+
order.push(item.id);
|
|
6421
|
+
});
|
|
6422
|
+
const roots = [];
|
|
6423
|
+
order.forEach((id) => {
|
|
6424
|
+
const node = nodeMap.get(id);
|
|
6425
|
+
if (!node) return;
|
|
6426
|
+
if (node.parentId === void 0 || node.parentId === null) {
|
|
6427
|
+
roots.push(node);
|
|
6428
|
+
return;
|
|
6429
|
+
}
|
|
6430
|
+
const parent = nodeMap.get(node.parentId);
|
|
6431
|
+
if (!parent) {
|
|
6432
|
+
roots.push(node);
|
|
6433
|
+
return;
|
|
6434
|
+
}
|
|
6435
|
+
if (!parent.children) parent.children = [];
|
|
6436
|
+
parent.children.push(node);
|
|
6437
|
+
});
|
|
6438
|
+
return roots;
|
|
6439
|
+
};
|
|
6440
|
+
var clipCommentTreeDepth = (nodes = [], maxDepth = 3) => {
|
|
6441
|
+
if (!nodes || nodes.length === 0) return [];
|
|
6442
|
+
if (maxDepth <= 0) return [];
|
|
6443
|
+
const cloneNode = (node, depth) => {
|
|
6444
|
+
const next = { ...node };
|
|
6445
|
+
if (node.children && node.children.length > 0 && depth < maxDepth) {
|
|
6446
|
+
next.children = node.children.map((child) => cloneNode(child, depth + 1));
|
|
6447
|
+
} else {
|
|
6448
|
+
next.children = [];
|
|
6449
|
+
}
|
|
6450
|
+
return next;
|
|
6451
|
+
};
|
|
6452
|
+
return nodes.map((node) => cloneNode(node, 1));
|
|
6453
|
+
};
|
|
6454
|
+
|
|
6455
|
+
// src/utils/composite-time-utils.ts
|
|
6456
|
+
var formatChatTime = (value) => {
|
|
6457
|
+
if (!value) return "";
|
|
6458
|
+
if (value instanceof Date) return value.toLocaleTimeString();
|
|
6459
|
+
if (typeof value === "number") return new Date(value).toLocaleTimeString();
|
|
6460
|
+
return value;
|
|
6461
|
+
};
|
|
6462
|
+
var formatCommentTime = (value) => {
|
|
6463
|
+
if (value == null || value === "") return "";
|
|
6464
|
+
if (value instanceof Date) return value.toLocaleString();
|
|
6465
|
+
if (typeof value === "number") return new Date(value).toLocaleString();
|
|
6466
|
+
return value;
|
|
6137
6467
|
};
|
|
6138
|
-
function getAlertTypeClasses(type, colors = defaultAlertThemeColors) {
|
|
6139
|
-
return colors[type];
|
|
6140
|
-
}
|
|
6141
6468
|
|
|
6142
6469
|
// src/theme/checkbox.ts
|
|
6143
6470
|
var checkboxSizeClasses = {
|
|
@@ -6151,26 +6478,17 @@ var checkboxLabelSizeClasses = {
|
|
|
6151
6478
|
lg: "text-lg"
|
|
6152
6479
|
};
|
|
6153
6480
|
function getCheckboxClasses(size = "md", disabled = false) {
|
|
6154
|
-
const
|
|
6481
|
+
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
6482
|
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(" ");
|
|
6483
|
+
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
6484
|
const disabledClasses = disabled ? "cursor-not-allowed opacity-50 disabled:bg-[var(--tiger-surface-muted,#f3f4f6)] disabled:border-[var(--tiger-border,#e5e7eb)]" : "";
|
|
6167
|
-
return [
|
|
6485
|
+
return [baseClasses2, sizeClass, colorClasses, disabledClasses].filter(Boolean).join(" ");
|
|
6168
6486
|
}
|
|
6169
6487
|
function getCheckboxLabelClasses(size = "md", disabled = false) {
|
|
6170
|
-
const
|
|
6488
|
+
const baseClasses2 = "inline-flex items-center cursor-pointer select-none";
|
|
6171
6489
|
const sizeClass = checkboxLabelSizeClasses[size];
|
|
6172
|
-
const disabledClasses = disabled ? "cursor-not-allowed
|
|
6173
|
-
return [
|
|
6490
|
+
const disabledClasses = disabled ? "cursor-not-allowed" : "";
|
|
6491
|
+
return [baseClasses2, sizeClass, disabledClasses].filter(Boolean).join(" ");
|
|
6174
6492
|
}
|
|
6175
6493
|
|
|
6176
6494
|
// src/theme/switch.ts
|
|
@@ -6201,10 +6519,10 @@ function getSwitchClasses(size = "md", checked = false, disabled = false) {
|
|
|
6201
6519
|
);
|
|
6202
6520
|
}
|
|
6203
6521
|
function getSwitchThumbClasses(size = "md", checked = false) {
|
|
6204
|
-
const
|
|
6522
|
+
const baseClasses2 = "inline-block rounded-full bg-[var(--tiger-surface,#ffffff)] shadow-lg transition-transform";
|
|
6205
6523
|
const sizeClass = switchThumbSizeClasses[size];
|
|
6206
6524
|
const translateClass = checked ? switchThumbTranslateClasses[size] : "translate-x-0.5";
|
|
6207
|
-
return classNames(
|
|
6525
|
+
return classNames(baseClasses2, sizeClass, translateClass);
|
|
6208
6526
|
}
|
|
6209
6527
|
|
|
6210
6528
|
// src/theme/slider.ts
|
|
@@ -6318,7 +6636,11 @@ var tigercatTheme = {
|
|
|
6318
6636
|
};
|
|
6319
6637
|
var tigercatPlugin = (0, import_plugin.default)(function({ addBase }) {
|
|
6320
6638
|
addBase({
|
|
6321
|
-
":root": tigercatTheme
|
|
6639
|
+
":root": tigercatTheme,
|
|
6640
|
+
// Remove browser default focus outline on interactive SVG elements
|
|
6641
|
+
'svg [tabindex], svg [role="button"]': {
|
|
6642
|
+
outline: "none"
|
|
6643
|
+
}
|
|
6322
6644
|
});
|
|
6323
6645
|
});
|
|
6324
6646
|
|
|
@@ -6328,21 +6650,33 @@ export {
|
|
|
6328
6650
|
ANIMATION_DURATION_FAST_MS,
|
|
6329
6651
|
ANIMATION_DURATION_MS,
|
|
6330
6652
|
ANIMATION_DURATION_SLOW_MS,
|
|
6653
|
+
CROP_HANDLES,
|
|
6331
6654
|
CalendarIconPath,
|
|
6332
6655
|
ChevronLeftIconPath,
|
|
6333
6656
|
ChevronRightIconPath,
|
|
6334
6657
|
ClockIconPath,
|
|
6335
6658
|
CloseIconPath,
|
|
6336
6659
|
DEFAULT_CHART_COLORS,
|
|
6660
|
+
DEFAULT_FORM_WIZARD_LABELS,
|
|
6337
6661
|
DEFAULT_PAGINATION_LABELS,
|
|
6662
|
+
DONUT_BASE_SHADOW,
|
|
6663
|
+
DONUT_EMPHASIS_SHADOW,
|
|
6664
|
+
DROPDOWN_CHEVRON_PATH,
|
|
6665
|
+
DROPDOWN_ENTER_CLASS,
|
|
6338
6666
|
DURATION_CLASS,
|
|
6339
6667
|
DURATION_FAST_CLASS,
|
|
6340
6668
|
DURATION_SLOW_CLASS,
|
|
6341
6669
|
EASING_DEFAULT,
|
|
6342
6670
|
EASING_ENTER,
|
|
6343
6671
|
EASING_LEAVE,
|
|
6672
|
+
PIE_BASE_SHADOW,
|
|
6673
|
+
PIE_EMPHASIS_SHADOW,
|
|
6674
|
+
POPOVER_TEXT_CLASSES,
|
|
6675
|
+
POPOVER_TITLE_CLASSES,
|
|
6676
|
+
RADAR_SPLIT_AREA_COLORS,
|
|
6677
|
+
SCATTER_ENTRANCE_CLASS,
|
|
6678
|
+
SCATTER_ENTRANCE_KEYFRAMES,
|
|
6344
6679
|
SHAKE_CLASS,
|
|
6345
|
-
SPACE_BASE_CLASS,
|
|
6346
6680
|
SVG_ANIMATION_CLASSES,
|
|
6347
6681
|
SVG_ANIMATION_VARS,
|
|
6348
6682
|
SVG_DEFAULT_FILL,
|
|
@@ -6356,6 +6690,7 @@ export {
|
|
|
6356
6690
|
TRANSITION_OPACITY,
|
|
6357
6691
|
TRANSITION_TRANSFORM,
|
|
6358
6692
|
TimePickerCloseIconPath,
|
|
6693
|
+
ZH_CN_FORM_WIZARD_LABELS,
|
|
6359
6694
|
ZH_CN_PAGINATION_LABELS,
|
|
6360
6695
|
activeOpacityClasses,
|
|
6361
6696
|
activePressClasses,
|
|
@@ -6364,14 +6699,10 @@ export {
|
|
|
6364
6699
|
alertCloseIconPath,
|
|
6365
6700
|
alertContentClasses,
|
|
6366
6701
|
alertDescriptionSizeClasses,
|
|
6367
|
-
alertErrorIconPath,
|
|
6368
6702
|
alertIconContainerClasses,
|
|
6369
6703
|
alertIconSizeClasses,
|
|
6370
|
-
alertInfoIconPath,
|
|
6371
6704
|
alertSizeClasses,
|
|
6372
|
-
alertSuccessIconPath,
|
|
6373
6705
|
alertTitleSizeClasses,
|
|
6374
|
-
alertWarningIconPath,
|
|
6375
6706
|
anchorAffixClasses,
|
|
6376
6707
|
anchorBaseClasses,
|
|
6377
6708
|
anchorInkActiveHorizontalClasses,
|
|
@@ -6393,7 +6724,6 @@ export {
|
|
|
6393
6724
|
avatarImageClasses,
|
|
6394
6725
|
avatarShapeClasses,
|
|
6395
6726
|
avatarSizeClasses,
|
|
6396
|
-
backTopBaseClasses,
|
|
6397
6727
|
backTopButtonClasses,
|
|
6398
6728
|
backTopContainerClasses,
|
|
6399
6729
|
backTopHiddenClasses,
|
|
@@ -6404,6 +6734,9 @@ export {
|
|
|
6404
6734
|
badgeSizeClasses,
|
|
6405
6735
|
badgeTypeClasses,
|
|
6406
6736
|
badgeWrapperClasses,
|
|
6737
|
+
barAnimatedTransition,
|
|
6738
|
+
barValueLabelClasses,
|
|
6739
|
+
barValueLabelInsideClasses,
|
|
6407
6740
|
barsVariantConfig,
|
|
6408
6741
|
breadcrumbContainerClasses,
|
|
6409
6742
|
breadcrumbCurrentClasses,
|
|
@@ -6411,8 +6744,10 @@ export {
|
|
|
6411
6744
|
breadcrumbLinkClasses,
|
|
6412
6745
|
breadcrumbSeparatorBaseClasses,
|
|
6413
6746
|
buildActivityGroups,
|
|
6747
|
+
buildChartLegendItems,
|
|
6414
6748
|
buildCommentTree,
|
|
6415
6749
|
buildNotificationGroups,
|
|
6750
|
+
buildTriggerHandlerMap,
|
|
6416
6751
|
buttonBaseClasses,
|
|
6417
6752
|
buttonDisabledClasses,
|
|
6418
6753
|
buttonSizeClasses,
|
|
@@ -6420,11 +6755,11 @@ export {
|
|
|
6420
6755
|
calculateCirclePath,
|
|
6421
6756
|
calculatePagination,
|
|
6422
6757
|
calculateStepStatus,
|
|
6758
|
+
calculateTransform,
|
|
6423
6759
|
calendarSolidIcon20PathD,
|
|
6424
6760
|
captureActiveElement,
|
|
6425
6761
|
cardActionsClasses,
|
|
6426
6762
|
cardBaseClasses,
|
|
6427
|
-
cardBodyClasses,
|
|
6428
6763
|
cardCoverClasses,
|
|
6429
6764
|
cardCoverWrapperClasses,
|
|
6430
6765
|
cardFooterClasses,
|
|
@@ -6444,7 +6779,6 @@ export {
|
|
|
6444
6779
|
carouselPrevArrowClasses,
|
|
6445
6780
|
carouselPrevArrowPath,
|
|
6446
6781
|
carouselSlideBaseClasses,
|
|
6447
|
-
carouselSlideFadeClasses,
|
|
6448
6782
|
carouselTrackFadeClasses,
|
|
6449
6783
|
carouselTrackScrollClasses,
|
|
6450
6784
|
chartAxisLabelClasses,
|
|
@@ -6457,10 +6791,13 @@ export {
|
|
|
6457
6791
|
checkSolidIcon20PathD,
|
|
6458
6792
|
checkboxLabelSizeClasses,
|
|
6459
6793
|
checkboxSizeClasses,
|
|
6794
|
+
checkedSetsFromState,
|
|
6460
6795
|
chevronDownSolidIcon20PathD,
|
|
6461
6796
|
chevronLeftSolidIcon20PathD,
|
|
6462
6797
|
chevronRightSolidIcon20PathD,
|
|
6798
|
+
clampBarWidth,
|
|
6463
6799
|
clampPercentage,
|
|
6800
|
+
clampScale,
|
|
6464
6801
|
clampSlideIndex,
|
|
6465
6802
|
classNames,
|
|
6466
6803
|
clearFieldErrors,
|
|
@@ -6480,7 +6817,6 @@ export {
|
|
|
6480
6817
|
coerceStyleValue,
|
|
6481
6818
|
collapseBaseClasses,
|
|
6482
6819
|
collapseBorderlessClasses,
|
|
6483
|
-
collapseExtraClasses,
|
|
6484
6820
|
collapseGhostClasses,
|
|
6485
6821
|
collapseHeaderTextClasses,
|
|
6486
6822
|
collapseIconBaseClasses,
|
|
@@ -6492,8 +6828,10 @@ export {
|
|
|
6492
6828
|
collapsePanelHeaderActiveClasses,
|
|
6493
6829
|
collapsePanelHeaderBaseClasses,
|
|
6494
6830
|
collapsePanelHeaderDisabledClasses,
|
|
6495
|
-
collapseRightArrowIcon,
|
|
6496
6831
|
computeFloatingPosition,
|
|
6832
|
+
computePieHoverOffset,
|
|
6833
|
+
computePieLabelLine,
|
|
6834
|
+
constrainCropRect,
|
|
6497
6835
|
containerBaseClasses,
|
|
6498
6836
|
containerCenteredClasses,
|
|
6499
6837
|
containerMaxWidthClasses,
|
|
@@ -6503,11 +6841,15 @@ export {
|
|
|
6503
6841
|
createAriaId,
|
|
6504
6842
|
createBandScale,
|
|
6505
6843
|
createChartInteractionHandlers,
|
|
6844
|
+
createFloatingIdFactory,
|
|
6506
6845
|
createLinePath,
|
|
6507
6846
|
createLinearScale,
|
|
6508
6847
|
createPieArcPath,
|
|
6509
6848
|
createPointScale,
|
|
6510
6849
|
createPolygonPath,
|
|
6850
|
+
cropCanvas,
|
|
6851
|
+
cropUploadTriggerClasses,
|
|
6852
|
+
cropUploadTriggerDisabledClasses,
|
|
6511
6853
|
datePickerBaseClasses,
|
|
6512
6854
|
datePickerCalendarClasses,
|
|
6513
6855
|
datePickerCalendarGridClasses,
|
|
@@ -6522,18 +6864,19 @@ export {
|
|
|
6522
6864
|
defaultAlertThemeColors,
|
|
6523
6865
|
defaultBadgeThemeColors,
|
|
6524
6866
|
defaultChatMessageStatusInfo,
|
|
6525
|
-
defaultExpandIcon,
|
|
6526
|
-
defaultIndeterminateIcon,
|
|
6527
6867
|
defaultLinkThemeColors,
|
|
6528
6868
|
defaultMessageThemeColors,
|
|
6529
6869
|
defaultNotificationThemeColors,
|
|
6530
6870
|
defaultProgressThemeColors,
|
|
6871
|
+
defaultRadarTooltipFormatter,
|
|
6531
6872
|
defaultRadioColors,
|
|
6873
|
+
defaultSeriesXYTooltipFormatter,
|
|
6532
6874
|
defaultSortFn,
|
|
6533
6875
|
defaultTagThemeColors,
|
|
6534
6876
|
defaultThemeColors,
|
|
6535
6877
|
defaultTooltipFormatter,
|
|
6536
6878
|
defaultTotalText,
|
|
6879
|
+
defaultXYTooltipFormatter,
|
|
6537
6880
|
descriptionsBaseClasses,
|
|
6538
6881
|
descriptionsCellSizeClasses,
|
|
6539
6882
|
descriptionsContentBorderedClasses,
|
|
@@ -6542,7 +6885,6 @@ export {
|
|
|
6542
6885
|
descriptionsHeaderClasses,
|
|
6543
6886
|
descriptionsLabelBorderedClasses,
|
|
6544
6887
|
descriptionsLabelClasses,
|
|
6545
|
-
descriptionsRowClasses,
|
|
6546
6888
|
descriptionsSizeClasses,
|
|
6547
6889
|
descriptionsTableBorderedClasses,
|
|
6548
6890
|
descriptionsTableClasses,
|
|
@@ -6554,6 +6896,7 @@ export {
|
|
|
6554
6896
|
descriptionsWrapperClasses,
|
|
6555
6897
|
dotSizeClasses,
|
|
6556
6898
|
dotsVariantConfig,
|
|
6899
|
+
ensureBarMinHeight,
|
|
6557
6900
|
errorCircleSolidIcon20PathD,
|
|
6558
6901
|
fileToUploadFile,
|
|
6559
6902
|
filterData,
|
|
@@ -6561,9 +6904,11 @@ export {
|
|
|
6561
6904
|
filterTreeNodes,
|
|
6562
6905
|
findActiveAnchor,
|
|
6563
6906
|
findNode,
|
|
6564
|
-
|
|
6907
|
+
flattenSelectOptions,
|
|
6565
6908
|
focusElement,
|
|
6566
6909
|
focusFirst,
|
|
6910
|
+
focusFirstChildItem,
|
|
6911
|
+
focusMenuEdge,
|
|
6567
6912
|
focusRingClasses,
|
|
6568
6913
|
focusRingInsetClasses,
|
|
6569
6914
|
formatActivityTime,
|
|
@@ -6596,10 +6941,13 @@ export {
|
|
|
6596
6941
|
getAnchorLinkListClasses,
|
|
6597
6942
|
getAnchorTargetElement,
|
|
6598
6943
|
getAnchorWrapperClasses,
|
|
6944
|
+
getAreaGradientPrefix,
|
|
6599
6945
|
getArrowStyles,
|
|
6600
6946
|
getAutoExpandKeys,
|
|
6601
6947
|
getBadgeVariantClasses,
|
|
6948
|
+
getBarGradientPrefix,
|
|
6602
6949
|
getBarGrowAnimationStyle,
|
|
6950
|
+
getBarValueLabelY,
|
|
6603
6951
|
getBreadcrumbItemClasses,
|
|
6604
6952
|
getBreadcrumbLinkClasses,
|
|
6605
6953
|
getBreadcrumbSeparatorClasses,
|
|
@@ -6622,6 +6970,7 @@ export {
|
|
|
6622
6970
|
getCheckboxLabelClasses,
|
|
6623
6971
|
getCheckedKeysByStrategy,
|
|
6624
6972
|
getCircleSize,
|
|
6973
|
+
getColMergedStyleVars,
|
|
6625
6974
|
getColOrderStyleVars,
|
|
6626
6975
|
getColStyleVars,
|
|
6627
6976
|
getCollapseContainerClasses,
|
|
@@ -6631,6 +6980,7 @@ export {
|
|
|
6631
6980
|
getContainerClasses,
|
|
6632
6981
|
getContainerHeight,
|
|
6633
6982
|
getContainerScrollTop,
|
|
6983
|
+
getCropperHandleClasses,
|
|
6634
6984
|
getCurrentTime,
|
|
6635
6985
|
getDatePickerDayCellClasses,
|
|
6636
6986
|
getDatePickerIconButtonClasses,
|
|
@@ -6644,9 +6994,8 @@ export {
|
|
|
6644
6994
|
getDescriptionsLabelClasses,
|
|
6645
6995
|
getDescriptionsTableClasses,
|
|
6646
6996
|
getDescriptionsVerticalItemClasses,
|
|
6647
|
-
|
|
6648
|
-
|
|
6649
|
-
getDividerSpacingClasses,
|
|
6997
|
+
getDividerClasses,
|
|
6998
|
+
getDividerStyle,
|
|
6650
6999
|
getDragAreaClasses,
|
|
6651
7000
|
getDrawerBodyClasses,
|
|
6652
7001
|
getDrawerCloseButtonClasses,
|
|
@@ -6656,10 +7005,10 @@ export {
|
|
|
6656
7005
|
getDrawerMaskClasses,
|
|
6657
7006
|
getDrawerPanelClasses,
|
|
6658
7007
|
getDrawerTitleClasses,
|
|
7008
|
+
getDropdownChevronClasses,
|
|
6659
7009
|
getDropdownContainerClasses,
|
|
6660
7010
|
getDropdownItemClasses,
|
|
6661
7011
|
getDropdownMenuClasses,
|
|
6662
|
-
getDropdownMenuWrapperClasses,
|
|
6663
7012
|
getDropdownTriggerClasses,
|
|
6664
7013
|
getElementOffsetTop,
|
|
6665
7014
|
getErrorFields,
|
|
@@ -6671,14 +7020,16 @@ export {
|
|
|
6671
7020
|
getFocusTrapNavigation,
|
|
6672
7021
|
getFocusableElements,
|
|
6673
7022
|
getFormItemAsteriskClasses,
|
|
6674
|
-
getFormItemAsteriskStyle,
|
|
6675
7023
|
getFormItemClasses,
|
|
6676
7024
|
getFormItemContentClasses,
|
|
6677
7025
|
getFormItemErrorClasses,
|
|
6678
7026
|
getFormItemFieldClasses,
|
|
6679
7027
|
getFormItemLabelClasses,
|
|
7028
|
+
getFormWizardLabels,
|
|
6680
7029
|
getGridColumnClasses,
|
|
6681
7030
|
getGutterStyles,
|
|
7031
|
+
getImageImgClasses,
|
|
7032
|
+
getInitialCropRect,
|
|
6682
7033
|
getInitials,
|
|
6683
7034
|
getInputAffixClasses,
|
|
6684
7035
|
getInputClasses,
|
|
@@ -6686,6 +7037,7 @@ export {
|
|
|
6686
7037
|
getInputWrapperClasses,
|
|
6687
7038
|
getJustifyClasses,
|
|
6688
7039
|
getLeafKeys,
|
|
7040
|
+
getLineGradientPrefix,
|
|
6689
7041
|
getLinkVariantClasses,
|
|
6690
7042
|
getListClasses,
|
|
6691
7043
|
getListHeaderFooterClasses,
|
|
@@ -6697,6 +7049,7 @@ export {
|
|
|
6697
7049
|
getLoadingDotsWrapperClasses,
|
|
6698
7050
|
getLoadingOverlaySpinnerClasses,
|
|
6699
7051
|
getLoadingTextClasses,
|
|
7052
|
+
getMenuButtons,
|
|
6700
7053
|
getMenuClasses,
|
|
6701
7054
|
getMenuItemClasses,
|
|
6702
7055
|
getMenuItemIndent,
|
|
@@ -6748,10 +7101,12 @@ export {
|
|
|
6748
7101
|
getPopoverTitleClasses,
|
|
6749
7102
|
getPopoverTriggerClasses,
|
|
6750
7103
|
getPrevSlideIndex,
|
|
7104
|
+
getPreviewNavState,
|
|
6751
7105
|
getProgressTextColorClasses,
|
|
6752
7106
|
getProgressVariantClasses,
|
|
6753
7107
|
getQuickJumperInputClasses,
|
|
6754
7108
|
getRadarAngles,
|
|
7109
|
+
getRadarLabelAlign,
|
|
6755
7110
|
getRadarPoints,
|
|
6756
7111
|
getRadioColorClasses,
|
|
6757
7112
|
getRadioDotClasses,
|
|
@@ -6759,6 +7114,10 @@ export {
|
|
|
6759
7114
|
getRadioLabelClasses,
|
|
6760
7115
|
getRadioVisualClasses,
|
|
6761
7116
|
getRowKey,
|
|
7117
|
+
getScatterGradientPrefix,
|
|
7118
|
+
getScatterHoverShadow,
|
|
7119
|
+
getScatterHoverSize,
|
|
7120
|
+
getScatterPointPath,
|
|
6762
7121
|
getScrollTop,
|
|
6763
7122
|
getScrollTransform,
|
|
6764
7123
|
getSecureRel,
|
|
@@ -6775,15 +7134,15 @@ export {
|
|
|
6775
7134
|
getSimplePaginationPageIndicatorClasses,
|
|
6776
7135
|
getSimplePaginationSelectClasses,
|
|
6777
7136
|
getSimplePaginationTotalClasses,
|
|
7137
|
+
getSizeTextClasses,
|
|
6778
7138
|
getSkeletonClasses,
|
|
6779
7139
|
getSkeletonDimensions,
|
|
6780
7140
|
getSliderThumbClasses,
|
|
6781
7141
|
getSliderTooltipClasses,
|
|
6782
7142
|
getSliderTrackClasses,
|
|
6783
7143
|
getSortIconClasses,
|
|
6784
|
-
|
|
6785
|
-
|
|
6786
|
-
getSpaceGapSize,
|
|
7144
|
+
getSpaceClasses,
|
|
7145
|
+
getSpaceStyle,
|
|
6787
7146
|
getSpanClasses,
|
|
6788
7147
|
getSpinnerSVG,
|
|
6789
7148
|
getStatusVariant,
|
|
@@ -6810,6 +7169,7 @@ export {
|
|
|
6810
7169
|
getTableWrapperClasses,
|
|
6811
7170
|
getTabsContainerClasses,
|
|
6812
7171
|
getTagVariantClasses,
|
|
7172
|
+
getTextClasses,
|
|
6813
7173
|
getThemeColor,
|
|
6814
7174
|
getTimePeriodLabels,
|
|
6815
7175
|
getTimePickerIconButtonClasses,
|
|
@@ -6830,6 +7190,7 @@ export {
|
|
|
6830
7190
|
getTooltipTriggerClasses,
|
|
6831
7191
|
getTotalPages,
|
|
6832
7192
|
getTotalTextClasses,
|
|
7193
|
+
getTouchDistance,
|
|
6833
7194
|
getTransformOrigin,
|
|
6834
7195
|
getTreeNodeClasses,
|
|
6835
7196
|
getTreeNodeExpandIconClasses,
|
|
@@ -6849,7 +7210,31 @@ export {
|
|
|
6849
7210
|
icon24ViewBox,
|
|
6850
7211
|
iconSizeClasses,
|
|
6851
7212
|
iconSvgBaseClasses,
|
|
7213
|
+
iconSvgDefaultStrokeLinecap,
|
|
7214
|
+
iconSvgDefaultStrokeLinejoin,
|
|
7215
|
+
iconSvgDefaultStrokeWidth,
|
|
6852
7216
|
iconWrapperClasses,
|
|
7217
|
+
imageBaseClasses,
|
|
7218
|
+
imageCropperContainerClasses,
|
|
7219
|
+
imageCropperDragAreaClasses,
|
|
7220
|
+
imageCropperGuideClasses,
|
|
7221
|
+
imageCropperImgClasses,
|
|
7222
|
+
imageCropperMaskClasses,
|
|
7223
|
+
imageCropperSelectionClasses,
|
|
7224
|
+
imageErrorClasses,
|
|
7225
|
+
imageErrorIconPath,
|
|
7226
|
+
imageLoadingClasses,
|
|
7227
|
+
imagePreviewCloseBtnClasses,
|
|
7228
|
+
imagePreviewCounterClasses,
|
|
7229
|
+
imagePreviewCursorClass,
|
|
7230
|
+
imagePreviewImgClasses,
|
|
7231
|
+
imagePreviewMaskClasses,
|
|
7232
|
+
imagePreviewNavBtnClasses,
|
|
7233
|
+
imagePreviewToolbarBtnClasses,
|
|
7234
|
+
imagePreviewToolbarClasses,
|
|
7235
|
+
imagePreviewWrapperClasses,
|
|
7236
|
+
initRovingTabIndex,
|
|
7237
|
+
injectDropdownStyles,
|
|
6853
7238
|
injectLoadingAnimationStyles,
|
|
6854
7239
|
injectShakeStyle,
|
|
6855
7240
|
injectSvgAnimationStyles,
|
|
@@ -6880,6 +7265,7 @@ export {
|
|
|
6880
7265
|
layoutHeaderClasses,
|
|
6881
7266
|
layoutRootClasses,
|
|
6882
7267
|
layoutSidebarClasses,
|
|
7268
|
+
linePointTransitionClasses,
|
|
6883
7269
|
linkBaseClasses,
|
|
6884
7270
|
linkDisabledClasses,
|
|
6885
7271
|
linkSizeClasses,
|
|
@@ -6901,7 +7287,6 @@ export {
|
|
|
6901
7287
|
listItemSizeClasses,
|
|
6902
7288
|
listItemTitleClasses,
|
|
6903
7289
|
listLoadingOverlayClasses,
|
|
6904
|
-
listPaginationContainerClasses,
|
|
6905
7290
|
listSizeClasses,
|
|
6906
7291
|
listWrapperClasses,
|
|
6907
7292
|
loadingBarBaseClasses,
|
|
@@ -6939,12 +7324,8 @@ export {
|
|
|
6939
7324
|
messageCloseIconPath,
|
|
6940
7325
|
messageContainerBaseClasses,
|
|
6941
7326
|
messageContentClasses,
|
|
6942
|
-
messageEnterActiveClasses,
|
|
6943
|
-
messageEnterClasses,
|
|
6944
7327
|
messageIconClasses,
|
|
6945
7328
|
messageIconPaths,
|
|
6946
|
-
messageLeaveActiveClasses,
|
|
6947
|
-
messageLeaveClasses,
|
|
6948
7329
|
messageLoadingSpinnerClasses,
|
|
6949
7330
|
messagePositionClasses,
|
|
6950
7331
|
modalBodyClasses,
|
|
@@ -6956,9 +7337,13 @@ export {
|
|
|
6956
7337
|
modalSizeClasses,
|
|
6957
7338
|
modalTitleClasses,
|
|
6958
7339
|
modalWrapperClasses,
|
|
7340
|
+
moveCropRect,
|
|
7341
|
+
moveFocusInMenu,
|
|
7342
|
+
nextIconPath,
|
|
6959
7343
|
normalizeActiveKeys,
|
|
6960
7344
|
normalizeChartPadding,
|
|
6961
7345
|
normalizeDate,
|
|
7346
|
+
normalizeStringOption,
|
|
6962
7347
|
normalizeSvgAttrs,
|
|
6963
7348
|
notificationBaseClasses,
|
|
6964
7349
|
notificationCloseButtonClasses,
|
|
@@ -6973,6 +7358,7 @@ export {
|
|
|
6973
7358
|
notificationTitleClasses,
|
|
6974
7359
|
paginateData,
|
|
6975
7360
|
parseDate,
|
|
7361
|
+
parseInputValue,
|
|
6976
7362
|
parseTime,
|
|
6977
7363
|
parseWidthToPx,
|
|
6978
7364
|
polarToCartesian,
|
|
@@ -6986,6 +7372,8 @@ export {
|
|
|
6986
7372
|
popconfirmSuccessIconPath,
|
|
6987
7373
|
popconfirmWarningIconPath,
|
|
6988
7374
|
prepareUploadFiles,
|
|
7375
|
+
prevIconPath,
|
|
7376
|
+
previewCloseIconPath,
|
|
6989
7377
|
progressCircleBaseClasses,
|
|
6990
7378
|
progressCircleSizeClasses,
|
|
6991
7379
|
progressCircleTextClasses,
|
|
@@ -7008,8 +7396,19 @@ export {
|
|
|
7008
7396
|
radioSizeClasses,
|
|
7009
7397
|
radioVisualBaseClasses,
|
|
7010
7398
|
replaceKeys,
|
|
7399
|
+
resetAreaGradientCounter,
|
|
7400
|
+
resetBarGradientCounter,
|
|
7401
|
+
resetIconPath,
|
|
7402
|
+
resetLineGradientCounter,
|
|
7403
|
+
resetScatterGradientCounter,
|
|
7404
|
+
resizeCropRect,
|
|
7405
|
+
resolveChartPalette,
|
|
7406
|
+
resolveChartTooltipContent,
|
|
7011
7407
|
resolveLocaleText,
|
|
7408
|
+
resolveMultiSeriesTooltipContent,
|
|
7409
|
+
resolveSeriesData,
|
|
7012
7410
|
restoreFocus,
|
|
7411
|
+
scatterPointTransitionClasses,
|
|
7013
7412
|
scrollToAnchor,
|
|
7014
7413
|
scrollToTop,
|
|
7015
7414
|
selectBaseClasses,
|
|
@@ -7049,12 +7448,7 @@ export {
|
|
|
7049
7448
|
statusInfoIconPath,
|
|
7050
7449
|
statusSuccessIconPath,
|
|
7051
7450
|
statusWarningIconPath,
|
|
7052
|
-
|
|
7053
|
-
stepFinishIconPathStrokeLinecap,
|
|
7054
|
-
stepFinishIconPathStrokeLinejoin,
|
|
7055
|
-
stepFinishIconPathStrokeWidth,
|
|
7056
|
-
stepFinishIconSvgClasses,
|
|
7057
|
-
stepFinishIconViewBox,
|
|
7451
|
+
stepFinishChar,
|
|
7058
7452
|
submenuContentHorizontalClasses,
|
|
7059
7453
|
submenuContentInlineClasses,
|
|
7060
7454
|
submenuContentPopupClasses,
|
|
@@ -7081,6 +7475,7 @@ export {
|
|
|
7081
7475
|
tabItemLineClasses,
|
|
7082
7476
|
tabItemSizeClasses,
|
|
7083
7477
|
tabNavBaseClasses,
|
|
7478
|
+
tabNavLineBorderClasses,
|
|
7084
7479
|
tabNavListBaseClasses,
|
|
7085
7480
|
tabNavListCenteredClasses,
|
|
7086
7481
|
tabNavListPositionClasses,
|
|
@@ -7128,6 +7523,7 @@ export {
|
|
|
7128
7523
|
to12HourFormat,
|
|
7129
7524
|
to24HourFormat,
|
|
7130
7525
|
toActivityTimelineItems,
|
|
7526
|
+
toCSSSize,
|
|
7131
7527
|
toggleKey,
|
|
7132
7528
|
togglePanelKey,
|
|
7133
7529
|
treeBaseClasses,
|
|
@@ -7146,6 +7542,7 @@ export {
|
|
|
7146
7542
|
treeNodeLabelClasses,
|
|
7147
7543
|
treeNodeSelectedClasses,
|
|
7148
7544
|
treeNodeWrapperClasses,
|
|
7545
|
+
uploadPlusIconPath,
|
|
7149
7546
|
uploadStatusIconColorClasses,
|
|
7150
7547
|
uploadStatusIconSizeClasses,
|
|
7151
7548
|
validateCurrentPage,
|
|
@@ -7154,5 +7551,7 @@ export {
|
|
|
7154
7551
|
validateFileType,
|
|
7155
7552
|
validateForm,
|
|
7156
7553
|
validateRule,
|
|
7157
|
-
version
|
|
7554
|
+
version,
|
|
7555
|
+
zoomInIconPath,
|
|
7556
|
+
zoomOutIconPath
|
|
7158
7557
|
};
|