@underverse-ui/underverse 2.0.7 → 2.0.9
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/api-reference.json +1 -1
- package/dist/{EmojiPicker-34YATB7Z.js → EmojiPicker-RPB24XXJ.js} +4 -4
- package/dist/{chunk-JINSMREP.js → chunk-7V65PWQN.js} +3 -3
- package/dist/{chunk-PLHJWXCW.js → chunk-CKG2QLQL.js} +61 -1
- package/dist/chunk-CKG2QLQL.js.map +1 -0
- package/dist/{chunk-A7XL4RDV.js → chunk-K5PVUTXH.js} +7 -5
- package/dist/chunk-K5PVUTXH.js.map +1 -0
- package/dist/{chunk-KGNYK5YF.js → chunk-KKASHK7A.js} +2 -2
- package/dist/{chunk-TETMVVUP.js → chunk-VDIAFUIE.js} +11 -65
- package/dist/chunk-VDIAFUIE.js.map +1 -0
- package/dist/{chunk-XE3RJHVX.js → chunk-WNVGXH5Y.js} +12 -10
- package/dist/chunk-WNVGXH5Y.js.map +1 -0
- package/dist/index.cjs +278 -141
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +297 -167
- package/dist/index.js.map +1 -1
- package/dist/{menu-bar-NFEW4FOJ.js → menu-bar-R5ZFI2ST.js} +4 -4
- package/dist/ueditor.cjs +25 -9
- package/dist/ueditor.cjs.map +1 -1
- package/dist/ueditor.js +4 -4
- package/package.json +2 -1
- package/dist/chunk-A7XL4RDV.js.map +0 -1
- package/dist/chunk-PLHJWXCW.js.map +0 -1
- package/dist/chunk-TETMVVUP.js.map +0 -1
- package/dist/chunk-XE3RJHVX.js.map +0 -1
- /package/dist/{EmojiPicker-34YATB7Z.js.map → EmojiPicker-RPB24XXJ.js.map} +0 -0
- /package/dist/{chunk-JINSMREP.js.map → chunk-7V65PWQN.js.map} +0 -0
- /package/dist/{chunk-KGNYK5YF.js.map → chunk-KKASHK7A.js.map} +0 -0
- /package/dist/{menu-bar-NFEW4FOJ.js.map → menu-bar-R5ZFI2ST.js.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -4,19 +4,19 @@ import {
|
|
|
4
4
|
extractImageSrcsFromHtml,
|
|
5
5
|
normalizeImageUrl,
|
|
6
6
|
prepareUEditorContentForSave
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-WNVGXH5Y.js";
|
|
8
8
|
import {
|
|
9
9
|
EmojiPicker_default
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-K5PVUTXH.js";
|
|
11
11
|
import {
|
|
12
12
|
getEmojiImageUrl,
|
|
13
13
|
getEmojiUnifiedCode,
|
|
14
14
|
setEmojiBaseUrl
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-KKASHK7A.js";
|
|
16
16
|
import "./chunk-4TYW5K4J.js";
|
|
17
17
|
import {
|
|
18
18
|
Modal_default
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-7V65PWQN.js";
|
|
20
20
|
import {
|
|
21
21
|
DropdownMenuItem,
|
|
22
22
|
DropdownMenuSeparator,
|
|
@@ -24,10 +24,6 @@ import {
|
|
|
24
24
|
Popover,
|
|
25
25
|
SelectDropdown,
|
|
26
26
|
UnderverseConfigProvider,
|
|
27
|
-
formControlFixedClass,
|
|
28
|
-
formControlLabelClass,
|
|
29
|
-
formControlSizeStyles,
|
|
30
|
-
formControlValueClass,
|
|
31
27
|
getAnimationStyles,
|
|
32
28
|
getBorderRadiusClass,
|
|
33
29
|
getPanelBorderRadiusClass,
|
|
@@ -35,7 +31,7 @@ import {
|
|
|
35
31
|
shadcnAnimationStyles,
|
|
36
32
|
useShadCNAnimations,
|
|
37
33
|
useUnderverseUIConfig
|
|
38
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-VDIAFUIE.js";
|
|
39
35
|
import {
|
|
40
36
|
ForceInternalTranslationsProvider,
|
|
41
37
|
NextIntlAdapter,
|
|
@@ -44,6 +40,12 @@ import {
|
|
|
44
40
|
UnderverseNextIntlProvider,
|
|
45
41
|
cn,
|
|
46
42
|
en_default,
|
|
43
|
+
formControlFixedClass,
|
|
44
|
+
formControlGroupOutlineClass,
|
|
45
|
+
formControlLabelClass,
|
|
46
|
+
formControlOutlineClass,
|
|
47
|
+
formControlSizeStyles,
|
|
48
|
+
formControlValueClass,
|
|
47
49
|
getUnderverseDefaultTranslation,
|
|
48
50
|
ja_default,
|
|
49
51
|
ko_default,
|
|
@@ -55,7 +57,7 @@ import {
|
|
|
55
57
|
useUnderverseLocale,
|
|
56
58
|
useUnderverseTranslations,
|
|
57
59
|
vi_default
|
|
58
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-CKG2QLQL.js";
|
|
59
61
|
import {
|
|
60
62
|
__export,
|
|
61
63
|
__require
|
|
@@ -854,7 +856,7 @@ function useOverlayScrollbarTarget(targetRef, options = {}) {
|
|
|
854
856
|
var OverlayScrollbarProvider_default = OverlayScrollbarProvider;
|
|
855
857
|
|
|
856
858
|
// src/components/Input.tsx
|
|
857
|
-
import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
859
|
+
import { Fragment as Fragment2, jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
858
860
|
var Input = forwardRef3(
|
|
859
861
|
({
|
|
860
862
|
label,
|
|
@@ -877,6 +879,7 @@ var Input = forwardRef3(
|
|
|
877
879
|
value,
|
|
878
880
|
maxLength,
|
|
879
881
|
rightAddon,
|
|
882
|
+
rightSection,
|
|
880
883
|
borderMode,
|
|
881
884
|
...rest
|
|
882
885
|
}, ref) => {
|
|
@@ -896,19 +899,19 @@ var Input = forwardRef3(
|
|
|
896
899
|
const containerSpacing = size === "xs" || size === "sm" ? "space-y-1.5" : "space-y-2";
|
|
897
900
|
const variantStyles5 = {
|
|
898
901
|
default: {
|
|
899
|
-
container: "bg-background
|
|
900
|
-
focus: "
|
|
901
|
-
error: "border-destructive focus-visible:outline-none focus-visible:
|
|
902
|
+
container: cn("bg-background", formControlOutlineClass),
|
|
903
|
+
focus: "",
|
|
904
|
+
error: "border-destructive focus-visible:outline-none focus-visible:border-destructive"
|
|
902
905
|
},
|
|
903
906
|
filled: {
|
|
904
907
|
container: "bg-muted/50 border border-transparent hover:bg-muted/70",
|
|
905
908
|
focus: "focus-visible:outline-none focus-visible:bg-background focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background focus-visible:border-transparent",
|
|
906
|
-
error: "bg-destructive/10 border-destructive focus-visible:outline-none focus-visible:
|
|
909
|
+
error: "bg-destructive/10 border-destructive focus-visible:outline-none focus-visible:border-destructive"
|
|
907
910
|
},
|
|
908
911
|
outlined: {
|
|
909
912
|
container: "bg-transparent border border-border/50 hover:border-accent-foreground/30",
|
|
910
913
|
focus: "focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background focus-visible:border-transparent",
|
|
911
|
-
error: "border-destructive focus-visible:outline-none focus-visible:
|
|
914
|
+
error: "border-destructive focus-visible:outline-none focus-visible:border-destructive"
|
|
912
915
|
},
|
|
913
916
|
minimal: {
|
|
914
917
|
container: "bg-transparent border-0 border-b border-border/50 hover:border-accent-foreground/30",
|
|
@@ -1048,7 +1051,7 @@ var Input = forwardRef3(
|
|
|
1048
1051
|
radiusClass,
|
|
1049
1052
|
// Icon padding adjustments
|
|
1050
1053
|
LeftIcon && "pl-10",
|
|
1051
|
-
(RightIcon || showPasswordToggle || clearable || loading2 || success || errMsg) && "pr-10",
|
|
1054
|
+
(RightIcon || showPasswordToggle || clearable || loading2 || success || errMsg || rightSection) && "pr-10",
|
|
1052
1055
|
// Variant styles
|
|
1053
1056
|
variantStyles5[variant].container,
|
|
1054
1057
|
errMsg ? variantStyles5[variant].error : variantStyles5[variant].focus,
|
|
@@ -1061,45 +1064,57 @@ var Input = forwardRef3(
|
|
|
1061
1064
|
...restInput
|
|
1062
1065
|
}
|
|
1063
1066
|
),
|
|
1064
|
-
/* @__PURE__ */ jsxs5(
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1067
|
+
/* @__PURE__ */ jsxs5(
|
|
1068
|
+
"div",
|
|
1069
|
+
{
|
|
1070
|
+
className: cn(
|
|
1071
|
+
"absolute z-10 flex items-center gap-1",
|
|
1072
|
+
rightSection ? "inset-y-0 right-0" : "right-3 top-1/2 -translate-y-1/2"
|
|
1073
|
+
),
|
|
1074
|
+
children: [
|
|
1075
|
+
/* @__PURE__ */ jsxs5("div", { className: cn("flex items-center gap-1", rightSection && "px-1"), children: [
|
|
1076
|
+
getStatusIcon(),
|
|
1077
|
+
RightIcon && !loading2 && !success && !errMsg && /* @__PURE__ */ jsx6(RightIcon, { className: cn("text-muted-foreground", sizeStyles7[size].icon) }),
|
|
1078
|
+
clearable && hasValue && !loading2 && /* @__PURE__ */ jsx6(
|
|
1079
|
+
"button",
|
|
1080
|
+
{
|
|
1081
|
+
type: "button",
|
|
1082
|
+
onClick: () => {
|
|
1083
|
+
if (onClear) return onClear();
|
|
1084
|
+
rest.onChange?.({ target: { value: "" } });
|
|
1085
|
+
},
|
|
1086
|
+
className: cn(
|
|
1087
|
+
"flex items-center justify-center text-muted-foreground hover:text-foreground transition-colors rounded-md",
|
|
1088
|
+
"focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1",
|
|
1089
|
+
"active:bg-accent active:text-accent-foreground",
|
|
1090
|
+
sizeStyles7[size].iconButton
|
|
1091
|
+
),
|
|
1092
|
+
tabIndex: 0,
|
|
1093
|
+
"aria-label": gi18n.clearInput ?? "Clear input",
|
|
1094
|
+
children: /* @__PURE__ */ jsx6(X, { className: sizeStyles7[size].icon })
|
|
1095
|
+
}
|
|
1096
|
+
),
|
|
1097
|
+
showPasswordToggle && /* @__PURE__ */ jsx6(
|
|
1098
|
+
"button",
|
|
1099
|
+
{
|
|
1100
|
+
type: "button",
|
|
1101
|
+
onClick: () => setShowPassword(!showPassword),
|
|
1102
|
+
className: cn(
|
|
1103
|
+
"flex items-center justify-center text-muted-foreground hover:text-foreground transition-colors rounded-full",
|
|
1104
|
+
"focus:outline-none focus-visible:ring-1 focus-visible:ring-ring/40",
|
|
1105
|
+
"active:bg-accent/50 active:text-accent-foreground",
|
|
1106
|
+
sizeStyles7[size].iconButton
|
|
1107
|
+
),
|
|
1108
|
+
tabIndex: 0,
|
|
1109
|
+
"aria-label": showPassword ? gi18n.hidePassword ?? "Hide password" : gi18n.showPassword ?? "Show password",
|
|
1110
|
+
children: showPassword ? /* @__PURE__ */ jsx6(EyeOff, { className: sizeStyles7[size].icon }) : /* @__PURE__ */ jsx6(Eye, { className: sizeStyles7[size].icon })
|
|
1111
|
+
}
|
|
1112
|
+
)
|
|
1113
|
+
] }),
|
|
1114
|
+
rightSection
|
|
1115
|
+
]
|
|
1116
|
+
}
|
|
1117
|
+
),
|
|
1103
1118
|
rightAddon,
|
|
1104
1119
|
variant === "minimal" && /* @__PURE__ */ jsx6(
|
|
1105
1120
|
"div",
|
|
@@ -1134,27 +1149,128 @@ var Input = forwardRef3(
|
|
|
1134
1149
|
}
|
|
1135
1150
|
);
|
|
1136
1151
|
Input.displayName = "Input";
|
|
1152
|
+
var searchButtonWidthStyles = {
|
|
1153
|
+
xs: "w-6",
|
|
1154
|
+
sm: "w-8",
|
|
1155
|
+
md: "w-10",
|
|
1156
|
+
lg: "w-12",
|
|
1157
|
+
xl: "w-14"
|
|
1158
|
+
};
|
|
1159
|
+
var searchButtonPaddingStyles = {
|
|
1160
|
+
xs: "pr-14",
|
|
1161
|
+
sm: "pr-18",
|
|
1162
|
+
md: "pr-20",
|
|
1163
|
+
lg: "pr-24",
|
|
1164
|
+
xl: "pr-28"
|
|
1165
|
+
};
|
|
1166
|
+
var searchButtonRadiusStyles = {
|
|
1167
|
+
none: "rounded-r-none",
|
|
1168
|
+
sm: "rounded-r-sm",
|
|
1169
|
+
md: "rounded-r-md",
|
|
1170
|
+
lg: "rounded-r-lg",
|
|
1171
|
+
xl: "rounded-r-xl",
|
|
1172
|
+
"2xl": "rounded-r-2xl",
|
|
1173
|
+
"3xl": "rounded-r-3xl",
|
|
1174
|
+
full: "rounded-r-full",
|
|
1175
|
+
daewoo: "rounded-r",
|
|
1176
|
+
infiniq: "rounded-r-full"
|
|
1177
|
+
};
|
|
1137
1178
|
var SearchInput = forwardRef3(
|
|
1138
|
-
({
|
|
1139
|
-
|
|
1179
|
+
({
|
|
1180
|
+
mode = "default",
|
|
1181
|
+
onSearch,
|
|
1182
|
+
searchDelay = 300,
|
|
1183
|
+
searchButtonLabel = "Search",
|
|
1184
|
+
placeholder = "Search\u2026",
|
|
1185
|
+
value,
|
|
1186
|
+
defaultValue,
|
|
1187
|
+
onChange,
|
|
1188
|
+
onClear,
|
|
1189
|
+
onKeyDown,
|
|
1190
|
+
clearable = true,
|
|
1191
|
+
size = "md",
|
|
1192
|
+
className,
|
|
1193
|
+
disabled,
|
|
1194
|
+
loading: loading2 = false,
|
|
1195
|
+
rightSection,
|
|
1196
|
+
borderMode,
|
|
1197
|
+
...props
|
|
1198
|
+
}, ref) => {
|
|
1199
|
+
const [uncontrolledValue, setUncontrolledValue] = useState3(defaultValue ?? "");
|
|
1200
|
+
const isControlled = value !== void 0;
|
|
1201
|
+
const searchValue = isControlled ? value : uncontrolledValue;
|
|
1202
|
+
const searchText = String(searchValue ?? "");
|
|
1203
|
+
const globalConfig = useUnderverseUIConfig();
|
|
1204
|
+
const resolvedBorderMode = borderMode ?? globalConfig.input?.borderMode ?? globalConfig.borderMode ?? "full";
|
|
1205
|
+
const searchButtonRadiusClass = searchButtonRadiusStyles[resolvedBorderMode] ?? getBorderRadiusClass(resolvedBorderMode);
|
|
1206
|
+
const triggerSearch = useCallback2(() => {
|
|
1207
|
+
onSearch?.(searchText);
|
|
1208
|
+
}, [onSearch, searchText]);
|
|
1140
1209
|
React5.useEffect(() => {
|
|
1141
|
-
if (!onSearch) return;
|
|
1210
|
+
if (!onSearch || mode !== "default") return;
|
|
1142
1211
|
const timer = setTimeout(() => {
|
|
1143
|
-
onSearch(
|
|
1212
|
+
onSearch(searchText);
|
|
1144
1213
|
}, searchDelay);
|
|
1145
1214
|
return () => clearTimeout(timer);
|
|
1146
|
-
}, [
|
|
1215
|
+
}, [mode, onSearch, searchDelay, searchText]);
|
|
1216
|
+
const searchButton = mode === "button" ? /* @__PURE__ */ jsx6(
|
|
1217
|
+
"button",
|
|
1218
|
+
{
|
|
1219
|
+
type: "button",
|
|
1220
|
+
onClick: triggerSearch,
|
|
1221
|
+
disabled: disabled || loading2,
|
|
1222
|
+
className: cn(
|
|
1223
|
+
"flex h-full shrink-0 cursor-pointer items-center justify-center border-l border-border bg-transparent text-foreground",
|
|
1224
|
+
"transition-colors hover:bg-accent hover:text-accent-foreground",
|
|
1225
|
+
"focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",
|
|
1226
|
+
"disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent",
|
|
1227
|
+
searchButtonWidthStyles[size],
|
|
1228
|
+
searchButtonRadiusClass
|
|
1229
|
+
),
|
|
1230
|
+
"aria-label": searchButtonLabel,
|
|
1231
|
+
children: /* @__PURE__ */ jsx6(Search, { className: formControlSizeStyles[size].icon, "aria-hidden": "true" })
|
|
1232
|
+
}
|
|
1233
|
+
) : null;
|
|
1147
1234
|
return /* @__PURE__ */ jsx6(
|
|
1148
1235
|
Input,
|
|
1149
1236
|
{
|
|
1150
1237
|
ref,
|
|
1151
1238
|
type: "search",
|
|
1152
|
-
leftIcon: Search,
|
|
1239
|
+
leftIcon: mode === "default" ? Search : void 0,
|
|
1153
1240
|
placeholder,
|
|
1154
|
-
clearable
|
|
1241
|
+
clearable,
|
|
1155
1242
|
value: searchValue,
|
|
1156
|
-
onChange: (
|
|
1157
|
-
|
|
1243
|
+
onChange: (event) => {
|
|
1244
|
+
if (!isControlled) setUncontrolledValue(event.target.value);
|
|
1245
|
+
onChange?.(event);
|
|
1246
|
+
},
|
|
1247
|
+
onClear: () => {
|
|
1248
|
+
if (!isControlled) {
|
|
1249
|
+
setUncontrolledValue("");
|
|
1250
|
+
} else if (!onClear && onChange) {
|
|
1251
|
+
onChange({ target: { value: "" }, currentTarget: { value: "" } });
|
|
1252
|
+
}
|
|
1253
|
+
onClear?.();
|
|
1254
|
+
},
|
|
1255
|
+
onKeyDown: (event) => {
|
|
1256
|
+
onKeyDown?.(event);
|
|
1257
|
+
if (mode === "button" && event.key === "Enter" && !event.defaultPrevented && !event.nativeEvent.isComposing) {
|
|
1258
|
+
triggerSearch();
|
|
1259
|
+
}
|
|
1260
|
+
},
|
|
1261
|
+
size,
|
|
1262
|
+
className: cn(
|
|
1263
|
+
"[&::-webkit-search-cancel-button]:appearance-none [&::-webkit-search-decoration]:appearance-none",
|
|
1264
|
+
mode === "button" && searchButtonPaddingStyles[size],
|
|
1265
|
+
className
|
|
1266
|
+
),
|
|
1267
|
+
disabled,
|
|
1268
|
+
loading: loading2,
|
|
1269
|
+
rightSection: mode === "button" ? /* @__PURE__ */ jsxs5(Fragment2, { children: [
|
|
1270
|
+
rightSection,
|
|
1271
|
+
searchButton
|
|
1272
|
+
] }) : rightSection,
|
|
1273
|
+
borderMode,
|
|
1158
1274
|
...props
|
|
1159
1275
|
}
|
|
1160
1276
|
);
|
|
@@ -1371,7 +1487,7 @@ var Textarea = forwardRef3(
|
|
|
1371
1487
|
[ref]
|
|
1372
1488
|
);
|
|
1373
1489
|
const variantStyles5 = {
|
|
1374
|
-
default: "bg-background
|
|
1490
|
+
default: cn("bg-background", formControlOutlineClass),
|
|
1375
1491
|
filled: "bg-muted/50 border border-transparent hover:bg-muted/70 focus-visible:outline-none focus-visible:bg-background focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background focus-visible:border-transparent",
|
|
1376
1492
|
outlined: "bg-transparent border border-border/50 hover:border-accent-foreground/30 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background focus-visible:border-transparent",
|
|
1377
1493
|
minimal: "bg-transparent border-0 border-b border-border/50 hover:border-accent-foreground/30 focus-visible:outline-none focus-visible:border-ring focus-visible:ring-0 rounded-none"
|
|
@@ -1439,7 +1555,7 @@ var Textarea = forwardRef3(
|
|
|
1439
1555
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
1440
1556
|
sizeStyles7[size],
|
|
1441
1557
|
variantStyles5[variant],
|
|
1442
|
-
error && "border-destructive focus-visible:outline-none focus-visible:
|
|
1558
|
+
error && "border-destructive focus-visible:outline-none focus-visible:border-destructive",
|
|
1443
1559
|
resizeClasses[resize],
|
|
1444
1560
|
isFocused && "shadow-md",
|
|
1445
1561
|
variant !== "minimal" && "shadow-sm",
|
|
@@ -2113,8 +2229,9 @@ var StickerPicker = ({
|
|
|
2113
2229
|
value: search,
|
|
2114
2230
|
onChange: (e) => setSearch(e.target.value),
|
|
2115
2231
|
className: cn(
|
|
2116
|
-
"w-full rounded-2xl
|
|
2117
|
-
|
|
2232
|
+
"w-full rounded-2xl bg-muted/20 py-2 pl-9.5 pr-9 text-sm transition-all duration-300",
|
|
2233
|
+
formControlOutlineClass,
|
|
2234
|
+
"placeholder:text-muted-foreground/60",
|
|
2118
2235
|
"focus:bg-background/90 focus:shadow-[0_0_12px_rgba(var(--color-primary-rgb),0.04)]"
|
|
2119
2236
|
)
|
|
2120
2237
|
}
|
|
@@ -2372,11 +2489,11 @@ var TagInput = forwardRef4(
|
|
|
2372
2489
|
className: cn(
|
|
2373
2490
|
"flex items-center gap-1.5 cursor-text",
|
|
2374
2491
|
formControlFixedClass,
|
|
2375
|
-
"bg-background
|
|
2492
|
+
"bg-background",
|
|
2493
|
+
formControlGroupOutlineClass,
|
|
2376
2494
|
"transition-all duration-200",
|
|
2377
|
-
"hover:border-accent-foreground/20",
|
|
2378
2495
|
getBorderRadiusClass(resolvedBorderMode),
|
|
2379
|
-
isFocused && "
|
|
2496
|
+
isFocused && "shadow-md",
|
|
2380
2497
|
disabled && "opacity-50 cursor-not-allowed",
|
|
2381
2498
|
sizeStyles7[size].container
|
|
2382
2499
|
),
|
|
@@ -2996,7 +3113,7 @@ var Skeleton_default = Skeleton;
|
|
|
2996
3113
|
// src/components/Progress.tsx
|
|
2997
3114
|
import React13 from "react";
|
|
2998
3115
|
import { Check as Check2, X as X4, Clock } from "lucide-react";
|
|
2999
|
-
import { Fragment as
|
|
3116
|
+
import { Fragment as Fragment3, jsx as jsx15, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
3000
3117
|
var variantStyles2 = {
|
|
3001
3118
|
default: "bg-muted-foreground",
|
|
3002
3119
|
primary: "bg-linear-to-r from-primary via-primary/90 to-primary",
|
|
@@ -3157,7 +3274,7 @@ var CircularProgress = ({
|
|
|
3157
3274
|
]
|
|
3158
3275
|
}
|
|
3159
3276
|
),
|
|
3160
|
-
/* @__PURE__ */ jsx15("div", { className: "absolute inset-0 flex flex-col items-center justify-center text-center", children: children ? children : /* @__PURE__ */ jsxs11(
|
|
3277
|
+
/* @__PURE__ */ jsx15("div", { className: "absolute inset-0 flex flex-col items-center justify-center text-center", children: children ? children : /* @__PURE__ */ jsxs11(Fragment3, { children: [
|
|
3161
3278
|
getContentIcon(),
|
|
3162
3279
|
showValue && !indeterminate && /* @__PURE__ */ jsx15("span", { className: cn("text-sm font-semibold", isComplete ? "text-success" : isError ? "text-destructive" : "text-foreground"), children: isComplete ? "\u2713" : isError ? "\u2717" : `${Math.round(percentage)}%` }),
|
|
3163
3280
|
indeterminate && /* @__PURE__ */ jsx15(Clock, { className: "w-4 h-4 text-muted-foreground animate-pulse" })
|
|
@@ -4473,7 +4590,7 @@ import * as React19 from "react";
|
|
|
4473
4590
|
import { useId as useId4 } from "react";
|
|
4474
4591
|
import { useVirtualizer } from "@tanstack/react-virtual";
|
|
4475
4592
|
import { ChevronDown, Search as Search4, SearchX, Check as Check3, X as X8 } from "lucide-react";
|
|
4476
|
-
import { Fragment as
|
|
4593
|
+
import { Fragment as Fragment4, jsx as jsx22, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
4477
4594
|
var getOptionLabel = (option) => {
|
|
4478
4595
|
return typeof option === "string" ? option : option.label;
|
|
4479
4596
|
};
|
|
@@ -4923,7 +5040,7 @@ var Combobox = ({
|
|
|
4923
5040
|
xl: formControlSizeStyles.xl.control
|
|
4924
5041
|
};
|
|
4925
5042
|
const variantStyles5 = {
|
|
4926
|
-
default: "
|
|
5043
|
+
default: "bg-background hover:bg-accent/5",
|
|
4927
5044
|
outline: "border-2 border-input bg-transparent hover:border-primary/60",
|
|
4928
5045
|
ghost: "border-0 bg-transparent hover:bg-accent/50",
|
|
4929
5046
|
filled: "border-0 bg-muted/50 hover:bg-muted/80"
|
|
@@ -4956,17 +5073,17 @@ var Combobox = ({
|
|
|
4956
5073
|
className: cn(
|
|
4957
5074
|
"group flex w-full items-center justify-between transition-all duration-200",
|
|
4958
5075
|
formControlFixedClass,
|
|
5076
|
+
formControlOutlineClass,
|
|
4959
5077
|
radiusClass,
|
|
4960
5078
|
sizeStyles7[size],
|
|
4961
5079
|
variantStyles5[variant],
|
|
4962
|
-
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30 focus-visible:border-primary",
|
|
4963
5080
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
4964
|
-
open && "border-
|
|
4965
|
-
!!effectiveError && "border-destructive
|
|
5081
|
+
open && "border-ring",
|
|
5082
|
+
!!effectiveError && "border-destructive",
|
|
4966
5083
|
className
|
|
4967
5084
|
)
|
|
4968
5085
|
};
|
|
4969
|
-
const triggerContents = /* @__PURE__ */ jsxs18(
|
|
5086
|
+
const triggerContents = /* @__PURE__ */ jsxs18(Fragment4, { children: [
|
|
4970
5087
|
selectedIcon && /* @__PURE__ */ jsx22("span", { className: cn("mr-2 flex shrink-0 items-center justify-center overflow-hidden text-primary", formControlSizeStyles[size].icon), children: selectedIcon }),
|
|
4971
5088
|
/* @__PURE__ */ jsx22("span", { className: cn(formControlValueClass, "text-left", !displayValue && "text-muted-foreground", fontBold && "font-semibold"), children: renderValue && selectedOption ? renderValue(selectedOption) : displayValue || placeholder }),
|
|
4972
5089
|
/* @__PURE__ */ jsxs18("div", { className: "flex items-center gap-1.5 ml-2 shrink-0", children: [
|
|
@@ -5028,6 +5145,7 @@ var Combobox = ({
|
|
|
5028
5145
|
formControlLabelClass,
|
|
5029
5146
|
"transition-colors duration-200",
|
|
5030
5147
|
disabled ? "text-muted-foreground" : "text-foreground group-focus-within:text-primary",
|
|
5148
|
+
open && "text-primary",
|
|
5031
5149
|
effectiveError && "text-destructive",
|
|
5032
5150
|
labelClassName
|
|
5033
5151
|
),
|
|
@@ -5814,7 +5932,7 @@ function parseDateString(str, locale = "en") {
|
|
|
5814
5932
|
import { Calendar, ChevronLeft as ChevronLeft2, ChevronRight as ChevronRight3, Sparkles, X as XIcon } from "lucide-react";
|
|
5815
5933
|
import * as React23 from "react";
|
|
5816
5934
|
import { useId as useId5 } from "react";
|
|
5817
|
-
import { Fragment as
|
|
5935
|
+
import { Fragment as Fragment5, jsx as jsx27, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
5818
5936
|
function normalizeToLocalDate(date) {
|
|
5819
5937
|
if (!date) return null;
|
|
5820
5938
|
return new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
|
@@ -6205,7 +6323,7 @@ var DatePicker = ({
|
|
|
6205
6323
|
}
|
|
6206
6324
|
)
|
|
6207
6325
|
] }),
|
|
6208
|
-
viewMode === "calendar" && /* @__PURE__ */ jsxs20(
|
|
6326
|
+
viewMode === "calendar" && /* @__PURE__ */ jsxs20(Fragment5, { children: [
|
|
6209
6327
|
/* @__PURE__ */ jsx27("div", { className: cn("grid grid-cols-7 gap-1 mb-2 px-0.5"), children: (weekdayLabels || (locale === "vi" ? ["CN", "T2", "T3", "T4", "T5", "T6", "T7"] : ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"])).map(
|
|
6210
6328
|
(day, idx) => /* @__PURE__ */ jsx27(
|
|
6211
6329
|
"div",
|
|
@@ -6297,6 +6415,7 @@ var DatePicker = ({
|
|
|
6297
6415
|
formControlLabelClass,
|
|
6298
6416
|
"transition-colors duration-300 cursor-pointer",
|
|
6299
6417
|
disabled ? "text-muted-foreground" : "text-foreground group-focus-within:text-primary hover:text-primary",
|
|
6418
|
+
isOpen && "text-primary",
|
|
6300
6419
|
effectiveError && "text-destructive",
|
|
6301
6420
|
labelClassName
|
|
6302
6421
|
),
|
|
@@ -6346,19 +6465,19 @@ var DatePicker = ({
|
|
|
6346
6465
|
{
|
|
6347
6466
|
ref: triggerRef,
|
|
6348
6467
|
className: cn(
|
|
6349
|
-
"group flex w-full items-center justify-between
|
|
6468
|
+
"group flex w-full items-center justify-between bg-background/80 backdrop-blur-sm",
|
|
6350
6469
|
formControlFixedClass,
|
|
6470
|
+
formControlGroupOutlineClass,
|
|
6351
6471
|
getBorderRadiusClass(resolvedBorderMode),
|
|
6352
6472
|
sizeStyles7[size].trigger,
|
|
6353
6473
|
formControlSizeStyles[requestedSize].control,
|
|
6354
6474
|
disabled ? "border-border/40 opacity-50 cursor-not-allowed" : [
|
|
6355
|
-
"
|
|
6356
|
-
"focus-within:border-primary focus-within:ring-0",
|
|
6475
|
+
"focus-within:border-ring",
|
|
6357
6476
|
"hover:bg-accent/10"
|
|
6358
6477
|
],
|
|
6359
6478
|
"transition-all duration-300 ease-out",
|
|
6360
|
-
isOpen &&
|
|
6361
|
-
effectiveError && "border-destructive/60
|
|
6479
|
+
isOpen && "border-ring shadow-lg shadow-primary/10",
|
|
6480
|
+
effectiveError && "border-destructive/60 bg-destructive/5",
|
|
6362
6481
|
className
|
|
6363
6482
|
),
|
|
6364
6483
|
children: [
|
|
@@ -6976,7 +7095,7 @@ var DateRangePicker = ({
|
|
|
6976
7095
|
}
|
|
6977
7096
|
)
|
|
6978
7097
|
] }),
|
|
6979
|
-
viewMode === "calendar" && /* @__PURE__ */ jsxs20(
|
|
7098
|
+
viewMode === "calendar" && /* @__PURE__ */ jsxs20(Fragment5, { children: [
|
|
6980
7099
|
/* @__PURE__ */ jsx27("div", { className: cn("grid grid-cols-7 gap-1 px-0.5", size === "sm" ? "mb-1" : size === "lg" ? "mb-3" : "mb-2"), children: (locale === "vi" ? ["CN", "T2", "T3", "T4", "T5", "T6", "T7"] : ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]).map((d, idx) => /* @__PURE__ */ jsx27(
|
|
6981
7100
|
"div",
|
|
6982
7101
|
{
|
|
@@ -7057,6 +7176,7 @@ var DateRangePicker = ({
|
|
|
7057
7176
|
formControlLabelClass,
|
|
7058
7177
|
"transition-colors duration-300",
|
|
7059
7178
|
disabled ? "text-muted-foreground cursor-not-allowed" : "text-foreground group-focus-within:text-primary hover:text-primary cursor-pointer",
|
|
7179
|
+
isOpen && "text-primary",
|
|
7060
7180
|
effectiveError && "text-destructive",
|
|
7061
7181
|
labelClassName
|
|
7062
7182
|
),
|
|
@@ -7105,19 +7225,19 @@ var DateRangePicker = ({
|
|
|
7105
7225
|
{
|
|
7106
7226
|
ref: triggerRef,
|
|
7107
7227
|
className: cn(
|
|
7108
|
-
"group flex w-full items-center justify-between
|
|
7228
|
+
"group flex w-full items-center justify-between bg-background/80 backdrop-blur-sm",
|
|
7109
7229
|
formControlFixedClass,
|
|
7230
|
+
formControlGroupOutlineClass,
|
|
7110
7231
|
getBorderRadiusClass(resolvedBorderMode),
|
|
7111
7232
|
sizeStyles7[size].trigger,
|
|
7112
7233
|
formControlSizeStyles[requestedSize].control,
|
|
7113
7234
|
disabled ? "border-border/40 opacity-50 cursor-not-allowed" : [
|
|
7114
|
-
"
|
|
7115
|
-
"focus-within:border-primary focus-within:ring-0",
|
|
7235
|
+
"focus-within:border-ring",
|
|
7116
7236
|
"hover:bg-accent/10"
|
|
7117
7237
|
],
|
|
7118
7238
|
"transition-all duration-300 ease-out",
|
|
7119
|
-
isOpen &&
|
|
7120
|
-
effectiveError && "border-destructive/60
|
|
7239
|
+
isOpen && "border-ring shadow-lg shadow-primary/10",
|
|
7240
|
+
effectiveError && "border-destructive/60 bg-destructive/5"
|
|
7121
7241
|
),
|
|
7122
7242
|
children: [
|
|
7123
7243
|
/* @__PURE__ */ jsxs20("div", { className: cn("flex min-h-0 min-w-0 flex-1 items-center overflow-hidden", size === "sm" ? "gap-1.5" : "gap-2.5"), children: [
|
|
@@ -7400,7 +7520,7 @@ function getLeapMonthOffset(a11, timeZone) {
|
|
|
7400
7520
|
}
|
|
7401
7521
|
|
|
7402
7522
|
// src/components/LunarDatePicker.tsx
|
|
7403
|
-
import { Fragment as
|
|
7523
|
+
import { Fragment as Fragment6, jsx as jsx28, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
7404
7524
|
function toSolarDate(value) {
|
|
7405
7525
|
if (!value) return null;
|
|
7406
7526
|
const solar = lunarToSolar({
|
|
@@ -7904,7 +8024,7 @@ var LunarDatePicker = ({
|
|
|
7904
8024
|
}
|
|
7905
8025
|
)
|
|
7906
8026
|
] }),
|
|
7907
|
-
viewMode === "calendar" && /* @__PURE__ */ jsxs21(
|
|
8027
|
+
viewMode === "calendar" && /* @__PURE__ */ jsxs21(Fragment6, { children: [
|
|
7908
8028
|
/* @__PURE__ */ jsx28("div", { className: cn("grid grid-cols-7 gap-1 mb-2 px-0.5"), children: (weekdayLabels || (locale === "vi" ? ["CN", "T2", "T3", "T4", "T5", "T6", "T7"] : ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"])).map(
|
|
7909
8029
|
(day, idx) => /* @__PURE__ */ jsx28(
|
|
7910
8030
|
"div",
|
|
@@ -7996,6 +8116,7 @@ var LunarDatePicker = ({
|
|
|
7996
8116
|
formControlLabelClass,
|
|
7997
8117
|
"transition-colors duration-300 cursor-pointer",
|
|
7998
8118
|
disabled ? "text-muted-foreground" : "text-foreground group-focus-within:text-primary hover:text-primary",
|
|
8119
|
+
isOpen && "text-primary",
|
|
7999
8120
|
effectiveError && "text-destructive",
|
|
8000
8121
|
labelClassName
|
|
8001
8122
|
),
|
|
@@ -8045,19 +8166,19 @@ var LunarDatePicker = ({
|
|
|
8045
8166
|
{
|
|
8046
8167
|
ref: triggerRef,
|
|
8047
8168
|
className: cn(
|
|
8048
|
-
"group flex w-full items-center justify-between
|
|
8169
|
+
"group flex w-full items-center justify-between bg-background/80 backdrop-blur-sm",
|
|
8049
8170
|
formControlFixedClass,
|
|
8171
|
+
formControlGroupOutlineClass,
|
|
8050
8172
|
getBorderRadiusClass(resolvedBorderMode),
|
|
8051
8173
|
sizeStyles7[size].trigger,
|
|
8052
8174
|
formControlSizeStyles[requestedSize].control,
|
|
8053
8175
|
disabled ? "border-border/40 opacity-50 cursor-not-allowed" : [
|
|
8054
|
-
"
|
|
8055
|
-
"focus-within:border-primary focus-within:ring-0",
|
|
8176
|
+
"focus-within:border-ring",
|
|
8056
8177
|
"hover:bg-accent/10"
|
|
8057
8178
|
],
|
|
8058
8179
|
"transition-all duration-300 ease-out",
|
|
8059
|
-
isOpen &&
|
|
8060
|
-
effectiveError && "border-destructive/60
|
|
8180
|
+
isOpen && "border-ring shadow-lg shadow-primary/10",
|
|
8181
|
+
effectiveError && "border-destructive/60 bg-destructive/5",
|
|
8061
8182
|
className
|
|
8062
8183
|
),
|
|
8063
8184
|
children: [
|
|
@@ -8544,7 +8665,7 @@ var LunarDateRangePicker = ({
|
|
|
8544
8665
|
}
|
|
8545
8666
|
)
|
|
8546
8667
|
] }),
|
|
8547
|
-
viewMode === "calendar" && /* @__PURE__ */ jsxs21(
|
|
8668
|
+
viewMode === "calendar" && /* @__PURE__ */ jsxs21(Fragment6, { children: [
|
|
8548
8669
|
/* @__PURE__ */ jsx28("div", { className: cn("grid grid-cols-7 gap-1 px-0.5", size === "sm" ? "mb-1" : size === "lg" ? "mb-3" : "mb-2"), children: (locale === "vi" ? ["CN", "T2", "T3", "T4", "T5", "T6", "T7"] : ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]).map((d, idx) => /* @__PURE__ */ jsx28(
|
|
8549
8670
|
"div",
|
|
8550
8671
|
{
|
|
@@ -8626,6 +8747,7 @@ var LunarDateRangePicker = ({
|
|
|
8626
8747
|
formControlLabelClass,
|
|
8627
8748
|
"transition-colors duration-300",
|
|
8628
8749
|
disabled ? "text-muted-foreground cursor-not-allowed" : "text-foreground group-focus-within:text-primary hover:text-primary cursor-pointer",
|
|
8750
|
+
isOpen && "text-primary",
|
|
8629
8751
|
effectiveError && "text-destructive",
|
|
8630
8752
|
labelClassName
|
|
8631
8753
|
),
|
|
@@ -8685,19 +8807,19 @@ var LunarDateRangePicker = ({
|
|
|
8685
8807
|
"aria-required": required,
|
|
8686
8808
|
"aria-invalid": !!effectiveError,
|
|
8687
8809
|
className: cn(
|
|
8688
|
-
"group flex w-full items-center justify-between
|
|
8810
|
+
"group flex w-full items-center justify-between bg-background/80 backdrop-blur-sm",
|
|
8689
8811
|
formControlFixedClass,
|
|
8812
|
+
formControlGroupOutlineClass,
|
|
8690
8813
|
getBorderRadiusClass(borderMode ?? "full"),
|
|
8691
8814
|
sizeStyles7[size].trigger,
|
|
8692
8815
|
formControlSizeStyles[requestedSize].control,
|
|
8693
8816
|
disabled ? "border-border/40 opacity-50 cursor-not-allowed" : [
|
|
8694
|
-
"
|
|
8695
|
-
"focus-within:border-primary focus-within:ring-0",
|
|
8817
|
+
"focus-within:border-ring",
|
|
8696
8818
|
"hover:bg-accent/10"
|
|
8697
8819
|
],
|
|
8698
8820
|
"transition-all duration-300 ease-out text-left",
|
|
8699
|
-
isOpen && "border-
|
|
8700
|
-
effectiveError && "border-destructive/60
|
|
8821
|
+
isOpen && "border-ring shadow-lg shadow-primary/10",
|
|
8822
|
+
effectiveError && "border-destructive/60 bg-destructive/5"
|
|
8701
8823
|
),
|
|
8702
8824
|
children: [
|
|
8703
8825
|
/* @__PURE__ */ jsxs21("div", { className: cn("flex min-h-0 min-w-0 flex-1 items-center overflow-hidden", size === "sm" ? "gap-1.5" : "gap-2.5"), children: [
|
|
@@ -9376,18 +9498,18 @@ function MonthYearPicker({
|
|
|
9376
9498
|
"aria-required": required,
|
|
9377
9499
|
"aria-invalid": !!effectiveError,
|
|
9378
9500
|
className: cn(
|
|
9379
|
-
"group flex w-full items-center justify-between
|
|
9501
|
+
"group flex w-full items-center justify-between bg-background/80 backdrop-blur-sm",
|
|
9380
9502
|
getBorderRadiusClass(resolvedBorderMode),
|
|
9381
9503
|
sz.control,
|
|
9382
9504
|
formControlSizeStyles[requestedSize].control,
|
|
9383
9505
|
formControlFixedClass,
|
|
9384
|
-
|
|
9506
|
+
formControlOutlineClass,
|
|
9385
9507
|
"disabled:opacity-50 disabled:cursor-not-allowed",
|
|
9386
9508
|
"transition-all duration-300 ease-out",
|
|
9387
|
-
effectiveError && "border-destructive/60
|
|
9388
|
-
success && !effectiveError && "border-success/60
|
|
9389
|
-
!effectiveError && !success && "
|
|
9390
|
-
open && "border-
|
|
9509
|
+
effectiveError && "border-destructive/60 bg-destructive/5",
|
|
9510
|
+
success && !effectiveError && "border-success/60 bg-success/5",
|
|
9511
|
+
!effectiveError && !success && "hover:bg-accent/10",
|
|
9512
|
+
open && "border-ring shadow-lg shadow-primary/10",
|
|
9391
9513
|
className
|
|
9392
9514
|
),
|
|
9393
9515
|
children: [
|
|
@@ -9569,7 +9691,7 @@ function MonthYearPicker({
|
|
|
9569
9691
|
] });
|
|
9570
9692
|
}
|
|
9571
9693
|
return /* @__PURE__ */ jsxs22("div", { className: cn("w-full", className), ...rest, children: [
|
|
9572
|
-
label && /* @__PURE__ */ jsxs22("label", { className: cn(sz.label, "block mb-1.5 text-foreground/80", formControlLabelClass, effectiveError && "text-destructive", labelClassName), children: [
|
|
9694
|
+
label && /* @__PURE__ */ jsxs22("label", { className: cn(sz.label, "block mb-1.5 text-foreground/80", formControlLabelClass, open && "text-primary", effectiveError && "text-destructive", labelClassName), children: [
|
|
9573
9695
|
label,
|
|
9574
9696
|
required && /* @__PURE__ */ jsx29("span", { className: "text-destructive ml-0.5", children: "*" })
|
|
9575
9697
|
] }),
|
|
@@ -9611,7 +9733,7 @@ function MonthYearPicker({
|
|
|
9611
9733
|
}
|
|
9612
9734
|
|
|
9613
9735
|
// src/components/Calendar.tsx
|
|
9614
|
-
import { Fragment as
|
|
9736
|
+
import { Fragment as Fragment8, jsx as jsx30, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
9615
9737
|
var VIETNAM_HOLIDAYS = [
|
|
9616
9738
|
{ date: "01-01", name: "T\u1EBFt D\u01B0\u01A1ng l\u1ECBch", recurring: true },
|
|
9617
9739
|
{ date: "04-30", name: "Gi\u1EA3i ph\xF3ng mi\u1EC1n Nam", recurring: true },
|
|
@@ -10106,7 +10228,7 @@ function Calendar4({
|
|
|
10106
10228
|
}
|
|
10107
10229
|
)
|
|
10108
10230
|
] }),
|
|
10109
|
-
display === "week" ? /* @__PURE__ */ jsxs23(
|
|
10231
|
+
display === "week" ? /* @__PURE__ */ jsxs23(Fragment8, { children: [
|
|
10110
10232
|
showWeekdays && /* @__PURE__ */ jsx30("div", { className: cn("grid grid-cols-7", sz.grid, "mb-1 text-center text-muted-foreground font-medium"), children: weekdays.map((w) => /* @__PURE__ */ jsx30("div", { className: cn(sz.head), children: w }, `w-${w}`)) }),
|
|
10111
10233
|
/* @__PURE__ */ jsx30("div", { className: cn("grid grid-cols-7", sz.grid), children: weekDays.map((d, idx) => {
|
|
10112
10234
|
const inMonth = true;
|
|
@@ -10262,7 +10384,7 @@ function Calendar4({
|
|
|
10262
10384
|
// src/components/TimePicker.tsx
|
|
10263
10385
|
import * as React27 from "react";
|
|
10264
10386
|
import { Clock as Clock2, X as X10, Check as Check5, Sun, Moon, Sunset, Coffee } from "lucide-react";
|
|
10265
|
-
import { Fragment as
|
|
10387
|
+
import { Fragment as Fragment9, jsx as jsx31, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
10266
10388
|
var pad = (n) => n.toString().padStart(2, "0");
|
|
10267
10389
|
var clamp2 = (n, min, max) => Math.min(max, Math.max(min, n));
|
|
10268
10390
|
var WHEEL_ITEM_HEIGHT2 = {
|
|
@@ -11091,18 +11213,18 @@ function TimePicker({
|
|
|
11091
11213
|
"aria-required": required,
|
|
11092
11214
|
"aria-invalid": !!effectiveError,
|
|
11093
11215
|
className: cn(
|
|
11094
|
-
"group flex w-full items-center justify-between
|
|
11216
|
+
"group flex w-full items-center justify-between bg-background/80 backdrop-blur-sm",
|
|
11095
11217
|
getBorderRadiusClass(resolvedBorderMode),
|
|
11096
11218
|
sz.control,
|
|
11097
11219
|
formControlSizeStyles[requestedSize].control,
|
|
11098
11220
|
formControlFixedClass,
|
|
11099
|
-
|
|
11221
|
+
formControlOutlineClass,
|
|
11100
11222
|
"disabled:opacity-50 disabled:cursor-not-allowed",
|
|
11101
11223
|
"transition-all duration-300 ease-out",
|
|
11102
|
-
effectiveError && "border-destructive/60
|
|
11103
|
-
success && !effectiveError && "border-success/60
|
|
11104
|
-
!effectiveError && !success && "
|
|
11105
|
-
open && "border-
|
|
11224
|
+
effectiveError && "border-destructive/60 bg-destructive/5",
|
|
11225
|
+
success && !effectiveError && "border-success/60 bg-success/5",
|
|
11226
|
+
!effectiveError && !success && "hover:bg-accent/10",
|
|
11227
|
+
open && "border-ring shadow-lg shadow-primary/10",
|
|
11106
11228
|
className
|
|
11107
11229
|
),
|
|
11108
11230
|
children: [
|
|
@@ -11299,7 +11421,7 @@ function TimePicker({
|
|
|
11299
11421
|
}
|
|
11300
11422
|
);
|
|
11301
11423
|
})(),
|
|
11302
|
-
includeSeconds && /* @__PURE__ */ jsxs24(
|
|
11424
|
+
includeSeconds && /* @__PURE__ */ jsxs24(Fragment9, { children: [
|
|
11303
11425
|
/* @__PURE__ */ jsx31("div", { className: cn("flex flex-col items-center justify-center", panelSz.separatorPad, compactPanel && "pt-6"), children: /* @__PURE__ */ jsxs24("div", { className: "flex flex-col gap-2", children: [
|
|
11304
11426
|
/* @__PURE__ */ jsx31("div", { className: "w-1.5 h-1.5 rounded-full bg-primary/60" }),
|
|
11305
11427
|
/* @__PURE__ */ jsx31("div", { className: "w-1.5 h-1.5 rounded-full bg-primary/60" })
|
|
@@ -11494,6 +11616,7 @@ function TimePicker({
|
|
|
11494
11616
|
sz.label,
|
|
11495
11617
|
formControlLabelClass,
|
|
11496
11618
|
disabled ? "text-muted-foreground" : "text-foreground",
|
|
11619
|
+
open && "text-primary",
|
|
11497
11620
|
effectiveError && "text-destructive",
|
|
11498
11621
|
"cursor-pointer transition-colors hover:text-primary"
|
|
11499
11622
|
),
|
|
@@ -11737,6 +11860,7 @@ var DateTimePicker = ({
|
|
|
11737
11860
|
sizeStyles7[size].label,
|
|
11738
11861
|
formControlLabelClass,
|
|
11739
11862
|
"text-foreground flex items-center gap-1",
|
|
11863
|
+
open && "text-primary",
|
|
11740
11864
|
effectiveError && "text-destructive",
|
|
11741
11865
|
labelClassName
|
|
11742
11866
|
),
|
|
@@ -11785,14 +11909,15 @@ var DateTimePicker = ({
|
|
|
11785
11909
|
"aria-required": required,
|
|
11786
11910
|
"aria-invalid": !!effectiveError,
|
|
11787
11911
|
className: cn(
|
|
11788
|
-
"flex w-full items-center justify-between
|
|
11912
|
+
"flex w-full items-center justify-between bg-background",
|
|
11789
11913
|
formControlFixedClass,
|
|
11914
|
+
formControlOutlineClass,
|
|
11790
11915
|
getBorderRadiusClass(resolvedBorderMode),
|
|
11791
11916
|
sizeStyles7[size].trigger,
|
|
11792
11917
|
formControlSizeStyles[requestedSize].control,
|
|
11793
|
-
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
11794
11918
|
disabled && "opacity-50 cursor-not-allowed",
|
|
11795
11919
|
!displayValue && "text-muted-foreground",
|
|
11920
|
+
open && "border-ring",
|
|
11796
11921
|
effectiveError && "border-destructive/60 bg-destructive/5"
|
|
11797
11922
|
),
|
|
11798
11923
|
children: [
|
|
@@ -13286,7 +13411,7 @@ function useVisibleSlotRange(args) {
|
|
|
13286
13411
|
}
|
|
13287
13412
|
|
|
13288
13413
|
// src/components/CalendarTimeline/CalendarTimeline.tsx
|
|
13289
|
-
import { Fragment as
|
|
13414
|
+
import { Fragment as Fragment11, jsx as jsx38, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
13290
13415
|
function CalendarTimeline({
|
|
13291
13416
|
resources,
|
|
13292
13417
|
events,
|
|
@@ -14612,7 +14737,7 @@ function CalendarTimeline({
|
|
|
14612
14737
|
]
|
|
14613
14738
|
}
|
|
14614
14739
|
),
|
|
14615
|
-
!isViewOnly && (interactions?.resizableEvents ?? true) && ev.resizable !== false ? /* @__PURE__ */ jsxs31(
|
|
14740
|
+
!isViewOnly && (interactions?.resizableEvents ?? true) && ev.resizable !== false ? /* @__PURE__ */ jsxs31(Fragment11, { children: [
|
|
14616
14741
|
/* @__PURE__ */ jsx38(
|
|
14617
14742
|
"div",
|
|
14618
14743
|
{
|
|
@@ -14792,7 +14917,7 @@ import * as React35 from "react";
|
|
|
14792
14917
|
import { useId as useId10 } from "react";
|
|
14793
14918
|
import { useVirtualizer as useVirtualizer2 } from "@tanstack/react-virtual";
|
|
14794
14919
|
import { ChevronDown as ChevronDown4, Search as Search5, Check as Check6, SearchX as SearchX2, Loader2 as Loader23, X as X12, Sparkles as Sparkles3 } from "lucide-react";
|
|
14795
|
-
import { Fragment as
|
|
14920
|
+
import { Fragment as Fragment12, jsx as jsx39, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
14796
14921
|
var comboboxScrollClassName2 = [
|
|
14797
14922
|
"scrollbar-thin",
|
|
14798
14923
|
"[scrollbar-width:thin]",
|
|
@@ -15030,7 +15155,7 @@ var MultiCombobox = ({
|
|
|
15030
15155
|
}
|
|
15031
15156
|
};
|
|
15032
15157
|
const variantStyles5 = {
|
|
15033
|
-
default: "
|
|
15158
|
+
default: "bg-background shadow-sm",
|
|
15034
15159
|
outline: "border-2 border-input bg-transparent hover:border-primary",
|
|
15035
15160
|
ghost: "border border-transparent bg-muted/50 hover:bg-muted"
|
|
15036
15161
|
};
|
|
@@ -15262,16 +15387,16 @@ var MultiCombobox = ({
|
|
|
15262
15387
|
className: cn(
|
|
15263
15388
|
"group flex w-full items-center gap-2 transition-all duration-200",
|
|
15264
15389
|
formControlFixedClass,
|
|
15390
|
+
formControlOutlineClass,
|
|
15265
15391
|
getBorderRadiusClass(resolvedBorderMode),
|
|
15266
15392
|
sizeStyles7[size].trigger,
|
|
15267
15393
|
variantStyles5[variant],
|
|
15268
|
-
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30 focus-visible:border-primary",
|
|
15269
15394
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
15270
|
-
open && "border-
|
|
15271
|
-
!!effectiveError && "border-destructive
|
|
15395
|
+
open && "border-ring",
|
|
15396
|
+
!!effectiveError && "border-destructive"
|
|
15272
15397
|
),
|
|
15273
15398
|
children: [
|
|
15274
|
-
/* @__PURE__ */ jsx39("div", { className: "flex min-h-0 min-w-0 flex-1 items-center gap-1.5 overflow-hidden", children: value.length > 0 ? showTags ? /* @__PURE__ */ jsxs32(
|
|
15399
|
+
/* @__PURE__ */ jsx39("div", { className: "flex min-h-0 min-w-0 flex-1 items-center gap-1.5 overflow-hidden", children: value.length > 0 ? showTags ? /* @__PURE__ */ jsxs32(Fragment12, { children: [
|
|
15275
15400
|
visibleTags.map((option) => {
|
|
15276
15401
|
if (renderTag) {
|
|
15277
15402
|
return /* @__PURE__ */ jsx39("span", { className: "inline-flex max-h-full min-w-0 shrink overflow-hidden", children: renderTag(option, () => handleRemove(option.value)) }, option.value);
|
|
@@ -15356,6 +15481,7 @@ var MultiCombobox = ({
|
|
|
15356
15481
|
formControlLabelClass,
|
|
15357
15482
|
"transition-colors duration-200",
|
|
15358
15483
|
disabled ? "text-muted-foreground" : "text-foreground group-focus-within:text-primary",
|
|
15484
|
+
open && "text-primary",
|
|
15359
15485
|
effectiveError && "text-destructive",
|
|
15360
15486
|
labelClassName
|
|
15361
15487
|
),
|
|
@@ -15375,6 +15501,7 @@ var MultiCombobox = ({
|
|
|
15375
15501
|
formControlLabelClass,
|
|
15376
15502
|
"transition-colors duration-200",
|
|
15377
15503
|
disabled ? "text-muted-foreground" : "text-foreground group-focus-within:text-primary",
|
|
15504
|
+
open && "text-primary",
|
|
15378
15505
|
effectiveError && "text-destructive",
|
|
15379
15506
|
labelClassName
|
|
15380
15507
|
),
|
|
@@ -15873,7 +16000,7 @@ var ToggleGroup = (props) => {
|
|
|
15873
16000
|
|
|
15874
16001
|
// src/components/Slider.tsx
|
|
15875
16002
|
import * as React37 from "react";
|
|
15876
|
-
import { Fragment as
|
|
16003
|
+
import { Fragment as Fragment13, jsx as jsx41, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
15877
16004
|
var SIZE_STYLES = {
|
|
15878
16005
|
sm: {
|
|
15879
16006
|
track: "h-1",
|
|
@@ -16131,7 +16258,7 @@ var Slider = React37.forwardRef(
|
|
|
16131
16258
|
tooltipClassName
|
|
16132
16259
|
}
|
|
16133
16260
|
),
|
|
16134
|
-
isRange && /* @__PURE__ */ jsxs34(
|
|
16261
|
+
isRange && /* @__PURE__ */ jsxs34(Fragment13, { children: [
|
|
16135
16262
|
/* @__PURE__ */ jsx41(
|
|
16136
16263
|
SliderTooltip,
|
|
16137
16264
|
{
|
|
@@ -16227,7 +16354,7 @@ var Slider = React37.forwardRef(
|
|
|
16227
16354
|
}
|
|
16228
16355
|
const minZ = activeThumb === "min" ? "z-20" : "z-10";
|
|
16229
16356
|
const maxZ = activeThumb === "max" ? "z-20" : "z-10";
|
|
16230
|
-
return /* @__PURE__ */ jsxs34(
|
|
16357
|
+
return /* @__PURE__ */ jsxs34(Fragment13, { children: [
|
|
16231
16358
|
/* @__PURE__ */ jsx41(
|
|
16232
16359
|
"div",
|
|
16233
16360
|
{
|
|
@@ -16290,7 +16417,7 @@ Slider.displayName = "Slider";
|
|
|
16290
16417
|
// src/components/OverlayControls.tsx
|
|
16291
16418
|
import { Dot as Dot2, Maximize2, Pause, Play, RotateCcw, RotateCw, Volume2, VolumeX } from "lucide-react";
|
|
16292
16419
|
import React38 from "react";
|
|
16293
|
-
import { Fragment as
|
|
16420
|
+
import { Fragment as Fragment14, jsx as jsx42, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
16294
16421
|
function resolveKeyboardEventElement(target) {
|
|
16295
16422
|
if (target instanceof Element) return target;
|
|
16296
16423
|
if (target instanceof Node) return target.parentElement;
|
|
@@ -16535,7 +16662,7 @@ function OverlayControls({
|
|
|
16535
16662
|
const handleSliderMouseLeave = () => {
|
|
16536
16663
|
setPreviewData(null);
|
|
16537
16664
|
};
|
|
16538
|
-
return /* @__PURE__ */ jsxs35(
|
|
16665
|
+
return /* @__PURE__ */ jsxs35(Fragment14, { children: [
|
|
16539
16666
|
keyboardFeedback && /* @__PURE__ */ jsx42(
|
|
16540
16667
|
"div",
|
|
16541
16668
|
{
|
|
@@ -17373,6 +17500,7 @@ function CategoryTreeSelect(props) {
|
|
|
17373
17500
|
className: cn(
|
|
17374
17501
|
size === "sm" ? "text-xs" : size === "lg" ? "text-base" : "text-sm",
|
|
17375
17502
|
disabled ? "text-muted-foreground" : "text-foreground",
|
|
17503
|
+
isOpen && "text-primary",
|
|
17376
17504
|
effectiveError && "text-destructive",
|
|
17377
17505
|
labelClassName
|
|
17378
17506
|
),
|
|
@@ -17508,7 +17636,7 @@ function CategoryTreeSelect(props) {
|
|
|
17508
17636
|
}
|
|
17509
17637
|
};
|
|
17510
17638
|
const triggerVariantStyles = {
|
|
17511
|
-
default: "
|
|
17639
|
+
default: "bg-background shadow-sm",
|
|
17512
17640
|
outline: "border-2 border-input bg-transparent hover:border-primary",
|
|
17513
17641
|
ghost: "border border-transparent bg-muted/50 hover:bg-muted",
|
|
17514
17642
|
filled: "border border-transparent bg-muted/70 hover:bg-muted"
|
|
@@ -17625,14 +17753,14 @@ function CategoryTreeSelect(props) {
|
|
|
17625
17753
|
className: cn(
|
|
17626
17754
|
"group flex w-full items-center justify-between transition-all duration-200",
|
|
17627
17755
|
formControlFixedClass,
|
|
17756
|
+
formControlOutlineClass,
|
|
17628
17757
|
getBorderRadiusClass(resolvedBorderMode ?? "full"),
|
|
17629
17758
|
"backdrop-blur-sm",
|
|
17630
17759
|
triggerSizeStyles[size].button,
|
|
17631
17760
|
triggerVariantStyles[variant],
|
|
17632
|
-
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50 focus-visible:ring-offset-2 focus-visible:ring-offset-background",
|
|
17633
17761
|
disabled && "opacity-50 cursor-not-allowed hover:transform-none hover:shadow-none",
|
|
17634
|
-
isOpen && "border-
|
|
17635
|
-
effectiveError && "border-destructive
|
|
17762
|
+
isOpen && "border-ring shadow-lg shadow-primary/10",
|
|
17763
|
+
effectiveError && "border-destructive"
|
|
17636
17764
|
),
|
|
17637
17765
|
children: [
|
|
17638
17766
|
/* @__PURE__ */ jsxs36("div", { className: "flex min-h-0 min-w-0 flex-1 items-center gap-2.5 overflow-hidden text-left", children: [
|
|
@@ -17959,7 +18087,7 @@ import {
|
|
|
17959
18087
|
Upload as Upload2
|
|
17960
18088
|
} from "lucide-react";
|
|
17961
18089
|
import { useCallback as useCallback16, useMemo as useMemo19, useRef as useRef19, useState as useState29 } from "react";
|
|
17962
|
-
import { Fragment as
|
|
18090
|
+
import { Fragment as Fragment15, jsx as jsx45, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
17963
18091
|
var formatFileSize = (bytes) => {
|
|
17964
18092
|
if (bytes === 0) return "0 Bytes";
|
|
17965
18093
|
const k = 1024;
|
|
@@ -18390,7 +18518,7 @@ function FileUpload({
|
|
|
18390
18518
|
] }),
|
|
18391
18519
|
/* @__PURE__ */ jsx45("p", { className: cn("text-muted-foreground", size === "lg" ? "text-sm" : "text-xs"), children: supportedFormatsText || t("supportedFormats") || `Max ${maxSize}MB per file \u2022 Up to ${maxFiles} files` })
|
|
18392
18520
|
] }),
|
|
18393
|
-
variant === "compact" && /* @__PURE__ */ jsxs38(
|
|
18521
|
+
variant === "compact" && /* @__PURE__ */ jsxs38(Fragment15, { children: [
|
|
18394
18522
|
/* @__PURE__ */ jsx45("div", { className: cn("shrink-0 rounded-lg flex items-center justify-center", "bg-primary/10", currentSize.iconSize), children: /* @__PURE__ */ jsx45(Upload2, { className: cn("text-primary", size === "sm" ? "w-4 h-4" : "w-5 h-5") }) }),
|
|
18395
18523
|
/* @__PURE__ */ jsxs38("div", { className: "flex-1 min-w-0", children: [
|
|
18396
18524
|
/* @__PURE__ */ jsx45("p", { className: cn("font-medium truncate", currentSize.text), children: dragDropText || t("dragDropText") || "Drop files here or" }),
|
|
@@ -18457,7 +18585,7 @@ function FileUpload({
|
|
|
18457
18585
|
// src/components/Carousel.tsx
|
|
18458
18586
|
import * as React40 from "react";
|
|
18459
18587
|
import { ChevronLeft as ChevronLeft6, ChevronRight as ChevronRight8 } from "lucide-react";
|
|
18460
|
-
import { Fragment as
|
|
18588
|
+
import { Fragment as Fragment16, jsx as jsx46, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
18461
18589
|
function Carousel({
|
|
18462
18590
|
children,
|
|
18463
18591
|
autoScroll = true,
|
|
@@ -18887,7 +19015,7 @@ function Carousel({
|
|
|
18887
19015
|
})
|
|
18888
19016
|
}
|
|
18889
19017
|
),
|
|
18890
|
-
shouldShowArrows && totalSlides > effectiveSlidesToShow && /* @__PURE__ */ jsxs39(
|
|
19018
|
+
shouldShowArrows && totalSlides > effectiveSlidesToShow && /* @__PURE__ */ jsxs39(Fragment16, { children: [
|
|
18891
19019
|
/* @__PURE__ */ jsx46(
|
|
18892
19020
|
Button_default,
|
|
18893
19021
|
{
|
|
@@ -19258,7 +19386,7 @@ function FallingIcons({
|
|
|
19258
19386
|
// src/components/List.tsx
|
|
19259
19387
|
import * as React42 from "react";
|
|
19260
19388
|
import { ChevronRight as ChevronRight9 } from "lucide-react";
|
|
19261
|
-
import { Fragment as
|
|
19389
|
+
import { Fragment as Fragment17, jsx as jsx48, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
19262
19390
|
var SIZE_STYLES2 = {
|
|
19263
19391
|
xs: { label: "text-xs", desc: "text-[11px]", icon: "h-3.5 w-3.5", avatar: "h-6 w-6" },
|
|
19264
19392
|
sm: { label: "text-[13px]", desc: "text-xs", icon: "h-4 w-4", avatar: "h-8 w-8" },
|
|
@@ -19427,7 +19555,7 @@ var ListItem = React42.forwardRef(
|
|
|
19427
19555
|
}
|
|
19428
19556
|
}
|
|
19429
19557
|
} : {};
|
|
19430
|
-
const inner = /* @__PURE__ */ jsxs41(
|
|
19558
|
+
const inner = /* @__PURE__ */ jsxs41(Fragment17, { children: [
|
|
19431
19559
|
/* @__PURE__ */ jsxs41("div", { className: cn("flex items-center gap-3 group/item relative max-md:gap-2.5", contentClassName), ...headerProps, children: [
|
|
19432
19560
|
avatar && /* @__PURE__ */ jsx48("div", { className: cn("shrink-0", sz.avatar), children: typeof avatar === "string" ? /* @__PURE__ */ jsx48("img", { src: avatar, alt: "", className: cn("rounded-full object-cover", sz.avatar) }) : avatar }),
|
|
19433
19561
|
Left && !avatar && /* @__PURE__ */ jsx48("span", { className: cn("text-muted-foreground shrink-0", sz.icon), children: /* @__PURE__ */ jsx48(Left, { className: cn(sz.icon) }) }),
|
|
@@ -19472,7 +19600,7 @@ var List_default = List;
|
|
|
19472
19600
|
// src/components/Watermark.tsx
|
|
19473
19601
|
import * as React43 from "react";
|
|
19474
19602
|
import { createPortal as createPortal2 } from "react-dom";
|
|
19475
|
-
import { Fragment as
|
|
19603
|
+
import { Fragment as Fragment18, jsx as jsx49, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
19476
19604
|
var PRESETS2 = {
|
|
19477
19605
|
confidential: { text: "CONFIDENTIAL", color: "rgba(220, 38, 38, 0.15)", rotate: -22, fontSize: 16, fontWeight: "bold" },
|
|
19478
19606
|
draft: { text: "DRAFT", color: "rgba(59, 130, 246, 0.15)", rotate: -22, fontSize: 18, fontWeight: "bold" },
|
|
@@ -19751,7 +19879,7 @@ var Watermark = ({
|
|
|
19751
19879
|
}
|
|
19752
19880
|
);
|
|
19753
19881
|
if (fullPage) {
|
|
19754
|
-
return /* @__PURE__ */ jsxs42(
|
|
19882
|
+
return /* @__PURE__ */ jsxs42(Fragment18, { children: [
|
|
19755
19883
|
children,
|
|
19756
19884
|
typeof window !== "undefined" ? createPortal2(overlay, document.body) : null
|
|
19757
19885
|
] });
|
|
@@ -20335,11 +20463,13 @@ function ColorPicker({
|
|
|
20335
20463
|
type: "button",
|
|
20336
20464
|
disabled,
|
|
20337
20465
|
className: cn(
|
|
20338
|
-
"w-full
|
|
20466
|
+
"w-full bg-background flex items-center justify-between",
|
|
20467
|
+
formControlOutlineClass,
|
|
20339
20468
|
getBorderRadiusClass(resolvedBorderMode),
|
|
20340
20469
|
sizeClasses2[size],
|
|
20341
20470
|
formControlFixedClass,
|
|
20342
|
-
"
|
|
20471
|
+
"transition-colors",
|
|
20472
|
+
open && "border-ring",
|
|
20343
20473
|
disabled && "opacity-50 cursor-not-allowed",
|
|
20344
20474
|
triggerClassName
|
|
20345
20475
|
),
|
|
@@ -20938,7 +21068,7 @@ var MusicPlayer_default = MusicPlayer;
|
|
|
20938
21068
|
|
|
20939
21069
|
// src/components/Grid.tsx
|
|
20940
21070
|
import React47, { useId as useId13 } from "react";
|
|
20941
|
-
import { Fragment as
|
|
21071
|
+
import { Fragment as Fragment19, jsx as jsx53, jsxs as jsxs46 } from "react/jsx-runtime";
|
|
20942
21072
|
var BP_MIN = {
|
|
20943
21073
|
sm: 640,
|
|
20944
21074
|
md: 768,
|
|
@@ -21095,7 +21225,7 @@ var GridItem = React47.forwardRef(
|
|
|
21095
21225
|
st.opacity = 0;
|
|
21096
21226
|
st.animation = `uvGridItemFadeIn 0.5s ease-out forwards`;
|
|
21097
21227
|
}
|
|
21098
|
-
return /* @__PURE__ */ jsxs46(
|
|
21228
|
+
return /* @__PURE__ */ jsxs46(Fragment19, { children: [
|
|
21099
21229
|
animationDelay != null && /* @__PURE__ */ jsx53(
|
|
21100
21230
|
"style",
|
|
21101
21231
|
{
|
|
@@ -21125,13 +21255,13 @@ var Grid = Object.assign(GridRoot, { Item: GridItem });
|
|
|
21125
21255
|
var Grid_default = Grid;
|
|
21126
21256
|
|
|
21127
21257
|
// src/components/ClientOnly.tsx
|
|
21128
|
-
import { Fragment as
|
|
21258
|
+
import { Fragment as Fragment20, jsx as jsx54 } from "react/jsx-runtime";
|
|
21129
21259
|
function ClientOnly({ children, fallback = null }) {
|
|
21130
21260
|
const hasMounted = useHydrated();
|
|
21131
21261
|
if (!hasMounted) {
|
|
21132
|
-
return /* @__PURE__ */ jsx54(
|
|
21262
|
+
return /* @__PURE__ */ jsx54(Fragment20, { children: fallback });
|
|
21133
21263
|
}
|
|
21134
|
-
return /* @__PURE__ */ jsx54(
|
|
21264
|
+
return /* @__PURE__ */ jsx54(Fragment20, { children });
|
|
21135
21265
|
}
|
|
21136
21266
|
|
|
21137
21267
|
// src/components/Loading.tsx
|
|
@@ -21313,7 +21443,7 @@ import React58 from "react";
|
|
|
21313
21443
|
|
|
21314
21444
|
// src/components/DataTable/components/DataTableBody.tsx
|
|
21315
21445
|
import React49 from "react";
|
|
21316
|
-
import { Fragment as
|
|
21446
|
+
import { Fragment as Fragment21, jsx as jsx57, jsxs as jsxs49 } from "react/jsx-runtime";
|
|
21317
21447
|
function DataTableOverflowText({
|
|
21318
21448
|
text,
|
|
21319
21449
|
align
|
|
@@ -21408,7 +21538,7 @@ function DataTableBodyRows({
|
|
|
21408
21538
|
t("loading"),
|
|
21409
21539
|
"\u2026"
|
|
21410
21540
|
] })
|
|
21411
|
-
] }) }) }) : displayedData.length === 0 ? /* @__PURE__ */ jsx57(TableRow, { className: "!border-border/10", children: /* @__PURE__ */ jsx57(TableCell, { colSpan: leafColumns.length, className: "text-center py-6 text-muted-foreground", children: labels?.noData || t("noData") }) }) : /* @__PURE__ */ jsxs49(
|
|
21541
|
+
] }) }) }) : displayedData.length === 0 ? /* @__PURE__ */ jsx57(TableRow, { className: "!border-border/10", children: /* @__PURE__ */ jsx57(TableCell, { colSpan: leafColumns.length, className: "text-center py-6 text-muted-foreground", children: labels?.noData || t("noData") }) }) : /* @__PURE__ */ jsxs49(Fragment21, { children: [
|
|
21412
21542
|
virtualPaddingTop > 0 && /* @__PURE__ */ jsx57(TableRow, { "aria-hidden": "true", className: "border-0 hover:bg-transparent hover:shadow-none", children: /* @__PURE__ */ jsx57(TableCell, { colSpan: leafColumns.length, className: "p-0", style: { height: virtualPaddingTop } }) }),
|
|
21413
21543
|
rowsToRender.map(({ row, idx, virtualRow }) => {
|
|
21414
21544
|
const isStripedRow = striped && idx % 2 === 0;
|
|
@@ -21542,7 +21672,7 @@ function groupColumnsByColorTag(leafCols, colorGroups) {
|
|
|
21542
21672
|
}
|
|
21543
21673
|
|
|
21544
21674
|
// src/components/DataTable/components/DataTableHeader.tsx
|
|
21545
|
-
import { Fragment as
|
|
21675
|
+
import { Fragment as Fragment22, jsx as jsx58, jsxs as jsxs50 } from "react/jsx-runtime";
|
|
21546
21676
|
function getColumnLabel(title) {
|
|
21547
21677
|
if (typeof title === "string" || typeof title === "number") {
|
|
21548
21678
|
return String(title).replace(/\s+/g, " ").trim();
|
|
@@ -21786,10 +21916,10 @@ function DataTableHeader({
|
|
|
21786
21916
|
!isRightAlign && !isCenterAlign && "justify-start",
|
|
21787
21917
|
useEndIcon && "w-full"
|
|
21788
21918
|
),
|
|
21789
|
-
children: isRightAlign ? /* @__PURE__ */ jsxs50(
|
|
21919
|
+
children: isRightAlign ? /* @__PURE__ */ jsxs50(Fragment22, { children: [
|
|
21790
21920
|
filterContent,
|
|
21791
21921
|
titleContent
|
|
21792
|
-
] }) : /* @__PURE__ */ jsxs50(
|
|
21922
|
+
] }) : /* @__PURE__ */ jsxs50(Fragment22, { children: [
|
|
21793
21923
|
titleContent,
|
|
21794
21924
|
filterContent
|
|
21795
21925
|
] })
|
|
@@ -21812,7 +21942,7 @@ function DataTableHeader({
|
|
|
21812
21942
|
t
|
|
21813
21943
|
]
|
|
21814
21944
|
);
|
|
21815
|
-
return /* @__PURE__ */ jsx58(
|
|
21945
|
+
return /* @__PURE__ */ jsx58(Fragment22, { children: headerRows.map((row, rowIndex) => /* @__PURE__ */ jsx58(TableRow, { className: "!border-border/10", children: row.map((headerCell, cellIndex) => {
|
|
21816
21946
|
const { column: col, colSpan, rowSpan, isLeaf } = headerCell;
|
|
21817
21947
|
const prevCell = cellIndex > 0 ? row[cellIndex - 1] : null;
|
|
21818
21948
|
const prevCol = prevCell?.column;
|
|
@@ -23455,7 +23585,7 @@ function AccessDenied({
|
|
|
23455
23585
|
import { Moon as Moon2, Sun as Sun2, Monitor } from "lucide-react";
|
|
23456
23586
|
import { useRef as useRef23, useState as useState37 } from "react";
|
|
23457
23587
|
import { createPortal as createPortal3 } from "react-dom";
|
|
23458
|
-
import { Fragment as
|
|
23588
|
+
import { Fragment as Fragment23, jsx as jsx65, jsxs as jsxs57 } from "react/jsx-runtime";
|
|
23459
23589
|
function ThemeToggleHeadless({
|
|
23460
23590
|
theme,
|
|
23461
23591
|
onChange,
|
|
@@ -23505,7 +23635,7 @@ function ThemeToggleHeadless({
|
|
|
23505
23635
|
children: /* @__PURE__ */ jsx65(CurrentIcon, { className: "h-5 w-5" })
|
|
23506
23636
|
}
|
|
23507
23637
|
),
|
|
23508
|
-
isOpen && /* @__PURE__ */ jsxs57(
|
|
23638
|
+
isOpen && /* @__PURE__ */ jsxs57(Fragment23, { children: [
|
|
23509
23639
|
typeof window !== "undefined" && createPortal3(/* @__PURE__ */ jsx65("div", { className: "fixed inset-0 z-[99998]", onClick: () => setIsOpen(false) }), document.body),
|
|
23510
23640
|
typeof window !== "undefined" && dropdownPosition && createPortal3(
|
|
23511
23641
|
/* @__PURE__ */ jsx65(
|
|
@@ -23557,7 +23687,7 @@ function ThemeToggleHeadless({
|
|
|
23557
23687
|
import { useRef as useRef24, useState as useState38 } from "react";
|
|
23558
23688
|
import { createPortal as createPortal4 } from "react-dom";
|
|
23559
23689
|
import { Globe } from "lucide-react";
|
|
23560
|
-
import { Fragment as
|
|
23690
|
+
import { Fragment as Fragment24, jsx as jsx66, jsxs as jsxs58 } from "react/jsx-runtime";
|
|
23561
23691
|
function LanguageSwitcherHeadless({
|
|
23562
23692
|
locales,
|
|
23563
23693
|
currentLocale,
|
|
@@ -23602,7 +23732,7 @@ function LanguageSwitcherHeadless({
|
|
|
23602
23732
|
children: /* @__PURE__ */ jsx66(Globe, { className: "h-5 w-5" })
|
|
23603
23733
|
}
|
|
23604
23734
|
),
|
|
23605
|
-
isOpen && /* @__PURE__ */ jsxs58(
|
|
23735
|
+
isOpen && /* @__PURE__ */ jsxs58(Fragment24, { children: [
|
|
23606
23736
|
typeof window !== "undefined" && createPortal4(/* @__PURE__ */ jsx66("div", { className: "fixed inset-0 z-[99998]", onClick: () => setIsOpen(false) }), document.body),
|
|
23607
23737
|
typeof window !== "undefined" && dropdownPosition && createPortal4(
|
|
23608
23738
|
/* @__PURE__ */ jsx66(
|