@datatechsolutions/ui 2.7.127 → 2.7.128
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/{chunk-S4MECSAK.js → chunk-IMLJ5FAZ.js} +202 -278
- package/dist/chunk-IMLJ5FAZ.js.map +1 -0
- package/dist/{chunk-TGE53WHS.mjs → chunk-RLFPACTM.mjs} +3 -3
- package/dist/{chunk-TGE53WHS.mjs.map → chunk-RLFPACTM.mjs.map} +1 -1
- package/dist/{chunk-3VSRFFI6.mjs → chunk-RWNHZ7FV.mjs} +202 -278
- package/dist/chunk-RWNHZ7FV.mjs.map +1 -0
- package/dist/{chunk-4RB4JPCM.js → chunk-ZRFEZ3RD.js} +52 -52
- package/dist/{chunk-4RB4JPCM.js.map → chunk-ZRFEZ3RD.js.map} +1 -1
- package/dist/index.d.mts +11 -10
- package/dist/index.d.ts +11 -10
- package/dist/index.js +360 -360
- package/dist/index.mjs +1 -1
- package/dist/workflow/index.js +119 -119
- package/dist/workflow/index.mjs +3 -3
- package/dist/workflow/workflow-canvas.js +3 -3
- package/dist/workflow/workflow-canvas.mjs +2 -2
- package/package.json +1 -1
- package/dist/chunk-3VSRFFI6.mjs.map +0 -1
- package/dist/chunk-S4MECSAK.js.map +0 -1
|
@@ -9959,7 +9959,7 @@ var Textarea = React11__namespace.forwardRef(({ className, ...props }, ref) => {
|
|
|
9959
9959
|
"textarea",
|
|
9960
9960
|
{
|
|
9961
9961
|
className: clsx__default.default(
|
|
9962
|
-
"flex min-h-[80px] w-full rounded-
|
|
9962
|
+
"flex min-h-[80px] w-full rounded-xl liquid-surface border border-white/50 dark:border-white/10 px-3 py-2.5 text-sm text-slate-900 dark:text-white outline-none placeholder:text-slate-400 dark:placeholder:text-slate-500 focus-visible:ring-2 focus-visible:ring-indigo-500 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50",
|
|
9963
9963
|
className
|
|
9964
9964
|
),
|
|
9965
9965
|
ref,
|
|
@@ -12577,51 +12577,96 @@ var Link4 = React11.forwardRef(function Link5(props, ref) {
|
|
|
12577
12577
|
});
|
|
12578
12578
|
var styles2 = {
|
|
12579
12579
|
base: [
|
|
12580
|
-
"relative inline-flex items-center justify-center gap-x-2 rounded-
|
|
12581
|
-
"px-3.5 py-2.5 transition-
|
|
12582
|
-
"focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 dark:focus:ring-indigo-400 dark:focus:ring-offset-
|
|
12580
|
+
"relative inline-flex items-center justify-center gap-x-2 rounded-xl text-sm font-semibold",
|
|
12581
|
+
"px-3.5 py-2.5 transition-all duration-200",
|
|
12582
|
+
"focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 dark:focus:ring-indigo-400 dark:focus:ring-offset-slate-900",
|
|
12583
12583
|
"disabled:opacity-50 disabled:pointer-events-none",
|
|
12584
12584
|
"[&>svg]:size-4 [&>svg]:shrink-0"
|
|
12585
12585
|
],
|
|
12586
|
-
solid: ["
|
|
12586
|
+
solid: ["liquid-button-primary rounded-xl"],
|
|
12587
12587
|
outline: [
|
|
12588
|
-
"
|
|
12589
|
-
"dark:border-zinc-600 dark:hover:bg-zinc-800 dark:text-zinc-100"
|
|
12588
|
+
"liquid-button rounded-xl"
|
|
12590
12589
|
],
|
|
12591
12590
|
plain: [
|
|
12592
|
-
"border-transparent text-
|
|
12593
|
-
"dark:text-
|
|
12591
|
+
"border-transparent text-slate-700 hover:bg-white/30 dark:hover:bg-white/[0.08]",
|
|
12592
|
+
"dark:text-slate-300"
|
|
12594
12593
|
],
|
|
12595
12594
|
colors: {
|
|
12596
|
-
"dark/zinc": [
|
|
12595
|
+
"dark/zinc": [
|
|
12596
|
+
"bg-slate-900/80 text-white backdrop-blur-xl border border-white/10 hover:bg-slate-800/80"
|
|
12597
|
+
],
|
|
12597
12598
|
light: [
|
|
12598
|
-
"bg-white text-
|
|
12599
|
+
"bg-white/60 text-slate-900 backdrop-blur-xl border border-white/30 hover:bg-white/80 dark:bg-white/10 dark:text-white dark:border-white/20 dark:hover:bg-white/20"
|
|
12599
12600
|
],
|
|
12600
12601
|
"dark/white": [
|
|
12601
|
-
"bg-
|
|
12602
|
+
"bg-slate-900/80 text-white backdrop-blur-xl border border-white/10 hover:bg-slate-800/80 dark:bg-white/90 dark:text-slate-900 dark:border-white/30 dark:hover:bg-white/80"
|
|
12603
|
+
],
|
|
12604
|
+
dark: [
|
|
12605
|
+
"bg-slate-900/80 text-white backdrop-blur-xl border border-white/10 hover:bg-slate-800/80"
|
|
12606
|
+
],
|
|
12607
|
+
white: [
|
|
12608
|
+
"bg-white/60 text-slate-900 backdrop-blur-xl border border-white/30 hover:bg-white/80"
|
|
12609
|
+
],
|
|
12610
|
+
zinc: [
|
|
12611
|
+
"bg-slate-600/80 text-white backdrop-blur-xl border border-white/10 hover:bg-slate-700/80"
|
|
12612
|
+
],
|
|
12613
|
+
indigo: [
|
|
12614
|
+
"bg-indigo-500/80 text-white backdrop-blur-xl border border-indigo-400/30 hover:bg-indigo-600/80"
|
|
12615
|
+
],
|
|
12616
|
+
cyan: [
|
|
12617
|
+
"bg-cyan-300/80 text-cyan-950 backdrop-blur-xl border border-cyan-200/30 hover:bg-cyan-400/80"
|
|
12618
|
+
],
|
|
12619
|
+
red: [
|
|
12620
|
+
"bg-red-600/80 text-white backdrop-blur-xl border border-red-500/30 hover:bg-red-700/80"
|
|
12621
|
+
],
|
|
12622
|
+
orange: [
|
|
12623
|
+
"bg-orange-500/80 text-white backdrop-blur-xl border border-orange-400/30 hover:bg-orange-600/80"
|
|
12624
|
+
],
|
|
12625
|
+
amber: [
|
|
12626
|
+
"bg-amber-400/80 text-amber-950 backdrop-blur-xl border border-amber-300/30 hover:bg-amber-500/80"
|
|
12627
|
+
],
|
|
12628
|
+
yellow: [
|
|
12629
|
+
"bg-yellow-300/80 text-yellow-950 backdrop-blur-xl border border-yellow-200/30 hover:bg-yellow-400/80"
|
|
12630
|
+
],
|
|
12631
|
+
lime: [
|
|
12632
|
+
"bg-lime-300/80 text-lime-950 backdrop-blur-xl border border-lime-200/30 hover:bg-lime-400/80"
|
|
12633
|
+
],
|
|
12634
|
+
green: [
|
|
12635
|
+
"bg-green-600/80 text-white backdrop-blur-xl border border-green-500/30 hover:bg-green-700/80"
|
|
12636
|
+
],
|
|
12637
|
+
emerald: [
|
|
12638
|
+
"bg-emerald-600/80 text-white backdrop-blur-xl border border-emerald-500/30 hover:bg-emerald-700/80"
|
|
12639
|
+
],
|
|
12640
|
+
teal: [
|
|
12641
|
+
"bg-teal-600/80 text-white backdrop-blur-xl border border-teal-500/30 hover:bg-teal-700/80"
|
|
12642
|
+
],
|
|
12643
|
+
sky: [
|
|
12644
|
+
"bg-sky-500/80 text-white backdrop-blur-xl border border-sky-400/30 hover:bg-sky-600/80"
|
|
12645
|
+
],
|
|
12646
|
+
blue: [
|
|
12647
|
+
"bg-blue-600/80 text-white backdrop-blur-xl border border-blue-500/30 hover:bg-blue-700/80"
|
|
12648
|
+
],
|
|
12649
|
+
brand: [
|
|
12650
|
+
"bg-brand-600/80 text-white backdrop-blur-xl border border-brand-500/30 hover:bg-brand-700/80"
|
|
12651
|
+
],
|
|
12652
|
+
accent: [
|
|
12653
|
+
"bg-accent/80 text-accent-foreground backdrop-blur-xl border border-accent/30 hover:bg-accent/70"
|
|
12654
|
+
],
|
|
12655
|
+
violet: [
|
|
12656
|
+
"bg-violet-500/80 text-white backdrop-blur-xl border border-violet-400/30 hover:bg-violet-600/80"
|
|
12602
12657
|
],
|
|
12603
|
-
|
|
12604
|
-
|
|
12605
|
-
|
|
12606
|
-
|
|
12607
|
-
|
|
12608
|
-
|
|
12609
|
-
|
|
12610
|
-
|
|
12611
|
-
|
|
12612
|
-
|
|
12613
|
-
|
|
12614
|
-
|
|
12615
|
-
teal: ["bg-teal-600 text-white hover:bg-teal-700"],
|
|
12616
|
-
sky: ["bg-sky-500 text-white hover:bg-sky-600"],
|
|
12617
|
-
blue: ["bg-blue-600 text-white hover:bg-blue-700"],
|
|
12618
|
-
brand: ["bg-brand-600 text-white hover:bg-brand-700"],
|
|
12619
|
-
accent: ["bg-accent text-accent-foreground hover:bg-accent/90"],
|
|
12620
|
-
violet: ["bg-violet-500 text-white hover:bg-violet-600"],
|
|
12621
|
-
purple: ["bg-purple-500 text-white hover:bg-purple-600"],
|
|
12622
|
-
fuchsia: ["bg-fuchsia-500 text-white hover:bg-fuchsia-600"],
|
|
12623
|
-
pink: ["bg-pink-500 text-white hover:bg-pink-600"],
|
|
12624
|
-
rose: ["bg-rose-500 text-white hover:bg-rose-600"]
|
|
12658
|
+
purple: [
|
|
12659
|
+
"bg-purple-500/80 text-white backdrop-blur-xl border border-purple-400/30 hover:bg-purple-600/80"
|
|
12660
|
+
],
|
|
12661
|
+
fuchsia: [
|
|
12662
|
+
"bg-fuchsia-500/80 text-white backdrop-blur-xl border border-fuchsia-400/30 hover:bg-fuchsia-600/80"
|
|
12663
|
+
],
|
|
12664
|
+
pink: [
|
|
12665
|
+
"bg-pink-500/80 text-white backdrop-blur-xl border border-pink-400/30 hover:bg-pink-600/80"
|
|
12666
|
+
],
|
|
12667
|
+
rose: [
|
|
12668
|
+
"bg-rose-500/80 text-white backdrop-blur-xl border border-rose-400/30 hover:bg-rose-600/80"
|
|
12669
|
+
]
|
|
12625
12670
|
}
|
|
12626
12671
|
};
|
|
12627
12672
|
var Button6 = React11.forwardRef(function Button7({
|
|
@@ -12709,14 +12754,14 @@ function InputGroup({
|
|
|
12709
12754
|
"has-[[data-slot=icon]:first-child]:[&_input]:pl-10 has-[[data-slot=icon]:last-child]:[&_input]:pr-10 sm:has-[[data-slot=icon]:first-child]:[&_input]:pl-8 sm:has-[[data-slot=icon]:last-child]:[&_input]:pr-8",
|
|
12710
12755
|
"*:data-[slot=icon]:pointer-events-none *:data-[slot=icon]:absolute *:data-[slot=icon]:top-3 *:data-[slot=icon]:z-10 *:data-[slot=icon]:size-5 sm:*:data-[slot=icon]:top-2.5 sm:*:data-[slot=icon]:size-4",
|
|
12711
12756
|
"[&>[data-slot=icon]:first-child]:left-3 sm:[&>[data-slot=icon]:first-child]:left-2.5 [&>[data-slot=icon]:last-child]:right-3 sm:[&>[data-slot=icon]:last-child]:right-2.5",
|
|
12712
|
-
"*:data-[slot=icon]:text-
|
|
12757
|
+
"*:data-[slot=icon]:text-slate-500"
|
|
12713
12758
|
),
|
|
12714
12759
|
children
|
|
12715
12760
|
}
|
|
12716
12761
|
);
|
|
12717
12762
|
}
|
|
12718
12763
|
var dateTypes = ["date", "datetime-local", "month", "time", "week"];
|
|
12719
|
-
|
|
12764
|
+
React11.forwardRef(function Input4({
|
|
12720
12765
|
className,
|
|
12721
12766
|
"aria-label": ariaLabel,
|
|
12722
12767
|
"aria-describedby": ariaDescribedBy,
|
|
@@ -12735,7 +12780,7 @@ var Input3 = React11.forwardRef(function Input4({
|
|
|
12735
12780
|
// Basic layout
|
|
12736
12781
|
"relative block w-full",
|
|
12737
12782
|
// Focus ring
|
|
12738
|
-
"after:pointer-events-none after:absolute after:inset-0 after:rounded-
|
|
12783
|
+
"after:pointer-events-none after:absolute after:inset-0 after:rounded-xl after:ring-transparent after:ring-inset sm:focus-within:after:ring-2 sm:focus-within:after:ring-indigo-500",
|
|
12739
12784
|
// Disabled state
|
|
12740
12785
|
"has-data-disabled:opacity-50"
|
|
12741
12786
|
]),
|
|
@@ -12771,19 +12816,19 @@ var Input3 = React11.forwardRef(function Input4({
|
|
|
12771
12816
|
"[&::-webkit-datetime-edit-meridiem-field]:p-0"
|
|
12772
12817
|
],
|
|
12773
12818
|
// Basic layout
|
|
12774
|
-
"relative block w-full appearance-none rounded-
|
|
12819
|
+
"relative block w-full appearance-none rounded-xl px-3 py-2.5",
|
|
12775
12820
|
// Typography
|
|
12776
|
-
"text-
|
|
12821
|
+
"text-sm text-slate-900 dark:text-white placeholder:text-slate-400 dark:placeholder:text-slate-500",
|
|
12777
12822
|
// Border
|
|
12778
|
-
"border border-
|
|
12779
|
-
// Background color
|
|
12780
|
-
"
|
|
12823
|
+
"border border-white/50 data-hover:border-white/70 dark:border-white/10 dark:data-hover:border-white/20",
|
|
12824
|
+
// Background color — glass surface
|
|
12825
|
+
"liquid-surface",
|
|
12781
12826
|
// Hide default focus styles
|
|
12782
12827
|
"focus:outline-none",
|
|
12783
12828
|
// Invalid state
|
|
12784
12829
|
"data-invalid:border-red-500 data-invalid:data-hover:border-red-500 dark:data-invalid:border-red-500 dark:data-invalid:data-hover:border-red-500",
|
|
12785
12830
|
// Disabled state
|
|
12786
|
-
"data-disabled:border-
|
|
12831
|
+
"data-disabled:border-white/30 dark:data-disabled:border-white/15 dark:data-disabled:bg-white/2.5 dark:data-hover:data-disabled:border-white/15",
|
|
12787
12832
|
// System icons
|
|
12788
12833
|
"dark:scheme-dark",
|
|
12789
12834
|
// Autofill override styles
|
|
@@ -12791,10 +12836,10 @@ var Input3 = React11.forwardRef(function Input4({
|
|
|
12791
12836
|
"[&:-webkit-autofill:hover]:!shadow-[inset_0_0_0_1000px_white] [&:-webkit-autofill:hover]:!text-black",
|
|
12792
12837
|
"[&:-webkit-autofill:focus]:!shadow-[inset_0_0_0_1000px_white] [&:-webkit-autofill:focus]:!text-black",
|
|
12793
12838
|
"[&:-webkit-autofill:active]:!shadow-[inset_0_0_0_1000px_white] [&:-webkit-autofill:active]:!text-black",
|
|
12794
|
-
"dark:[&:-webkit-autofill]:!shadow-[inset_0_0_0_1000px_rgb(
|
|
12795
|
-
"dark:[&:-webkit-autofill:hover]:!shadow-[inset_0_0_0_1000px_rgb(
|
|
12796
|
-
"dark:[&:-webkit-autofill:focus]:!shadow-[inset_0_0_0_1000px_rgb(
|
|
12797
|
-
"dark:[&:-webkit-autofill:active]:!shadow-[inset_0_0_0_1000px_rgb(
|
|
12839
|
+
"dark:[&:-webkit-autofill]:!shadow-[inset_0_0_0_1000px_rgb(15,23,42)] dark:[&:-webkit-autofill]:!text-slate-200",
|
|
12840
|
+
"dark:[&:-webkit-autofill:hover]:!shadow-[inset_0_0_0_1000px_rgb(15,23,42)] dark:[&:-webkit-autofill:hover]:!text-slate-200",
|
|
12841
|
+
"dark:[&:-webkit-autofill:focus]:!shadow-[inset_0_0_0_1000px_rgb(15,23,42)] dark:[&:-webkit-autofill:focus]:!text-slate-200",
|
|
12842
|
+
"dark:[&:-webkit-autofill:active]:!shadow-[inset_0_0_0_1000px_rgb(15,23,42)] dark:[&:-webkit-autofill:active]:!text-slate-200"
|
|
12798
12843
|
])
|
|
12799
12844
|
}
|
|
12800
12845
|
)
|
|
@@ -12901,7 +12946,7 @@ var Label3 = React11__namespace.default.forwardRef(
|
|
|
12901
12946
|
"label",
|
|
12902
12947
|
{
|
|
12903
12948
|
ref,
|
|
12904
|
-
className: `block text-sm font-medium text-
|
|
12949
|
+
className: `block text-sm font-medium text-slate-800 dark:text-slate-200 ${className}`,
|
|
12905
12950
|
...props,
|
|
12906
12951
|
children: [
|
|
12907
12952
|
children,
|
|
@@ -13309,12 +13354,12 @@ var Card2 = React11.memo(function Card3({
|
|
|
13309
13354
|
lg: "p-6 sm:p-8"
|
|
13310
13355
|
};
|
|
13311
13356
|
const variantClasses2 = {
|
|
13312
|
-
default: "
|
|
13313
|
-
elevated: "
|
|
13314
|
-
outlined: "bg-transparent border-2 border-
|
|
13315
|
-
flat: "
|
|
13357
|
+
default: "liquid-surface border border-white/30 dark:border-white/10",
|
|
13358
|
+
elevated: "liquid-surface-strong border border-white/30 dark:border-white/10",
|
|
13359
|
+
outlined: "bg-transparent border-2 border-white/30 dark:border-white/10 backdrop-blur-sm",
|
|
13360
|
+
flat: "liquid-surface"
|
|
13316
13361
|
};
|
|
13317
|
-
const hoverClasses = hover || onClick ? "hover:shadow-
|
|
13362
|
+
const hoverClasses = hover || onClick ? "hover:shadow-md transition-shadow duration-200" : "";
|
|
13318
13363
|
const clickableClasses = onClick ? "cursor-pointer" : "";
|
|
13319
13364
|
const loadingClasses = loading ? "opacity-75 pointer-events-none" : "";
|
|
13320
13365
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -13323,7 +13368,7 @@ var Card2 = React11.memo(function Card3({
|
|
|
13323
13368
|
role: onClick ? "button" : void 0,
|
|
13324
13369
|
tabIndex: onClick ? 0 : void 0,
|
|
13325
13370
|
className: clsx__default.default(
|
|
13326
|
-
"rounded-
|
|
13371
|
+
"rounded-2xl",
|
|
13327
13372
|
variantClasses2[variant],
|
|
13328
13373
|
paddingClasses[padding],
|
|
13329
13374
|
hoverClasses,
|
|
@@ -13352,8 +13397,8 @@ var CardHeader2 = React11.memo(function CardHeader3({
|
|
|
13352
13397
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx__default.default("mb-4", className), children: [
|
|
13353
13398
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2", children: [
|
|
13354
13399
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
13355
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg font-semibold text-
|
|
13356
|
-
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm text-
|
|
13400
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg font-semibold text-slate-900 dark:text-slate-100 truncate", children: title }),
|
|
13401
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm text-slate-600 dark:text-slate-400 line-clamp-2", children: subtitle })
|
|
13357
13402
|
] }),
|
|
13358
13403
|
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0 flex items-center gap-2", children: actions })
|
|
13359
13404
|
] }),
|
|
@@ -13368,7 +13413,7 @@ var CardTitle2 = React11.memo(function CardTitle3({
|
|
|
13368
13413
|
"h3",
|
|
13369
13414
|
{
|
|
13370
13415
|
className: clsx__default.default(
|
|
13371
|
-
"text-lg font-semibold text-
|
|
13416
|
+
"text-lg font-semibold text-slate-900 dark:text-slate-100",
|
|
13372
13417
|
className
|
|
13373
13418
|
),
|
|
13374
13419
|
children
|
|
@@ -13379,13 +13424,13 @@ var CardDescription2 = React11.memo(function CardDescription3({
|
|
|
13379
13424
|
children,
|
|
13380
13425
|
className
|
|
13381
13426
|
}) {
|
|
13382
|
-
return /* @__PURE__ */ jsxRuntime.jsx("p", { className: clsx__default.default("text-sm text-
|
|
13427
|
+
return /* @__PURE__ */ jsxRuntime.jsx("p", { className: clsx__default.default("text-sm text-slate-600 dark:text-slate-400", className), children });
|
|
13383
13428
|
});
|
|
13384
13429
|
var CardContent2 = React11.memo(function CardContent3({
|
|
13385
13430
|
children,
|
|
13386
13431
|
className
|
|
13387
13432
|
}) {
|
|
13388
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx__default.default("text-
|
|
13433
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx__default.default("text-slate-600 dark:text-slate-400", className), children });
|
|
13389
13434
|
});
|
|
13390
13435
|
var CardFooter2 = React11.memo(function CardFooter3({
|
|
13391
13436
|
children,
|
|
@@ -13402,7 +13447,7 @@ var CardFooter2 = React11.memo(function CardFooter3({
|
|
|
13402
13447
|
"div",
|
|
13403
13448
|
{
|
|
13404
13449
|
className: clsx__default.default(
|
|
13405
|
-
"mt-4 pt-4 border-t border-
|
|
13450
|
+
"mt-4 pt-4 border-t border-white/30 dark:border-white/10 flex items-center gap-2",
|
|
13406
13451
|
justifyClasses[justify],
|
|
13407
13452
|
className
|
|
13408
13453
|
),
|
|
@@ -13422,14 +13467,14 @@ var StatCard2 = React11.memo(function StatCard3({
|
|
|
13422
13467
|
const trendColors = {
|
|
13423
13468
|
up: "text-green-600 dark:text-green-400",
|
|
13424
13469
|
down: "text-red-600 dark:text-red-400",
|
|
13425
|
-
neutral: "text-
|
|
13470
|
+
neutral: "text-slate-600 dark:text-slate-400"
|
|
13426
13471
|
};
|
|
13427
13472
|
return /* @__PURE__ */ jsxRuntime.jsx(Card2, { variant: "elevated", hover: true, className, loading, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start", children: [
|
|
13428
|
-
icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0 mr-4", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-12 h-12 rounded-lg bg-
|
|
13473
|
+
icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0 mr-4", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-12 h-12 rounded-lg bg-white/20 dark:bg-white/[0.08] flex items-center justify-center", children: icon }) }),
|
|
13429
13474
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
13430
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-
|
|
13475
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-slate-600 dark:text-slate-400 truncate", children: title }),
|
|
13431
13476
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-1 flex items-baseline", children: [
|
|
13432
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-2xl font-bold text-
|
|
13477
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-2xl font-bold text-slate-900 dark:text-slate-100", children: loading ? "..." : value }),
|
|
13433
13478
|
trend && !loading && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
13434
13479
|
"div",
|
|
13435
13480
|
{
|
|
@@ -13447,8 +13492,8 @@ var StatCard2 = React11.memo(function StatCard3({
|
|
|
13447
13492
|
}
|
|
13448
13493
|
)
|
|
13449
13494
|
] }),
|
|
13450
|
-
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm text-
|
|
13451
|
-
trend && !loading && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-xs text-
|
|
13495
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm text-slate-600 dark:text-slate-400", children: subtitle }),
|
|
13496
|
+
trend && !loading && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-xs text-slate-500 dark:text-slate-500", children: trend.label })
|
|
13452
13497
|
] })
|
|
13453
13498
|
] }) });
|
|
13454
13499
|
});
|
|
@@ -13488,14 +13533,14 @@ function RequirementCheck({
|
|
|
13488
13533
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13489
13534
|
"span",
|
|
13490
13535
|
{
|
|
13491
|
-
className: `flex-shrink-0 w-3.5 h-3.5 rounded-full flex items-center justify-center text-[10px] font-bold ${met ? "bg-emerald-500 text-white" : "bg-
|
|
13536
|
+
className: `flex-shrink-0 w-3.5 h-3.5 rounded-full flex items-center justify-center text-[10px] font-bold ${met ? "bg-emerald-500 text-white" : "bg-slate-200 dark:bg-slate-700 text-slate-400 dark:text-slate-500"}`,
|
|
13492
13537
|
children: met ? "\u2713" : ""
|
|
13493
13538
|
}
|
|
13494
13539
|
),
|
|
13495
13540
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13496
13541
|
"span",
|
|
13497
13542
|
{
|
|
13498
|
-
className: met ? "text-emerald-600 dark:text-emerald-400" : "text-
|
|
13543
|
+
className: met ? "text-emerald-600 dark:text-emerald-400" : "text-slate-500 dark:text-slate-400",
|
|
13499
13544
|
children: label
|
|
13500
13545
|
}
|
|
13501
13546
|
)
|
|
@@ -13533,9 +13578,9 @@ var PasswordInput2 = React11.forwardRef(
|
|
|
13533
13578
|
medium: "w-2/3",
|
|
13534
13579
|
strong: "w-full"
|
|
13535
13580
|
}[strengthLevel];
|
|
13536
|
-
const baseInputClasses = variant === "apple" ? "w-full px-4 py-3 pr-12 text-[17px] bg-white dark:bg-
|
|
13537
|
-
const buttonClasses = variant === "apple" ? "absolute top-1/2 -translate-y-1/2 right-3 p-1.5 hover:bg-
|
|
13538
|
-
const iconClasses = variant === "apple" ? "h-5 w-5 text-
|
|
13581
|
+
const baseInputClasses = variant === "apple" ? "w-full px-4 py-3 pr-12 text-[17px] bg-white/60 dark:bg-white/10 backdrop-blur-xl border border-white/30 dark:border-white/20 text-slate-900 dark:text-white placeholder-slate-400 dark:placeholder-slate-500 rounded-xl focus:outline-none focus:ring-2 focus:ring-indigo-500 transition-all" : "w-full px-4 py-3.5 pr-12 text-base rounded-xl border transition-all duration-300 bg-white/60 dark:bg-white/10 backdrop-blur-xl border-white/30 dark:border-white/20 text-slate-900 dark:text-white placeholder-slate-400 dark:placeholder-slate-500 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent";
|
|
13582
|
+
const buttonClasses = variant === "apple" ? "absolute top-1/2 -translate-y-1/2 right-3 p-1.5 hover:bg-white/30 dark:hover:bg-white/[0.08] rounded-lg transition-colors" : "absolute top-1/2 -translate-y-1/2 right-3 p-2 hover:bg-white/30 dark:hover:bg-white/[0.08] rounded-lg transition-all duration-200";
|
|
13583
|
+
const iconClasses = variant === "apple" ? "h-5 w-5 text-slate-400 dark:text-slate-400" : "h-5 w-5 text-slate-500 hover:text-slate-700 dark:text-slate-400 dark:hover:text-slate-200";
|
|
13539
13584
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
13540
13585
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
13541
13586
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -13561,7 +13606,7 @@ var PasswordInput2 = React11.forwardRef(
|
|
|
13561
13606
|
] }),
|
|
13562
13607
|
showStrength && internalValue.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2 space-y-2", children: [
|
|
13563
13608
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
13564
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 h-1.5 bg-
|
|
13609
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 h-1.5 bg-slate-200 dark:bg-slate-700 rounded-full overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
13565
13610
|
"div",
|
|
13566
13611
|
{
|
|
13567
13612
|
className: `h-full rounded-full transition-all duration-300 ${strengthBarColor} ${strengthBarWidth}`
|
|
@@ -13772,222 +13817,101 @@ var SliderInput = ({
|
|
|
13772
13817
|
};
|
|
13773
13818
|
function DataPagination({
|
|
13774
13819
|
pagination,
|
|
13775
|
-
params,
|
|
13776
13820
|
onUpdate,
|
|
13777
13821
|
loading = false,
|
|
13778
|
-
|
|
13779
|
-
|
|
13780
|
-
|
|
13781
|
-
pageSizeOptions = [10, 20, 50, 100]
|
|
13822
|
+
showPageSize = false,
|
|
13823
|
+
pageSizeOptions = [10, 20, 50],
|
|
13824
|
+
params
|
|
13782
13825
|
}) {
|
|
13783
|
-
const tSearch = nextIntl.useTranslations("search");
|
|
13784
|
-
const tPagination = nextIntl.useTranslations("pagination");
|
|
13785
|
-
const tCommon = nextIntl.useTranslations("common");
|
|
13786
|
-
const tAria = nextIntl.useTranslations("aria");
|
|
13787
|
-
const [localSearchValue, setLocalSearchValue] = React11.useState(params.search || "");
|
|
13788
|
-
React11.useEffect(() => {
|
|
13789
|
-
const timeoutId = setTimeout(() => {
|
|
13790
|
-
if (localSearchValue !== params.search) {
|
|
13791
|
-
onUpdate({ search: localSearchValue, page: 1 });
|
|
13792
|
-
}
|
|
13793
|
-
}, 500);
|
|
13794
|
-
return () => clearTimeout(timeoutId);
|
|
13795
|
-
}, [localSearchValue, onUpdate, params.search]);
|
|
13796
|
-
React11.useEffect(() => {
|
|
13797
|
-
if (localSearchValue !== params.search) {
|
|
13798
|
-
setLocalSearchValue(params.search || "");
|
|
13799
|
-
}
|
|
13800
|
-
}, [params.search, localSearchValue]);
|
|
13801
|
-
const handleSearchChange = (value) => {
|
|
13802
|
-
setLocalSearchValue(value);
|
|
13803
|
-
};
|
|
13804
|
-
const handlePageSizeChange = (value) => {
|
|
13805
|
-
onUpdate({ limit: parseInt(value), page: 1 });
|
|
13806
|
-
};
|
|
13807
|
-
const handlePageChange = (page) => {
|
|
13808
|
-
onUpdate({ page });
|
|
13809
|
-
};
|
|
13810
13826
|
const effectivePageSize = pagination.pageSize ?? pagination.limit ?? 10;
|
|
13811
|
-
const
|
|
13812
|
-
const
|
|
13813
|
-
const
|
|
13814
|
-
|
|
13815
|
-
|
|
13816
|
-
|
|
13817
|
-
|
|
13827
|
+
const from = (pagination.page - 1) * effectivePageSize + 1;
|
|
13828
|
+
const to = Math.min(pagination.page * effectivePageSize, pagination.total);
|
|
13829
|
+
const handlePageChange = (page) => onUpdate({ page });
|
|
13830
|
+
const handlePageSizeChange = (value) => onUpdate({ limit: parseInt(value), page: 1 });
|
|
13831
|
+
if (pagination.totalPages <= 1 && !showPageSize) return null;
|
|
13832
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-between gap-3 rounded-2xl liquid-surface px-4 py-3", children: [
|
|
13833
|
+
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm tabular-nums text-slate-600 dark:text-slate-400", children: [
|
|
13834
|
+
from,
|
|
13835
|
+
"\u2013",
|
|
13836
|
+
to,
|
|
13837
|
+
" / ",
|
|
13838
|
+
pagination.total
|
|
13839
|
+
] }),
|
|
13840
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
13841
|
+
showPageSize && /* @__PURE__ */ jsxRuntime.jsx(
|
|
13842
|
+
"select",
|
|
13818
13843
|
{
|
|
13819
|
-
|
|
13820
|
-
|
|
13821
|
-
value: localSearchValue,
|
|
13822
|
-
onChange: (e) => handleSearchChange(e.target.value),
|
|
13844
|
+
value: params?.limit ?? effectivePageSize,
|
|
13845
|
+
onChange: (event) => handlePageSizeChange(event.target.value),
|
|
13823
13846
|
disabled: loading,
|
|
13824
|
-
className: "
|
|
13847
|
+
className: "rounded-xl liquid-surface px-2 py-1.5 text-xs font-medium text-slate-700 outline-none dark:text-slate-300",
|
|
13848
|
+
children: pageSizeOptions.map((size) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: size, children: size }, size))
|
|
13825
13849
|
}
|
|
13826
|
-
)
|
|
13827
|
-
|
|
13828
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-zinc-700 dark:text-zinc-300 whitespace-nowrap", children: tPagination("itemsPerPage") }),
|
|
13850
|
+
),
|
|
13851
|
+
pagination.totalPages > 1 && /* @__PURE__ */ jsxRuntime.jsxs("nav", { className: "flex items-center gap-1", "aria-label": "Pagination", children: [
|
|
13829
13852
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13830
|
-
"
|
|
13853
|
+
"button",
|
|
13831
13854
|
{
|
|
13832
|
-
|
|
13833
|
-
|
|
13834
|
-
|
|
13835
|
-
className: "
|
|
13836
|
-
children:
|
|
13855
|
+
type: "button",
|
|
13856
|
+
disabled: pagination.page <= 1 || loading,
|
|
13857
|
+
onClick: () => handlePageChange(pagination.page - 1),
|
|
13858
|
+
className: "inline-flex h-9 w-9 items-center justify-center rounded-xl text-slate-500 transition hover:bg-white/40 disabled:opacity-30 dark:text-slate-400 dark:hover:bg-white/[0.08]",
|
|
13859
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(solid.ChevronLeftIcon, { className: "h-5 w-5" })
|
|
13860
|
+
}
|
|
13861
|
+
),
|
|
13862
|
+
getPageNumbers(pagination.page, pagination.totalPages).map(
|
|
13863
|
+
(page, index) => page === "..." ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
13864
|
+
"span",
|
|
13865
|
+
{
|
|
13866
|
+
className: "inline-flex h-9 w-6 items-center justify-center text-xs text-slate-400",
|
|
13867
|
+
children: "\u2026"
|
|
13868
|
+
},
|
|
13869
|
+
`ellipsis-${index}`
|
|
13870
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
13871
|
+
"button",
|
|
13872
|
+
{
|
|
13873
|
+
type: "button",
|
|
13874
|
+
disabled: loading,
|
|
13875
|
+
onClick: () => handlePageChange(page),
|
|
13876
|
+
"aria-current": page === pagination.page ? "page" : void 0,
|
|
13877
|
+
className: `inline-flex h-9 min-w-9 items-center justify-center rounded-xl px-2 text-sm font-medium transition ${page === pagination.page ? "liquid-surface liquid-surface-active text-slate-900 dark:text-white" : "text-slate-500 hover:bg-white/40 dark:text-slate-400 dark:hover:bg-white/[0.08]"}`,
|
|
13878
|
+
children: page
|
|
13879
|
+
},
|
|
13880
|
+
`page-${page}`
|
|
13881
|
+
)
|
|
13882
|
+
),
|
|
13883
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13884
|
+
"button",
|
|
13885
|
+
{
|
|
13886
|
+
type: "button",
|
|
13887
|
+
disabled: pagination.page >= pagination.totalPages || loading,
|
|
13888
|
+
onClick: () => handlePageChange(pagination.page + 1),
|
|
13889
|
+
className: "inline-flex h-9 w-9 items-center justify-center rounded-xl text-slate-500 transition hover:bg-white/40 disabled:opacity-30 dark:text-slate-400 dark:hover:bg-white/[0.08]",
|
|
13890
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(solid.ChevronRightIcon, { className: "h-5 w-5" })
|
|
13837
13891
|
}
|
|
13838
13892
|
)
|
|
13839
13893
|
] })
|
|
13840
|
-
] })
|
|
13841
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
13842
|
-
"div",
|
|
13843
|
-
{
|
|
13844
|
-
className: `flex items-center justify-between bg-white dark:bg-zinc-800 rounded-lg shadow hover:shadow-md transition-all duration-200 px-6 py-4 ${loading ? "opacity-75 pointer-events-none" : "opacity-100"}`,
|
|
13845
|
-
children: [
|
|
13846
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-1 justify-between items-center sm:hidden", children: [
|
|
13847
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
13848
|
-
"button",
|
|
13849
|
-
{
|
|
13850
|
-
onClick: () => handlePageChange(pagination.page - 1),
|
|
13851
|
-
disabled: !pagination.hasPrev || loading,
|
|
13852
|
-
className: "relative inline-flex items-center rounded-lg border border-zinc-300 dark:border-zinc-600 bg-white dark:bg-zinc-800 px-6 py-3 min-h-[44px] text-sm font-medium text-zinc-700 dark:text-zinc-300 hover:bg-zinc-50 dark:hover:bg-zinc-700 disabled:opacity-50 disabled:cursor-not-allowed touch-manipulation",
|
|
13853
|
-
children: [
|
|
13854
|
-
/* @__PURE__ */ jsxRuntime.jsx(HeroIcons.ChevronLeftIcon, { className: "h-5 w-5 mr-1" }),
|
|
13855
|
-
tPagination("previous")
|
|
13856
|
-
]
|
|
13857
|
-
}
|
|
13858
|
-
),
|
|
13859
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center text-xs text-zinc-600 dark:text-zinc-400", children: [
|
|
13860
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "font-medium", children: [
|
|
13861
|
-
pagination.page,
|
|
13862
|
-
" / ",
|
|
13863
|
-
pagination.totalPages
|
|
13864
|
-
] }),
|
|
13865
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
13866
|
-
pagination.total,
|
|
13867
|
-
" ",
|
|
13868
|
-
tCommon("items")
|
|
13869
|
-
] })
|
|
13870
|
-
] }),
|
|
13871
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
13872
|
-
"button",
|
|
13873
|
-
{
|
|
13874
|
-
onClick: () => handlePageChange(pagination.page + 1),
|
|
13875
|
-
disabled: !pagination.hasNext || loading,
|
|
13876
|
-
className: "relative inline-flex items-center rounded-lg border border-zinc-300 dark:border-zinc-600 bg-white dark:bg-zinc-800 px-6 py-3 min-h-[44px] text-sm font-medium text-zinc-700 dark:text-zinc-300 hover:bg-zinc-50 dark:hover:bg-zinc-700 disabled:opacity-50 disabled:cursor-not-allowed touch-manipulation",
|
|
13877
|
-
children: [
|
|
13878
|
-
tPagination("next"),
|
|
13879
|
-
/* @__PURE__ */ jsxRuntime.jsx(HeroIcons.ChevronRightIcon, { className: "h-5 w-5 ml-1" })
|
|
13880
|
-
]
|
|
13881
|
-
}
|
|
13882
|
-
)
|
|
13883
|
-
] }),
|
|
13884
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "hidden sm:flex sm:flex-1 sm:items-center sm:justify-between", children: [
|
|
13885
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-4", children: [
|
|
13886
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
13887
|
-
loading && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "animate-spin rounded-full h-4 w-4 border-b-2 border-indigo-600" }),
|
|
13888
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-zinc-700 dark:text-zinc-300", children: tPagination("showing", {
|
|
13889
|
-
start: String(startItem),
|
|
13890
|
-
end: String(endItem),
|
|
13891
|
-
total: String(pagination.total)
|
|
13892
|
-
}) })
|
|
13893
|
-
] }),
|
|
13894
|
-
showPageSize && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "hidden sm:flex items-center gap-2", children: [
|
|
13895
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-zinc-700 dark:text-zinc-300 whitespace-nowrap", children: tPagination("itemsPerPage") }),
|
|
13896
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13897
|
-
"select",
|
|
13898
|
-
{
|
|
13899
|
-
value: params.limit,
|
|
13900
|
-
onChange: (e) => handlePageSizeChange(e.target.value),
|
|
13901
|
-
disabled: loading,
|
|
13902
|
-
className: "rounded-md border border-zinc-300 dark:border-zinc-600 bg-white dark:bg-zinc-800 px-3 py-1 text-sm font-medium text-zinc-700 dark:text-zinc-300 focus:outline-none focus:ring-2 focus:ring-indigo-500",
|
|
13903
|
-
children: pageSizeOptions.map((size) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: size, children: size }, size))
|
|
13904
|
-
}
|
|
13905
|
-
)
|
|
13906
|
-
] })
|
|
13907
|
-
] }),
|
|
13908
|
-
pagination.totalPages > 1 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
13909
|
-
"nav",
|
|
13910
|
-
{
|
|
13911
|
-
"aria-label": tAria("pagination"),
|
|
13912
|
-
className: "isolate inline-flex -space-x-px rounded-md shadow-sm",
|
|
13913
|
-
children: [
|
|
13914
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
13915
|
-
"button",
|
|
13916
|
-
{
|
|
13917
|
-
onClick: () => handlePageChange(pagination.page - 1),
|
|
13918
|
-
disabled: !pagination.hasPrev || loading,
|
|
13919
|
-
className: "relative inline-flex items-center justify-center rounded-l-md px-3 py-2 min-h-[44px] min-w-[44px] text-zinc-400 ring-1 ring-zinc-300 dark:ring-zinc-600 ring-inset hover:bg-zinc-50 dark:hover:bg-zinc-700 focus:z-20 focus:outline-offset-0 disabled:opacity-50 disabled:cursor-not-allowed touch-manipulation",
|
|
13920
|
-
children: [
|
|
13921
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: tPagination("previous") }),
|
|
13922
|
-
/* @__PURE__ */ jsxRuntime.jsx(HeroIcons.ChevronLeftIcon, { "aria-hidden": "true", className: "h-5 w-5" })
|
|
13923
|
-
]
|
|
13924
|
-
}
|
|
13925
|
-
),
|
|
13926
|
-
getPageNumbers(pagination.page, pagination.totalPages).map(
|
|
13927
|
-
(page, index) => page === "..." ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
13928
|
-
"span",
|
|
13929
|
-
{
|
|
13930
|
-
className: "relative inline-flex items-center px-4 py-2 text-sm font-semibold text-zinc-700 dark:text-zinc-300 ring-1 ring-zinc-300 dark:ring-zinc-600 ring-inset focus:outline-offset-0",
|
|
13931
|
-
children: "..."
|
|
13932
|
-
},
|
|
13933
|
-
`ellipsis-${index}`
|
|
13934
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
13935
|
-
"button",
|
|
13936
|
-
{
|
|
13937
|
-
onClick: () => handlePageChange(page),
|
|
13938
|
-
disabled: loading,
|
|
13939
|
-
"aria-current": page === pagination.page ? "page" : void 0,
|
|
13940
|
-
className: `relative inline-flex items-center justify-center px-4 py-2 min-h-[44px] min-w-[44px] text-sm font-semibold focus:z-20 focus:outline-offset-0 touch-manipulation ${page === pagination.page ? "z-10 bg-indigo-600 text-white focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600" : "text-zinc-900 dark:text-zinc-300 ring-1 ring-zinc-300 dark:ring-zinc-600 ring-inset hover:bg-zinc-50 dark:hover:bg-zinc-700"}`,
|
|
13941
|
-
children: page
|
|
13942
|
-
},
|
|
13943
|
-
`page-${page}`
|
|
13944
|
-
)
|
|
13945
|
-
),
|
|
13946
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
13947
|
-
"button",
|
|
13948
|
-
{
|
|
13949
|
-
onClick: () => handlePageChange(pagination.page + 1),
|
|
13950
|
-
disabled: !pagination.hasNext || loading,
|
|
13951
|
-
className: "relative inline-flex items-center justify-center rounded-r-md px-3 py-2 min-h-[44px] min-w-[44px] text-zinc-400 ring-1 ring-zinc-300 dark:ring-zinc-600 ring-inset hover:bg-zinc-50 dark:hover:bg-zinc-700 focus:z-20 focus:outline-offset-0 disabled:opacity-50 disabled:cursor-not-allowed touch-manipulation",
|
|
13952
|
-
children: [
|
|
13953
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: tPagination("next") }),
|
|
13954
|
-
/* @__PURE__ */ jsxRuntime.jsx(HeroIcons.ChevronRightIcon, { "aria-hidden": "true", className: "h-5 w-5" })
|
|
13955
|
-
]
|
|
13956
|
-
}
|
|
13957
|
-
)
|
|
13958
|
-
]
|
|
13959
|
-
}
|
|
13960
|
-
)
|
|
13961
|
-
] })
|
|
13962
|
-
]
|
|
13963
|
-
}
|
|
13964
|
-
)
|
|
13894
|
+
] })
|
|
13965
13895
|
] });
|
|
13966
13896
|
}
|
|
13967
13897
|
function getPageNumbers(currentPage, totalPages) {
|
|
13968
13898
|
if (totalPages <= 7) {
|
|
13969
13899
|
return Array.from({ length: totalPages }, (_, i) => i + 1);
|
|
13970
13900
|
}
|
|
13971
|
-
const pages = [];
|
|
13972
|
-
pages.push(1);
|
|
13901
|
+
const pages = [1];
|
|
13973
13902
|
if (currentPage <= 4) {
|
|
13974
|
-
for (let i = 2; i <= Math.min(5, totalPages); i++)
|
|
13975
|
-
pages.push(i);
|
|
13976
|
-
}
|
|
13903
|
+
for (let i = 2; i <= Math.min(5, totalPages); i++) pages.push(i);
|
|
13977
13904
|
if (totalPages > 5) {
|
|
13978
13905
|
pages.push("...");
|
|
13979
13906
|
pages.push(totalPages);
|
|
13980
13907
|
}
|
|
13981
13908
|
} else if (currentPage >= totalPages - 3) {
|
|
13982
13909
|
pages.push("...");
|
|
13983
|
-
for (let i = Math.max(totalPages - 4, 2); i <= totalPages; i++)
|
|
13910
|
+
for (let i = Math.max(totalPages - 4, 2); i <= totalPages; i++)
|
|
13984
13911
|
pages.push(i);
|
|
13985
|
-
}
|
|
13986
13912
|
} else {
|
|
13987
13913
|
pages.push("...");
|
|
13988
|
-
for (let i = currentPage - 1; i <= currentPage + 1; i++)
|
|
13989
|
-
pages.push(i);
|
|
13990
|
-
}
|
|
13914
|
+
for (let i = currentPage - 1; i <= currentPage + 1; i++) pages.push(i);
|
|
13991
13915
|
pages.push("...");
|
|
13992
13916
|
pages.push(totalPages);
|
|
13993
13917
|
}
|
|
@@ -14052,13 +13976,13 @@ var PageHeader = React11.memo(function PageHeader2({
|
|
|
14052
13976
|
"h1",
|
|
14053
13977
|
{
|
|
14054
13978
|
className: clsx__default.default(
|
|
14055
|
-
"font-bold text-
|
|
13979
|
+
"font-bold text-slate-900 dark:text-slate-100 truncate",
|
|
14056
13980
|
size === "large" ? "text-3xl" : "text-2xl"
|
|
14057
13981
|
),
|
|
14058
13982
|
children: title
|
|
14059
13983
|
}
|
|
14060
13984
|
),
|
|
14061
|
-
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-
|
|
13985
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-slate-600 dark:text-slate-400 line-clamp-2", children: subtitle })
|
|
14062
13986
|
] }),
|
|
14063
13987
|
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0 flex items-center gap-2 flex-wrap", children: actions })
|
|
14064
13988
|
] }),
|
|
@@ -14075,8 +13999,8 @@ var PageSectionHeader = React11.memo(function PageSectionHeader2({
|
|
|
14075
13999
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx__default.default("mb-4", className), children: [
|
|
14076
14000
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3", children: [
|
|
14077
14001
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
14078
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-lg sm:text-xl font-semibold text-
|
|
14079
|
-
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm text-
|
|
14002
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-lg sm:text-xl font-semibold text-slate-900 dark:text-slate-100", children: title }),
|
|
14003
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm text-slate-600 dark:text-slate-400 line-clamp-2", children: subtitle })
|
|
14080
14004
|
] }),
|
|
14081
14005
|
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0 flex items-center gap-2 flex-wrap", children: actions })
|
|
14082
14006
|
] }),
|
|
@@ -14093,8 +14017,8 @@ var CardSectionHeader = React11.memo(function CardSectionHeader2({
|
|
|
14093
14017
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx__default.default("mb-3", className), children: [
|
|
14094
14018
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2", children: [
|
|
14095
14019
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
14096
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-base sm:text-lg font-medium text-
|
|
14097
|
-
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-xs sm:text-sm text-
|
|
14020
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-base sm:text-lg font-medium text-slate-900 dark:text-slate-100", children: title }),
|
|
14021
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-xs sm:text-sm text-slate-600 dark:text-slate-400 line-clamp-1", children: subtitle })
|
|
14098
14022
|
] }),
|
|
14099
14023
|
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0 flex items-center gap-1 flex-wrap", children: actions })
|
|
14100
14024
|
] }),
|
|
@@ -14113,10 +14037,10 @@ var MetricCard2 = ({
|
|
|
14113
14037
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
14114
14038
|
"div",
|
|
14115
14039
|
{
|
|
14116
|
-
className: `
|
|
14040
|
+
className: `liquid-surface rounded-2xl border border-white/30 dark:border-white/10 p-5 hover:bg-white/40 dark:hover:bg-white/[0.08] transition-colors ${className}`,
|
|
14117
14041
|
children: [
|
|
14118
14042
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between mb-3", children: [
|
|
14119
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-medium text-
|
|
14043
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-medium text-slate-500 dark:text-slate-400", children: title }),
|
|
14120
14044
|
tooltip && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
14121
14045
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14122
14046
|
"button",
|
|
@@ -14124,20 +14048,20 @@ var MetricCard2 = ({
|
|
|
14124
14048
|
type: "button",
|
|
14125
14049
|
onMouseEnter: () => setShowTooltip(true),
|
|
14126
14050
|
onMouseLeave: () => setShowTooltip(false),
|
|
14127
|
-
className: "w-4 h-4 rounded-full bg-
|
|
14051
|
+
className: "w-4 h-4 rounded-full bg-white/30 dark:bg-white/10 text-slate-600 dark:text-slate-400 text-xs flex items-center justify-center hover:bg-white/40 dark:hover:bg-white/[0.08] transition-colors",
|
|
14128
14052
|
"aria-label": "Info",
|
|
14129
14053
|
children: "?"
|
|
14130
14054
|
}
|
|
14131
14055
|
),
|
|
14132
|
-
showTooltip && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute right-0 top-6 z-10 w-64 p-3
|
|
14056
|
+
showTooltip && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute right-0 top-6 z-10 w-64 p-3 liquid-surface-strong text-slate-900 dark:text-slate-100 text-xs rounded-lg", children: [
|
|
14133
14057
|
tooltip,
|
|
14134
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute right-2 top-0 -translate-y-1 w-2 h-2 bg-
|
|
14058
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute right-2 top-0 -translate-y-1 w-2 h-2 bg-white/60 dark:bg-white/20 rotate-45" })
|
|
14135
14059
|
] })
|
|
14136
14060
|
] })
|
|
14137
14061
|
] }),
|
|
14138
14062
|
children ? children : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
14139
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl font-semibold text-
|
|
14140
|
-
subtitle && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs text-
|
|
14063
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl font-semibold text-slate-900 dark:text-slate-100 mb-1", children: value }),
|
|
14064
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs text-slate-500 dark:text-slate-400", children: subtitle })
|
|
14141
14065
|
] })
|
|
14142
14066
|
]
|
|
14143
14067
|
}
|
|
@@ -14152,14 +14076,14 @@ var MetricTooltip = ({ text }) => {
|
|
|
14152
14076
|
type: "button",
|
|
14153
14077
|
onMouseEnter: () => setShow(true),
|
|
14154
14078
|
onMouseLeave: () => setShow(false),
|
|
14155
|
-
className: "w-4 h-4 rounded-full bg-
|
|
14079
|
+
className: "w-4 h-4 rounded-full bg-white/30 dark:bg-white/10 text-slate-600 dark:text-slate-400 text-xs flex items-center justify-center hover:bg-white/40 dark:hover:bg-white/[0.08] transition-colors",
|
|
14156
14080
|
"aria-label": "Info",
|
|
14157
14081
|
children: "?"
|
|
14158
14082
|
}
|
|
14159
14083
|
),
|
|
14160
|
-
show && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute right-0 top-6 z-10 w-64 p-3
|
|
14084
|
+
show && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute right-0 top-6 z-10 w-64 p-3 liquid-surface-strong text-slate-900 dark:text-slate-100 text-xs rounded-lg", children: [
|
|
14161
14085
|
text,
|
|
14162
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute right-2 top-0 -translate-y-1 w-2 h-2 bg-
|
|
14086
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute right-2 top-0 -translate-y-1 w-2 h-2 bg-white/60 dark:bg-white/20 rotate-45" })
|
|
14163
14087
|
] })
|
|
14164
14088
|
] });
|
|
14165
14089
|
};
|
|
@@ -15259,5 +15183,5 @@ exports.useGeoMapState = useGeoMapState;
|
|
|
15259
15183
|
exports.useNotifications = useNotifications;
|
|
15260
15184
|
exports.usePlatformShellStore = usePlatformShellStore;
|
|
15261
15185
|
exports.usePullToRefresh = usePullToRefresh;
|
|
15262
|
-
//# sourceMappingURL=chunk-
|
|
15263
|
-
//# sourceMappingURL=chunk-
|
|
15186
|
+
//# sourceMappingURL=chunk-IMLJ5FAZ.js.map
|
|
15187
|
+
//# sourceMappingURL=chunk-IMLJ5FAZ.js.map
|