@expcat/tigercat-core 2.1.0 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{data-export-CJUETRjV.d.ts → data-export-BtjseC7G.d.ts} +1 -1
- package/dist/index.d.ts +459 -101
- package/dist/index.js +1128 -250
- package/dist/{locale-CEDXoKX7.d.ts → locale-CGl5S1-B.d.ts} +48 -1
- package/dist/locales/ar-SA.d.ts +1 -1
- package/dist/locales/ar-SA.js +82 -0
- package/dist/locales/de-DE.d.ts +1 -1
- package/dist/locales/de-DE.js +82 -0
- package/dist/locales/en-US.d.ts +1 -1
- package/dist/locales/en-US.js +41 -0
- package/dist/locales/es-ES.d.ts +1 -1
- package/dist/locales/es-ES.js +82 -0
- package/dist/locales/fr-FR.d.ts +1 -1
- package/dist/locales/fr-FR.js +82 -0
- package/dist/locales/id-ID.d.ts +1 -1
- package/dist/locales/id-ID.js +82 -0
- package/dist/locales/ja-JP.d.ts +1 -1
- package/dist/locales/ja-JP.js +82 -0
- package/dist/locales/ko-KR.d.ts +1 -1
- package/dist/locales/ko-KR.js +82 -0
- package/dist/locales/pt-BR.d.ts +1 -1
- package/dist/locales/pt-BR.js +82 -0
- package/dist/locales/th-TH.d.ts +1 -1
- package/dist/locales/th-TH.js +82 -0
- package/dist/locales/vi-VN.d.ts +1 -1
- package/dist/locales/vi-VN.js +82 -0
- package/dist/locales/zh-CN.d.ts +1 -1
- package/dist/locales/zh-CN.js +41 -0
- package/dist/locales/zh-TW.d.ts +1 -1
- package/dist/locales/zh-TW.js +82 -0
- package/dist/{table-CbPOY5bp.d.ts → table-D_1D4Euk.d.ts} +1 -1
- package/dist/tailwind/modern.js +25 -14
- package/dist/{tailwind-entry-CNBAH7iv.d.ts → tailwind-entry-nnuviNxx.d.ts} +1 -1
- package/dist/tailwind.d.ts +1 -1
- package/dist/tailwind.js +23 -12
- package/dist/utils/data-export.d.ts +3 -3
- package/dist/utils/table-export.d.ts +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1496,6 +1496,11 @@ var TIGER_LOCALE_KEYS = [
|
|
|
1496
1496
|
"imageEditor",
|
|
1497
1497
|
"status",
|
|
1498
1498
|
"taskBoard",
|
|
1499
|
+
"chatWindow",
|
|
1500
|
+
"code",
|
|
1501
|
+
"commentThread",
|
|
1502
|
+
"activityFeed",
|
|
1503
|
+
"notificationCenter",
|
|
1499
1504
|
"select",
|
|
1500
1505
|
"tabs",
|
|
1501
1506
|
"rate",
|
|
@@ -1565,6 +1570,11 @@ function mergeTigerLocale(base, override) {
|
|
|
1565
1570
|
imageEditor: { ...base?.imageEditor, ...override?.imageEditor },
|
|
1566
1571
|
status: { ...base?.status, ...override?.status },
|
|
1567
1572
|
taskBoard: { ...base?.taskBoard, ...override?.taskBoard },
|
|
1573
|
+
chatWindow: { ...base?.chatWindow, ...override?.chatWindow },
|
|
1574
|
+
code: { ...base?.code, ...override?.code },
|
|
1575
|
+
commentThread: { ...base?.commentThread, ...override?.commentThread },
|
|
1576
|
+
activityFeed: { ...base?.activityFeed, ...override?.activityFeed },
|
|
1577
|
+
notificationCenter: { ...base?.notificationCenter, ...override?.notificationCenter },
|
|
1568
1578
|
select: { ...base?.select, ...override?.select },
|
|
1569
1579
|
tabs: { ...base?.tabs, ...override?.tabs },
|
|
1570
1580
|
rate: { ...base?.rate, ...override?.rate },
|
|
@@ -1868,6 +1878,149 @@ function getTaskBoardLabels(locale, overrides) {
|
|
|
1868
1878
|
boardAriaLabel: overrides?.boardAriaLabel ?? locale?.taskBoard?.boardAriaLabel ?? defaultLabels.boardAriaLabel
|
|
1869
1879
|
};
|
|
1870
1880
|
}
|
|
1881
|
+
var DEFAULT_CHAT_WINDOW_LABELS = {
|
|
1882
|
+
emptyText: "No messages",
|
|
1883
|
+
sendText: "Send",
|
|
1884
|
+
placeholder: "Type a message",
|
|
1885
|
+
sendingText: "Sending",
|
|
1886
|
+
sentText: "Delivered",
|
|
1887
|
+
failedText: "Failed to send"
|
|
1888
|
+
};
|
|
1889
|
+
var ZH_CN_CHAT_WINDOW_LABELS = {
|
|
1890
|
+
emptyText: "\u6682\u65E0\u6D88\u606F",
|
|
1891
|
+
sendText: "\u53D1\u9001",
|
|
1892
|
+
placeholder: "\u8BF7\u8F93\u5165\u6D88\u606F",
|
|
1893
|
+
sendingText: "\u53D1\u9001\u4E2D",
|
|
1894
|
+
sentText: "\u5DF2\u9001\u8FBE",
|
|
1895
|
+
failedText: "\u53D1\u9001\u5931\u8D25"
|
|
1896
|
+
};
|
|
1897
|
+
function getChatWindowLabels(locale, overrides) {
|
|
1898
|
+
const isZh = locale?.locale?.startsWith("zh");
|
|
1899
|
+
const defaultLabels = isZh ? ZH_CN_CHAT_WINDOW_LABELS : DEFAULT_CHAT_WINDOW_LABELS;
|
|
1900
|
+
return {
|
|
1901
|
+
emptyText: overrides?.emptyText ?? locale?.chatWindow?.emptyText ?? defaultLabels.emptyText,
|
|
1902
|
+
sendText: overrides?.sendText ?? locale?.chatWindow?.sendText ?? defaultLabels.sendText,
|
|
1903
|
+
placeholder: overrides?.placeholder ?? locale?.chatWindow?.placeholder ?? defaultLabels.placeholder,
|
|
1904
|
+
sendingText: overrides?.sendingText ?? locale?.chatWindow?.sendingText ?? defaultLabels.sendingText,
|
|
1905
|
+
sentText: overrides?.sentText ?? locale?.chatWindow?.sentText ?? defaultLabels.sentText,
|
|
1906
|
+
failedText: overrides?.failedText ?? locale?.chatWindow?.failedText ?? defaultLabels.failedText
|
|
1907
|
+
};
|
|
1908
|
+
}
|
|
1909
|
+
var DEFAULT_CODE_LABELS = {
|
|
1910
|
+
copyLabel: "Copy",
|
|
1911
|
+
copiedLabel: "Copied",
|
|
1912
|
+
copyFailedLabel: "Copy failed"
|
|
1913
|
+
};
|
|
1914
|
+
var ZH_CN_CODE_LABELS = {
|
|
1915
|
+
copyLabel: "\u590D\u5236",
|
|
1916
|
+
copiedLabel: "\u5DF2\u590D\u5236",
|
|
1917
|
+
copyFailedLabel: "\u590D\u5236\u5931\u8D25"
|
|
1918
|
+
};
|
|
1919
|
+
function getCodeLabels(locale, overrides) {
|
|
1920
|
+
const isZh = locale?.locale?.startsWith("zh");
|
|
1921
|
+
const defaultLabels = isZh ? ZH_CN_CODE_LABELS : DEFAULT_CODE_LABELS;
|
|
1922
|
+
return {
|
|
1923
|
+
copyLabel: overrides?.copyLabel ?? locale?.code?.copyLabel ?? defaultLabels.copyLabel,
|
|
1924
|
+
copiedLabel: overrides?.copiedLabel ?? locale?.code?.copiedLabel ?? defaultLabels.copiedLabel,
|
|
1925
|
+
copyFailedLabel: overrides?.copyFailedLabel ?? locale?.code?.copyFailedLabel ?? defaultLabels.copyFailedLabel
|
|
1926
|
+
};
|
|
1927
|
+
}
|
|
1928
|
+
var DEFAULT_COMMENT_THREAD_LABELS = {
|
|
1929
|
+
emptyText: "No comments",
|
|
1930
|
+
replyPlaceholder: "Write a reply...",
|
|
1931
|
+
replyButtonText: "Reply",
|
|
1932
|
+
cancelReplyText: "Cancel",
|
|
1933
|
+
likeText: "Like",
|
|
1934
|
+
likedText: "Liked",
|
|
1935
|
+
replyText: "Reply",
|
|
1936
|
+
moreText: "More",
|
|
1937
|
+
loadMoreText: "Load more",
|
|
1938
|
+
collapseRepliesText: "\u25BE Collapse replies",
|
|
1939
|
+
expandRepliesText: "\u25B8 Expand {count} replies"
|
|
1940
|
+
};
|
|
1941
|
+
var ZH_CN_COMMENT_THREAD_LABELS = {
|
|
1942
|
+
emptyText: "\u6682\u65E0\u8BC4\u8BBA",
|
|
1943
|
+
replyPlaceholder: "\u5199\u4E0B\u56DE\u590D...",
|
|
1944
|
+
replyButtonText: "\u56DE\u590D",
|
|
1945
|
+
cancelReplyText: "\u53D6\u6D88",
|
|
1946
|
+
likeText: "\u70B9\u8D5E",
|
|
1947
|
+
likedText: "\u5DF2\u8D5E",
|
|
1948
|
+
replyText: "\u56DE\u590D",
|
|
1949
|
+
moreText: "\u66F4\u591A",
|
|
1950
|
+
loadMoreText: "\u52A0\u8F7D\u66F4\u591A",
|
|
1951
|
+
collapseRepliesText: "\u25BE \u6536\u8D77\u56DE\u590D",
|
|
1952
|
+
expandRepliesText: "\u25B8 \u5C55\u5F00 {count} \u6761\u56DE\u590D"
|
|
1953
|
+
};
|
|
1954
|
+
function getCommentThreadLabels(locale, overrides) {
|
|
1955
|
+
const isZh = locale?.locale?.startsWith("zh");
|
|
1956
|
+
const defaultLabels = isZh ? ZH_CN_COMMENT_THREAD_LABELS : DEFAULT_COMMENT_THREAD_LABELS;
|
|
1957
|
+
return {
|
|
1958
|
+
emptyText: overrides?.emptyText ?? locale?.commentThread?.emptyText ?? defaultLabels.emptyText,
|
|
1959
|
+
replyPlaceholder: overrides?.replyPlaceholder ?? locale?.commentThread?.replyPlaceholder ?? defaultLabels.replyPlaceholder,
|
|
1960
|
+
replyButtonText: overrides?.replyButtonText ?? locale?.commentThread?.replyButtonText ?? defaultLabels.replyButtonText,
|
|
1961
|
+
cancelReplyText: overrides?.cancelReplyText ?? locale?.commentThread?.cancelReplyText ?? defaultLabels.cancelReplyText,
|
|
1962
|
+
likeText: overrides?.likeText ?? locale?.commentThread?.likeText ?? defaultLabels.likeText,
|
|
1963
|
+
likedText: overrides?.likedText ?? locale?.commentThread?.likedText ?? defaultLabels.likedText,
|
|
1964
|
+
replyText: overrides?.replyText ?? locale?.commentThread?.replyText ?? defaultLabels.replyText,
|
|
1965
|
+
moreText: overrides?.moreText ?? locale?.commentThread?.moreText ?? defaultLabels.moreText,
|
|
1966
|
+
loadMoreText: overrides?.loadMoreText ?? locale?.commentThread?.loadMoreText ?? defaultLabels.loadMoreText,
|
|
1967
|
+
collapseRepliesText: overrides?.collapseRepliesText ?? locale?.commentThread?.collapseRepliesText ?? defaultLabels.collapseRepliesText,
|
|
1968
|
+
expandRepliesText: overrides?.expandRepliesText ?? locale?.commentThread?.expandRepliesText ?? defaultLabels.expandRepliesText
|
|
1969
|
+
};
|
|
1970
|
+
}
|
|
1971
|
+
var DEFAULT_ACTIVITY_FEED_LABELS = {
|
|
1972
|
+
emptyText: "No activity",
|
|
1973
|
+
loadingText: "Loading..."
|
|
1974
|
+
};
|
|
1975
|
+
var ZH_CN_ACTIVITY_FEED_LABELS = {
|
|
1976
|
+
emptyText: "\u6682\u65E0\u52A8\u6001",
|
|
1977
|
+
loadingText: "\u52A0\u8F7D\u4E2D..."
|
|
1978
|
+
};
|
|
1979
|
+
function getActivityFeedLabels(locale, overrides) {
|
|
1980
|
+
const isZh = locale?.locale?.startsWith("zh");
|
|
1981
|
+
const defaultLabels = isZh ? ZH_CN_ACTIVITY_FEED_LABELS : DEFAULT_ACTIVITY_FEED_LABELS;
|
|
1982
|
+
return {
|
|
1983
|
+
emptyText: overrides?.emptyText ?? locale?.activityFeed?.emptyText ?? defaultLabels.emptyText,
|
|
1984
|
+
loadingText: overrides?.loadingText ?? locale?.activityFeed?.loadingText ?? defaultLabels.loadingText
|
|
1985
|
+
};
|
|
1986
|
+
}
|
|
1987
|
+
var DEFAULT_NOTIFICATION_CENTER_LABELS = {
|
|
1988
|
+
title: "Notifications",
|
|
1989
|
+
emptyText: "No notifications",
|
|
1990
|
+
loadingText: "Loading...",
|
|
1991
|
+
allLabel: "All",
|
|
1992
|
+
unreadLabel: "Unread",
|
|
1993
|
+
readLabel: "Read",
|
|
1994
|
+
markAllReadText: "Mark all as read",
|
|
1995
|
+
markReadText: "Mark as read",
|
|
1996
|
+
markUnreadText: "Mark as unread"
|
|
1997
|
+
};
|
|
1998
|
+
var ZH_CN_NOTIFICATION_CENTER_LABELS = {
|
|
1999
|
+
title: "\u901A\u77E5\u4E2D\u5FC3",
|
|
2000
|
+
emptyText: "\u6682\u65E0\u901A\u77E5",
|
|
2001
|
+
loadingText: "\u52A0\u8F7D\u4E2D...",
|
|
2002
|
+
allLabel: "\u5168\u90E8",
|
|
2003
|
+
unreadLabel: "\u672A\u8BFB",
|
|
2004
|
+
readLabel: "\u5DF2\u8BFB",
|
|
2005
|
+
markAllReadText: "\u5168\u90E8\u6807\u8BB0\u5DF2\u8BFB",
|
|
2006
|
+
markReadText: "\u6807\u8BB0\u5DF2\u8BFB",
|
|
2007
|
+
markUnreadText: "\u6807\u8BB0\u672A\u8BFB"
|
|
2008
|
+
};
|
|
2009
|
+
function getNotificationCenterLabels(locale, overrides) {
|
|
2010
|
+
const isZh = locale?.locale?.startsWith("zh");
|
|
2011
|
+
const defaultLabels = isZh ? ZH_CN_NOTIFICATION_CENTER_LABELS : DEFAULT_NOTIFICATION_CENTER_LABELS;
|
|
2012
|
+
return {
|
|
2013
|
+
title: overrides?.title ?? locale?.notificationCenter?.title ?? defaultLabels.title,
|
|
2014
|
+
emptyText: overrides?.emptyText ?? locale?.notificationCenter?.emptyText ?? defaultLabels.emptyText,
|
|
2015
|
+
loadingText: overrides?.loadingText ?? locale?.notificationCenter?.loadingText ?? defaultLabels.loadingText,
|
|
2016
|
+
allLabel: overrides?.allLabel ?? locale?.notificationCenter?.allLabel ?? defaultLabels.allLabel,
|
|
2017
|
+
unreadLabel: overrides?.unreadLabel ?? locale?.notificationCenter?.unreadLabel ?? defaultLabels.unreadLabel,
|
|
2018
|
+
readLabel: overrides?.readLabel ?? locale?.notificationCenter?.readLabel ?? defaultLabels.readLabel,
|
|
2019
|
+
markAllReadText: overrides?.markAllReadText ?? locale?.notificationCenter?.markAllReadText ?? defaultLabels.markAllReadText,
|
|
2020
|
+
markReadText: overrides?.markReadText ?? locale?.notificationCenter?.markReadText ?? defaultLabels.markReadText,
|
|
2021
|
+
markUnreadText: overrides?.markUnreadText ?? locale?.notificationCenter?.markUnreadText ?? defaultLabels.markUnreadText
|
|
2022
|
+
};
|
|
2023
|
+
}
|
|
1871
2024
|
var DEFAULT_SELECT_LABELS = {
|
|
1872
2025
|
doneText: "Done"
|
|
1873
2026
|
};
|
|
@@ -3066,6 +3219,47 @@ var enUS = {
|
|
|
3066
3219
|
dragHintText: "Drag to move",
|
|
3067
3220
|
boardAriaLabel: "Task Board"
|
|
3068
3221
|
},
|
|
3222
|
+
chatWindow: {
|
|
3223
|
+
emptyText: "No messages",
|
|
3224
|
+
sendText: "Send",
|
|
3225
|
+
placeholder: "Type a message",
|
|
3226
|
+
sendingText: "Sending",
|
|
3227
|
+
sentText: "Delivered",
|
|
3228
|
+
failedText: "Failed to send"
|
|
3229
|
+
},
|
|
3230
|
+
code: {
|
|
3231
|
+
copyLabel: "Copy",
|
|
3232
|
+
copiedLabel: "Copied",
|
|
3233
|
+
copyFailedLabel: "Copy failed"
|
|
3234
|
+
},
|
|
3235
|
+
commentThread: {
|
|
3236
|
+
emptyText: "No comments",
|
|
3237
|
+
replyPlaceholder: "Write a reply...",
|
|
3238
|
+
replyButtonText: "Reply",
|
|
3239
|
+
cancelReplyText: "Cancel",
|
|
3240
|
+
likeText: "Like",
|
|
3241
|
+
likedText: "Liked",
|
|
3242
|
+
replyText: "Reply",
|
|
3243
|
+
moreText: "More",
|
|
3244
|
+
loadMoreText: "Load more",
|
|
3245
|
+
collapseRepliesText: "\u25BE Collapse replies",
|
|
3246
|
+
expandRepliesText: "\u25B8 Expand {count} replies"
|
|
3247
|
+
},
|
|
3248
|
+
activityFeed: {
|
|
3249
|
+
emptyText: "No activity",
|
|
3250
|
+
loadingText: "Loading..."
|
|
3251
|
+
},
|
|
3252
|
+
notificationCenter: {
|
|
3253
|
+
title: "Notifications",
|
|
3254
|
+
emptyText: "No notifications",
|
|
3255
|
+
loadingText: "Loading...",
|
|
3256
|
+
allLabel: "All",
|
|
3257
|
+
unreadLabel: "Unread",
|
|
3258
|
+
readLabel: "Read",
|
|
3259
|
+
markAllReadText: "Mark all as read",
|
|
3260
|
+
markReadText: "Mark as read",
|
|
3261
|
+
markUnreadText: "Mark as unread"
|
|
3262
|
+
},
|
|
3069
3263
|
select: {
|
|
3070
3264
|
doneText: "Done"
|
|
3071
3265
|
},
|
|
@@ -3253,53 +3447,128 @@ var buttonDangerClasses = {
|
|
|
3253
3447
|
var buttonGroupBaseClasses = "inline-flex";
|
|
3254
3448
|
var buttonGroupVerticalClasses = "flex-col";
|
|
3255
3449
|
var buttonGroupHorizontalClasses = "flex-row";
|
|
3256
|
-
var buttonGroupItemClasses = "[
|
|
3257
|
-
var buttonGroupItemVerticalClasses = "[
|
|
3450
|
+
var buttonGroupItemClasses = "[&>*:not(:first-child):not(:last-child)]:!rounded-none [&>*:first-child]:!rounded-r-none [&>*:last-child]:!rounded-l-none [&>*:not(:first-child)]:-ml-px [&>*:focus]:z-10 [&>*:focus]:relative";
|
|
3451
|
+
var buttonGroupItemVerticalClasses = "[&>*:not(:first-child):not(:last-child)]:!rounded-none [&>*:first-child]:!rounded-b-none [&>*:last-child]:!rounded-t-none [&>*:not(:first-child)]:-mt-px [&>*:focus]:z-10 [&>*:focus]:relative";
|
|
3258
3452
|
|
|
3259
3453
|
// src/utils/input-styles.ts
|
|
3260
|
-
var
|
|
3454
|
+
var INPUT_FIELD_BASE_CLASSES = [
|
|
3261
3455
|
"w-full",
|
|
3262
|
-
"
|
|
3263
|
-
"rounded-[var(--tiger-radius-md,0.5rem)]",
|
|
3264
|
-
"bg-[var(--tiger-surface,#ffffff)]",
|
|
3456
|
+
"bg-transparent",
|
|
3265
3457
|
"text-[var(--tiger-text,#111827)]",
|
|
3266
3458
|
"focus:outline-none",
|
|
3267
|
-
"focus:ring-2",
|
|
3268
|
-
"transition-colors",
|
|
3269
|
-
"disabled:bg-[var(--tiger-surface-muted,#f3f4f6)]",
|
|
3270
3459
|
"disabled:text-[var(--tiger-text-muted,#6b7280)]",
|
|
3271
3460
|
"disabled:cursor-not-allowed",
|
|
3272
3461
|
"placeholder:text-[var(--tiger-text-muted,#6b7280)]"
|
|
3273
3462
|
];
|
|
3274
|
-
var
|
|
3463
|
+
var INPUT_CHROME_BASE_CLASSES = [
|
|
3464
|
+
"border",
|
|
3465
|
+
"rounded-[var(--tiger-radius-md,0.5rem)]",
|
|
3466
|
+
"bg-[var(--tiger-surface,#ffffff)]",
|
|
3467
|
+
"transition-colors"
|
|
3468
|
+
];
|
|
3469
|
+
var NATIVE_CHROME_FOCUS_CLASSES = [
|
|
3470
|
+
"focus:ring-2",
|
|
3471
|
+
"disabled:bg-[var(--tiger-surface-muted,#f3f4f6)]"
|
|
3472
|
+
];
|
|
3473
|
+
var WRAPPER_CHROME_FOCUS_CLASSES = [
|
|
3474
|
+
"focus-within:ring-2",
|
|
3475
|
+
"has-[:disabled]:bg-[var(--tiger-surface-muted,#f3f4f6)]"
|
|
3476
|
+
];
|
|
3477
|
+
var NATIVE_STATUS_CLASSES = {
|
|
3275
3478
|
default: "border-[var(--tiger-border,#e5e7eb)] focus:ring-[var(--tiger-primary,#2563eb)]/40 focus:border-transparent",
|
|
3276
3479
|
error: "border-red-500 focus:ring-red-500 focus:border-red-500 text-red-900 placeholder-red-300",
|
|
3277
3480
|
success: "border-green-500 focus:ring-green-500 focus:border-green-500 text-green-900 placeholder-green-300",
|
|
3278
3481
|
warning: "border-yellow-500 focus:ring-yellow-500 focus:border-yellow-500 text-yellow-900 placeholder-yellow-300"
|
|
3279
3482
|
};
|
|
3483
|
+
var WRAPPER_STATUS_CLASSES = {
|
|
3484
|
+
default: "border-[var(--tiger-border,#e5e7eb)] focus-within:ring-[var(--tiger-primary,#2563eb)]/40 focus-within:border-transparent",
|
|
3485
|
+
error: "border-red-500 focus-within:ring-red-500 focus-within:border-red-500",
|
|
3486
|
+
success: "border-green-500 focus-within:ring-green-500 focus-within:border-green-500",
|
|
3487
|
+
warning: "border-yellow-500 focus-within:ring-yellow-500 focus-within:border-yellow-500"
|
|
3488
|
+
};
|
|
3489
|
+
var FIELD_STATUS_CLASSES = {
|
|
3490
|
+
default: "",
|
|
3491
|
+
error: "text-red-900 placeholder-red-300",
|
|
3492
|
+
success: "text-green-900 placeholder-green-300",
|
|
3493
|
+
warning: "text-yellow-900 placeholder-yellow-300"
|
|
3494
|
+
};
|
|
3280
3495
|
var INPUT_SIZE_CLASSES = {
|
|
3281
3496
|
sm: "py-1 text-sm",
|
|
3282
3497
|
md: "py-2 text-base",
|
|
3283
3498
|
lg: "py-3 text-lg"
|
|
3284
3499
|
};
|
|
3285
3500
|
var INPUT_PADDING = {
|
|
3286
|
-
sm: {
|
|
3287
|
-
|
|
3288
|
-
|
|
3501
|
+
sm: {
|
|
3502
|
+
left: "pl-2",
|
|
3503
|
+
right: "pr-2",
|
|
3504
|
+
prefixLeft: "pl-8",
|
|
3505
|
+
suffixRight: "pr-8",
|
|
3506
|
+
dualSuffixRight: "pr-16"
|
|
3507
|
+
},
|
|
3508
|
+
md: {
|
|
3509
|
+
left: "pl-3",
|
|
3510
|
+
right: "pr-3",
|
|
3511
|
+
prefixLeft: "pl-10",
|
|
3512
|
+
suffixRight: "pr-10",
|
|
3513
|
+
dualSuffixRight: "pr-20"
|
|
3514
|
+
},
|
|
3515
|
+
lg: {
|
|
3516
|
+
left: "pl-4",
|
|
3517
|
+
right: "pr-4",
|
|
3518
|
+
prefixLeft: "pl-12",
|
|
3519
|
+
suffixRight: "pr-12",
|
|
3520
|
+
dualSuffixRight: "pr-24"
|
|
3521
|
+
}
|
|
3289
3522
|
};
|
|
3290
|
-
|
|
3291
|
-
|
|
3523
|
+
var INPUT_SUFFIX_SLOT_INSET = {
|
|
3524
|
+
sm: "right-8",
|
|
3525
|
+
md: "right-10",
|
|
3526
|
+
lg: "right-12"
|
|
3527
|
+
};
|
|
3528
|
+
function getInputLayoutClasses(options = {}) {
|
|
3529
|
+
const { size: size2 = "md", hasPrefix, hasSuffix, hasDualSuffix } = options;
|
|
3292
3530
|
const pad = INPUT_PADDING[size2];
|
|
3293
3531
|
return classNames(
|
|
3294
|
-
...BASE_INPUT_CLASSES,
|
|
3295
3532
|
INPUT_SIZE_CLASSES[size2],
|
|
3296
|
-
STATUS_CLASSES[status],
|
|
3297
3533
|
hasPrefix ? pad.prefixLeft : pad.left,
|
|
3298
|
-
hasSuffix ? pad.suffixRight : pad.right
|
|
3534
|
+
hasDualSuffix ? pad.dualSuffixRight : hasSuffix ? pad.suffixRight : pad.right
|
|
3535
|
+
);
|
|
3536
|
+
}
|
|
3537
|
+
function getInputChromeClasses(status = "default") {
|
|
3538
|
+
return classNames(
|
|
3539
|
+
...INPUT_CHROME_BASE_CLASSES,
|
|
3540
|
+
...WRAPPER_CHROME_FOCUS_CLASSES,
|
|
3541
|
+
WRAPPER_STATUS_CLASSES[status]
|
|
3542
|
+
);
|
|
3543
|
+
}
|
|
3544
|
+
function getInputFieldClasses(options = {}) {
|
|
3545
|
+
const { status = "default" } = options;
|
|
3546
|
+
return classNames(
|
|
3547
|
+
...INPUT_FIELD_BASE_CLASSES,
|
|
3548
|
+
FIELD_STATUS_CLASSES[status],
|
|
3549
|
+
getInputLayoutClasses(options)
|
|
3550
|
+
);
|
|
3551
|
+
}
|
|
3552
|
+
function getInputClasses(options = {}) {
|
|
3553
|
+
const { status = "default" } = options;
|
|
3554
|
+
return classNames(
|
|
3555
|
+
"w-full",
|
|
3556
|
+
...INPUT_CHROME_BASE_CLASSES,
|
|
3557
|
+
"text-[var(--tiger-text,#111827)]",
|
|
3558
|
+
"focus:outline-none",
|
|
3559
|
+
...NATIVE_CHROME_FOCUS_CLASSES,
|
|
3560
|
+
"disabled:text-[var(--tiger-text-muted,#6b7280)]",
|
|
3561
|
+
"disabled:cursor-not-allowed",
|
|
3562
|
+
"placeholder:text-[var(--tiger-text-muted,#6b7280)]",
|
|
3563
|
+
NATIVE_STATUS_CLASSES[status],
|
|
3564
|
+
getInputLayoutClasses(options)
|
|
3299
3565
|
);
|
|
3300
3566
|
}
|
|
3301
|
-
function getInputWrapperClasses() {
|
|
3302
|
-
return
|
|
3567
|
+
function getInputWrapperClasses(status) {
|
|
3568
|
+
return classNames(
|
|
3569
|
+
"relative w-full",
|
|
3570
|
+
status !== void 0 ? getInputChromeClasses(status) : void 0
|
|
3571
|
+
);
|
|
3303
3572
|
}
|
|
3304
3573
|
function getInputAffixClasses(position, size2 = "md") {
|
|
3305
3574
|
const base = "absolute top-0 bottom-0 flex items-center justify-center text-gray-500";
|
|
@@ -3311,26 +3580,23 @@ function getInputAffixClasses(position, size2 = "md") {
|
|
|
3311
3580
|
}[size2];
|
|
3312
3581
|
return classNames(base, posClass, widthClass);
|
|
3313
3582
|
}
|
|
3314
|
-
function getInputErrorClasses(
|
|
3315
|
-
return classNames(
|
|
3316
|
-
"absolute inset-y-0 right-0 flex items-center pointer-events-none",
|
|
3317
|
-
INPUT_PADDING[size2].right,
|
|
3318
|
-
"text-red-500 text-sm"
|
|
3319
|
-
);
|
|
3583
|
+
function getInputErrorClasses(_size = "md") {
|
|
3584
|
+
return classNames("text-red-500 text-sm mt-1 text-left break-words");
|
|
3320
3585
|
}
|
|
3321
|
-
function
|
|
3586
|
+
function getInputTrailingButtonClasses(size2, rightClass) {
|
|
3322
3587
|
return classNames(
|
|
3323
|
-
"absolute inset-y-0
|
|
3588
|
+
"absolute inset-y-0 flex items-center cursor-pointer",
|
|
3589
|
+
rightClass,
|
|
3324
3590
|
"text-[var(--tiger-text-muted,#6b7280)] hover:text-[var(--tiger-text,#111827)]",
|
|
3325
3591
|
INPUT_PADDING[size2].right
|
|
3326
3592
|
);
|
|
3327
3593
|
}
|
|
3594
|
+
function getInputClearButtonClasses(size2 = "md", options = {}) {
|
|
3595
|
+
const rightClass = options.offset ? INPUT_SUFFIX_SLOT_INSET[size2] : "right-0";
|
|
3596
|
+
return getInputTrailingButtonClasses(size2, rightClass);
|
|
3597
|
+
}
|
|
3328
3598
|
function getInputPasswordToggleClasses(size2 = "md") {
|
|
3329
|
-
return
|
|
3330
|
-
"absolute inset-y-0 right-0 flex items-center cursor-pointer",
|
|
3331
|
-
"text-[var(--tiger-text-muted,#6b7280)] hover:text-[var(--tiger-text,#111827)]",
|
|
3332
|
-
INPUT_PADDING[size2].right
|
|
3333
|
-
);
|
|
3599
|
+
return getInputTrailingButtonClasses(size2, "right-0");
|
|
3334
3600
|
}
|
|
3335
3601
|
function getInputCountClasses(isOverLimit = false) {
|
|
3336
3602
|
return classNames(
|
|
@@ -3355,7 +3621,7 @@ function getInputNumberWrapperClasses(disabled) {
|
|
|
3355
3621
|
disabled ? "bg-[var(--tiger-surface-muted,#f3f4f6)] cursor-not-allowed opacity-60" : "hover:border-[var(--tiger-primary,#2563eb)]"
|
|
3356
3622
|
);
|
|
3357
3623
|
}
|
|
3358
|
-
var
|
|
3624
|
+
var WRAPPER_STATUS_CLASSES2 = {
|
|
3359
3625
|
default: "border-[var(--tiger-border,#e5e7eb)]",
|
|
3360
3626
|
error: "border-red-500",
|
|
3361
3627
|
success: "border-green-500",
|
|
@@ -3368,7 +3634,7 @@ var WRAPPER_FOCUS_STATUS_CLASSES = {
|
|
|
3368
3634
|
warning: "ring-yellow-500"
|
|
3369
3635
|
};
|
|
3370
3636
|
function getInputNumberStatusClasses(status = "default") {
|
|
3371
|
-
return
|
|
3637
|
+
return WRAPPER_STATUS_CLASSES2[status];
|
|
3372
3638
|
}
|
|
3373
3639
|
function getInputNumberFocusRingColor(status = "default") {
|
|
3374
3640
|
return WRAPPER_FOCUS_STATUS_CLASSES[status];
|
|
@@ -4115,11 +4381,26 @@ var radioGroupDefaultClasses = "space-y-2";
|
|
|
4115
4381
|
var getRadioGroupClasses = ({ className } = {}) => classNames(className, !className && radioGroupDefaultClasses);
|
|
4116
4382
|
|
|
4117
4383
|
// src/utils/date-utils.ts
|
|
4384
|
+
var DATE_ONLY_ISO_RE = /^\s*(\d{4})-(\d{2})-(\d{2})\s*$/;
|
|
4385
|
+
function parseDateOnlyLocal(value) {
|
|
4386
|
+
const match = DATE_ONLY_ISO_RE.exec(value);
|
|
4387
|
+
if (!match) return void 0;
|
|
4388
|
+
const year = Number(match[1]);
|
|
4389
|
+
const month = Number(match[2]);
|
|
4390
|
+
const day = Number(match[3]);
|
|
4391
|
+
const local = new Date(year, month - 1, day);
|
|
4392
|
+
if (local.getFullYear() !== year || local.getMonth() !== month - 1 || local.getDate() !== day) {
|
|
4393
|
+
return null;
|
|
4394
|
+
}
|
|
4395
|
+
return local;
|
|
4396
|
+
}
|
|
4118
4397
|
function parseDate(value) {
|
|
4119
4398
|
if (!value) return null;
|
|
4120
4399
|
if (value instanceof Date) {
|
|
4121
4400
|
return isNaN(value.getTime()) ? null : value;
|
|
4122
4401
|
}
|
|
4402
|
+
const dateOnly = parseDateOnlyLocal(value);
|
|
4403
|
+
if (dateOnly !== void 0) return dateOnly;
|
|
4123
4404
|
const parsed = new Date(value);
|
|
4124
4405
|
return isNaN(parsed.getTime()) ? null : parsed;
|
|
4125
4406
|
}
|
|
@@ -4908,7 +5189,7 @@ function getUploadButtonClasses(disabled) {
|
|
|
4908
5189
|
"px-4",
|
|
4909
5190
|
"py-2",
|
|
4910
5191
|
"border",
|
|
4911
|
-
"border-
|
|
5192
|
+
"border-[var(--tiger-border,#d1d5db)]",
|
|
4912
5193
|
"rounded-[var(--tiger-radius-md,0.5rem)]",
|
|
4913
5194
|
"text-sm",
|
|
4914
5195
|
"font-medium",
|
|
@@ -4916,7 +5197,7 @@ function getUploadButtonClasses(disabled) {
|
|
|
4916
5197
|
"duration-200"
|
|
4917
5198
|
];
|
|
4918
5199
|
const stateClasses = disabled ? ["bg-gray-100", "text-gray-400", "cursor-not-allowed"] : [
|
|
4919
|
-
"bg-
|
|
5200
|
+
"bg-[var(--tiger-surface,#ffffff)]",
|
|
4920
5201
|
"text-gray-700",
|
|
4921
5202
|
"hover:bg-gray-50",
|
|
4922
5203
|
"focus:outline-none",
|
|
@@ -4960,7 +5241,7 @@ function getDragAreaClasses(isDragging, disabled) {
|
|
|
4960
5241
|
];
|
|
4961
5242
|
} else {
|
|
4962
5243
|
stateClasses = [
|
|
4963
|
-
"border-
|
|
5244
|
+
"border-[var(--tiger-border,#d1d5db)]",
|
|
4964
5245
|
"hover:border-[var(--tiger-primary,#2563eb)]",
|
|
4965
5246
|
"hover:bg-gray-50",
|
|
4966
5247
|
"cursor-pointer",
|
|
@@ -4976,9 +5257,9 @@ var FILE_LIST_STATUS_CLASSES = {
|
|
|
4976
5257
|
error: ["bg-red-50", "text-red-700", "hover:bg-red-100"]
|
|
4977
5258
|
};
|
|
4978
5259
|
var PICTURE_CARD_STATUS_CLASSES = {
|
|
4979
|
-
ready: ["border-
|
|
5260
|
+
ready: ["border-[var(--tiger-border,#d1d5db)]"],
|
|
4980
5261
|
uploading: ["border-blue-400", "bg-blue-50"],
|
|
4981
|
-
success: ["border-
|
|
5262
|
+
success: ["border-[var(--tiger-border,#d1d5db)]", "hover:border-blue-400"],
|
|
4982
5263
|
error: ["border-red-400", "bg-red-50"]
|
|
4983
5264
|
};
|
|
4984
5265
|
function getFileListItemClasses(status) {
|
|
@@ -5250,7 +5531,7 @@ function getSidebarStyle(collapsed, width = "256px", collapsedWidth = "64px") {
|
|
|
5250
5531
|
const w = collapsed ? collapsedWidth : width;
|
|
5251
5532
|
return { width: w, minWidth: w };
|
|
5252
5533
|
}
|
|
5253
|
-
var layoutContentClasses = "tiger-content flex-1 bg-[var(--tiger-layout-content-bg,#f9fafb)]";
|
|
5534
|
+
var layoutContentClasses = "tiger-content flex-1 bg-[var(--tiger-layout-content-bg,var(--tiger-surface-muted,#f9fafb))]";
|
|
5254
5535
|
function getLayoutContentClasses(padding = true) {
|
|
5255
5536
|
return classNames(
|
|
5256
5537
|
layoutContentClasses,
|
|
@@ -5665,6 +5946,7 @@ function getSortIconClasses(active) {
|
|
|
5665
5946
|
active ? "text-[var(--tiger-primary,#2563eb)]" : "text-gray-400"
|
|
5666
5947
|
);
|
|
5667
5948
|
}
|
|
5949
|
+
var tableSortButtonClasses = "inline-flex items-center appearance-none border-0 bg-transparent p-0 font-[inherit] text-inherit cursor-pointer";
|
|
5668
5950
|
var tableEmptyStateClasses = "text-center py-12 text-[var(--tiger-text-muted,#6b7280)]";
|
|
5669
5951
|
var tableLoadingOverlayClasses = classNames(
|
|
5670
5952
|
"absolute inset-0 bg-[var(--tiger-surface,#ffffff)]/80 flex items-center justify-center z-20"
|
|
@@ -5688,13 +5970,18 @@ function defaultSortFn(a, b) {
|
|
|
5688
5970
|
}
|
|
5689
5971
|
return String(a).localeCompare(String(b));
|
|
5690
5972
|
}
|
|
5691
|
-
function
|
|
5973
|
+
function getTableColumnDataKey(column) {
|
|
5974
|
+
return column.dataKey || column.key;
|
|
5975
|
+
}
|
|
5976
|
+
function sortData(data, key, direction, sortFn, columns) {
|
|
5692
5977
|
if (!direction || !key) {
|
|
5693
5978
|
return data;
|
|
5694
5979
|
}
|
|
5980
|
+
const column = columns?.find((col) => col.key === key);
|
|
5981
|
+
const fieldKey = column ? getTableColumnDataKey(column) : key;
|
|
5695
5982
|
const sortedData = [...data].sort((a, b) => {
|
|
5696
|
-
const aValue = a[
|
|
5697
|
-
const bValue = b[
|
|
5983
|
+
const aValue = a[fieldKey];
|
|
5984
|
+
const bValue = b[fieldKey];
|
|
5698
5985
|
const compareResult = sortFn ? sortFn(aValue, bValue) : defaultSortFn(aValue, bValue);
|
|
5699
5986
|
return direction === "asc" ? compareResult : -compareResult;
|
|
5700
5987
|
});
|
|
@@ -5721,8 +6008,10 @@ function filterTableData(data, columns, filters) {
|
|
|
5721
6008
|
if (!filters || Object.keys(filters).length === 0) {
|
|
5722
6009
|
return data;
|
|
5723
6010
|
}
|
|
6011
|
+
const columnByKey = /* @__PURE__ */ new Map();
|
|
5724
6012
|
const filterFnByKey = /* @__PURE__ */ new Map();
|
|
5725
6013
|
for (const column of columns) {
|
|
6014
|
+
columnByKey.set(column.key, column);
|
|
5726
6015
|
if (column.filter?.filterFn) {
|
|
5727
6016
|
filterFnByKey.set(column.key, column.filter.filterFn);
|
|
5728
6017
|
}
|
|
@@ -5732,7 +6021,9 @@ function filterTableData(data, columns, filters) {
|
|
|
5732
6021
|
if (filterValue === "" || filterValue === null || filterValue === void 0) {
|
|
5733
6022
|
return true;
|
|
5734
6023
|
}
|
|
5735
|
-
const
|
|
6024
|
+
const column = columnByKey.get(key);
|
|
6025
|
+
const fieldKey = column ? getTableColumnDataKey(column) : key;
|
|
6026
|
+
const cellValue = record[fieldKey];
|
|
5736
6027
|
const customFn = filterFnByKey.get(key);
|
|
5737
6028
|
if (customFn) {
|
|
5738
6029
|
return customFn(cellValue, filterValue);
|
|
@@ -5991,6 +6282,9 @@ function getInitials(name) {
|
|
|
5991
6282
|
const words = trimmed.split(/\s+/).filter(Boolean);
|
|
5992
6283
|
if (words.length === 1) {
|
|
5993
6284
|
const firstWord = words[0];
|
|
6285
|
+
if (firstWord.length <= 2) {
|
|
6286
|
+
return firstWord.toUpperCase();
|
|
6287
|
+
}
|
|
5994
6288
|
const hasNonASCII = /[^\x20-\x7E]/.test(firstWord);
|
|
5995
6289
|
return hasNonASCII ? firstWord.slice(0, 2).toUpperCase() : firstWord.charAt(0).toUpperCase();
|
|
5996
6290
|
}
|
|
@@ -6411,10 +6705,10 @@ function getTreeKeyboardAction(ctx) {
|
|
|
6411
6705
|
return null;
|
|
6412
6706
|
}
|
|
6413
6707
|
}
|
|
6414
|
-
var treeBaseClasses = "w-full bg-
|
|
6708
|
+
var treeBaseClasses = "w-full bg-[var(--tiger-tree-bg,var(--tiger-surface,#ffffff))] text-[var(--tiger-text,#111827)] rounded-[var(--tiger-radius-md,0.5rem)]";
|
|
6415
6709
|
var treeNodeWrapperClasses = "select-none";
|
|
6416
6710
|
var treeNodeContentClasses = "flex items-center px-2 py-1.5 cursor-pointer rounded transition-colors duration-200";
|
|
6417
|
-
var treeNodeHoverClasses = "hover:bg-
|
|
6711
|
+
var treeNodeHoverClasses = "hover:bg-[var(--tiger-tree-node-hover,var(--tiger-surface-muted,#f9fafb))]";
|
|
6418
6712
|
var treeNodeSelectedClasses = "bg-[color-mix(in_srgb,var(--tiger-primary,#2563eb)_10%,transparent)] text-[var(--tiger-primary,#2563eb)]";
|
|
6419
6713
|
var treeNodeDisabledClasses = "opacity-50 cursor-not-allowed";
|
|
6420
6714
|
var treeNodeIndentClasses = "inline-block w-6";
|
|
@@ -6425,8 +6719,8 @@ var treeNodeIconClasses = "mr-2 flex-shrink-0";
|
|
|
6425
6719
|
var treeNodeLabelClasses = "flex-1 truncate";
|
|
6426
6720
|
var treeNodeChildrenClasses = "ml-6";
|
|
6427
6721
|
var treeLoadingClasses = "inline-block ml-2 animate-spin h-4 w-4";
|
|
6428
|
-
var treeEmptyStateClasses = "py-8 text-center text-
|
|
6429
|
-
var treeLineClasses = "border-l border-
|
|
6722
|
+
var treeEmptyStateClasses = "py-8 text-center text-[var(--tiger-text-secondary,#6b7280)]";
|
|
6723
|
+
var treeLineClasses = "border-l border-[var(--tiger-border,#e5e7eb)]";
|
|
6430
6724
|
function getTreeNodeClasses(selected, disabled, blockNode = false) {
|
|
6431
6725
|
return classNames(
|
|
6432
6726
|
treeNodeContentClasses,
|
|
@@ -6667,10 +6961,10 @@ function checkedSetsFromState(state) {
|
|
|
6667
6961
|
}
|
|
6668
6962
|
|
|
6669
6963
|
// src/utils/skeleton-utils.ts
|
|
6670
|
-
var skeletonBaseClasses = "bg-[var(--tiger-skeleton-bg,#
|
|
6964
|
+
var skeletonBaseClasses = "bg-[var(--tiger-skeleton-bg,var(--tiger-surface-muted,#f9fafb))] rounded-[var(--tiger-radius-sm,0.375rem)]";
|
|
6671
6965
|
var skeletonAnimationClasses = {
|
|
6672
6966
|
pulse: "animate-pulse",
|
|
6673
|
-
wave: "animate-pulse bg-gradient-to-r from-[var(--tiger-skeleton-bg,#
|
|
6967
|
+
wave: "animate-pulse bg-gradient-to-r from-[var(--tiger-skeleton-bg,var(--tiger-surface-muted,#f9fafb))] via-[var(--tiger-skeleton-bg-alt,var(--tiger-border,#e5e7eb))] to-[var(--tiger-skeleton-bg,var(--tiger-surface-muted,#f9fafb))] bg-[length:200%_100%]",
|
|
6674
6968
|
none: ""
|
|
6675
6969
|
};
|
|
6676
6970
|
var skeletonVariantDefaults = {
|
|
@@ -6965,7 +7259,7 @@ var menuCollapsedModeClasses = {
|
|
|
6965
7259
|
vertical: "flex-col border-r",
|
|
6966
7260
|
inline: "flex-col"
|
|
6967
7261
|
};
|
|
6968
|
-
var menuLightThemeClasses = "
|
|
7262
|
+
var menuLightThemeClasses = "";
|
|
6969
7263
|
var menuDarkThemeClasses = "[--tiger-surface:#111827] [--tiger-text:#f9fafb] [--tiger-text-muted:#9ca3af] [--tiger-border:#374151] [--tiger-surface-muted:#1f2937] [--tiger-outline-bg-hover:#2563eb1a] [--tiger-ghost-bg-hover:#2563eb1a]";
|
|
6970
7264
|
var menuItemBaseClasses = "flex w-full items-center px-4 py-2 text-left bg-transparent border-0 cursor-pointer transition-colors duration-200 select-none appearance-none focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--tiger-focus-ring,var(--tiger-primary,#2563eb))]/40 focus-visible:ring-inset active:opacity-90";
|
|
6971
7265
|
var menuItemHoverLightClasses = "hover:bg-[var(--tiger-surface-muted,#f9fafb)]";
|
|
@@ -6996,7 +7290,10 @@ function themeClass(theme, light, dark) {
|
|
|
6996
7290
|
function getMenuClasses(mode, theme, collapsed) {
|
|
6997
7291
|
const modeClasses = collapsed && (mode === "vertical" || mode === "inline") ? menuCollapsedModeClasses[mode] : menuModeClasses[mode];
|
|
6998
7292
|
const classes = [menuBaseClasses, modeClasses];
|
|
6999
|
-
|
|
7293
|
+
const themeClasses = themeClass(theme, menuLightThemeClasses, menuDarkThemeClasses);
|
|
7294
|
+
if (themeClasses) {
|
|
7295
|
+
classes.push(themeClasses);
|
|
7296
|
+
}
|
|
7000
7297
|
if (collapsed && (mode === "vertical" || mode === "inline")) {
|
|
7001
7298
|
classes.push(menuCollapsedClasses);
|
|
7002
7299
|
}
|
|
@@ -7622,8 +7919,8 @@ function getPageNumbers(current, totalPages, showLessItems = false) {
|
|
|
7622
7919
|
}
|
|
7623
7920
|
return pages;
|
|
7624
7921
|
}
|
|
7625
|
-
function defaultTotalText(total,
|
|
7626
|
-
return
|
|
7922
|
+
function defaultTotalText(total, range) {
|
|
7923
|
+
return formatPaginationTotal(DEFAULT_PAGINATION_LABELS.totalText, total, range);
|
|
7627
7924
|
}
|
|
7628
7925
|
var PAGINATION_FULL_MODE_PAGE_THRESHOLD = 3;
|
|
7629
7926
|
function resolvePaginationDisplayMode(totalPages, config) {
|
|
@@ -8229,31 +8526,31 @@ var messagePositionClasses = {
|
|
|
8229
8526
|
var messageBaseClasses = "flex items-center gap-3 px-4 py-3 rounded-[var(--tiger-radius-lg,0.75rem)] shadow-lg border pointer-events-auto transition-all duration-300 ease-in-out";
|
|
8230
8527
|
var defaultMessageThemeColors = {
|
|
8231
8528
|
info: {
|
|
8232
|
-
bg: "bg-[var(--tiger-message-info-bg,#
|
|
8233
|
-
border: "border-[var(--tiger-message-info-border,#
|
|
8234
|
-
text: "text-[var(--tiger-message-info-text,#
|
|
8235
|
-
icon: "text-[var(--tiger-message-info-icon,#3b82f6)]"
|
|
8529
|
+
bg: "bg-[var(--tiger-message-info-bg,var(--tiger-surface,#ffffff))]",
|
|
8530
|
+
border: "border-[var(--tiger-message-info-border,var(--tiger-border,#e5e7eb))]",
|
|
8531
|
+
text: "text-[var(--tiger-message-info-text,var(--tiger-info,#3b82f6))]",
|
|
8532
|
+
icon: "text-[var(--tiger-message-info-icon,var(--tiger-info,#3b82f6))]"
|
|
8236
8533
|
},
|
|
8237
8534
|
success: {
|
|
8238
|
-
bg: "bg-[var(--tiger-message-success-bg,#
|
|
8239
|
-
border: "border-[var(--tiger-message-success-border,#
|
|
8240
|
-
text: "text-[var(--tiger-message-success-text,#
|
|
8241
|
-
icon: "text-[var(--tiger-message-success-icon,#
|
|
8535
|
+
bg: "bg-[var(--tiger-message-success-bg,var(--tiger-surface,#ffffff))]",
|
|
8536
|
+
border: "border-[var(--tiger-message-success-border,var(--tiger-border,#e5e7eb))]",
|
|
8537
|
+
text: "text-[var(--tiger-message-success-text,var(--tiger-success,#16a34a))]",
|
|
8538
|
+
icon: "text-[var(--tiger-message-success-icon,var(--tiger-success,#16a34a))]"
|
|
8242
8539
|
},
|
|
8243
8540
|
warning: {
|
|
8244
|
-
bg: "bg-[var(--tiger-message-warning-bg,#
|
|
8245
|
-
border: "border-[var(--tiger-message-warning-border,#
|
|
8246
|
-
text: "text-[var(--tiger-message-warning-text,#
|
|
8247
|
-
icon: "text-[var(--tiger-message-warning-icon,#
|
|
8541
|
+
bg: "bg-[var(--tiger-message-warning-bg,var(--tiger-surface,#ffffff))]",
|
|
8542
|
+
border: "border-[var(--tiger-message-warning-border,var(--tiger-border,#e5e7eb))]",
|
|
8543
|
+
text: "text-[var(--tiger-message-warning-text,var(--tiger-warning,#d97706))]",
|
|
8544
|
+
icon: "text-[var(--tiger-message-warning-icon,var(--tiger-warning,#d97706))]"
|
|
8248
8545
|
},
|
|
8249
8546
|
error: {
|
|
8250
|
-
bg: "bg-[var(--tiger-message-error-bg,#
|
|
8251
|
-
border: "border-[var(--tiger-message-error-border,#
|
|
8252
|
-
text: "text-[var(--tiger-message-error-text,#
|
|
8253
|
-
icon: "text-[var(--tiger-message-error-icon,#
|
|
8547
|
+
bg: "bg-[var(--tiger-message-error-bg,var(--tiger-surface,#ffffff))]",
|
|
8548
|
+
border: "border-[var(--tiger-message-error-border,var(--tiger-border,#e5e7eb))]",
|
|
8549
|
+
text: "text-[var(--tiger-message-error-text,var(--tiger-error,#dc2626))]",
|
|
8550
|
+
icon: "text-[var(--tiger-message-error-icon,var(--tiger-error,#dc2626))]"
|
|
8254
8551
|
},
|
|
8255
8552
|
loading: {
|
|
8256
|
-
bg: "bg-[var(--tiger-message-loading-bg,var(--tiger-surface-muted,#
|
|
8553
|
+
bg: "bg-[var(--tiger-message-loading-bg,var(--tiger-surface-muted,#f9fafb))]",
|
|
8257
8554
|
border: "border-[var(--tiger-message-loading-border,var(--tiger-border,#e5e7eb))]",
|
|
8258
8555
|
text: "text-[var(--tiger-message-loading-text,var(--tiger-text,#111827))]",
|
|
8259
8556
|
icon: "text-[var(--tiger-message-loading-icon,var(--tiger-text-muted,#6b7280))]"
|
|
@@ -8420,6 +8717,7 @@ var loadingColorClasses = {
|
|
|
8420
8717
|
};
|
|
8421
8718
|
var loadingContainerBaseClasses = "inline-flex flex-col items-center justify-center gap-2";
|
|
8422
8719
|
var loadingFullscreenBaseClasses = "fixed inset-0 z-50 flex items-center justify-center";
|
|
8720
|
+
var DEFAULT_LOADING_BACKGROUND = "var(--tiger-loading-mask, color-mix(in srgb, var(--tiger-surface, #ffffff) 90%, transparent))";
|
|
8423
8721
|
var loadingSpinnerBaseClasses = "animate-spin";
|
|
8424
8722
|
var loadingOverlaySpinnerBaseClasses = "animate-spin h-8 w-8 text-[var(--tiger-primary,#2563eb)]";
|
|
8425
8723
|
function getLoadingOverlaySpinnerClasses(customClassName) {
|
|
@@ -8863,6 +9161,59 @@ function createLoadingBarController(hooks = {}) {
|
|
|
8863
9161
|
}
|
|
8864
9162
|
|
|
8865
9163
|
// src/utils/floating-popup-utils.ts
|
|
9164
|
+
var DEFAULT_FLOATING_HOVER_HIDE_DELAY_MS = 100;
|
|
9165
|
+
var DEFAULT_FLOATING_HOVER_SHOW_DELAY_MS = 0;
|
|
9166
|
+
function createFloatingHoverDelayController(options) {
|
|
9167
|
+
const hideDelay = options.hideDelay ?? DEFAULT_FLOATING_HOVER_HIDE_DELAY_MS;
|
|
9168
|
+
const showDelay = options.showDelay ?? DEFAULT_FLOATING_HOVER_SHOW_DELAY_MS;
|
|
9169
|
+
let showTimer = null;
|
|
9170
|
+
let hideTimer = null;
|
|
9171
|
+
const clearShowTimer = () => {
|
|
9172
|
+
if (showTimer === null) return;
|
|
9173
|
+
clearTimeout(showTimer);
|
|
9174
|
+
showTimer = null;
|
|
9175
|
+
};
|
|
9176
|
+
const clearHideTimer = () => {
|
|
9177
|
+
if (hideTimer === null) return;
|
|
9178
|
+
clearTimeout(hideTimer);
|
|
9179
|
+
hideTimer = null;
|
|
9180
|
+
};
|
|
9181
|
+
const cancel = () => {
|
|
9182
|
+
clearShowTimer();
|
|
9183
|
+
clearHideTimer();
|
|
9184
|
+
};
|
|
9185
|
+
const enter = () => {
|
|
9186
|
+
clearHideTimer();
|
|
9187
|
+
if (showDelay <= 0) {
|
|
9188
|
+
clearShowTimer();
|
|
9189
|
+
options.show();
|
|
9190
|
+
return;
|
|
9191
|
+
}
|
|
9192
|
+
if (showTimer !== null) return;
|
|
9193
|
+
showTimer = setTimeout(() => {
|
|
9194
|
+
showTimer = null;
|
|
9195
|
+
options.show();
|
|
9196
|
+
}, showDelay);
|
|
9197
|
+
};
|
|
9198
|
+
const leave = () => {
|
|
9199
|
+
clearShowTimer();
|
|
9200
|
+
if (hideDelay <= 0) {
|
|
9201
|
+
clearHideTimer();
|
|
9202
|
+
options.hide();
|
|
9203
|
+
return;
|
|
9204
|
+
}
|
|
9205
|
+
if (hideTimer !== null) return;
|
|
9206
|
+
hideTimer = setTimeout(() => {
|
|
9207
|
+
hideTimer = null;
|
|
9208
|
+
options.hide();
|
|
9209
|
+
}, hideDelay);
|
|
9210
|
+
};
|
|
9211
|
+
const closeNow = () => {
|
|
9212
|
+
cancel();
|
|
9213
|
+
options.hide();
|
|
9214
|
+
};
|
|
9215
|
+
return { enter, leave, cancel, dispose: cancel, closeNow };
|
|
9216
|
+
}
|
|
8866
9217
|
function createFloatingIdFactory(prefix) {
|
|
8867
9218
|
let counter = 0;
|
|
8868
9219
|
return () => `tiger-${prefix}-${++counter}`;
|
|
@@ -9136,13 +9487,15 @@ var codeBlockContainerClasses = "relative rounded-[var(--tiger-radius-md,0.5rem)
|
|
|
9136
9487
|
var codeBlockPreClasses = "m-0 overflow-auto p-4 text-sm leading-relaxed font-mono whitespace-pre";
|
|
9137
9488
|
var codeBlockCopyButtonBaseClasses = "absolute right-3 top-0 -translate-y-1/2 inline-flex items-center rounded-[var(--tiger-radius-md,0.5rem)] border border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface,#fff)] px-1.5 py-0.5 text-[10px] text-[var(--tiger-text-muted,#6b7280)] shadow-sm transition-colors hover:text-[var(--tiger-text,#111827)] motion-reduce:transition-none";
|
|
9138
9489
|
var codeBlockCopyButtonCopiedClasses = "border-[var(--tiger-primary,#2563eb)] text-[var(--tiger-primary,#2563eb)]";
|
|
9490
|
+
var codeBlockCopyButtonFailedClasses = "border-[var(--tiger-error,#ef4444)] text-[var(--tiger-error,#ef4444)]";
|
|
9139
9491
|
function getCodeBlockContainerClasses(...classes) {
|
|
9140
9492
|
return classNames(codeBlockContainerClasses, ...classes);
|
|
9141
9493
|
}
|
|
9142
|
-
function getCodeBlockCopyButtonClasses(
|
|
9494
|
+
function getCodeBlockCopyButtonClasses(status = "idle", ...classes) {
|
|
9143
9495
|
return classNames(
|
|
9144
9496
|
codeBlockCopyButtonBaseClasses,
|
|
9145
|
-
|
|
9497
|
+
status === "copied" && codeBlockCopyButtonCopiedClasses,
|
|
9498
|
+
status === "failed" && codeBlockCopyButtonFailedClasses,
|
|
9146
9499
|
...classes
|
|
9147
9500
|
);
|
|
9148
9501
|
}
|
|
@@ -9279,7 +9632,7 @@ var textDecorationClasses = {
|
|
|
9279
9632
|
};
|
|
9280
9633
|
var defaultTagThemeColors = {
|
|
9281
9634
|
default: {
|
|
9282
|
-
bg: "bg-[var(--tiger-tag-default-bg,#
|
|
9635
|
+
bg: "bg-[var(--tiger-tag-default-bg,var(--tiger-surface-muted,#f9fafb))]",
|
|
9283
9636
|
text: "text-[var(--tiger-text,#111827)]",
|
|
9284
9637
|
border: "border-[var(--tiger-border,#e5e7eb)]",
|
|
9285
9638
|
closeBgHover: "hover:bg-[var(--tiger-tag-default-close-hover,#e5e7eb)]"
|
|
@@ -9386,44 +9739,44 @@ function getProgressTextColorClasses(variant, colors = defaultProgressThemeColor
|
|
|
9386
9739
|
}
|
|
9387
9740
|
var defaultAlertThemeColors = {
|
|
9388
9741
|
success: {
|
|
9389
|
-
bg: "bg-[var(--tiger-alert-success-bg,#
|
|
9390
|
-
border: "border-[var(--tiger-alert-success-border,#
|
|
9391
|
-
icon: "text-[var(--tiger-alert-success-icon,#
|
|
9392
|
-
title: "text-[var(--tiger-alert-success-title,#
|
|
9393
|
-
description: "text-[var(--tiger-alert-success-description,#
|
|
9394
|
-
closeButton: "text-[var(--tiger-alert-success-close,#
|
|
9395
|
-
closeButtonHover: "hover:bg-[var(--tiger-alert-success-close-hover-bg,#
|
|
9396
|
-
focus: "focus:ring-[color:var(--tiger-alert-success-ring,#
|
|
9742
|
+
bg: "bg-[var(--tiger-alert-success-bg,var(--tiger-surface,#ffffff))]",
|
|
9743
|
+
border: "border-[var(--tiger-alert-success-border,var(--tiger-border,#e5e7eb))]",
|
|
9744
|
+
icon: "text-[var(--tiger-alert-success-icon,var(--tiger-success,#16a34a))]",
|
|
9745
|
+
title: "text-[var(--tiger-alert-success-title,var(--tiger-success,#16a34a))]",
|
|
9746
|
+
description: "text-[var(--tiger-alert-success-description,var(--tiger-text-secondary,#6b7280))]",
|
|
9747
|
+
closeButton: "text-[var(--tiger-alert-success-close,var(--tiger-success,#16a34a))]",
|
|
9748
|
+
closeButtonHover: "hover:bg-[var(--tiger-alert-success-close-hover-bg,var(--tiger-surface-muted,#f9fafb))]",
|
|
9749
|
+
focus: "focus:ring-[color:var(--tiger-alert-success-ring,var(--tiger-success,#16a34a))]"
|
|
9397
9750
|
},
|
|
9398
9751
|
warning: {
|
|
9399
|
-
bg: "bg-[var(--tiger-alert-warning-bg,#
|
|
9400
|
-
border: "border-[var(--tiger-alert-warning-border,#
|
|
9401
|
-
icon: "text-[var(--tiger-alert-warning-icon,#
|
|
9402
|
-
title: "text-[var(--tiger-alert-warning-title,#
|
|
9403
|
-
description: "text-[var(--tiger-alert-warning-description,#
|
|
9404
|
-
closeButton: "text-[var(--tiger-alert-warning-close,#
|
|
9405
|
-
closeButtonHover: "hover:bg-[var(--tiger-alert-warning-close-hover-bg,#
|
|
9406
|
-
focus: "focus:ring-[color:var(--tiger-alert-warning-ring,#
|
|
9752
|
+
bg: "bg-[var(--tiger-alert-warning-bg,var(--tiger-surface,#ffffff))]",
|
|
9753
|
+
border: "border-[var(--tiger-alert-warning-border,var(--tiger-border,#e5e7eb))]",
|
|
9754
|
+
icon: "text-[var(--tiger-alert-warning-icon,var(--tiger-warning,#d97706))]",
|
|
9755
|
+
title: "text-[var(--tiger-alert-warning-title,var(--tiger-warning,#d97706))]",
|
|
9756
|
+
description: "text-[var(--tiger-alert-warning-description,var(--tiger-text-secondary,#6b7280))]",
|
|
9757
|
+
closeButton: "text-[var(--tiger-alert-warning-close,var(--tiger-warning,#d97706))]",
|
|
9758
|
+
closeButtonHover: "hover:bg-[var(--tiger-alert-warning-close-hover-bg,var(--tiger-surface-muted,#f9fafb))]",
|
|
9759
|
+
focus: "focus:ring-[color:var(--tiger-alert-warning-ring,var(--tiger-warning,#d97706))]"
|
|
9407
9760
|
},
|
|
9408
9761
|
error: {
|
|
9409
|
-
bg: "bg-[var(--tiger-alert-error-bg,#
|
|
9410
|
-
border: "border-[var(--tiger-alert-error-border,#
|
|
9411
|
-
icon: "text-[var(--tiger-alert-error-icon,#
|
|
9412
|
-
title: "text-[var(--tiger-alert-error-title,#
|
|
9413
|
-
description: "text-[var(--tiger-alert-error-description,#
|
|
9414
|
-
closeButton: "text-[var(--tiger-alert-error-close,#
|
|
9415
|
-
closeButtonHover: "hover:bg-[var(--tiger-alert-error-close-hover-bg,#
|
|
9416
|
-
focus: "focus:ring-[color:var(--tiger-alert-error-ring,#
|
|
9762
|
+
bg: "bg-[var(--tiger-alert-error-bg,var(--tiger-surface,#ffffff))]",
|
|
9763
|
+
border: "border-[var(--tiger-alert-error-border,var(--tiger-border,#e5e7eb))]",
|
|
9764
|
+
icon: "text-[var(--tiger-alert-error-icon,var(--tiger-error,#dc2626))]",
|
|
9765
|
+
title: "text-[var(--tiger-alert-error-title,var(--tiger-error,#dc2626))]",
|
|
9766
|
+
description: "text-[var(--tiger-alert-error-description,var(--tiger-text-secondary,#6b7280))]",
|
|
9767
|
+
closeButton: "text-[var(--tiger-alert-error-close,var(--tiger-error,#dc2626))]",
|
|
9768
|
+
closeButtonHover: "hover:bg-[var(--tiger-alert-error-close-hover-bg,var(--tiger-surface-muted,#f9fafb))]",
|
|
9769
|
+
focus: "focus:ring-[color:var(--tiger-alert-error-ring,var(--tiger-error,#dc2626))]"
|
|
9417
9770
|
},
|
|
9418
9771
|
info: {
|
|
9419
|
-
bg: "bg-[var(--tiger-alert-info-bg,#
|
|
9420
|
-
border: "border-[var(--tiger-alert-info-border,#
|
|
9421
|
-
icon: "text-[var(--tiger-alert-info-icon,#3b82f6)]",
|
|
9422
|
-
title: "text-[var(--tiger-alert-info-title,#
|
|
9423
|
-
description: "text-[var(--tiger-alert-info-description,#
|
|
9424
|
-
closeButton: "text-[var(--tiger-alert-info-close,#3b82f6)]",
|
|
9425
|
-
closeButtonHover: "hover:bg-[var(--tiger-alert-info-close-hover-bg,#
|
|
9426
|
-
focus: "focus:ring-[color:var(--tiger-alert-info-ring,#3b82f6)]"
|
|
9772
|
+
bg: "bg-[var(--tiger-alert-info-bg,var(--tiger-surface,#ffffff))]",
|
|
9773
|
+
border: "border-[var(--tiger-alert-info-border,var(--tiger-border,#e5e7eb))]",
|
|
9774
|
+
icon: "text-[var(--tiger-alert-info-icon,var(--tiger-info,#3b82f6))]",
|
|
9775
|
+
title: "text-[var(--tiger-alert-info-title,var(--tiger-info,#3b82f6))]",
|
|
9776
|
+
description: "text-[var(--tiger-alert-info-description,var(--tiger-text-secondary,#6b7280))]",
|
|
9777
|
+
closeButton: "text-[var(--tiger-alert-info-close,var(--tiger-info,#3b82f6))]",
|
|
9778
|
+
closeButtonHover: "hover:bg-[var(--tiger-alert-info-close-hover-bg,var(--tiger-surface-muted,#f9fafb))]",
|
|
9779
|
+
focus: "focus:ring-[color:var(--tiger-alert-info-ring,var(--tiger-info,#3b82f6))]"
|
|
9427
9780
|
}
|
|
9428
9781
|
};
|
|
9429
9782
|
function getAlertTypeClasses(type, colors = defaultAlertThemeColors) {
|
|
@@ -9975,7 +10328,7 @@ var nextIconPath = "M9 5l7 7-7 7";
|
|
|
9975
10328
|
var previewCloseIconPath = "M6 18L18 6M6 6l12 12";
|
|
9976
10329
|
var imagePreviewMaskClasses = "fixed inset-0 bg-[var(--tiger-image-mask,rgba(0,0,0,0.85))] transition-opacity";
|
|
9977
10330
|
var imagePreviewWrapperClasses = "fixed inset-0 flex items-center justify-center select-none";
|
|
9978
|
-
var imagePreviewImgClasses = "max-w-none transition-transform duration-150 ease-out cursor-grab active:cursor-grabbing touch-none";
|
|
10331
|
+
var imagePreviewImgClasses = "max-h-[90vh] max-w-[90vw] select-none transition-transform duration-150 ease-out cursor-grab active:cursor-grabbing touch-none";
|
|
9979
10332
|
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";
|
|
9980
10333
|
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";
|
|
9981
10334
|
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";
|
|
@@ -10676,6 +11029,19 @@ function scrollToAnchor(href, container, targetOffset = 0) {
|
|
|
10676
11029
|
const scrollTarget = container === window ? window : container;
|
|
10677
11030
|
scrollTarget.scrollTo({ top, behavior: "smooth" });
|
|
10678
11031
|
}
|
|
11032
|
+
function findActiveAnchorAtOffsetLine(links, getSectionTop, offsetLine) {
|
|
11033
|
+
if (links.length === 0) {
|
|
11034
|
+
return "";
|
|
11035
|
+
}
|
|
11036
|
+
for (let i = links.length - 1; i >= 0; i--) {
|
|
11037
|
+
const href = links[i];
|
|
11038
|
+
const top = getSectionTop(href);
|
|
11039
|
+
if (top !== null && top <= offsetLine) {
|
|
11040
|
+
return href;
|
|
11041
|
+
}
|
|
11042
|
+
}
|
|
11043
|
+
return links[0] || "";
|
|
11044
|
+
}
|
|
10679
11045
|
function findActiveAnchor(links, container, bounds = 5, targetOffset = 0) {
|
|
10680
11046
|
if (links.length === 0) {
|
|
10681
11047
|
return "";
|
|
@@ -10684,24 +11050,103 @@ function findActiveAnchor(links, container, bounds = 5, targetOffset = 0) {
|
|
|
10684
11050
|
return links[0] || "";
|
|
10685
11051
|
}
|
|
10686
11052
|
const scrollTop = getContainerScrollTop(container);
|
|
10687
|
-
|
|
10688
|
-
|
|
10689
|
-
|
|
10690
|
-
|
|
10691
|
-
const
|
|
10692
|
-
if (
|
|
10693
|
-
return
|
|
11053
|
+
const offsetLine = scrollTop + targetOffset + bounds;
|
|
11054
|
+
return findActiveAnchorAtOffsetLine(
|
|
11055
|
+
links,
|
|
11056
|
+
(href) => {
|
|
11057
|
+
const element = getAnchorTargetElement(href);
|
|
11058
|
+
if (!element) {
|
|
11059
|
+
return null;
|
|
11060
|
+
}
|
|
11061
|
+
return getElementOffsetTop(element, container);
|
|
11062
|
+
},
|
|
11063
|
+
offsetLine
|
|
11064
|
+
);
|
|
11065
|
+
}
|
|
11066
|
+
var DEFAULT_SCROLL_LOCK_IDLE_MS = 150;
|
|
11067
|
+
var DEFAULT_SCROLL_LOCK_TIMEOUT_MS = 2e3;
|
|
11068
|
+
function createProgrammaticScrollLock(getTarget, options = {}) {
|
|
11069
|
+
const idleMs = options.idleMs ?? DEFAULT_SCROLL_LOCK_IDLE_MS;
|
|
11070
|
+
const timeoutMs = options.timeoutMs ?? DEFAULT_SCROLL_LOCK_TIMEOUT_MS;
|
|
11071
|
+
let locked = false;
|
|
11072
|
+
let idleTimer = null;
|
|
11073
|
+
let safetyTimer = null;
|
|
11074
|
+
let attachedTarget = null;
|
|
11075
|
+
let listeningScrollEnd = false;
|
|
11076
|
+
const clearTimers = () => {
|
|
11077
|
+
if (idleTimer !== null) {
|
|
11078
|
+
clearTimeout(idleTimer);
|
|
11079
|
+
idleTimer = null;
|
|
11080
|
+
}
|
|
11081
|
+
if (safetyTimer !== null) {
|
|
11082
|
+
clearTimeout(safetyTimer);
|
|
11083
|
+
safetyTimer = null;
|
|
11084
|
+
}
|
|
11085
|
+
};
|
|
11086
|
+
const onScroll = () => {
|
|
11087
|
+
scheduleIdle();
|
|
11088
|
+
};
|
|
11089
|
+
const onScrollEnd = () => {
|
|
11090
|
+
unlock();
|
|
11091
|
+
};
|
|
11092
|
+
const detach = () => {
|
|
11093
|
+
if (!attachedTarget) {
|
|
11094
|
+
return;
|
|
11095
|
+
}
|
|
11096
|
+
attachedTarget.removeEventListener("scroll", onScroll);
|
|
11097
|
+
if (listeningScrollEnd) {
|
|
11098
|
+
attachedTarget.removeEventListener("scrollend", onScrollEnd);
|
|
11099
|
+
}
|
|
11100
|
+
attachedTarget = null;
|
|
11101
|
+
listeningScrollEnd = false;
|
|
11102
|
+
};
|
|
11103
|
+
const unlock = () => {
|
|
11104
|
+
locked = false;
|
|
11105
|
+
clearTimers();
|
|
11106
|
+
detach();
|
|
11107
|
+
};
|
|
11108
|
+
const scheduleIdle = () => {
|
|
11109
|
+
if (idleTimer !== null) {
|
|
11110
|
+
clearTimeout(idleTimer);
|
|
11111
|
+
}
|
|
11112
|
+
idleTimer = setTimeout(() => {
|
|
11113
|
+
idleTimer = null;
|
|
11114
|
+
unlock();
|
|
11115
|
+
}, idleMs);
|
|
11116
|
+
};
|
|
11117
|
+
const lock = () => {
|
|
11118
|
+
clearTimers();
|
|
11119
|
+
detach();
|
|
11120
|
+
locked = true;
|
|
11121
|
+
if (isBrowser()) {
|
|
11122
|
+
const container = getTarget();
|
|
11123
|
+
const target = container === window ? window : container;
|
|
11124
|
+
attachedTarget = target;
|
|
11125
|
+
listeningScrollEnd = "onscrollend" in window;
|
|
11126
|
+
target.addEventListener("scroll", onScroll, { passive: true });
|
|
11127
|
+
if (listeningScrollEnd) {
|
|
11128
|
+
target.addEventListener("scrollend", onScrollEnd);
|
|
10694
11129
|
}
|
|
10695
11130
|
}
|
|
10696
|
-
|
|
10697
|
-
|
|
11131
|
+
scheduleIdle();
|
|
11132
|
+
safetyTimer = setTimeout(() => {
|
|
11133
|
+
safetyTimer = null;
|
|
11134
|
+
unlock();
|
|
11135
|
+
}, timeoutMs);
|
|
11136
|
+
};
|
|
11137
|
+
return {
|
|
11138
|
+
isLocked: () => locked,
|
|
11139
|
+
lock,
|
|
11140
|
+
unlock,
|
|
11141
|
+
dispose: unlock
|
|
11142
|
+
};
|
|
10698
11143
|
}
|
|
10699
11144
|
function createAnchorObserver(links, options) {
|
|
10700
11145
|
if (!isBrowser()) return () => {
|
|
10701
11146
|
};
|
|
10702
11147
|
if (typeof IntersectionObserver === "undefined") return () => {
|
|
10703
11148
|
};
|
|
10704
|
-
const { offsetTop = 0, root = null, onChange } = options;
|
|
11149
|
+
const { offsetTop = 0, bounds = 5, root = null, onChange } = options;
|
|
10705
11150
|
const targets = /* @__PURE__ */ new Map();
|
|
10706
11151
|
for (const href of links) {
|
|
10707
11152
|
const el = getAnchorTargetElement(href);
|
|
@@ -10709,30 +11154,24 @@ function createAnchorObserver(links, options) {
|
|
|
10709
11154
|
}
|
|
10710
11155
|
if (targets.size === 0) return () => {
|
|
10711
11156
|
};
|
|
10712
|
-
const visible = /* @__PURE__ */ new Set();
|
|
10713
11157
|
const computeActive = () => {
|
|
10714
|
-
for (const href of links) {
|
|
10715
|
-
if (visible.has(href)) return href;
|
|
10716
|
-
}
|
|
10717
11158
|
const rootTop = root ? root.getBoundingClientRect().top : 0;
|
|
10718
|
-
|
|
10719
|
-
|
|
10720
|
-
|
|
10721
|
-
|
|
10722
|
-
|
|
10723
|
-
|
|
10724
|
-
|
|
10725
|
-
|
|
11159
|
+
const offsetLine = rootTop + offsetTop + bounds;
|
|
11160
|
+
return findActiveAnchorAtOffsetLine(
|
|
11161
|
+
links,
|
|
11162
|
+
(href) => {
|
|
11163
|
+
const el = getAnchorTargetElement(href);
|
|
11164
|
+
if (!el) {
|
|
11165
|
+
return null;
|
|
11166
|
+
}
|
|
11167
|
+
return el.getBoundingClientRect().top;
|
|
11168
|
+
},
|
|
11169
|
+
offsetLine
|
|
11170
|
+
);
|
|
10726
11171
|
};
|
|
10727
11172
|
let last = "";
|
|
10728
11173
|
const observer = new IntersectionObserver(
|
|
10729
|
-
(
|
|
10730
|
-
for (const entry of entries) {
|
|
10731
|
-
const href = targets.get(entry.target);
|
|
10732
|
-
if (!href) continue;
|
|
10733
|
-
if (entry.isIntersecting) visible.add(href);
|
|
10734
|
-
else visible.delete(href);
|
|
10735
|
-
}
|
|
11174
|
+
() => {
|
|
10736
11175
|
const next = computeActive();
|
|
10737
11176
|
if (next !== last) {
|
|
10738
11177
|
last = next;
|
|
@@ -10741,9 +11180,8 @@ function createAnchorObserver(links, options) {
|
|
|
10741
11180
|
},
|
|
10742
11181
|
{
|
|
10743
11182
|
root,
|
|
10744
|
-
//
|
|
10745
|
-
|
|
10746
|
-
rootMargin: `-${offsetTop}px 0px -60% 0px`,
|
|
11183
|
+
// Top inset at the offset line; 0 bottom so last sections still notify.
|
|
11184
|
+
rootMargin: `-${offsetTop}px 0px 0px 0px`,
|
|
10747
11185
|
threshold: [0, 1]
|
|
10748
11186
|
}
|
|
10749
11187
|
);
|
|
@@ -10772,8 +11210,8 @@ var DEFAULT_CHART_COLORS = [
|
|
|
10772
11210
|
"var(--tiger-chart-6,#ef4444)"
|
|
10773
11211
|
];
|
|
10774
11212
|
var RADAR_SPLIT_AREA_COLORS = [
|
|
10775
|
-
"var(--tiger-chart-split-1,
|
|
10776
|
-
"var(--tiger-chart-split-2,
|
|
11213
|
+
"var(--tiger-chart-split-1,color-mix(in oklab, var(--tiger-text) 4%, transparent))",
|
|
11214
|
+
"var(--tiger-chart-split-2,color-mix(in oklab, var(--tiger-text) 10%, transparent))"
|
|
10777
11215
|
];
|
|
10778
11216
|
var PIE_EMPHASIS_SHADOW = "drop-shadow(0 4px 8px rgba(0,0,0,0.2))";
|
|
10779
11217
|
var PIE_BASE_SHADOW = "drop-shadow(0 1px 2px rgba(0,0,0,0.06))";
|
|
@@ -10790,7 +11228,7 @@ function getScatterHoverShadow(color) {
|
|
|
10790
11228
|
function getScatterHoverSize(baseSize) {
|
|
10791
11229
|
return baseSize + 2;
|
|
10792
11230
|
}
|
|
10793
|
-
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)}}@media (prefers-reduced-motion: reduce){.tiger-scatter-entrance{animation-duration:0ms;animation-delay:0ms}}`;
|
|
11231
|
+
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)}}.tiger-scatter-entrance{transform-box:fill-box;transform-origin:center}@media (prefers-reduced-motion: reduce){.tiger-scatter-entrance{animation-duration:0ms;animation-delay:0ms}}`;
|
|
10794
11232
|
var SCATTER_ENTRANCE_CLASS = "tiger-scatter-entrance";
|
|
10795
11233
|
var DONUT_ENTRANCE_KEYFRAMES = `@keyframes tiger-donut-entrance{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}.tiger-donut-entrance{transform-origin:center;animation:tiger-donut-entrance var(--tiger-motion-duration-slow,500ms) var(--tiger-motion-ease-spring,cubic-bezier(.34,1.56,.64,1)) both}@media (prefers-reduced-motion: reduce){.tiger-donut-entrance{animation-duration:0ms}}`;
|
|
10796
11234
|
var DONUT_ENTRANCE_CLASS = "tiger-donut-entrance";
|
|
@@ -11139,6 +11577,31 @@ function createPolygonPath(points) {
|
|
|
11139
11577
|
" "
|
|
11140
11578
|
);
|
|
11141
11579
|
}
|
|
11580
|
+
function createPolygonRingPath(outerPoints, innerPoints = []) {
|
|
11581
|
+
const outer = createPolygonPath(outerPoints);
|
|
11582
|
+
if (!outer) return "";
|
|
11583
|
+
if (innerPoints.length === 0) return outer;
|
|
11584
|
+
const inner = createPolygonPath(innerPoints.slice().reverse());
|
|
11585
|
+
if (!inner) return outer;
|
|
11586
|
+
return `${outer} ${inner}`;
|
|
11587
|
+
}
|
|
11588
|
+
function createCircleRingPath(cx, cy, outerRadius, innerRadius = 0) {
|
|
11589
|
+
if (outerRadius <= 0) return "";
|
|
11590
|
+
const outer = [
|
|
11591
|
+
`M ${cx} ${cy - outerRadius}`,
|
|
11592
|
+
`A ${outerRadius} ${outerRadius} 0 1 1 ${cx} ${cy + outerRadius}`,
|
|
11593
|
+
`A ${outerRadius} ${outerRadius} 0 1 1 ${cx} ${cy - outerRadius}`,
|
|
11594
|
+
"Z"
|
|
11595
|
+
].join(" ");
|
|
11596
|
+
if (innerRadius <= 0) return outer;
|
|
11597
|
+
const inner = [
|
|
11598
|
+
`M ${cx} ${cy - innerRadius}`,
|
|
11599
|
+
`A ${innerRadius} ${innerRadius} 0 1 0 ${cx} ${cy + innerRadius}`,
|
|
11600
|
+
`A ${innerRadius} ${innerRadius} 0 1 0 ${cx} ${cy - innerRadius}`,
|
|
11601
|
+
"Z"
|
|
11602
|
+
].join(" ");
|
|
11603
|
+
return `${outer} ${inner}`;
|
|
11604
|
+
}
|
|
11142
11605
|
function getRadarLabelAlign(angle) {
|
|
11143
11606
|
const TWO_PI = Math.PI * 2;
|
|
11144
11607
|
const a = (angle % TWO_PI + TWO_PI) % TWO_PI;
|
|
@@ -12111,6 +12574,10 @@ function layoutRect(items, x, y, w, h, gap, palette, out) {
|
|
|
12111
12574
|
}
|
|
12112
12575
|
|
|
12113
12576
|
// src/utils/sunburst-chart-utils.ts
|
|
12577
|
+
function getSunburstLabelPoint(arc, cx, cy) {
|
|
12578
|
+
const midRadius = (arc.innerRadius + arc.outerRadius) / 2;
|
|
12579
|
+
return polarToCartesian(cx, cy, midRadius, arc.midAngle);
|
|
12580
|
+
}
|
|
12114
12581
|
function sumValue(d) {
|
|
12115
12582
|
let v;
|
|
12116
12583
|
if (d.children && d.children.length > 0) {
|
|
@@ -12170,7 +12637,9 @@ function computeSunburstArcs(data, opts) {
|
|
|
12170
12637
|
endAngle: ea,
|
|
12171
12638
|
color,
|
|
12172
12639
|
path,
|
|
12173
|
-
midAngle: (sa + ea) / 2
|
|
12640
|
+
midAngle: (sa + ea) / 2,
|
|
12641
|
+
innerRadius: iR,
|
|
12642
|
+
outerRadius: oR
|
|
12174
12643
|
});
|
|
12175
12644
|
if (item.children && item.children.length > 0) {
|
|
12176
12645
|
layoutLevel(item.children, sa, ea, level + 1, colorIdx);
|
|
@@ -12510,6 +12979,45 @@ function getWatermarkOverlayStyle(opts) {
|
|
|
12510
12979
|
};
|
|
12511
12980
|
}
|
|
12512
12981
|
|
|
12982
|
+
// src/utils/viewport-floating-utils.ts
|
|
12983
|
+
var viewportFloatingBaseClasses = "fixed z-50";
|
|
12984
|
+
var viewportPlacementClasses = {
|
|
12985
|
+
"top-left": "top-0 left-0",
|
|
12986
|
+
"top-right": "top-0 right-0",
|
|
12987
|
+
"bottom-left": "bottom-0 left-0",
|
|
12988
|
+
"bottom-right": "bottom-0 right-0"
|
|
12989
|
+
};
|
|
12990
|
+
function toCssLength(value) {
|
|
12991
|
+
return typeof value === "number" ? `${value}px` : value;
|
|
12992
|
+
}
|
|
12993
|
+
function resolveAxisOffset(offset2) {
|
|
12994
|
+
if (offset2 === void 0) {
|
|
12995
|
+
return { x: 24, y: 24 };
|
|
12996
|
+
}
|
|
12997
|
+
if (typeof offset2 === "number" || typeof offset2 === "string") {
|
|
12998
|
+
return { x: offset2, y: offset2 };
|
|
12999
|
+
}
|
|
13000
|
+
return {
|
|
13001
|
+
x: offset2.x ?? 24,
|
|
13002
|
+
y: offset2.y ?? 24
|
|
13003
|
+
};
|
|
13004
|
+
}
|
|
13005
|
+
function getViewportOffsetStyle(placement, offset2) {
|
|
13006
|
+
const { x, y } = resolveAxisOffset(offset2);
|
|
13007
|
+
const style = {};
|
|
13008
|
+
if (placement.startsWith("top")) {
|
|
13009
|
+
style.top = toCssLength(y);
|
|
13010
|
+
} else {
|
|
13011
|
+
style.bottom = toCssLength(y);
|
|
13012
|
+
}
|
|
13013
|
+
if (placement.endsWith("left")) {
|
|
13014
|
+
style.left = toCssLength(x);
|
|
13015
|
+
} else {
|
|
13016
|
+
style.right = toCssLength(x);
|
|
13017
|
+
}
|
|
13018
|
+
return style;
|
|
13019
|
+
}
|
|
13020
|
+
|
|
12513
13021
|
// src/utils/float-button-utils.ts
|
|
12514
13022
|
var floatButtonBaseClasses = "inline-flex items-center justify-center shadow-lg transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-[var(--tiger-focus-ring,#3b82f6)]";
|
|
12515
13023
|
var floatButtonShapeClasses = {
|
|
@@ -12526,13 +13034,23 @@ var floatButtonTypeClasses = {
|
|
|
12526
13034
|
default: "bg-[var(--tiger-surface-raised,#ffffff)] text-[var(--tiger-text,#111827)] border border-[var(--tiger-border,#e5e7eb)] hover:border-[var(--tiger-border-strong,#d1d5db)] hover:shadow-xl"
|
|
12527
13035
|
};
|
|
12528
13036
|
var floatButtonDisabledClasses = "opacity-50 cursor-not-allowed pointer-events-none";
|
|
12529
|
-
var floatButtonGroupClasses = "
|
|
13037
|
+
var floatButtonGroupClasses = "z-50 flex flex-col-reverse items-center gap-3";
|
|
12530
13038
|
var floatButtonGroupExpandClasses = "transition-all duration-200 ease-in-out";
|
|
13039
|
+
function getFloatButtonGroupClasses(options = {}) {
|
|
13040
|
+
const placement = options.placement ?? "bottom-right";
|
|
13041
|
+
const portal = options.portal ?? true;
|
|
13042
|
+
return classNames(
|
|
13043
|
+
portal ? viewportFloatingBaseClasses : "absolute z-50",
|
|
13044
|
+
viewportPlacementClasses[placement],
|
|
13045
|
+
floatButtonGroupClasses
|
|
13046
|
+
);
|
|
13047
|
+
}
|
|
12531
13048
|
var floatButtonIconSizeClasses = {
|
|
12532
13049
|
sm: "h-4 w-4",
|
|
12533
13050
|
md: "h-5 w-5",
|
|
12534
13051
|
lg: "h-6 w-6"
|
|
12535
13052
|
};
|
|
13053
|
+
var floatButtonPlusIconPath = "M12 5v14M5 12h14";
|
|
12536
13054
|
|
|
12537
13055
|
// src/utils/tour-utils.ts
|
|
12538
13056
|
var tourMaskClasses = "fixed inset-0 z-[1000] bg-black/45 transition-opacity duration-200";
|
|
@@ -12630,13 +13148,35 @@ function getTourTargetRect(selector) {
|
|
|
12630
13148
|
height: r.height
|
|
12631
13149
|
};
|
|
12632
13150
|
}
|
|
12633
|
-
|
|
13151
|
+
var TOUR_MASK_HOLE_PADDING = 4;
|
|
13152
|
+
function getTourMaskHoleRect(rect, padding) {
|
|
13153
|
+
const scrollX = isBrowser() ? window.scrollX : 0;
|
|
13154
|
+
const scrollY = isBrowser() ? window.scrollY : 0;
|
|
13155
|
+
return {
|
|
13156
|
+
top: rect.top - scrollY - padding,
|
|
13157
|
+
left: rect.left - scrollX - padding,
|
|
13158
|
+
width: rect.width + padding * 2,
|
|
13159
|
+
height: rect.height + padding * 2
|
|
13160
|
+
};
|
|
13161
|
+
}
|
|
13162
|
+
function getTourMaskHoleStyle(rect, padding = TOUR_MASK_HOLE_PADDING) {
|
|
13163
|
+
const hole = getTourMaskHoleRect(rect, padding);
|
|
13164
|
+
const left = hole.left;
|
|
13165
|
+
const top = hole.top;
|
|
13166
|
+
const right = hole.left + hole.width;
|
|
13167
|
+
const bottom = hole.top + hole.height;
|
|
13168
|
+
return {
|
|
13169
|
+
clipPath: `polygon(evenodd, 0% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 0%, ${left}px ${top}px, ${right}px ${top}px, ${right}px ${bottom}px, ${left}px ${bottom}px, ${left}px ${top}px)`
|
|
13170
|
+
};
|
|
13171
|
+
}
|
|
13172
|
+
function getTourSpotlightStyle(rect, padding = TOUR_MASK_HOLE_PADDING) {
|
|
13173
|
+
const hole = getTourMaskHoleRect(rect, padding);
|
|
12634
13174
|
return {
|
|
12635
13175
|
position: "fixed",
|
|
12636
|
-
top: `${
|
|
12637
|
-
left: `${
|
|
12638
|
-
width: `${
|
|
12639
|
-
height: `${
|
|
13176
|
+
top: `${hole.top}px`,
|
|
13177
|
+
left: `${hole.left}px`,
|
|
13178
|
+
width: `${hole.width}px`,
|
|
13179
|
+
height: `${hole.height}px`,
|
|
12640
13180
|
borderRadius: "4px",
|
|
12641
13181
|
boxShadow: "0 0 0 9999px rgba(0,0,0,0.45)",
|
|
12642
13182
|
zIndex: "1000",
|
|
@@ -12647,17 +13187,18 @@ function getTourSpotlightStyle(rect, padding = 4) {
|
|
|
12647
13187
|
|
|
12648
13188
|
// src/utils/affix-utils.ts
|
|
12649
13189
|
var affixWrapperClasses = "relative";
|
|
12650
|
-
function calculateAffixState(elementRect, containerRect, offsetTop, offsetBottom, zIndex) {
|
|
13190
|
+
function calculateAffixState(elementRect, containerRect, offsetTop, offsetBottom, zIndex, viewportHeight) {
|
|
12651
13191
|
const useBottom = offsetBottom !== void 0;
|
|
12652
13192
|
const offset2 = useBottom ? offsetBottom : offsetTop ?? 0;
|
|
12653
13193
|
if (useBottom) {
|
|
12654
13194
|
const shouldAffix = elementRect.top + elementRect.height > containerRect.bottom - offset2;
|
|
12655
13195
|
if (shouldAffix) {
|
|
13196
|
+
const innerHeight = viewportHeight ?? (isBrowser() ? window.innerHeight : containerRect.bottom);
|
|
12656
13197
|
return {
|
|
12657
13198
|
affixed: true,
|
|
12658
13199
|
style: {
|
|
12659
13200
|
position: "fixed",
|
|
12660
|
-
bottom: `${offset2}px`,
|
|
13201
|
+
bottom: `${innerHeight - containerRect.bottom + offset2}px`,
|
|
12661
13202
|
left: `${elementRect.left}px`,
|
|
12662
13203
|
width: `${elementRect.width}px`,
|
|
12663
13204
|
zIndex
|
|
@@ -13095,10 +13636,35 @@ function resetDevWarnCache() {
|
|
|
13095
13636
|
|
|
13096
13637
|
// src/utils/chat-window-utils.ts
|
|
13097
13638
|
var defaultChatMessageStatusInfo = {
|
|
13098
|
-
sending: {
|
|
13099
|
-
|
|
13100
|
-
|
|
13639
|
+
sending: {
|
|
13640
|
+
text: DEFAULT_CHAT_WINDOW_LABELS.sendingText,
|
|
13641
|
+
className: "text-[var(--tiger-text-muted,#6b7280)]"
|
|
13642
|
+
},
|
|
13643
|
+
sent: {
|
|
13644
|
+
text: DEFAULT_CHAT_WINDOW_LABELS.sentText,
|
|
13645
|
+
className: "text-[var(--tiger-text-muted,#6b7280)]"
|
|
13646
|
+
},
|
|
13647
|
+
failed: {
|
|
13648
|
+
text: DEFAULT_CHAT_WINDOW_LABELS.failedText,
|
|
13649
|
+
className: "text-[var(--tiger-danger,#ef4444)]"
|
|
13650
|
+
}
|
|
13101
13651
|
};
|
|
13652
|
+
function buildChatMessageStatusInfo(labels) {
|
|
13653
|
+
return {
|
|
13654
|
+
sending: {
|
|
13655
|
+
text: labels.sendingText ?? defaultChatMessageStatusInfo.sending.text,
|
|
13656
|
+
className: defaultChatMessageStatusInfo.sending.className
|
|
13657
|
+
},
|
|
13658
|
+
sent: {
|
|
13659
|
+
text: labels.sentText ?? defaultChatMessageStatusInfo.sent.text,
|
|
13660
|
+
className: defaultChatMessageStatusInfo.sent.className
|
|
13661
|
+
},
|
|
13662
|
+
failed: {
|
|
13663
|
+
text: labels.failedText ?? defaultChatMessageStatusInfo.failed.text,
|
|
13664
|
+
className: defaultChatMessageStatusInfo.failed.className
|
|
13665
|
+
}
|
|
13666
|
+
};
|
|
13667
|
+
}
|
|
13102
13668
|
function getChatMessageStatusInfo(status, statusMap = defaultChatMessageStatusInfo) {
|
|
13103
13669
|
return statusMap[status] || defaultChatMessageStatusInfo[status];
|
|
13104
13670
|
}
|
|
@@ -13215,6 +13781,21 @@ var buildNotificationGroups = (items = [], groups, groupBy, groupOrder) => {
|
|
|
13215
13781
|
};
|
|
13216
13782
|
|
|
13217
13783
|
// src/utils/comment-thread-utils.ts
|
|
13784
|
+
var resolveCommentLikeState = (node, overlay) => {
|
|
13785
|
+
const entry = overlay?.get(node.id);
|
|
13786
|
+
if (entry) return { liked: entry.liked, likes: entry.likes };
|
|
13787
|
+
return { liked: !!node.liked, likes: node.likes ?? 0 };
|
|
13788
|
+
};
|
|
13789
|
+
var nextCommentLikeState = (node, overlay) => {
|
|
13790
|
+
const current = resolveCommentLikeState(node, overlay);
|
|
13791
|
+
const liked = !current.liked;
|
|
13792
|
+
return { liked, likes: Math.max(0, current.likes + (liked ? 1 : -1)) };
|
|
13793
|
+
};
|
|
13794
|
+
var writeCommentLikeOverlay = (overlay, id, state) => {
|
|
13795
|
+
const next = new Map(overlay ?? void 0);
|
|
13796
|
+
next.set(id, { liked: state.liked, likes: state.likes });
|
|
13797
|
+
return next;
|
|
13798
|
+
};
|
|
13218
13799
|
var buildCommentTree = (items = []) => {
|
|
13219
13800
|
if (!items || items.length === 0) return [];
|
|
13220
13801
|
const nodeMap = /* @__PURE__ */ new Map();
|
|
@@ -13471,6 +14052,30 @@ function isWipExceeded(column) {
|
|
|
13471
14052
|
if (column.wipLimit == null || column.wipLimit <= 0) return false;
|
|
13472
14053
|
return column.cards.length > column.wipLimit;
|
|
13473
14054
|
}
|
|
14055
|
+
var DEFAULT_TASK_BOARD_NEW_CARD_TITLE = "New task";
|
|
14056
|
+
function nextDefaultTaskBoardCardId(columns) {
|
|
14057
|
+
const used = /* @__PURE__ */ new Set();
|
|
14058
|
+
for (const column of columns) {
|
|
14059
|
+
for (const card of column.cards) {
|
|
14060
|
+
used.add(String(card.id));
|
|
14061
|
+
}
|
|
14062
|
+
}
|
|
14063
|
+
let n = 1;
|
|
14064
|
+
let id = `card-${n}`;
|
|
14065
|
+
while (used.has(id)) {
|
|
14066
|
+
n += 1;
|
|
14067
|
+
id = `card-${n}`;
|
|
14068
|
+
}
|
|
14069
|
+
return id;
|
|
14070
|
+
}
|
|
14071
|
+
function appendDefaultTaskBoardCard(columns, columnId, title = DEFAULT_TASK_BOARD_NEW_CARD_TITLE) {
|
|
14072
|
+
const colIdx = columns.findIndex((c) => c.id === columnId);
|
|
14073
|
+
if (colIdx === -1) return columns;
|
|
14074
|
+
const card = { id: nextDefaultTaskBoardCardId(columns), title };
|
|
14075
|
+
return columns.map(
|
|
14076
|
+
(column, i) => i === colIdx ? { ...column, cards: [...column.cards, card] } : column
|
|
14077
|
+
);
|
|
14078
|
+
}
|
|
13474
14079
|
function getDropIndex(pointerY, cardRects) {
|
|
13475
14080
|
for (let i = 0; i < cardRects.length; i++) {
|
|
13476
14081
|
const mid = cardRects[i].top + cardRects[i].height / 2;
|
|
@@ -13478,6 +14083,22 @@ function getDropIndex(pointerY, cardRects) {
|
|
|
13478
14083
|
}
|
|
13479
14084
|
return cardRects.length;
|
|
13480
14085
|
}
|
|
14086
|
+
function mapVisibleCardIndexToSource(sourceCards, visibleCards, visibleIndex) {
|
|
14087
|
+
if (visibleCards.length === 0) {
|
|
14088
|
+
return visibleIndex <= 0 ? 0 : sourceCards.length;
|
|
14089
|
+
}
|
|
14090
|
+
if (visibleIndex <= 0) {
|
|
14091
|
+
const idx2 = sourceCards.findIndex((card) => card.id === visibleCards[0].id);
|
|
14092
|
+
return idx2 === -1 ? 0 : idx2;
|
|
14093
|
+
}
|
|
14094
|
+
if (visibleIndex >= visibleCards.length) {
|
|
14095
|
+
const last = visibleCards[visibleCards.length - 1];
|
|
14096
|
+
const idx2 = sourceCards.findIndex((card) => card.id === last.id);
|
|
14097
|
+
return idx2 === -1 ? sourceCards.length : idx2 + 1;
|
|
14098
|
+
}
|
|
14099
|
+
const idx = sourceCards.findIndex((card) => card.id === visibleCards[visibleIndex].id);
|
|
14100
|
+
return idx === -1 ? visibleIndex : idx;
|
|
14101
|
+
}
|
|
13481
14102
|
function getColumnDropIndex(pointerX, columnRects) {
|
|
13482
14103
|
for (let i = 0; i < columnRects.length; i++) {
|
|
13483
14104
|
const mid = columnRects[i].left + columnRects[i].width / 2;
|
|
@@ -14091,6 +14712,16 @@ function filterAutoCompleteOptions(options, inputValue, filterOption) {
|
|
|
14091
14712
|
const filterFn = typeof filterOption === "function" ? filterOption : defaultAutoCompleteFilter;
|
|
14092
14713
|
return options.filter((opt) => filterFn(inputValue, opt));
|
|
14093
14714
|
}
|
|
14715
|
+
function resolveAutoCompleteDisplayValue(value, options = [], fallback = "") {
|
|
14716
|
+
if (value === void 0 || value === null) {
|
|
14717
|
+
return String(fallback ?? "");
|
|
14718
|
+
}
|
|
14719
|
+
const match = (options ?? []).find((option) => String(option.value) === String(value));
|
|
14720
|
+
if (match) {
|
|
14721
|
+
return match.label;
|
|
14722
|
+
}
|
|
14723
|
+
return String(value);
|
|
14724
|
+
}
|
|
14094
14725
|
|
|
14095
14726
|
// src/utils/signature-utils.ts
|
|
14096
14727
|
var signatureRootClasses = "inline-flex w-full flex-col gap-2";
|
|
@@ -14989,6 +15620,7 @@ function createScrollSpyObserver(items = [], options) {
|
|
|
14989
15620
|
const root = options.container === window ? null : options.container;
|
|
14990
15621
|
return createAnchorObserver(hrefs, {
|
|
14991
15622
|
offsetTop: offset2,
|
|
15623
|
+
bounds: options.bounds ?? 5,
|
|
14992
15624
|
root,
|
|
14993
15625
|
onChange: notify
|
|
14994
15626
|
});
|
|
@@ -15221,6 +15853,7 @@ function getRateStarClasses(size2, isCharacter, disabled) {
|
|
|
15221
15853
|
disabled ? "cursor-default" : "cursor-pointer"
|
|
15222
15854
|
);
|
|
15223
15855
|
}
|
|
15856
|
+
var rateHalfStarInnerClasses = "w-[200%] h-full";
|
|
15224
15857
|
var rateActiveColor = "text-[var(--tiger-rate-active,var(--tiger-warning,#f59e0b))]";
|
|
15225
15858
|
var rateInactiveColor = "text-[var(--tiger-rate-inactive,var(--tiger-border,#d1d5db))]";
|
|
15226
15859
|
var rateHoverColor = "text-[var(--tiger-rate-hover,var(--tiger-warning,#fbbf24))]";
|
|
@@ -15236,7 +15869,7 @@ function getSegmentedContainerClasses(size2, block) {
|
|
|
15236
15869
|
};
|
|
15237
15870
|
return classNames(
|
|
15238
15871
|
"relative inline-grid overflow-hidden rounded-[var(--tiger-radius-md,0.5rem)]",
|
|
15239
|
-
"bg-[var(--tiger-segmented-bg,var(--tiger-
|
|
15872
|
+
"bg-[var(--tiger-segmented-bg,var(--tiger-surface-muted,#f9fafb))]",
|
|
15240
15873
|
sizeClasses3[size2],
|
|
15241
15874
|
block ? "w-full" : ""
|
|
15242
15875
|
);
|
|
@@ -15254,7 +15887,7 @@ function getSegmentedIndicatorClasses(size2) {
|
|
|
15254
15887
|
};
|
|
15255
15888
|
return classNames(
|
|
15256
15889
|
"pointer-events-none absolute z-0 rounded-[var(--tiger-radius-md,0.5rem)]",
|
|
15257
|
-
"bg-[var(--tiger-segmented-active-bg,var(--tiger-surface,#ffffff))] shadow-sm",
|
|
15890
|
+
"bg-[var(--tiger-segmented-active-bg,var(--tiger-surface-raised,#ffffff))] shadow-sm",
|
|
15258
15891
|
"transition-transform duration-200 ease-out will-change-transform",
|
|
15259
15892
|
insetClasses[size2]
|
|
15260
15893
|
);
|
|
@@ -15488,16 +16121,103 @@ function formatColorString(r, g, b, format, alpha) {
|
|
|
15488
16121
|
function isValidHex(value) {
|
|
15489
16122
|
return /^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/.test(value);
|
|
15490
16123
|
}
|
|
16124
|
+
function clampByte(n) {
|
|
16125
|
+
return Math.max(0, Math.min(255, Math.round(n)));
|
|
16126
|
+
}
|
|
16127
|
+
function clampUnit(n) {
|
|
16128
|
+
return Math.max(0, Math.min(1, n));
|
|
16129
|
+
}
|
|
16130
|
+
function parseOptionalAlpha(raw) {
|
|
16131
|
+
if (raw === void 0 || raw === "") return 1;
|
|
16132
|
+
const n = Number(raw);
|
|
16133
|
+
if (!Number.isFinite(n)) return 1;
|
|
16134
|
+
return clampUnit(n);
|
|
16135
|
+
}
|
|
16136
|
+
function hslToRgb(h, s, l) {
|
|
16137
|
+
const hue = (h % 360 + 360) % 360;
|
|
16138
|
+
const ss = Math.max(0, Math.min(100, s)) / 100;
|
|
16139
|
+
const ll = Math.max(0, Math.min(100, l)) / 100;
|
|
16140
|
+
const c = (1 - Math.abs(2 * ll - 1)) * ss;
|
|
16141
|
+
const x = c * (1 - Math.abs(hue / 60 % 2 - 1));
|
|
16142
|
+
const m = ll - c / 2;
|
|
16143
|
+
let r = 0;
|
|
16144
|
+
let g = 0;
|
|
16145
|
+
let b = 0;
|
|
16146
|
+
if (hue < 60) {
|
|
16147
|
+
r = c;
|
|
16148
|
+
g = x;
|
|
16149
|
+
b = 0;
|
|
16150
|
+
} else if (hue < 120) {
|
|
16151
|
+
r = x;
|
|
16152
|
+
g = c;
|
|
16153
|
+
b = 0;
|
|
16154
|
+
} else if (hue < 180) {
|
|
16155
|
+
r = 0;
|
|
16156
|
+
g = c;
|
|
16157
|
+
b = x;
|
|
16158
|
+
} else if (hue < 240) {
|
|
16159
|
+
r = 0;
|
|
16160
|
+
g = x;
|
|
16161
|
+
b = c;
|
|
16162
|
+
} else if (hue < 300) {
|
|
16163
|
+
r = x;
|
|
16164
|
+
g = 0;
|
|
16165
|
+
b = c;
|
|
16166
|
+
} else {
|
|
16167
|
+
r = c;
|
|
16168
|
+
g = 0;
|
|
16169
|
+
b = x;
|
|
16170
|
+
}
|
|
16171
|
+
return {
|
|
16172
|
+
r: Math.round((r + m) * 255),
|
|
16173
|
+
g: Math.round((g + m) * 255),
|
|
16174
|
+
b: Math.round((b + m) * 255)
|
|
16175
|
+
};
|
|
16176
|
+
}
|
|
16177
|
+
function parseColorParts(raw) {
|
|
16178
|
+
const value = raw.trim();
|
|
16179
|
+
if (!value) return null;
|
|
16180
|
+
if (isValidHex(value)) {
|
|
16181
|
+
const rgb = hexToRgb2(value);
|
|
16182
|
+
return { r: rgb.r, g: rgb.g, b: rgb.b, a: 1 };
|
|
16183
|
+
}
|
|
16184
|
+
const rgbMatch = value.match(
|
|
16185
|
+
/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*([\d.]+))?\s*\)?\s*$/i
|
|
16186
|
+
);
|
|
16187
|
+
if (rgbMatch) {
|
|
16188
|
+
return {
|
|
16189
|
+
r: clampByte(Number(rgbMatch[1])),
|
|
16190
|
+
g: clampByte(Number(rgbMatch[2])),
|
|
16191
|
+
b: clampByte(Number(rgbMatch[3])),
|
|
16192
|
+
a: parseOptionalAlpha(rgbMatch[4])
|
|
16193
|
+
};
|
|
16194
|
+
}
|
|
16195
|
+
const hslMatch = value.match(
|
|
16196
|
+
/^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)?\s*$/i
|
|
16197
|
+
);
|
|
16198
|
+
if (hslMatch) {
|
|
16199
|
+
const rgb = hslToRgb(Number(hslMatch[1]), Number(hslMatch[2]), Number(hslMatch[3]));
|
|
16200
|
+
return {
|
|
16201
|
+
r: rgb.r,
|
|
16202
|
+
g: rgb.g,
|
|
16203
|
+
b: rgb.b,
|
|
16204
|
+
a: parseOptionalAlpha(hslMatch[4])
|
|
16205
|
+
};
|
|
16206
|
+
}
|
|
16207
|
+
return null;
|
|
16208
|
+
}
|
|
15491
16209
|
function parseColorInput(raw) {
|
|
15492
16210
|
const value = raw.trim();
|
|
15493
16211
|
if (isValidHex(value)) {
|
|
15494
16212
|
return value.startsWith("#") ? value : `#${value}`;
|
|
15495
16213
|
}
|
|
15496
|
-
const
|
|
15497
|
-
if (!
|
|
15498
|
-
|
|
16214
|
+
const parts = parseColorParts(value);
|
|
16215
|
+
if (!parts) return null;
|
|
16216
|
+
if (parts.a < 1) {
|
|
16217
|
+
const format = /^hsla?\(/i.test(value) ? "hsl" : "rgb";
|
|
16218
|
+
return formatColorString(parts.r, parts.g, parts.b, format, parts.a);
|
|
15499
16219
|
}
|
|
15500
|
-
return rgbToHex2(
|
|
16220
|
+
return rgbToHex2(parts.r, parts.g, parts.b);
|
|
15501
16221
|
}
|
|
15502
16222
|
|
|
15503
16223
|
// src/utils/color-swatch-utils.ts
|
|
@@ -15665,12 +16385,21 @@ function getCalendarDayClasses(isSelected, isToday2, isCurrentMonth, isDisabled)
|
|
|
15665
16385
|
isSelected ? "bg-[var(--tiger-calendar-selected-bg,var(--tiger-primary,#2563eb))] text-white" : isToday2 ? "bg-[var(--tiger-calendar-today-bg,var(--tiger-primary,#2563eb))]/10 text-[var(--tiger-calendar-today-text,var(--tiger-primary,#2563eb))]" : isCurrentMonth ? "text-[var(--tiger-calendar-day,var(--tiger-text,#111827))] hover:bg-[var(--tiger-calendar-day-hover,var(--tiger-fill-hover,#e5e7eb))]" : "text-[var(--tiger-calendar-day-outside,var(--tiger-text-muted,#9ca3af))]"
|
|
15666
16386
|
);
|
|
15667
16387
|
}
|
|
15668
|
-
function getCalendarMonthClasses(isSelected) {
|
|
16388
|
+
function getCalendarMonthClasses(isSelected, isDisabled) {
|
|
15669
16389
|
return classNames(
|
|
15670
|
-
"inline-flex items-center justify-center rounded-[var(--tiger-radius-md,0.5rem)] py-2 px-3 text-sm transition-colors
|
|
16390
|
+
"inline-flex items-center justify-center rounded-[var(--tiger-radius-md,0.5rem)] py-2 px-3 text-sm transition-colors",
|
|
16391
|
+
isDisabled ? "opacity-30 cursor-not-allowed" : "cursor-pointer",
|
|
15671
16392
|
isSelected ? "bg-[var(--tiger-calendar-selected-bg,var(--tiger-primary,#2563eb))] text-white" : "text-[var(--tiger-calendar-day,var(--tiger-text,#111827))] hover:bg-[var(--tiger-calendar-day-hover,var(--tiger-fill-hover,#e5e7eb))]"
|
|
15672
16393
|
);
|
|
15673
16394
|
}
|
|
16395
|
+
function isCalendarMonthDisabled(year, month, disabledDate) {
|
|
16396
|
+
if (!disabledDate) return false;
|
|
16397
|
+
const lastDay = new Date(year, month + 1, 0).getDate();
|
|
16398
|
+
for (let day = 1; day <= lastDay; day++) {
|
|
16399
|
+
if (!disabledDate(new Date(year, month, day))) return false;
|
|
16400
|
+
}
|
|
16401
|
+
return true;
|
|
16402
|
+
}
|
|
15674
16403
|
var WEEKDAYS = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
|
|
15675
16404
|
var MONTHS = [
|
|
15676
16405
|
"Jan",
|
|
@@ -16354,45 +17083,6 @@ function isTablet(options = {}) {
|
|
|
16354
17083
|
return width !== void 0 && width >= TIGER_VIEWPORT_BREAKPOINTS.md && width < TIGER_VIEWPORT_BREAKPOINTS.lg;
|
|
16355
17084
|
}
|
|
16356
17085
|
|
|
16357
|
-
// src/utils/viewport-floating-utils.ts
|
|
16358
|
-
var viewportFloatingBaseClasses = "fixed z-50";
|
|
16359
|
-
var viewportPlacementClasses = {
|
|
16360
|
-
"top-left": "top-0 left-0",
|
|
16361
|
-
"top-right": "top-0 right-0",
|
|
16362
|
-
"bottom-left": "bottom-0 left-0",
|
|
16363
|
-
"bottom-right": "bottom-0 right-0"
|
|
16364
|
-
};
|
|
16365
|
-
function toCssLength(value) {
|
|
16366
|
-
return typeof value === "number" ? `${value}px` : value;
|
|
16367
|
-
}
|
|
16368
|
-
function resolveAxisOffset(offset2) {
|
|
16369
|
-
if (offset2 === void 0) {
|
|
16370
|
-
return { x: 24, y: 24 };
|
|
16371
|
-
}
|
|
16372
|
-
if (typeof offset2 === "number" || typeof offset2 === "string") {
|
|
16373
|
-
return { x: offset2, y: offset2 };
|
|
16374
|
-
}
|
|
16375
|
-
return {
|
|
16376
|
-
x: offset2.x ?? 24,
|
|
16377
|
-
y: offset2.y ?? 24
|
|
16378
|
-
};
|
|
16379
|
-
}
|
|
16380
|
-
function getViewportOffsetStyle(placement, offset2) {
|
|
16381
|
-
const { x, y } = resolveAxisOffset(offset2);
|
|
16382
|
-
const style = {};
|
|
16383
|
-
if (placement.startsWith("top")) {
|
|
16384
|
-
style.top = toCssLength(y);
|
|
16385
|
-
} else {
|
|
16386
|
-
style.bottom = toCssLength(y);
|
|
16387
|
-
}
|
|
16388
|
-
if (placement.endsWith("left")) {
|
|
16389
|
-
style.left = toCssLength(x);
|
|
16390
|
-
} else {
|
|
16391
|
-
style.right = toCssLength(x);
|
|
16392
|
-
}
|
|
16393
|
-
return style;
|
|
16394
|
-
}
|
|
16395
|
-
|
|
16396
17086
|
// src/utils/drag.ts
|
|
16397
17087
|
function createDragState() {
|
|
16398
17088
|
return {
|
|
@@ -16584,12 +17274,12 @@ var splitterBaseClasses = "relative flex w-full h-full overflow-hidden";
|
|
|
16584
17274
|
var splitterHorizontalClasses = "flex-row";
|
|
16585
17275
|
var splitterVerticalClasses = "flex-col";
|
|
16586
17276
|
var splitterPaneBaseClasses = "relative overflow-auto";
|
|
16587
|
-
var splitterGutterBaseClasses = "relative flex-shrink-0 bg-
|
|
17277
|
+
var splitterGutterBaseClasses = "relative flex-shrink-0 bg-[var(--tiger-border,#e5e7eb)] transition-colors duration-150 hover:bg-[var(--tiger-primary,#2563eb)] z-10";
|
|
16588
17278
|
var splitterGutterHorizontalClasses = "cursor-col-resize w-[var(--tiger-splitter-gutter,4px)] h-full";
|
|
16589
17279
|
var splitterGutterVerticalClasses = "cursor-row-resize h-[var(--tiger-splitter-gutter,4px)] w-full";
|
|
16590
17280
|
var splitterGutterDraggingClasses = "bg-[var(--tiger-primary,#2563eb)]";
|
|
16591
17281
|
var splitterGutterDisabledClasses = "cursor-default opacity-50 pointer-events-none";
|
|
16592
|
-
var splitterGutterHandleClasses = "absolute rounded bg-
|
|
17282
|
+
var splitterGutterHandleClasses = "absolute rounded bg-[var(--tiger-text-muted,#9ca3af)] transition-colors duration-150";
|
|
16593
17283
|
var splitterGutterHandleHorizontalClasses = "w-0.5 h-6 top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2";
|
|
16594
17284
|
var splitterGutterHandleVerticalClasses = "h-0.5 w-6 top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2";
|
|
16595
17285
|
function getSplitterContainerClasses(direction, className) {
|
|
@@ -16615,6 +17305,11 @@ function getSplitterGutterHandleClasses(direction) {
|
|
|
16615
17305
|
direction === "horizontal" ? splitterGutterHandleHorizontalClasses : splitterGutterHandleVerticalClasses
|
|
16616
17306
|
].join(" ");
|
|
16617
17307
|
}
|
|
17308
|
+
function getSplitterGutterCssVars(gutterSize = 4) {
|
|
17309
|
+
return {
|
|
17310
|
+
"--tiger-splitter-gutter": `${gutterSize}px`
|
|
17311
|
+
};
|
|
17312
|
+
}
|
|
16618
17313
|
function parsePaneSize(size2, totalSize) {
|
|
16619
17314
|
if (typeof size2 === "number") return size2;
|
|
16620
17315
|
const trimmed = size2.trim();
|
|
@@ -16646,6 +17341,23 @@ function clampPaneSize(size2, min, max) {
|
|
|
16646
17341
|
}
|
|
16647
17342
|
return result;
|
|
16648
17343
|
}
|
|
17344
|
+
function isPercentagePaneSize(size2) {
|
|
17345
|
+
return typeof size2 === "string" && size2.trim().endsWith("%");
|
|
17346
|
+
}
|
|
17347
|
+
function resolveInitialPaneSizes(paneCount, containerSize, gutterSize, sizes, min = 0, max) {
|
|
17348
|
+
if (paneCount <= 0) return null;
|
|
17349
|
+
const provided = sizes && sizes.length === paneCount ? sizes : void 0;
|
|
17350
|
+
const hasPercent = provided != null && provided.some(isPercentagePaneSize);
|
|
17351
|
+
if (containerSize <= 0) {
|
|
17352
|
+
if (hasPercent || !provided) return null;
|
|
17353
|
+
return calculateInitialSizes(paneCount, 0, gutterSize, provided).map(
|
|
17354
|
+
(s) => clampPaneSize(s, min, max)
|
|
17355
|
+
);
|
|
17356
|
+
}
|
|
17357
|
+
return calculateInitialSizes(paneCount, containerSize, gutterSize, provided).map(
|
|
17358
|
+
(s) => clampPaneSize(s, min, max)
|
|
17359
|
+
);
|
|
17360
|
+
}
|
|
16649
17361
|
function resizePanes(sizes, gutterIndex, delta, mins, maxes) {
|
|
16650
17362
|
if (gutterIndex < 0 || gutterIndex >= sizes.length - 1) return null;
|
|
16651
17363
|
const leftIdx = gutterIndex;
|
|
@@ -17317,9 +18029,9 @@ var defaultToolbar = [
|
|
|
17317
18029
|
{ name: "redo", label: "Redo", tooltip: "Redo (Ctrl+Y)", hotkey: "Ctrl+Y" },
|
|
17318
18030
|
{ name: "clear", label: "Clear", tooltip: "Clear Formatting" }
|
|
17319
18031
|
];
|
|
17320
|
-
var richTextContainerBase = "flex flex-col border border-[var(--tiger-border,#d1d5db)] rounded-[var(--tiger-radius-md,0.5rem)] overflow-hidden bg-[var(--tiger-bg,#ffffff)]";
|
|
18032
|
+
var richTextContainerBase = "flex flex-col border border-[var(--tiger-border,#d1d5db)] rounded-[var(--tiger-radius-md,0.5rem)] overflow-hidden bg-[var(--tiger-rte-bg,var(--tiger-surface,#ffffff))]";
|
|
17321
18033
|
var richTextContainerDisabled = "opacity-50 cursor-not-allowed pointer-events-none";
|
|
17322
|
-
var richTextToolbarClasses = "flex flex-wrap items-center gap-1 px-2 py-1.5 border-b border-[var(--tiger-border,#d1d5db)] bg-[var(--tiger-bg-
|
|
18034
|
+
var richTextToolbarClasses = "flex flex-wrap items-center gap-1 px-2 py-1.5 border-b border-[var(--tiger-border,#d1d5db)] bg-[var(--tiger-rte-toolbar-bg,var(--tiger-surface-muted,#f9fafb))]";
|
|
17323
18035
|
var richTextToolbarButtonBase = "inline-flex items-center justify-center min-w-8 h-8 px-2 rounded text-sm font-medium transition-colors duration-150 text-[var(--tiger-text-secondary,#6b7280)] hover:bg-[var(--tiger-bg-hover,#e5e7eb)] hover:text-[var(--tiger-text,#111827)]";
|
|
17324
18036
|
var richTextToolbarButtonActive = "bg-[var(--tiger-primary,#2563eb)]/10 text-[var(--tiger-primary,#2563eb)]";
|
|
17325
18037
|
var richTextToolbarSeparatorClasses = "w-px h-5 mx-1 bg-[var(--tiger-border,#d1d5db)]";
|
|
@@ -17462,14 +18174,14 @@ function parseHeight(height) {
|
|
|
17462
18174
|
}
|
|
17463
18175
|
|
|
17464
18176
|
// src/utils/markdown-editor-utils.ts
|
|
17465
|
-
var markdownEditorContainerBase = "flex flex-col border border-[var(--tiger-border,#d1d5db)] rounded-[var(--tiger-radius-md,0.5rem)] overflow-hidden bg-[var(--tiger-bg,#ffffff)] text-[var(--tiger-text,#111827)]";
|
|
18177
|
+
var markdownEditorContainerBase = "flex flex-col border border-[var(--tiger-border,#d1d5db)] rounded-[var(--tiger-radius-md,0.5rem)] overflow-hidden bg-[var(--tiger-md-bg,var(--tiger-surface,#ffffff))] text-[var(--tiger-text,#111827)]";
|
|
17466
18178
|
var markdownEditorContainerDisabled = "opacity-50 cursor-not-allowed";
|
|
17467
|
-
var markdownEditorToolbarClasses = "flex flex-wrap items-center justify-between gap-2 px-2 py-1.5 border-b border-[var(--tiger-border,#d1d5db)] bg-[var(--tiger-bg-
|
|
18179
|
+
var markdownEditorToolbarClasses = "flex flex-wrap items-center justify-between gap-2 px-2 py-1.5 border-b border-[var(--tiger-border,#d1d5db)] bg-[var(--tiger-md-toolbar-bg,var(--tiger-surface-muted,#f9fafb))]";
|
|
17468
18180
|
var markdownEditorToolbarGroupClasses = "flex flex-wrap items-center gap-1";
|
|
17469
18181
|
var markdownEditorToolbarButtonBase = "inline-flex items-center justify-center min-w-8 h-8 px-2 rounded text-sm font-medium transition-colors duration-150 text-[var(--tiger-text-secondary,#6b7280)] hover:bg-[var(--tiger-bg-hover,#e5e7eb)] hover:text-[var(--tiger-text,#111827)] disabled:cursor-not-allowed disabled:opacity-50";
|
|
17470
18182
|
var markdownEditorToolbarButtonActive = "bg-[var(--tiger-primary,#2563eb)]/10 text-[var(--tiger-primary,#2563eb)]";
|
|
17471
18183
|
var markdownEditorToolbarSeparatorClasses = "w-px h-5 mx-1 bg-[var(--tiger-border,#d1d5db)]";
|
|
17472
|
-
var markdownEditorBodyClasses = "grid flex-1 min-h-0 bg-[var(--tiger-bg,#ffffff)]";
|
|
18184
|
+
var markdownEditorBodyClasses = "grid flex-1 min-h-0 bg-[var(--tiger-md-bg,var(--tiger-surface,#ffffff))]";
|
|
17473
18185
|
var markdownEditorTextareaClasses = "w-full h-full min-h-0 resize-none border-0 outline-none bg-transparent p-4 font-mono text-sm leading-7 text-[var(--tiger-text,#111827)] placeholder:text-[var(--tiger-text-tertiary,#9ca3af)] disabled:cursor-not-allowed";
|
|
17474
18186
|
var markdownEditorPreviewClasses = "h-full min-h-0 overflow-auto p-4 text-sm leading-7 text-[var(--tiger-text,#111827)] [&_a]:text-[var(--tiger-primary,#2563eb)] [&_a]:underline [&_blockquote]:border-l-4 [&_blockquote]:border-[var(--tiger-border,#d1d5db)] [&_blockquote]:pl-3 [&_blockquote]:text-[var(--tiger-text-secondary,#6b7280)] [&_code]:rounded [&_code]:bg-[var(--tiger-bg-secondary,#f3f4f6)] [&_code]:px-1 [&_code]:py-0.5 [&_code]:font-mono [&_code]:text-[0.9em] [&_h1]:mb-3 [&_h1]:text-2xl [&_h1]:font-semibold [&_h2]:mb-2 [&_h2]:text-xl [&_h2]:font-semibold [&_h3]:mb-2 [&_h3]:text-lg [&_h3]:font-semibold [&_hr]:my-4 [&_hr]:border-[var(--tiger-border,#d1d5db)] [&_img]:max-w-full [&_li]:my-1 [&_ol]:my-2 [&_ol]:list-decimal [&_ol]:pl-6 [&_p]:my-2 [&_pre]:my-3 [&_pre]:overflow-auto [&_pre]:rounded [&_pre]:bg-[var(--tiger-bg-secondary,#f3f4f6)] [&_pre]:p-3 [&_pre_code]:bg-transparent [&_pre_code]:p-0 [&_table]:my-3 [&_table]:w-full [&_table]:border-collapse [&_td]:border [&_td]:border-[var(--tiger-border,#d1d5db)] [&_td]:px-2 [&_td]:py-1 [&_th]:border [&_th]:border-[var(--tiger-border,#d1d5db)] [&_th]:bg-[var(--tiger-bg-secondary,#f9fafb)] [&_th]:px-2 [&_th]:py-1 [&_th]:text-left [&_ul]:my-2 [&_ul]:list-disc [&_ul]:pl-6";
|
|
17475
18187
|
var markdownEditorEmptyPreviewClasses = "text-[var(--tiger-text-tertiary,#9ca3af)]";
|
|
@@ -18098,8 +18810,8 @@ function getInfiniteScrollContainerClasses(direction, className) {
|
|
|
18098
18810
|
}
|
|
18099
18811
|
|
|
18100
18812
|
// src/utils/file-manager-utils.ts
|
|
18101
|
-
var fileManagerContainerClasses = "tiger-file-manager relative flex flex-col border border-[var(--tiger-border,#e5e7eb)] rounded-[var(--tiger-radius-md,0.5rem)] bg-[var(--tiger-bg,#ffffff)] overflow-hidden";
|
|
18102
|
-
var fileManagerToolbarClasses = "flex items-center gap-2 px-3 py-2 border-b border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-bg-
|
|
18813
|
+
var fileManagerContainerClasses = "tiger-file-manager relative flex flex-col border border-[var(--tiger-border,#e5e7eb)] rounded-[var(--tiger-radius-md,0.5rem)] bg-[var(--tiger-file-manager-bg,var(--tiger-surface,#ffffff))] overflow-hidden";
|
|
18814
|
+
var fileManagerToolbarClasses = "flex items-center gap-2 px-3 py-2 border-b border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-file-manager-toolbar-bg,var(--tiger-surface-muted,#f9fafb))]";
|
|
18103
18815
|
var fileManagerBreadcrumbClasses = "flex items-center gap-1 text-sm text-[var(--tiger-text-secondary,#6b7280)]";
|
|
18104
18816
|
var fileManagerBreadcrumbItemClasses = "cursor-pointer hover:text-[var(--tiger-primary,#2563eb)] transition-colors";
|
|
18105
18817
|
var fileManagerBreadcrumbSeparatorClasses = "text-[var(--tiger-text-muted,#9ca3af)]";
|
|
@@ -18112,8 +18824,8 @@ var fileManagerItemIconClasses = "text-[var(--tiger-text-muted,#9ca3af)] flex-sh
|
|
|
18112
18824
|
var fileManagerItemNameClasses = "text-sm font-medium text-[var(--tiger-text,#1f2937)] truncate";
|
|
18113
18825
|
var fileManagerItemMetaClasses = "text-xs text-[var(--tiger-text-muted,#9ca3af)]";
|
|
18114
18826
|
var fileManagerEmptyClasses = "flex items-center justify-center py-12 text-sm text-[var(--tiger-text-muted,#9ca3af)]";
|
|
18115
|
-
var fileManagerLoadingClasses = "absolute inset-0 flex items-center justify-center bg-[var(--tiger-bg,#ffffff)]/60 z-10";
|
|
18116
|
-
var fileManagerSearchClasses = "px-3 py-1.5 text-sm border border-[var(--tiger-border,#e5e7eb)] rounded-[var(--tiger-radius-md,0.5rem)] bg-[var(--tiger-bg,#ffffff)] focus:outline-none focus:ring-2 focus:ring-[var(--tiger-primary,#2563eb)]/30";
|
|
18827
|
+
var fileManagerLoadingClasses = "absolute inset-0 flex items-center justify-center bg-[var(--tiger-file-manager-bg,var(--tiger-surface,#ffffff))]/60 z-10";
|
|
18828
|
+
var fileManagerSearchClasses = "px-3 py-1.5 text-sm border border-[var(--tiger-border,#e5e7eb)] rounded-[var(--tiger-radius-md,0.5rem)] bg-[var(--tiger-file-manager-bg,var(--tiger-surface,#ffffff))] focus:outline-none focus:ring-2 focus:ring-[var(--tiger-primary,#2563eb)]/30";
|
|
18117
18829
|
function sortFileItems(items, field = "name", order = "asc") {
|
|
18118
18830
|
const sorted = [...items].sort((a, b) => {
|
|
18119
18831
|
if (a.type !== b.type) {
|
|
@@ -18249,7 +18961,7 @@ function getImageAnnotationToolLabel(tool) {
|
|
|
18249
18961
|
function getImageAnnotationToolButtonClasses(active) {
|
|
18250
18962
|
return classNames(
|
|
18251
18963
|
imageAnnotationToolButtonClasses,
|
|
18252
|
-
active ? "border-[var(--tiger-primary,#2563eb)] bg-[var(--tiger-primary,#2563eb)] text-white" : "border-[var(--tiger-border,#d1d5db)] bg-[var(--tiger-bg,#ffffff)] text-[var(--tiger-text,#111827)] hover:bg-[var(--tiger-
|
|
18964
|
+
active ? "border-[var(--tiger-primary,#2563eb)] bg-[var(--tiger-primary,#2563eb)] text-white" : "border-[var(--tiger-border,#d1d5db)] bg-[var(--tiger-annotation-tool-bg,var(--tiger-surface,#ffffff))] text-[var(--tiger-annotation-tool-text,var(--tiger-text,#111827))] hover:bg-[var(--tiger-surface-muted,#f3f4f6)]"
|
|
18253
18965
|
);
|
|
18254
18966
|
}
|
|
18255
18967
|
function getImageAnnotationStrokeColor(annotation) {
|
|
@@ -18349,10 +19061,10 @@ function isImageAnnotationShapeTool(tool) {
|
|
|
18349
19061
|
|
|
18350
19062
|
// src/utils/org-chart-utils.ts
|
|
18351
19063
|
var orgChartNodeClasses = "transition-[filter,opacity,stroke] duration-150 ease-out focus:outline-none";
|
|
18352
|
-
var orgChartNodeRectClasses = "stroke-[var(--tiger-border,#d1d5db)] fill-[var(--tiger-bg,#ffffff)] drop-shadow-sm";
|
|
18353
|
-
var orgChartNodeLabelClasses = "pointer-events-none select-none fill-[var(--tiger-text,#111827)] text-sm font-semibold";
|
|
18354
|
-
var orgChartNodeTitleClasses = "pointer-events-none select-none fill-[var(--tiger-text-
|
|
18355
|
-
var orgChartNodeSubtitleClasses = "pointer-events-none select-none fill-[var(--tiger-text-
|
|
19064
|
+
var orgChartNodeRectClasses = "stroke-[var(--tiger-border,#d1d5db)] fill-[var(--tiger-org-node-bg,var(--tiger-surface,#ffffff))] drop-shadow-sm";
|
|
19065
|
+
var orgChartNodeLabelClasses = "pointer-events-none select-none fill-[var(--tiger-org-label,var(--tiger-text,#111827))] text-sm font-semibold";
|
|
19066
|
+
var orgChartNodeTitleClasses = "pointer-events-none select-none fill-[var(--tiger-org-title,var(--tiger-text-secondary,#6b7280))] text-xs";
|
|
19067
|
+
var orgChartNodeSubtitleClasses = "pointer-events-none select-none fill-[var(--tiger-org-subtitle,var(--tiger-text-secondary,#6b7280))] text-[11px]";
|
|
18356
19068
|
var orgChartLinkClasses = "fill-none stroke-[var(--tiger-border,#d1d5db)] stroke-2";
|
|
18357
19069
|
function normalizeOrgChartData(data) {
|
|
18358
19070
|
return Array.isArray(data) ? data : [data];
|
|
@@ -18467,9 +19179,7 @@ function flipLayoutNode(node) {
|
|
|
18467
19179
|
return {
|
|
18468
19180
|
...node,
|
|
18469
19181
|
x: node.y,
|
|
18470
|
-
y: node.x
|
|
18471
|
-
width: node.height,
|
|
18472
|
-
height: node.width
|
|
19182
|
+
y: node.x
|
|
18473
19183
|
};
|
|
18474
19184
|
}
|
|
18475
19185
|
function flipLayoutLink(link) {
|
|
@@ -18510,8 +19220,95 @@ function getGanttTaskAriaLabel(task) {
|
|
|
18510
19220
|
const progress = typeof task.progress === "number" ? `, ${clampProgress(task.progress)}%` : "";
|
|
18511
19221
|
return `${task.label}, ${start} to ${end}${progress}`;
|
|
18512
19222
|
}
|
|
18513
|
-
function getGanttTaskClasses(interactive, selected) {
|
|
18514
|
-
return classNames(
|
|
19223
|
+
function getGanttTaskClasses(interactive, selected, movable = false, grabbing = false) {
|
|
19224
|
+
return classNames(
|
|
19225
|
+
ganttBarClasses,
|
|
19226
|
+
grabbing ? "cursor-grabbing" : movable ? "cursor-grab" : interactive && "cursor-pointer",
|
|
19227
|
+
selected && "drop-shadow-md"
|
|
19228
|
+
);
|
|
19229
|
+
}
|
|
19230
|
+
function ganttPxToMs(deltaX, minMs, maxMs, timelineWidth) {
|
|
19231
|
+
if (!(timelineWidth > 0) || !Number.isFinite(timelineWidth) || !Number.isFinite(deltaX)) return 0;
|
|
19232
|
+
const rangeMs = maxMs - minMs;
|
|
19233
|
+
if (!Number.isFinite(rangeMs) || rangeMs <= 0) return 0;
|
|
19234
|
+
return deltaX * (rangeMs / timelineWidth);
|
|
19235
|
+
}
|
|
19236
|
+
function ganttDateValuesEqual(a, b) {
|
|
19237
|
+
if (Object.is(a, b)) return true;
|
|
19238
|
+
const aMs = normalizeGanttDate(a);
|
|
19239
|
+
const bMs = normalizeGanttDate(b);
|
|
19240
|
+
return Number.isFinite(aMs) && Number.isFinite(bMs) && aMs === bMs;
|
|
19241
|
+
}
|
|
19242
|
+
function clampGanttDragDeltaX(deltaX, barX, barWidth, taskLabelWidth, layoutWidth) {
|
|
19243
|
+
if (!Number.isFinite(deltaX)) return 0;
|
|
19244
|
+
const minDelta = taskLabelWidth - barX;
|
|
19245
|
+
const maxDelta = layoutWidth - barX - barWidth;
|
|
19246
|
+
if (!Number.isFinite(minDelta) || !Number.isFinite(maxDelta) || minDelta > maxDelta) {
|
|
19247
|
+
return 0;
|
|
19248
|
+
}
|
|
19249
|
+
return Math.min(maxDelta, Math.max(minDelta, deltaX));
|
|
19250
|
+
}
|
|
19251
|
+
function shiftGanttTaskDates(task, deltaMs, options = {}) {
|
|
19252
|
+
const startMs = normalizeGanttDate(task.start);
|
|
19253
|
+
const endMs = normalizeGanttDate(task.end);
|
|
19254
|
+
if (!Number.isFinite(startMs) || !Number.isFinite(endMs)) return { ...task };
|
|
19255
|
+
const dayDelta = Math.round((Number.isFinite(deltaMs) ? deltaMs : 0) / DAY_MS);
|
|
19256
|
+
if (dayDelta === 0) {
|
|
19257
|
+
return {
|
|
19258
|
+
...task,
|
|
19259
|
+
start: cloneGanttDateValue(task.start),
|
|
19260
|
+
end: cloneGanttDateValue(task.end)
|
|
19261
|
+
};
|
|
19262
|
+
}
|
|
19263
|
+
let nextStart = addLocalDays(startMs, dayDelta);
|
|
19264
|
+
let nextEnd = addLocalDays(endMs, dayDelta);
|
|
19265
|
+
if (nextEnd.getTime() < nextStart.getTime()) {
|
|
19266
|
+
const swapped = nextStart;
|
|
19267
|
+
nextStart = nextEnd;
|
|
19268
|
+
nextEnd = swapped;
|
|
19269
|
+
}
|
|
19270
|
+
const durationMs = nextEnd.getTime() - nextStart.getTime();
|
|
19271
|
+
const minMs = options.minMs;
|
|
19272
|
+
const maxMs = options.maxMs;
|
|
19273
|
+
const hasMin = minMs !== void 0 && Number.isFinite(minMs);
|
|
19274
|
+
const hasMax = maxMs !== void 0 && Number.isFinite(maxMs);
|
|
19275
|
+
if (hasMin && hasMax && durationMs > maxMs - minMs) {
|
|
19276
|
+
nextStart = new Date(minMs);
|
|
19277
|
+
nextEnd = new Date(minMs + durationMs);
|
|
19278
|
+
} else {
|
|
19279
|
+
if (hasMin && nextStart.getTime() < minMs) {
|
|
19280
|
+
nextStart = new Date(minMs);
|
|
19281
|
+
nextEnd = new Date(minMs + durationMs);
|
|
19282
|
+
}
|
|
19283
|
+
if (hasMax && nextEnd.getTime() > maxMs) {
|
|
19284
|
+
nextEnd = new Date(maxMs);
|
|
19285
|
+
nextStart = new Date(maxMs - durationMs);
|
|
19286
|
+
}
|
|
19287
|
+
if (hasMin && nextStart.getTime() < minMs) {
|
|
19288
|
+
nextStart = new Date(minMs);
|
|
19289
|
+
nextEnd = new Date(minMs + durationMs);
|
|
19290
|
+
}
|
|
19291
|
+
}
|
|
19292
|
+
return {
|
|
19293
|
+
...task,
|
|
19294
|
+
start: preserveGanttDateValue(task.start, nextStart),
|
|
19295
|
+
end: preserveGanttDateValue(task.end, nextEnd)
|
|
19296
|
+
};
|
|
19297
|
+
}
|
|
19298
|
+
function moveGanttTaskByPx(task, deltaX, range) {
|
|
19299
|
+
const deltaMs = ganttPxToMs(deltaX, range.minMs, range.maxMs, range.timelineWidth);
|
|
19300
|
+
return shiftGanttTaskDates(task, deltaMs, { minMs: range.minMs, maxMs: range.maxMs });
|
|
19301
|
+
}
|
|
19302
|
+
function applyGanttTaskDateOverlay(data, overlay) {
|
|
19303
|
+
if (!overlay || overlay.size === 0) return data;
|
|
19304
|
+
return data.map((task) => {
|
|
19305
|
+
const entry = overlay.get(task.id);
|
|
19306
|
+
if (!entry) return task;
|
|
19307
|
+
if (entry.baseStart !== void 0 && entry.baseEnd !== void 0 && (!ganttDateValuesEqual(task.start, entry.baseStart) || !ganttDateValuesEqual(task.end, entry.baseEnd))) {
|
|
19308
|
+
return task;
|
|
19309
|
+
}
|
|
19310
|
+
return { ...task, start: entry.start, end: entry.end };
|
|
19311
|
+
});
|
|
18515
19312
|
}
|
|
18516
19313
|
function getGanttDependencyPath(dependency) {
|
|
18517
19314
|
const midX = dependency.sourceX + Math.max(16, (dependency.targetX - dependency.sourceX) / 2);
|
|
@@ -18686,10 +19483,33 @@ function addTick(date, scale) {
|
|
|
18686
19483
|
else next.setDate(next.getDate() + 1);
|
|
18687
19484
|
return next;
|
|
18688
19485
|
}
|
|
19486
|
+
function isYearMonthDayString(value) {
|
|
19487
|
+
return typeof value === "string" && /^\d{4}-\d{2}-\d{2}$/.test(value);
|
|
19488
|
+
}
|
|
19489
|
+
function toYearMonthDayString(date) {
|
|
19490
|
+
const year = date.getFullYear();
|
|
19491
|
+
const month = `${date.getMonth() + 1}`.padStart(2, "0");
|
|
19492
|
+
const day = `${date.getDate()}`.padStart(2, "0");
|
|
19493
|
+
return `${year}-${month}-${day}`;
|
|
19494
|
+
}
|
|
19495
|
+
function cloneGanttDateValue(value) {
|
|
19496
|
+
return value instanceof Date ? new Date(value.getTime()) : value;
|
|
19497
|
+
}
|
|
19498
|
+
function addLocalDays(ms, days) {
|
|
19499
|
+
const date = new Date(ms);
|
|
19500
|
+
date.setDate(date.getDate() + days);
|
|
19501
|
+
return date;
|
|
19502
|
+
}
|
|
19503
|
+
function preserveGanttDateValue(original, next) {
|
|
19504
|
+
if (isYearMonthDayString(original)) return toYearMonthDayString(next);
|
|
19505
|
+
if (original instanceof Date) return next;
|
|
19506
|
+
if (typeof original === "number") return next.getTime();
|
|
19507
|
+
return toYearMonthDayString(next);
|
|
19508
|
+
}
|
|
18689
19509
|
|
|
18690
19510
|
// src/utils/input-group-utils.ts
|
|
18691
19511
|
var inputGroupBaseClasses = "inline-flex items-stretch w-full";
|
|
18692
|
-
var inputGroupCompactClasses = "[&>*:not(:first-child):not(:last-child)]
|
|
19512
|
+
var inputGroupCompactClasses = "[&>*:not(:first-child):not(:last-child)]:!rounded-none [&>*:first-child]:!rounded-r-none [&>*:last-child]:!rounded-l-none [&>*:not(:first-child)]:-ml-px [&>*:focus-within]:z-10 [&>*:focus-within]:relative";
|
|
18693
19513
|
var inputGroupSpacedClasses = "gap-2";
|
|
18694
19514
|
var inputGroupAddonBaseClasses = "inline-flex items-center justify-center border border-[var(--tiger-border,#e5e7eb)] bg-[var(--tiger-surface-muted,#f9fafb)] text-[var(--tiger-text-muted,#6b7280)] whitespace-nowrap";
|
|
18695
19515
|
var inputGroupAddonSizeClasses = {
|
|
@@ -19010,7 +19830,7 @@ function loadImage(src) {
|
|
|
19010
19830
|
}
|
|
19011
19831
|
|
|
19012
19832
|
// src/utils/print-layout-utils.ts
|
|
19013
|
-
var printLayoutBaseClasses = "tiger-print-layout relative bg-white shadow-sm border border-[var(--tiger-border,#e5e7eb)] mx-auto";
|
|
19833
|
+
var printLayoutBaseClasses = "tiger-print-layout relative bg-white text-[var(--tiger-print-ink,#111827)] shadow-sm border border-[var(--tiger-border,#e5e7eb)] mx-auto";
|
|
19014
19834
|
var printLayoutHeaderClasses = "hidden print:block text-center text-sm text-[var(--tiger-text-muted,#6b7280)] border-b border-[var(--tiger-border,#e5e7eb)] py-2 mb-4";
|
|
19015
19835
|
var printLayoutFooterClasses = "hidden print:block text-center text-xs text-[var(--tiger-text-muted,#6b7280)] border-t border-[var(--tiger-border,#e5e7eb)] pt-2 mt-4";
|
|
19016
19836
|
var printLayoutPageBreakClasses = 'border-t-2 border-dashed border-[var(--tiger-border,#e5e7eb)] my-4 print:hidden relative before:content-["Page_Break"] before:absolute before:left-1/2 before:-translate-x-1/2 before:-translate-y-1/2 before:bg-white before:px-2 before:text-xs before:text-[var(--tiger-text-muted,#6b7280)]';
|
|
@@ -19043,11 +19863,11 @@ var printLayoutPrintStyles = `
|
|
|
19043
19863
|
// src/utils/image-viewer-utils.ts
|
|
19044
19864
|
var imageViewerBackdropClasses = "fixed inset-0 bg-[var(--tiger-image-mask,rgba(0,0,0,0.85))] z-50 flex items-center justify-center";
|
|
19045
19865
|
var imageViewerImgClasses = "max-h-[90vh] max-w-[90vw] select-none transition-transform duration-200 ease-out cursor-grab active:cursor-grabbing touch-none";
|
|
19046
|
-
var imageViewerToolbarClasses = "fixed bottom-6 left-1/2 -translate-x-1/2 z-50 flex items-center gap-2 bg-[var(--tiger-
|
|
19866
|
+
var imageViewerToolbarClasses = "fixed bottom-6 left-1/2 -translate-x-1/2 z-50 flex items-center gap-2 bg-[var(--tiger-image-toolbar-bg,rgba(0,0,0,0.6))] backdrop-blur-sm rounded-[var(--tiger-radius-md,0.5rem)] px-4 py-2";
|
|
19047
19867
|
var imageViewerToolbarBtnClasses = "p-2 text-white hover:bg-white/20 rounded-[var(--tiger-radius-md,0.5rem)] transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-white";
|
|
19048
|
-
var imageViewerNavBtnClasses = "fixed top-1/2 -translate-y-1/2 z-50 p-3 text-white bg-[var(--tiger-
|
|
19868
|
+
var imageViewerNavBtnClasses = "fixed top-1/2 -translate-y-1/2 z-50 p-3 text-white bg-[var(--tiger-image-toolbar-bg,rgba(0,0,0,0.6))] hover:bg-white/20 rounded-full transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-white";
|
|
19049
19869
|
var imageViewerCloseBtnClasses = "fixed top-4 right-4 z-50 p-2 text-white hover:bg-white/20 rounded-[var(--tiger-radius-md,0.5rem)] transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-white";
|
|
19050
|
-
var imageViewerCounterClasses = "fixed top-4 left-1/2 -translate-x-1/2 z-50 text-white text-sm bg-[var(--tiger-
|
|
19870
|
+
var imageViewerCounterClasses = "fixed top-4 left-1/2 -translate-x-1/2 z-50 text-white text-sm bg-[var(--tiger-image-toolbar-bg,rgba(0,0,0,0.6))] rounded-full px-3 py-1";
|
|
19051
19871
|
var imageViewerIcons = {
|
|
19052
19872
|
zoomIn: zoomInIconPath,
|
|
19053
19873
|
zoomOut: zoomOutIconPath,
|
|
@@ -19427,6 +20247,10 @@ var THEME_CSS_VARS = {
|
|
|
19427
20247
|
chart4: "--tiger-chart-4",
|
|
19428
20248
|
chart5: "--tiger-chart-5",
|
|
19429
20249
|
chart6: "--tiger-chart-6",
|
|
20250
|
+
// Aliases of existing semantic tokens (not a third color system)
|
|
20251
|
+
textMuted: "--tiger-text-muted",
|
|
20252
|
+
fill: "--tiger-fill",
|
|
20253
|
+
bg: "--tiger-bg",
|
|
19430
20254
|
// Breakpoints
|
|
19431
20255
|
breakpointXs: "--tiger-breakpoint-xs",
|
|
19432
20256
|
breakpointSm: "--tiger-breakpoint-sm",
|
|
@@ -19434,6 +20258,23 @@ var THEME_CSS_VARS = {
|
|
|
19434
20258
|
breakpointLg: "--tiger-breakpoint-lg",
|
|
19435
20259
|
breakpointXl: "--tiger-breakpoint-xl"
|
|
19436
20260
|
};
|
|
20261
|
+
var THEME_CSS_VAR_ALIAS_SOURCES = {
|
|
20262
|
+
textMuted: "textSecondary",
|
|
20263
|
+
fill: "surfaceMuted",
|
|
20264
|
+
bg: "surface"
|
|
20265
|
+
};
|
|
20266
|
+
function semanticColorsToCssVars(colors = {}) {
|
|
20267
|
+
const vars = {};
|
|
20268
|
+
for (const [key, value] of Object.entries(colors)) {
|
|
20269
|
+
const varName = THEME_CSS_VARS[key];
|
|
20270
|
+
if (varName && value) vars[varName] = value;
|
|
20271
|
+
}
|
|
20272
|
+
for (const aliasKey of Object.keys(THEME_CSS_VAR_ALIAS_SOURCES)) {
|
|
20273
|
+
const sourceKey = THEME_CSS_VAR_ALIAS_SOURCES[aliasKey];
|
|
20274
|
+
vars[THEME_CSS_VARS[aliasKey]] = `var(${THEME_CSS_VARS[sourceKey]})`;
|
|
20275
|
+
}
|
|
20276
|
+
return vars;
|
|
20277
|
+
}
|
|
19437
20278
|
var cssVarCache = /* @__PURE__ */ new WeakMap();
|
|
19438
20279
|
function setCssVarsCached(element, vars) {
|
|
19439
20280
|
let cache = cssVarCache.get(element);
|
|
@@ -19715,18 +20556,8 @@ var defaultTheme = {
|
|
|
19715
20556
|
};
|
|
19716
20557
|
|
|
19717
20558
|
// src/tailwind-plugin.ts
|
|
19718
|
-
|
|
19719
|
-
|
|
19720
|
-
for (const [key, value] of Object.entries(colors)) {
|
|
19721
|
-
const varName = THEME_CSS_VARS[key];
|
|
19722
|
-
if (varName && value) {
|
|
19723
|
-
vars[varName] = value;
|
|
19724
|
-
}
|
|
19725
|
-
}
|
|
19726
|
-
return vars;
|
|
19727
|
-
}
|
|
19728
|
-
var tigercatTheme = presetToVars(defaultThemeLightColors);
|
|
19729
|
-
var tigercatDarkTheme = presetToVars(defaultThemeDarkColors);
|
|
20559
|
+
var tigercatTheme = semanticColorsToCssVars(defaultThemeLightColors);
|
|
20560
|
+
var tigercatDarkTheme = semanticColorsToCssVars(defaultThemeDarkColors);
|
|
19730
20561
|
var tigercatDirectionBase = {
|
|
19731
20562
|
'[dir="rtl"] .tiger-rtl-mirror, [data-tiger-dir="rtl"] .tiger-rtl-mirror': {
|
|
19732
20563
|
transform: "scaleX(-1)"
|
|
@@ -19768,8 +20599,8 @@ var tigercatPlugin = plugin(function({ addBase }) {
|
|
|
19768
20599
|
function createTigercatPlugin(options = {}) {
|
|
19769
20600
|
return plugin(function({ addBase }) {
|
|
19770
20601
|
const preset = options.preset;
|
|
19771
|
-
const lightVars = preset?.light?.colors ?
|
|
19772
|
-
const darkVars = preset?.dark?.colors ?
|
|
20602
|
+
const lightVars = preset?.light?.colors ? semanticColorsToCssVars(preset.light.colors) : tigercatTheme;
|
|
20603
|
+
const darkVars = preset?.dark?.colors ? semanticColorsToCssVars(preset.dark.colors) : tigercatDarkTheme;
|
|
19773
20604
|
addBase({
|
|
19774
20605
|
":root": { ...lightVars, ...MODERN_BASE_TOKENS_LIGHT },
|
|
19775
20606
|
".dark": { ...darkVars, ...MODERN_BASE_TOKENS_DARK },
|
|
@@ -19833,13 +20664,9 @@ var THEME_CONFIG_CSS_VARS = {
|
|
|
19833
20664
|
}
|
|
19834
20665
|
};
|
|
19835
20666
|
function themeConfigToCssVars(config) {
|
|
19836
|
-
const vars = {
|
|
19837
|
-
|
|
19838
|
-
|
|
19839
|
-
const varName = THEME_CSS_VARS[key];
|
|
19840
|
-
if (varName && value) vars[varName] = value;
|
|
19841
|
-
}
|
|
19842
|
-
}
|
|
20667
|
+
const vars = {
|
|
20668
|
+
...semanticColorsToCssVars(config.colors)
|
|
20669
|
+
};
|
|
19843
20670
|
for (const section of ["typography", "radius", "shadows", "spacing", "motion"]) {
|
|
19844
20671
|
const values = config[section];
|
|
19845
20672
|
if (!values) continue;
|
|
@@ -20932,7 +21759,7 @@ var designTokens = {
|
|
|
20932
21759
|
};
|
|
20933
21760
|
|
|
20934
21761
|
// src/index.ts
|
|
20935
|
-
var version = "2.1.
|
|
21762
|
+
var version = "2.1.1";
|
|
20936
21763
|
export {
|
|
20937
21764
|
ANIMATION_DURATION_FAST_MS,
|
|
20938
21765
|
ANIMATION_DURATION_MS,
|
|
@@ -20946,14 +21773,20 @@ export {
|
|
|
20946
21773
|
COUNTDOWN_DEFAULT_FORMAT,
|
|
20947
21774
|
COUNTDOWN_DEFAULT_INTERVAL_MS,
|
|
20948
21775
|
CROP_HANDLES,
|
|
21776
|
+
DEFAULT_ACTIVITY_FEED_LABELS,
|
|
20949
21777
|
DEFAULT_AVATAR_GROUP_LABELS,
|
|
20950
21778
|
DEFAULT_CALENDAR_LABELS,
|
|
20951
21779
|
DEFAULT_CAROUSEL_LABELS,
|
|
20952
21780
|
DEFAULT_CHART_COLORS,
|
|
20953
21781
|
DEFAULT_CHART_LABELS,
|
|
21782
|
+
DEFAULT_CHAT_WINDOW_LABELS,
|
|
21783
|
+
DEFAULT_CODE_LABELS,
|
|
21784
|
+
DEFAULT_COMMENT_THREAD_LABELS,
|
|
20954
21785
|
DEFAULT_CRON_EDITOR_LABELS,
|
|
20955
21786
|
DEFAULT_DATA_EXPORT_LABELS,
|
|
20956
21787
|
DEFAULT_FILE_MANAGER_LABELS,
|
|
21788
|
+
DEFAULT_FLOATING_HOVER_HIDE_DELAY_MS,
|
|
21789
|
+
DEFAULT_FLOATING_HOVER_SHOW_DELAY_MS,
|
|
20957
21790
|
DEFAULT_FORM_VALIDATION_LABELS,
|
|
20958
21791
|
DEFAULT_FORM_WIZARD_LABELS,
|
|
20959
21792
|
DEFAULT_HEATMAP_CANVAS_THRESHOLD,
|
|
@@ -20970,6 +21803,7 @@ export {
|
|
|
20970
21803
|
DEFAULT_KBD_SEPARATOR,
|
|
20971
21804
|
DEFAULT_KBD_SIZE,
|
|
20972
21805
|
DEFAULT_KBD_VARIANT,
|
|
21806
|
+
DEFAULT_LOADING_BACKGROUND,
|
|
20973
21807
|
DEFAULT_LOADING_BAR_ARIA_LABEL,
|
|
20974
21808
|
DEFAULT_LOADING_BAR_COLOR,
|
|
20975
21809
|
DEFAULT_LOADING_BAR_HEIGHT,
|
|
@@ -20981,6 +21815,7 @@ export {
|
|
|
20981
21815
|
DEFAULT_MARQUEE_PAUSE_ON_HOVER,
|
|
20982
21816
|
DEFAULT_MARQUEE_REPEAT,
|
|
20983
21817
|
DEFAULT_MASK_TOKENS,
|
|
21818
|
+
DEFAULT_NOTIFICATION_CENTER_LABELS,
|
|
20984
21819
|
DEFAULT_PAGINATION_LABELS,
|
|
20985
21820
|
DEFAULT_RATE_LABELS,
|
|
20986
21821
|
DEFAULT_RICH_TEXT_EDITOR_LABELS,
|
|
@@ -21082,10 +21917,14 @@ export {
|
|
|
21082
21917
|
ThemeManager,
|
|
21083
21918
|
VIEW_TRANSITION_CSS,
|
|
21084
21919
|
WEEKDAYS,
|
|
21920
|
+
ZH_CN_ACTIVITY_FEED_LABELS,
|
|
21085
21921
|
ZH_CN_AVATAR_GROUP_LABELS,
|
|
21086
21922
|
ZH_CN_CALENDAR_LABELS,
|
|
21087
21923
|
ZH_CN_CAROUSEL_LABELS,
|
|
21088
21924
|
ZH_CN_CHART_LABELS,
|
|
21925
|
+
ZH_CN_CHAT_WINDOW_LABELS,
|
|
21926
|
+
ZH_CN_CODE_LABELS,
|
|
21927
|
+
ZH_CN_COMMENT_THREAD_LABELS,
|
|
21089
21928
|
ZH_CN_CRON_EDITOR_LABELS,
|
|
21090
21929
|
ZH_CN_DATA_EXPORT_LABELS,
|
|
21091
21930
|
ZH_CN_FILE_MANAGER_LABELS,
|
|
@@ -21095,6 +21934,7 @@ export {
|
|
|
21095
21934
|
ZH_CN_IMAGE_VIEWER_LABELS,
|
|
21096
21935
|
ZH_CN_INPUT_OTP_LABELS,
|
|
21097
21936
|
ZH_CN_MARKDOWN_EDITOR_LABELS,
|
|
21937
|
+
ZH_CN_NOTIFICATION_CENTER_LABELS,
|
|
21098
21938
|
ZH_CN_PAGINATION_LABELS,
|
|
21099
21939
|
ZH_CN_RATE_LABELS,
|
|
21100
21940
|
ZH_CN_RICH_TEXT_EDITOR_LABELS,
|
|
@@ -21149,10 +21989,12 @@ export {
|
|
|
21149
21989
|
animationDelayClasses,
|
|
21150
21990
|
animationDelayStyles,
|
|
21151
21991
|
announceToScreenReader,
|
|
21992
|
+
appendDefaultTaskBoardCard,
|
|
21152
21993
|
applyAspectRatio,
|
|
21153
21994
|
applyChartBrush,
|
|
21154
21995
|
applyFileDragReorder,
|
|
21155
21996
|
applyFloatingStyles,
|
|
21997
|
+
applyGanttTaskDateOverlay,
|
|
21156
21998
|
applyMarkdownToolbarAction,
|
|
21157
21999
|
applyMaskInput,
|
|
21158
22000
|
applyNumberKeyboardInput,
|
|
@@ -21207,6 +22049,7 @@ export {
|
|
|
21207
22049
|
buildActivityGroups,
|
|
21208
22050
|
buildChartLegendItems,
|
|
21209
22051
|
buildChartSeriesKeys,
|
|
22052
|
+
buildChatMessageStatusInfo,
|
|
21210
22053
|
buildCommentTree,
|
|
21211
22054
|
buildCronFieldValue,
|
|
21212
22055
|
buildNotificationGroups,
|
|
@@ -21298,6 +22141,7 @@ export {
|
|
|
21298
22141
|
chevronRightSolidIcon20PathD,
|
|
21299
22142
|
clampBarWidth,
|
|
21300
22143
|
clampDimensions,
|
|
22144
|
+
clampGanttDragDeltaX,
|
|
21301
22145
|
clampImageAnnotationPoint,
|
|
21302
22146
|
clampImageAnnotationUnit,
|
|
21303
22147
|
clampLoadingBarPercentage,
|
|
@@ -21332,6 +22176,7 @@ export {
|
|
|
21332
22176
|
codeBlockContainerClasses,
|
|
21333
22177
|
codeBlockCopyButtonBaseClasses,
|
|
21334
22178
|
codeBlockCopyButtonCopiedClasses,
|
|
22179
|
+
codeBlockCopyButtonFailedClasses,
|
|
21335
22180
|
codeBlockPreClasses,
|
|
21336
22181
|
codeEditorActiveLineDarkClasses,
|
|
21337
22182
|
codeEditorActiveLineLightClasses,
|
|
@@ -21416,6 +22261,7 @@ export {
|
|
|
21416
22261
|
createChartLinkController,
|
|
21417
22262
|
createChartPointerMoveScheduler,
|
|
21418
22263
|
createChartResizeObserverController,
|
|
22264
|
+
createCircleRingPath,
|
|
21419
22265
|
createCollapseTransitionController,
|
|
21420
22266
|
createColumnDragData,
|
|
21421
22267
|
createCountdownPayload,
|
|
@@ -21424,6 +22270,7 @@ export {
|
|
|
21424
22270
|
createDocumentDragSession,
|
|
21425
22271
|
createDragState,
|
|
21426
22272
|
createEmptyScrollAreaState,
|
|
22273
|
+
createFloatingHoverDelayController,
|
|
21427
22274
|
createFloatingIdFactory,
|
|
21428
22275
|
createFocusTrap,
|
|
21429
22276
|
createFormConditionDependencies,
|
|
@@ -21452,6 +22299,8 @@ export {
|
|
|
21452
22299
|
createPinchState,
|
|
21453
22300
|
createPointScale,
|
|
21454
22301
|
createPolygonPath,
|
|
22302
|
+
createPolygonRingPath,
|
|
22303
|
+
createProgrammaticScrollLock,
|
|
21455
22304
|
createRafRepeatActionController,
|
|
21456
22305
|
createScrollSpyObserver,
|
|
21457
22306
|
createScrollSpyPayload,
|
|
@@ -21617,6 +22466,7 @@ export {
|
|
|
21617
22466
|
filterTreeNodes,
|
|
21618
22467
|
filterTreeSelectNodes,
|
|
21619
22468
|
findActiveAnchor,
|
|
22469
|
+
findActiveAnchorAtOffsetLine,
|
|
21620
22470
|
findCascaderOption,
|
|
21621
22471
|
findColumnFromPoint,
|
|
21622
22472
|
findFirstEnabledIndex,
|
|
@@ -21640,6 +22490,7 @@ export {
|
|
|
21640
22490
|
floatButtonGroupClasses,
|
|
21641
22491
|
floatButtonGroupExpandClasses,
|
|
21642
22492
|
floatButtonIconSizeClasses,
|
|
22493
|
+
floatButtonPlusIconPath,
|
|
21643
22494
|
floatButtonShapeClasses,
|
|
21644
22495
|
floatButtonSizeClasses,
|
|
21645
22496
|
floatButtonTypeClasses,
|
|
@@ -21687,9 +22538,11 @@ export {
|
|
|
21687
22538
|
fullscreenIcon,
|
|
21688
22539
|
ganttAxisTextClasses,
|
|
21689
22540
|
ganttBarClasses,
|
|
22541
|
+
ganttDateValuesEqual,
|
|
21690
22542
|
ganttDependencyClasses,
|
|
21691
22543
|
ganttLabelClasses,
|
|
21692
22544
|
ganttProgressClasses,
|
|
22545
|
+
ganttPxToMs,
|
|
21693
22546
|
ganttRowClasses,
|
|
21694
22547
|
ganttTodayLineClasses,
|
|
21695
22548
|
generateAvatarColor,
|
|
@@ -21705,6 +22558,7 @@ export {
|
|
|
21705
22558
|
getActiveLineIndex,
|
|
21706
22559
|
getActiveTourStepPosition,
|
|
21707
22560
|
getActiveTourSteps,
|
|
22561
|
+
getActivityFeedLabels,
|
|
21708
22562
|
getAlertIconPath,
|
|
21709
22563
|
getAlertTypeClasses,
|
|
21710
22564
|
getAlignClasses,
|
|
@@ -21780,6 +22634,7 @@ export {
|
|
|
21780
22634
|
getChartTooltipTransform,
|
|
21781
22635
|
getChatMessageStatusInfo,
|
|
21782
22636
|
getChatStatusBarClasses,
|
|
22637
|
+
getChatWindowLabels,
|
|
21783
22638
|
getCheckboxCellClasses,
|
|
21784
22639
|
getCheckboxClasses,
|
|
21785
22640
|
getCheckboxLabelClasses,
|
|
@@ -21790,6 +22645,7 @@ export {
|
|
|
21790
22645
|
getCodeEditorActiveLineClasses,
|
|
21791
22646
|
getCodeEditorCaretClasses,
|
|
21792
22647
|
getCodeEditorContainerClasses,
|
|
22648
|
+
getCodeLabels,
|
|
21793
22649
|
getColGutterClasses,
|
|
21794
22650
|
getColMergedStyleVars,
|
|
21795
22651
|
getColOrderStyleVars,
|
|
@@ -21804,6 +22660,7 @@ export {
|
|
|
21804
22660
|
getColorSwatchOptionKey,
|
|
21805
22661
|
getColumnCardCount,
|
|
21806
22662
|
getColumnDropIndex,
|
|
22663
|
+
getCommentThreadLabels,
|
|
21807
22664
|
getComponentMotionStyle,
|
|
21808
22665
|
getComponentMotionTransition,
|
|
21809
22666
|
getComponentTransition,
|
|
@@ -21896,6 +22753,7 @@ export {
|
|
|
21896
22753
|
getFixedColumnStyle,
|
|
21897
22754
|
getFixedVirtualRange,
|
|
21898
22755
|
getFlexClasses,
|
|
22756
|
+
getFloatButtonGroupClasses,
|
|
21899
22757
|
getFloatingMiddleware,
|
|
21900
22758
|
getFocusTrapNavigation,
|
|
21901
22759
|
getFocusableElements2 as getFocusableElements,
|
|
@@ -21957,10 +22815,12 @@ export {
|
|
|
21957
22815
|
getInitialSubmenuHeightTransitionStyle,
|
|
21958
22816
|
getInitials,
|
|
21959
22817
|
getInputAffixClasses,
|
|
22818
|
+
getInputChromeClasses,
|
|
21960
22819
|
getInputClasses,
|
|
21961
22820
|
getInputClearButtonClasses,
|
|
21962
22821
|
getInputCountClasses,
|
|
21963
22822
|
getInputErrorClasses,
|
|
22823
|
+
getInputFieldClasses,
|
|
21964
22824
|
getInputGroupAddonClasses,
|
|
21965
22825
|
getInputGroupClasses,
|
|
21966
22826
|
getInputNumberFocusRingColor,
|
|
@@ -22043,6 +22903,7 @@ export {
|
|
|
22043
22903
|
getNextImageAnnotationTool,
|
|
22044
22904
|
getNextSlideIndex,
|
|
22045
22905
|
getNextTableSelectAllKeys,
|
|
22906
|
+
getNotificationCenterLabels,
|
|
22046
22907
|
getNotificationIconPath,
|
|
22047
22908
|
getNotificationTypeClasses,
|
|
22048
22909
|
getNumberExtent,
|
|
@@ -22187,6 +23048,7 @@ export {
|
|
|
22187
23048
|
getSplitButtonTriggerClasses,
|
|
22188
23049
|
getSplitterContainerClasses,
|
|
22189
23050
|
getSplitterGutterClasses,
|
|
23051
|
+
getSplitterGutterCssVars,
|
|
22190
23052
|
getSplitterGutterHandleClasses,
|
|
22191
23053
|
getSpotlightFuzzyScore,
|
|
22192
23054
|
getSpotlightOptionClasses,
|
|
@@ -22212,6 +23074,7 @@ export {
|
|
|
22212
23074
|
getSubMenuExpandIconClasses,
|
|
22213
23075
|
getSubMenuTitleClasses,
|
|
22214
23076
|
getSunburstGradientPrefix,
|
|
23077
|
+
getSunburstLabelPoint,
|
|
22215
23078
|
getSvgDefaultAttrs,
|
|
22216
23079
|
getSwitchClasses,
|
|
22217
23080
|
getSwitchThumbClasses,
|
|
@@ -22224,6 +23087,7 @@ export {
|
|
|
22224
23087
|
getTabPaneClasses,
|
|
22225
23088
|
getTableCellClasses,
|
|
22226
23089
|
getTableColgroup,
|
|
23090
|
+
getTableColumnDataKey,
|
|
22227
23091
|
getTableFixedCellClasses,
|
|
22228
23092
|
getTableFixedHeaderCellClasses,
|
|
22229
23093
|
getTableHeaderCellClasses,
|
|
@@ -22273,6 +23137,7 @@ export {
|
|
|
22273
23137
|
getTotalTextClasses,
|
|
22274
23138
|
getTouchDistance,
|
|
22275
23139
|
getTourLabels,
|
|
23140
|
+
getTourMaskHoleStyle,
|
|
22276
23141
|
getTourPopoverPosition,
|
|
22277
23142
|
getTourSpotlightStyle,
|
|
22278
23143
|
getTourTargetRect,
|
|
@@ -22441,6 +23306,7 @@ export {
|
|
|
22441
23306
|
isAtMax,
|
|
22442
23307
|
isAtMin,
|
|
22443
23308
|
isBrowser,
|
|
23309
|
+
isCalendarMonthDisabled,
|
|
22444
23310
|
isCascaderOptionExpandable,
|
|
22445
23311
|
isColorSwatchSelected,
|
|
22446
23312
|
isContentEmpty,
|
|
@@ -22557,6 +23423,7 @@ export {
|
|
|
22557
23423
|
lockOpenIcon24PathD,
|
|
22558
23424
|
manageLiveRegion,
|
|
22559
23425
|
mapToolbarAction,
|
|
23426
|
+
mapVisibleCardIndexToSource,
|
|
22560
23427
|
markdownEditorBodyClasses,
|
|
22561
23428
|
markdownEditorContainerBase,
|
|
22562
23429
|
markdownEditorContainerDisabled,
|
|
@@ -22640,6 +23507,7 @@ export {
|
|
|
22640
23507
|
moveCard,
|
|
22641
23508
|
moveCropRect,
|
|
22642
23509
|
moveFocusInMenu,
|
|
23510
|
+
moveGanttTaskByPx,
|
|
22643
23511
|
moveItemBetweenContainers,
|
|
22644
23512
|
movePan,
|
|
22645
23513
|
movePinch,
|
|
@@ -22647,6 +23515,7 @@ export {
|
|
|
22647
23515
|
musicIcon,
|
|
22648
23516
|
naturalTheme,
|
|
22649
23517
|
navigateToFolder,
|
|
23518
|
+
nextCommentLikeState,
|
|
22650
23519
|
nextIconPath,
|
|
22651
23520
|
nextLoadingBarTricklePercentage,
|
|
22652
23521
|
normalizeActiveKeys,
|
|
@@ -22713,6 +23582,7 @@ export {
|
|
|
22713
23582
|
paperclipIcon,
|
|
22714
23583
|
parseAspectRatio,
|
|
22715
23584
|
parseColorInput,
|
|
23585
|
+
parseColorParts,
|
|
22716
23586
|
parseCountdownTimestamp,
|
|
22717
23587
|
parseCronFieldControl,
|
|
22718
23588
|
parseDate,
|
|
@@ -22787,6 +23657,7 @@ export {
|
|
|
22787
23657
|
radioVisualBaseClasses,
|
|
22788
23658
|
rateActiveColor,
|
|
22789
23659
|
rateBaseClasses,
|
|
23660
|
+
rateHalfStarInnerClasses,
|
|
22790
23661
|
rateHoverColor,
|
|
22791
23662
|
rateInactiveColor,
|
|
22792
23663
|
readFileAsDataUrl,
|
|
@@ -22827,11 +23698,13 @@ export {
|
|
|
22827
23698
|
resizePanes,
|
|
22828
23699
|
resolveAffixTarget,
|
|
22829
23700
|
resolveAnchoredOverlayTarget,
|
|
23701
|
+
resolveAutoCompleteDisplayValue,
|
|
22830
23702
|
resolveCardPadding,
|
|
22831
23703
|
resolveCarouselSwipeDirection,
|
|
22832
23704
|
resolveChartPalette,
|
|
22833
23705
|
resolveChartTooltipContent,
|
|
22834
23706
|
resolveChartTooltipPosition,
|
|
23707
|
+
resolveCommentLikeState,
|
|
22835
23708
|
resolveConditionalFormRules,
|
|
22836
23709
|
resolveCreatableSelectOption,
|
|
22837
23710
|
resolveDragConfig,
|
|
@@ -22847,6 +23720,7 @@ export {
|
|
|
22847
23720
|
resolveImageCompareOrientation,
|
|
22848
23721
|
resolveImageComparePosition,
|
|
22849
23722
|
resolveImageCompareStep,
|
|
23723
|
+
resolveInitialPaneSizes,
|
|
22850
23724
|
resolveKbdSeparator,
|
|
22851
23725
|
resolveKbdSize,
|
|
22852
23726
|
resolveKbdVariant,
|
|
@@ -22940,6 +23814,7 @@ export {
|
|
|
22940
23814
|
selectOptionDisabledClasses,
|
|
22941
23815
|
selectOptionSelectedClasses,
|
|
22942
23816
|
selectSearchInputClasses,
|
|
23817
|
+
semanticColorsToCssVars,
|
|
22943
23818
|
semanticTokens,
|
|
22944
23819
|
sendIcon,
|
|
22945
23820
|
serializeChartSvg,
|
|
@@ -22949,6 +23824,7 @@ export {
|
|
|
22949
23824
|
setThemeColors,
|
|
22950
23825
|
shareIcon,
|
|
22951
23826
|
shieldCheckIcon,
|
|
23827
|
+
shiftGanttTaskDates,
|
|
22952
23828
|
shouldCloseOnMaskClick,
|
|
22953
23829
|
shouldCommitImageAnnotationBox,
|
|
22954
23830
|
shouldHideBadge,
|
|
@@ -23106,6 +23982,7 @@ export {
|
|
|
23106
23982
|
tableRowGroupHoverClasses,
|
|
23107
23983
|
tableRowHoverClasses,
|
|
23108
23984
|
tableRowStripedClasses,
|
|
23985
|
+
tableSortButtonClasses,
|
|
23109
23986
|
tableSummaryRowClasses,
|
|
23110
23987
|
tabsBaseClasses,
|
|
23111
23988
|
tagBaseClasses,
|
|
@@ -23260,6 +24137,7 @@ export {
|
|
|
23260
24137
|
watermarkFontDefaults,
|
|
23261
24138
|
watermarkWrapperClasses,
|
|
23262
24139
|
wifiIcon,
|
|
24140
|
+
writeCommentLikeOverlay,
|
|
23263
24141
|
zoomInIcon,
|
|
23264
24142
|
zoomInIconPath,
|
|
23265
24143
|
zoomOutIcon,
|