@moontra/moonui 6.23.0 → 6.25.0
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/cdn/moonui.css +2 -2
- package/dist/cdn/moonui.esm.js +12 -12
- package/dist/cdn/moonui.global.js +12 -12
- package/dist/index.d.mts +24 -6
- package/dist/index.d.ts +24 -6
- package/dist/index.js +448 -93
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +449 -95
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/issue-544-kontrast.test.tsx +609 -0
- package/src/__tests__/issue-645-overlay-tab-focus.test.tsx +262 -0
- package/src/__tests__/issue-646-dark-scope-override.test.tsx +297 -0
- package/src/__tests__/issue-661-a11y.test.tsx +113 -0
- package/src/__tests__/issue-661-token-kontrast.test.tsx +82 -0
- package/src/components/ui/__tests__/accent-foreground-contrast.test.ts +197 -0
- package/src/components/ui/__tests__/accordion.test.tsx +6 -4
- package/src/components/ui/__tests__/alert.test.tsx +4 -1
- package/src/components/ui/__tests__/badge.test.tsx +5 -1
- package/src/components/ui/__tests__/button.test.tsx +6 -1
- package/src/components/ui/__tests__/dark-token-contrast.test.ts +18 -18
- package/src/components/ui/__tests__/heading-level-policy.test.tsx +4 -4
- package/src/components/ui/__tests__/issue-643-card-token-parite.test.tsx +113 -0
- package/src/components/ui/__tests__/issue-649-button-aschild.test.tsx +199 -0
- package/src/components/ui/__tests__/issue-664-separator-dekoratif-rol.test.tsx +41 -0
- package/src/components/ui/__tests__/preset-color-shadowing.test.ts +10 -10
- package/src/components/ui/__tests__/primary-subtle-token.test.ts +7 -7
- package/src/components/ui/__tests__/progress-secondary-contrast.test.ts +38 -38
- package/src/components/ui/__tests__/progress-warning-error-contrast.test.ts +64 -64
- package/src/components/ui/__tests__/quality-group-de.test.tsx +2 -2
- package/src/components/ui/__tests__/responsive-color-invariance.test.ts +20 -20
- package/src/components/ui/__tests__/select.test.tsx +6 -1
- package/src/components/ui/__tests__/semantic-token-usage.test.ts +23 -23
- package/src/components/ui/__tests__/size-scale-convention.test.ts +10 -10
- package/src/components/ui/__tests__/slider-accent-contrast.test.ts +142 -136
- package/src/components/ui/__tests__/slider-secondary-contrast.test.ts +60 -60
- package/src/components/ui/__tests__/slider-warning-error-contrast.test.ts +100 -100
- package/src/components/ui/__tests__/switch-variant-contrast.test.tsx +103 -103
- package/src/components/ui/__tests__/tooltip.test.tsx +122 -0
- package/src/components/ui/accordion.tsx +16 -3
- package/src/components/ui/alert.tsx +1 -1
- package/src/components/ui/badge.tsx +31 -4
- package/src/components/ui/button.tsx +88 -21
- package/src/components/ui/card.tsx +59 -5
- package/src/components/ui/dropdown-menu.tsx +99 -5
- package/src/components/ui/file-upload.tsx +4 -0
- package/src/components/ui/index.ts +4 -1
- package/src/components/ui/popover-pro.tsx +41 -0
- package/src/components/ui/popover.tsx +162 -7
- package/src/components/ui/rating.tsx +24 -2
- package/src/components/ui/select.tsx +4 -4
- package/src/components/ui/simple-editor.tsx +3 -18
- package/src/components/ui/tabs.tsx +16 -1
- package/src/components/ui/textarea.tsx +6 -1
- package/src/components/ui/toast.tsx +17 -2
- package/src/components/ui/tooltip.tsx +154 -2
- package/src/styles/tokens.css +34 -2
package/dist/index.mjs
CHANGED
|
@@ -10,7 +10,7 @@ import { twMerge } from 'tailwind-merge';
|
|
|
10
10
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
11
11
|
import { cva } from 'class-variance-authority';
|
|
12
12
|
import * as AvatarPrimitive from '@radix-ui/react-avatar';
|
|
13
|
-
import { Slot } from '@radix-ui/react-slot';
|
|
13
|
+
import { Slottable, Slot } from '@radix-ui/react-slot';
|
|
14
14
|
import { motion, AnimatePresence, useMotionValue, useTransform, animate } from 'framer-motion';
|
|
15
15
|
import { isValid, format, isSameMonth, isToday, subMonths, addMonths, isSameDay, startOfMonth, endOfMonth, eachDayOfInterval, getDay, startOfWeek, endOfWeek } from 'date-fns';
|
|
16
16
|
export { format } from 'date-fns';
|
|
@@ -57,7 +57,7 @@ var AccordionItem = React12.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
57
57
|
AccordionPrimitive.Item,
|
|
58
58
|
{
|
|
59
59
|
ref,
|
|
60
|
-
className: cn("moonui-theme", "border-b border-
|
|
60
|
+
className: cn("moonui-theme", "border-b border-border", className),
|
|
61
61
|
...props
|
|
62
62
|
}
|
|
63
63
|
));
|
|
@@ -67,7 +67,9 @@ var AccordionTrigger = React12.forwardRef(({ className, children, ...props }, re
|
|
|
67
67
|
{
|
|
68
68
|
ref,
|
|
69
69
|
className: cn(
|
|
70
|
-
|
|
70
|
+
// #661-17: `dark:text-gray-100` KALDIRILDI — tetikleyici artık iki temada
|
|
71
|
+
// da `--foreground`u miras alır (koyu temada 213 31% 91% ≈ gray-100).
|
|
72
|
+
"flex flex-1 items-center justify-between py-4 font-medium transition-all",
|
|
71
73
|
"hover:underline hover:text-primary",
|
|
72
74
|
"[&[data-state=open]>svg]:rotate-180",
|
|
73
75
|
className
|
|
@@ -85,7 +87,13 @@ var AccordionContent = React12.forwardRef(({ className, children, ...props }, re
|
|
|
85
87
|
{
|
|
86
88
|
ref,
|
|
87
89
|
className: cn(
|
|
88
|
-
|
|
90
|
+
// #661-17: ham `text-gray-700 dark:text-gray-300` → `text-foreground/80`.
|
|
91
|
+
// Ölçüldü (iki tema, kart zemini): açık 10.30 → 11.48, koyu 12.19 → 9.44.
|
|
92
|
+
// İkisi de AA'nın (4.5) çok üstünde, yani eşik geçilmiyor — `#545 ihlal
|
|
93
|
+
// takası` sınıfı bir gerileme YOK. `text-muted-foreground` bilerek
|
|
94
|
+
// SEÇİLMEDİ: açık temada 4.76'ya inip gövde metnini görünür biçimde
|
|
95
|
+
// soldururdu (§9 estetik değişiklik olurdu).
|
|
96
|
+
"overflow-hidden text-sm text-foreground/80 transition-all",
|
|
89
97
|
"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
|
|
90
98
|
className
|
|
91
99
|
),
|
|
@@ -102,7 +110,7 @@ var alertVariants = cva(
|
|
|
102
110
|
default: "bg-background text-foreground border-border",
|
|
103
111
|
primary: "bg-primary/10 text-primary border-primary/30",
|
|
104
112
|
success: "bg-success/10 text-success border-success/30",
|
|
105
|
-
warning: "bg-warning/10 text-warning border-warning/30",
|
|
113
|
+
warning: "bg-warning/10 text-warning-subtle-foreground border-warning/30",
|
|
106
114
|
error: "bg-destructive/10 text-destructive border-destructive/30",
|
|
107
115
|
// `--info` token'ı (tokens.css) blue-500 ile birebir aynı değeri
|
|
108
116
|
// taşır → görsel değişiklik yok, ancak varyant artık temaya ve
|
|
@@ -390,11 +398,22 @@ var badgeVariants = cva(
|
|
|
390
398
|
// aynı varyant pro pakette token'lıydı → free ve pro `primary` için
|
|
391
399
|
// farklı renk üretiyordu. Artık token'a bağlı (tema/karanlık moda duyarlı).
|
|
392
400
|
// `primary` VARSAYILAN varyant olduğu için görünür bir renk değişimidir.
|
|
401
|
+
// #646: `dark:bg-primary/90` KALDIRILDI. `primary` VARSAYILAN varyant olduğu
|
|
402
|
+
// için varyant verilmeyen HER `<Badge>` bu sınıfı alıyordu; `tailwind-merge`
|
|
403
|
+
// `dark:` önekli arka planı tüketicinin ÖNEKSİZ `bg-*` sınıfıyla aynı grupta
|
|
404
|
+
// görmediğinden ikisi birden hayatta kalıyor ve koyu temada `dark:` özgüllükle
|
|
405
|
+
// kazanıyordu. Sonuç: `<Badge className="bg-green-500/20 text-green-300">`
|
|
406
|
+
// koyu temada near-white zemin + açık yeşil metin = 1.10:1 (ölçüldü,
|
|
407
|
+
// magnetic-button "Pending"; swipe-actions'ta 6 rozet 1.10–1.48 aralığında).
|
|
408
|
+
// ÖNEKSİZ `bg-primary` bırakıldı: tüketici sınıfıyla AYNI grupta çakışır ve
|
|
409
|
+
// doğru şekilde ezilir. Rozetin kendi görünümü BOZULMAZ — koyu temada
|
|
410
|
+
// `bg-primary` + `text-primary-foreground` 16.16 → 19.80'e çıkar
|
|
411
|
+
// (yarı saydamlık kalktığı için); açık temada değişiklik yok.
|
|
393
412
|
primary: [
|
|
394
413
|
"border-transparent bg-primary text-primary-foreground",
|
|
395
414
|
"hover:bg-primary/90",
|
|
396
415
|
"focus-visible:ring-primary/30 dark:focus-visible:ring-primary/40",
|
|
397
|
-
"dark:
|
|
416
|
+
"dark:shadow-inner dark:shadow-primary/10"
|
|
398
417
|
],
|
|
399
418
|
secondary: [
|
|
400
419
|
"border-transparent bg-secondary text-secondary-foreground",
|
|
@@ -409,11 +428,27 @@ var badgeVariants = cva(
|
|
|
409
428
|
"focus-visible:ring-gray-400/30 dark:focus-visible:ring-gray-500/40",
|
|
410
429
|
"dark:text-gray-100 dark:bg-transparent dark:backdrop-blur-sm"
|
|
411
430
|
],
|
|
431
|
+
// #544: `bg-error` (= --error, #ef4343) beyaz metinle 3.78 veriyordu (AA 4.5 ister),
|
|
432
|
+
// `dark:bg-error/90` ise gerçek koyu kart (#111827) üstünde 4.43 ile kalıyordu.
|
|
433
|
+
//
|
|
434
|
+
// TOKEN DEĞİŞTİRİLMEDİ: dark `--destructive`/`--error` METİN rolü için bilerek
|
|
435
|
+
// açık tutuluyor (tokens.css:518-526); değeri koyulaştırmak `text-destructive`
|
|
436
|
+
// yazan yüzleri kırardı ve dark-token-contrast.test.ts'in belgelediği uzlaşmayı
|
|
437
|
+
// bozardı. Bunun yerine #424/#442/#454'ün presedansı uygulandı: token'a değil
|
|
438
|
+
// VARYANTA dokunulup skalanın bir kademesine inildi.
|
|
439
|
+
//
|
|
440
|
+
// `-600` ölçümle seçildi — AA'yı geçen EN AÇIK kademe (beyazla 4.83; -500 3.76 ✗)
|
|
441
|
+
// ve bugünkü kırmızıya EN YAKIN aday (ΔE*ab 10.3; -700 → 16.2, `--destructive`
|
|
442
|
+
// light → 18.8). Hue 0° korunur, "uyarı kırmızısı" kimliği kaybolmaz.
|
|
443
|
+
//
|
|
444
|
+
// Skala kademeleri tema-BAĞIMSIZ (`.dark` onları ezmez) → tek sınıf iki temayı
|
|
445
|
+
// birden kapatır ve eski YARI SAYDAM `dark:bg-error/90`ın zemine bağımlılığı
|
|
446
|
+
// ortadan kalkar. Hover koyulaşır (-700, 6.47), açılmaz.
|
|
412
447
|
destructive: [
|
|
413
|
-
"border-transparent bg-error text-white",
|
|
414
|
-
"hover:bg-error
|
|
448
|
+
"border-transparent bg-error-600 text-white",
|
|
449
|
+
"hover:bg-error-700 dark:hover:bg-error-700",
|
|
415
450
|
"focus-visible:ring-error/30 dark:focus-visible:ring-error/25",
|
|
416
|
-
"dark:
|
|
451
|
+
"dark:text-white dark:shadow-inner dark:shadow-error/10"
|
|
417
452
|
],
|
|
418
453
|
success: [
|
|
419
454
|
"border-transparent bg-success text-success-foreground",
|
|
@@ -781,11 +816,20 @@ var buttonVariants = cva(
|
|
|
781
816
|
"focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
782
817
|
"transition-all duration-200"
|
|
783
818
|
],
|
|
819
|
+
// #544: AÇIK tema zaten geçiyordu (`--destructive` light = #e11313, foreground
|
|
820
|
+
// #f8fafc ile 4.66) — #442'nin kuralı gereği DOKUNULMADI, regresyon yüzeyi sıfır.
|
|
821
|
+
// Kırık olan yalnız KOYU temaydı: dark `--destructive` = #ef4343 metin rolü için
|
|
822
|
+
// bilerek açık bırakılmış bir değer (tokens.css:518-526) ve dolgu rolünde
|
|
823
|
+
// foreground'la 3.61 veriyor. Token'a dokunmadan dark dolgusu opak `error`
|
|
824
|
+
// skalasına bağlandı (-600 → 4.62; ölçümle seçilen en açık geçen kademe).
|
|
825
|
+
// Not: `dark:bg-destructive` KALDIRILDI, yanına eklenmedi — iki `dark:bg-*`
|
|
826
|
+
// utility'si aynı anda yazılırsa hangisinin kazanacağını sınıf dizgesi sırası
|
|
827
|
+
// DEĞİL Tailwind'in kendi iç sıralaması belirler.
|
|
784
828
|
destructive: [
|
|
785
829
|
"bg-destructive text-destructive-foreground",
|
|
786
|
-
"dark:bg-
|
|
787
|
-
"hover:bg-destructive/90 dark:hover:bg-
|
|
788
|
-
"active:bg-destructive/80 dark:active:bg-
|
|
830
|
+
"dark:bg-error-600 dark:text-destructive-foreground",
|
|
831
|
+
"hover:bg-destructive/90 dark:hover:bg-error-700",
|
|
832
|
+
"active:bg-destructive/80 dark:active:bg-error-800",
|
|
789
833
|
"shadow-sm hover:shadow-md",
|
|
790
834
|
"focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
791
835
|
"transition-all duration-200"
|
|
@@ -817,9 +861,11 @@ var buttonVariants = cva(
|
|
|
817
861
|
],
|
|
818
862
|
glow: [
|
|
819
863
|
"bg-blue-500 text-white",
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
"
|
|
864
|
+
// #664 S3: rgba(59,130,246,…) → --glow-blue-rgb (tokens.css). Değer AYNI
|
|
865
|
+
// (Tailwind blue-500), yalnız merkezi token'a taşındı — görsel değişiklik yok.
|
|
866
|
+
"shadow-[0_0_30px_rgba(var(--glow-blue-rgb),0.5)]",
|
|
867
|
+
"hover:shadow-[0_0_40px_rgba(var(--glow-blue-rgb),0.7)]",
|
|
868
|
+
"active:shadow-[0_0_20px_rgba(var(--glow-blue-rgb),0.4)]",
|
|
823
869
|
"hover:bg-blue-600",
|
|
824
870
|
"focus-visible:ring-blue-500/50",
|
|
825
871
|
"transition-all duration-300"
|
|
@@ -848,8 +894,9 @@ var buttonVariants = cva(
|
|
|
848
894
|
"bg-transparent text-green-400",
|
|
849
895
|
"border-2 border-green-400",
|
|
850
896
|
"hover:bg-green-400 hover:text-gray-900",
|
|
851
|
-
|
|
852
|
-
"
|
|
897
|
+
// #664 S3: rgba(74,222,128,…) → --glow-green-rgb (tokens.css), piksel-özdeş.
|
|
898
|
+
"hover:shadow-[0_0_30px_rgba(var(--glow-green-rgb),0.6)]",
|
|
899
|
+
"active:shadow-[0_0_15px_rgba(var(--glow-green-rgb),0.4)]",
|
|
853
900
|
"focus-visible:ring-green-400/50",
|
|
854
901
|
"transition-all duration-300"
|
|
855
902
|
]
|
|
@@ -896,22 +943,40 @@ var Button = React12.forwardRef(
|
|
|
896
943
|
rightIcon,
|
|
897
944
|
children,
|
|
898
945
|
disabled,
|
|
946
|
+
onClick,
|
|
899
947
|
...props
|
|
900
948
|
}, ref) => {
|
|
901
|
-
const
|
|
949
|
+
const renderAsSlot = asChild && React12.isValidElement(children);
|
|
950
|
+
const Comp = renderAsSlot ? Slot : "button";
|
|
951
|
+
const isDisabled = disabled || loading;
|
|
952
|
+
const disabledProps = renderAsSlot ? {
|
|
953
|
+
"aria-disabled": isDisabled || void 0,
|
|
954
|
+
"data-disabled": isDisabled ? "" : void 0
|
|
955
|
+
} : { disabled: isDisabled };
|
|
956
|
+
const handleClick = renderAsSlot && isDisabled ? (event) => {
|
|
957
|
+
event.preventDefault();
|
|
958
|
+
event.stopPropagation();
|
|
959
|
+
} : onClick;
|
|
902
960
|
return /* @__PURE__ */ jsxs(
|
|
903
961
|
Comp,
|
|
904
962
|
{
|
|
905
|
-
className: cn(
|
|
963
|
+
className: cn(
|
|
964
|
+
"moonui-theme",
|
|
965
|
+
buttonVariants({ variant, size, rounded, fullWidth, className }),
|
|
966
|
+
// `:disabled` eşleşmediği için görsel/etkileşimsel devre dışılık Slot
|
|
967
|
+
// dalında açık sınıflarla verilir.
|
|
968
|
+
renderAsSlot && isDisabled && "opacity-50 cursor-not-allowed pointer-events-none"
|
|
969
|
+
),
|
|
906
970
|
ref,
|
|
907
|
-
|
|
971
|
+
...disabledProps,
|
|
908
972
|
"aria-busy": loading || void 0,
|
|
909
973
|
"data-loading": loading ? "" : void 0,
|
|
910
974
|
...props,
|
|
975
|
+
onClick: handleClick,
|
|
911
976
|
children: [
|
|
912
977
|
loading && /* @__PURE__ */ jsx(Loader2, { className: "w-4 h-4 animate-spin", "aria-hidden": "true" }),
|
|
913
978
|
!loading && leftIcon,
|
|
914
|
-
children,
|
|
979
|
+
renderAsSlot ? /* @__PURE__ */ jsx(Slottable, { children }) : children,
|
|
915
980
|
!loading && rightIcon
|
|
916
981
|
]
|
|
917
982
|
}
|
|
@@ -1062,16 +1127,16 @@ var skeletonAnimation = {
|
|
|
1062
1127
|
}
|
|
1063
1128
|
};
|
|
1064
1129
|
var cardVariants = cva(
|
|
1065
|
-
"rounded-lg border bg-card text-card-foreground shadow-sm dark:shadow-
|
|
1130
|
+
"rounded-lg border border-border bg-card text-card-foreground shadow-sm dark:shadow-black/20 transition-all duration-200",
|
|
1066
1131
|
{
|
|
1067
1132
|
variants: {
|
|
1068
1133
|
variant: {
|
|
1069
1134
|
default: "",
|
|
1070
|
-
outline: "border border-border shadow-none bg-transparent dark:
|
|
1071
|
-
filled: "border-none bg-secondary dark:bg-
|
|
1072
|
-
elevated: "border-none shadow-md dark:shadow-lg dark:shadow-
|
|
1135
|
+
outline: "border border-border shadow-none bg-transparent dark:bg-transparent",
|
|
1136
|
+
filled: "border-none bg-secondary dark:bg-muted dark:shadow-inner dark:shadow-black/10",
|
|
1137
|
+
elevated: "border-none shadow-md dark:shadow-lg dark:shadow-black/30 dark:bg-card",
|
|
1073
1138
|
gradient: "border-none bg-gradient-to-br from-primary/5 to-primary/10 dark:from-primary/10 dark:to-primary/20",
|
|
1074
|
-
glass: "border border-white/20 bg-white/10 backdrop-blur-md dark:border-
|
|
1139
|
+
glass: "border border-white/20 bg-white/10 backdrop-blur-md dark:border-white/10 dark:bg-black/10"
|
|
1075
1140
|
},
|
|
1076
1141
|
size: {
|
|
1077
1142
|
md: "",
|
|
@@ -2273,7 +2338,76 @@ var popoverContentVariants = cva(
|
|
|
2273
2338
|
}
|
|
2274
2339
|
}
|
|
2275
2340
|
);
|
|
2276
|
-
var
|
|
2341
|
+
var PopoverModalContext = React12.createContext(false);
|
|
2342
|
+
var POPOVER_TAB_STOP_SELECTOR = "a[href],button,input,select,textarea,[tabindex],audio[controls],video[controls],[contenteditable]";
|
|
2343
|
+
function isPopoverElementHidden(node) {
|
|
2344
|
+
const view = node.ownerDocument.defaultView;
|
|
2345
|
+
if (!view)
|
|
2346
|
+
return false;
|
|
2347
|
+
if (view.getComputedStyle(node).visibility === "hidden")
|
|
2348
|
+
return true;
|
|
2349
|
+
let current = node;
|
|
2350
|
+
while (current) {
|
|
2351
|
+
if (view.getComputedStyle(current).display === "none")
|
|
2352
|
+
return true;
|
|
2353
|
+
current = current.parentElement;
|
|
2354
|
+
}
|
|
2355
|
+
return false;
|
|
2356
|
+
}
|
|
2357
|
+
function isPopoverTabStop(node) {
|
|
2358
|
+
if (node.hasAttribute("data-radix-focus-guard"))
|
|
2359
|
+
return false;
|
|
2360
|
+
if (node.tabIndex < 0)
|
|
2361
|
+
return false;
|
|
2362
|
+
if (node.disabled)
|
|
2363
|
+
return false;
|
|
2364
|
+
if (node.hidden)
|
|
2365
|
+
return false;
|
|
2366
|
+
if (node.getAttribute("aria-hidden") === "true")
|
|
2367
|
+
return false;
|
|
2368
|
+
if (node.closest("[inert]"))
|
|
2369
|
+
return false;
|
|
2370
|
+
return !isPopoverElementHidden(node);
|
|
2371
|
+
}
|
|
2372
|
+
function getPopoverTabStopsWithin(container) {
|
|
2373
|
+
return Array.from(
|
|
2374
|
+
container.querySelectorAll(POPOVER_TAB_STOP_SELECTOR)
|
|
2375
|
+
).filter(isPopoverTabStop);
|
|
2376
|
+
}
|
|
2377
|
+
function getPopoverTrigger(content) {
|
|
2378
|
+
if (!content.id)
|
|
2379
|
+
return null;
|
|
2380
|
+
const id = typeof CSS !== "undefined" && typeof CSS.escape === "function" ? CSS.escape(content.id) : content.id;
|
|
2381
|
+
return content.ownerDocument.querySelector(
|
|
2382
|
+
`[aria-controls="${id}"]`
|
|
2383
|
+
);
|
|
2384
|
+
}
|
|
2385
|
+
function getPopoverTabStopOutside(reference, content, direction) {
|
|
2386
|
+
const candidates = Array.from(
|
|
2387
|
+
content.ownerDocument.querySelectorAll(
|
|
2388
|
+
POPOVER_TAB_STOP_SELECTOR
|
|
2389
|
+
)
|
|
2390
|
+
).filter((node) => !content.contains(node) && isPopoverTabStop(node));
|
|
2391
|
+
if (direction === "next") {
|
|
2392
|
+
return candidates.find(
|
|
2393
|
+
(node) => Boolean(
|
|
2394
|
+
reference.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_FOLLOWING
|
|
2395
|
+
)
|
|
2396
|
+
) ?? null;
|
|
2397
|
+
}
|
|
2398
|
+
let previous = null;
|
|
2399
|
+
for (const node of candidates) {
|
|
2400
|
+
const relation = reference.compareDocumentPosition(node);
|
|
2401
|
+
if (node === reference || relation & Node.DOCUMENT_POSITION_PRECEDING) {
|
|
2402
|
+
previous = node;
|
|
2403
|
+
} else {
|
|
2404
|
+
break;
|
|
2405
|
+
}
|
|
2406
|
+
}
|
|
2407
|
+
return previous;
|
|
2408
|
+
}
|
|
2409
|
+
var Popover = ({ modal = false, children, ...props }) => /* @__PURE__ */ jsx(PopoverModalContext.Provider, { value: modal, children: /* @__PURE__ */ jsx(PopoverPrimitive.Root, { ...props, modal, children }) });
|
|
2410
|
+
Popover.displayName = "Popover";
|
|
2277
2411
|
var PopoverTrigger = PopoverPrimitive.Trigger;
|
|
2278
2412
|
var PopoverAnchor = PopoverPrimitive.Anchor;
|
|
2279
2413
|
var PopoverContent = React12.forwardRef(({
|
|
@@ -2288,42 +2422,79 @@ var PopoverContent = React12.forwardRef(({
|
|
|
2288
2422
|
closeOnInteractOutside = true,
|
|
2289
2423
|
overlayBackdrop = false,
|
|
2290
2424
|
sideOffset = 4,
|
|
2425
|
+
onKeyDown,
|
|
2291
2426
|
...props
|
|
2292
|
-
}, ref) =>
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
|
|
2307
|
-
|
|
2308
|
-
|
|
2309
|
-
|
|
2310
|
-
|
|
2311
|
-
|
|
2312
|
-
|
|
2313
|
-
|
|
2314
|
-
|
|
2315
|
-
|
|
2316
|
-
|
|
2317
|
-
|
|
2318
|
-
|
|
2319
|
-
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
|
|
2323
|
-
|
|
2427
|
+
}, ref) => {
|
|
2428
|
+
const isModal = React12.useContext(PopoverModalContext);
|
|
2429
|
+
const handleKeyDown = (event) => {
|
|
2430
|
+
onKeyDown?.(event);
|
|
2431
|
+
if (event.defaultPrevented)
|
|
2432
|
+
return;
|
|
2433
|
+
if (isModal)
|
|
2434
|
+
return;
|
|
2435
|
+
if (event.key !== "Tab")
|
|
2436
|
+
return;
|
|
2437
|
+
if (event.altKey || event.ctrlKey || event.metaKey)
|
|
2438
|
+
return;
|
|
2439
|
+
const content = event.currentTarget;
|
|
2440
|
+
const active = content.ownerDocument.activeElement;
|
|
2441
|
+
if (!active || active !== content && !content.contains(active))
|
|
2442
|
+
return;
|
|
2443
|
+
const tabStops = getPopoverTabStopsWithin(content);
|
|
2444
|
+
const forward = !event.shiftKey;
|
|
2445
|
+
const atEdge = tabStops.length === 0 ? active === content : active === (forward ? tabStops[tabStops.length - 1] : tabStops[0]);
|
|
2446
|
+
if (!atEdge)
|
|
2447
|
+
return;
|
|
2448
|
+
const reference = getPopoverTrigger(content) ?? content;
|
|
2449
|
+
const target = getPopoverTabStopOutside(
|
|
2450
|
+
reference,
|
|
2451
|
+
content,
|
|
2452
|
+
forward ? "next" : "previous"
|
|
2453
|
+
);
|
|
2454
|
+
event.preventDefault();
|
|
2455
|
+
if (target) {
|
|
2456
|
+
target.focus();
|
|
2457
|
+
} else {
|
|
2458
|
+
active.blur();
|
|
2324
2459
|
}
|
|
2325
|
-
|
|
2326
|
-
|
|
2460
|
+
};
|
|
2461
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2462
|
+
overlayBackdrop && /* @__PURE__ */ jsx(
|
|
2463
|
+
"div",
|
|
2464
|
+
{
|
|
2465
|
+
className: "fixed inset-0 z-40 bg-black/50"
|
|
2466
|
+
}
|
|
2467
|
+
),
|
|
2468
|
+
/* @__PURE__ */ jsx(
|
|
2469
|
+
PopoverPrimitive.Content,
|
|
2470
|
+
{
|
|
2471
|
+
ref,
|
|
2472
|
+
side,
|
|
2473
|
+
sideOffset,
|
|
2474
|
+
collisionPadding: 8,
|
|
2475
|
+
onInteractOutside: (e) => {
|
|
2476
|
+
if (!closeOnInteractOutside) {
|
|
2477
|
+
e.preventDefault();
|
|
2478
|
+
}
|
|
2479
|
+
},
|
|
2480
|
+
onKeyDown: handleKeyDown,
|
|
2481
|
+
className: cn(
|
|
2482
|
+
popoverContentVariants({
|
|
2483
|
+
variant,
|
|
2484
|
+
size,
|
|
2485
|
+
side,
|
|
2486
|
+
position,
|
|
2487
|
+
radius,
|
|
2488
|
+
shadow
|
|
2489
|
+
}),
|
|
2490
|
+
backdrop && "backdrop-blur-md bg-opacity-80",
|
|
2491
|
+
className
|
|
2492
|
+
),
|
|
2493
|
+
...props
|
|
2494
|
+
}
|
|
2495
|
+
)
|
|
2496
|
+
] });
|
|
2497
|
+
});
|
|
2327
2498
|
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
2328
2499
|
var PopoverClose = PopoverPrimitive.Close;
|
|
2329
2500
|
var PopoverSeparator = ({ className, ...props }) => /* @__PURE__ */ jsx(
|
|
@@ -2415,7 +2586,22 @@ var tabsTriggerVariants = cva(
|
|
|
2415
2586
|
variant: {
|
|
2416
2587
|
default: "rounded-md data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm dark:data-[state=active]:bg-gray-900 dark:data-[state=active]:text-gray-100 dark:data-[state=active]:shadow-gray-950/10",
|
|
2417
2588
|
underline: "rounded-none border-b-2 border-transparent pb-2 data-[state=active]:border-primary data-[state=active]:bg-transparent data-[state=active]:text-foreground dark:data-[state=active]:border-primary/80 dark:data-[state=active]:text-gray-100",
|
|
2418
|
-
|
|
2589
|
+
// #646: `dark:data-[state=active]:text-white` KALDIRILDI. `--primary` koyu
|
|
2590
|
+
// temada BİLİNÇLİ near-white'tır (tokens.css:500, #368 kararı — DEĞİŞMEZ),
|
|
2591
|
+
// dolayısıyla aktif pill'e açıkça beyaz metin yazmak beyaz-üstüne-beyaz
|
|
2592
|
+
// demekti: ölçülen 1.28:1 (gerçek tarayıcı, /docs/components/tabs, koyu tema).
|
|
2593
|
+
// Sınıf kalkınca öneksiz `data-[state=active]:text-primary-foreground`
|
|
2594
|
+
// (koyu temada near-black) devreye girer → 15.91:1. Açık temada hiçbir
|
|
2595
|
+
// değişiklik yok (`dark:` sınıfı orada zaten uygulanmıyordu; ölçülen 4.70:1).
|
|
2596
|
+
//
|
|
2597
|
+
// ⚠️ `dark:data-[state=active]:bg-primary/90` BİLEREK KORUNDU: onu da
|
|
2598
|
+
// kaldırmak #545'in "ihlal takası" tuzağına düşürüyor. Aynı varyanttaki
|
|
2599
|
+
// `dark:bg-gray-800` (inaktif zemin) ile `data-[state=active]:bg-primary`
|
|
2600
|
+
// ÖZGÜLLÜKÇE EŞİT (0,2,0); kaynak sırası nedeniyle `dark:bg-gray-800`
|
|
2601
|
+
// kazanıyor ve aktif pill koyu temada inaktif görünüyordu — near-black metin
|
|
2602
|
+
// gray-800 üstünde 1.41:1 ile YENİ bir ihlal (ölçüldü). Koyu temada aktif
|
|
2603
|
+
// durumun zemini bu yüzden `dark:` özgüllüğünde kalmak ZORUNDA.
|
|
2604
|
+
pills: "rounded-lg bg-gray-100 hover:bg-gray-200/80 border border-gray-300 data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:border-primary dark:bg-gray-800 dark:hover:bg-gray-700 dark:border-gray-700 dark:data-[state=active]:bg-primary/90 dark:data-[state=active]:border-primary",
|
|
2419
2605
|
cards: "rounded-md bg-muted/50 hover:bg-muted data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-md dark:bg-gray-800/50 dark:hover:bg-gray-700/50 dark:data-[state=active]:bg-gray-900 dark:data-[state=active]:text-gray-100 dark:data-[state=active]:shadow-gray-950/20",
|
|
2420
2606
|
minimal: "rounded-sm bg-transparent hover:bg-muted/30 data-[state=active]:bg-transparent data-[state=active]:text-foreground data-[state=active]:underline data-[state=active]:underline-offset-4 dark:hover:bg-gray-800/30 dark:data-[state=active]:text-gray-200"
|
|
2421
2607
|
},
|
|
@@ -4798,7 +4984,61 @@ function DraggableList({
|
|
|
4798
4984
|
keyExtractor(item)
|
|
4799
4985
|
)) });
|
|
4800
4986
|
}
|
|
4801
|
-
var
|
|
4987
|
+
var DropdownMenuCloseContext = React12.createContext(null);
|
|
4988
|
+
var DropdownMenu = ({
|
|
4989
|
+
open,
|
|
4990
|
+
defaultOpen,
|
|
4991
|
+
onOpenChange,
|
|
4992
|
+
children,
|
|
4993
|
+
...props
|
|
4994
|
+
}) => {
|
|
4995
|
+
const [uncontrolledOpen, setUncontrolledOpen] = React12.useState(
|
|
4996
|
+
defaultOpen ?? false
|
|
4997
|
+
);
|
|
4998
|
+
const isControlled = open !== void 0;
|
|
4999
|
+
const currentOpen = isControlled ? open : uncontrolledOpen;
|
|
5000
|
+
const handleOpenChange = React12.useCallback(
|
|
5001
|
+
(nextOpen) => {
|
|
5002
|
+
if (!isControlled)
|
|
5003
|
+
setUncontrolledOpen(nextOpen);
|
|
5004
|
+
onOpenChange?.(nextOpen);
|
|
5005
|
+
},
|
|
5006
|
+
[isControlled, onOpenChange]
|
|
5007
|
+
);
|
|
5008
|
+
const close = React12.useCallback(() => handleOpenChange(false), [
|
|
5009
|
+
handleOpenChange
|
|
5010
|
+
]);
|
|
5011
|
+
return /* @__PURE__ */ jsx(DropdownMenuCloseContext.Provider, { value: close, children: /* @__PURE__ */ jsx(
|
|
5012
|
+
DropdownMenuPrimitive.Root,
|
|
5013
|
+
{
|
|
5014
|
+
...props,
|
|
5015
|
+
open: currentOpen,
|
|
5016
|
+
onOpenChange: handleOpenChange,
|
|
5017
|
+
children
|
|
5018
|
+
}
|
|
5019
|
+
) });
|
|
5020
|
+
};
|
|
5021
|
+
DropdownMenu.displayName = "DropdownMenu";
|
|
5022
|
+
function useDropdownMenuTabDismiss(onKeyDown) {
|
|
5023
|
+
const close = React12.useContext(DropdownMenuCloseContext);
|
|
5024
|
+
return (event) => {
|
|
5025
|
+
onKeyDown?.(event);
|
|
5026
|
+
if (event.defaultPrevented)
|
|
5027
|
+
return;
|
|
5028
|
+
if (event.key !== "Tab")
|
|
5029
|
+
return;
|
|
5030
|
+
if (event.altKey || event.ctrlKey || event.metaKey)
|
|
5031
|
+
return;
|
|
5032
|
+
if (!close)
|
|
5033
|
+
return;
|
|
5034
|
+
const target = event.target;
|
|
5035
|
+
if (target?.closest("[data-radix-menu-content]") !== event.currentTarget) {
|
|
5036
|
+
return;
|
|
5037
|
+
}
|
|
5038
|
+
event.preventDefault();
|
|
5039
|
+
close();
|
|
5040
|
+
};
|
|
5041
|
+
}
|
|
4802
5042
|
var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
|
4803
5043
|
var DropdownMenuGroup = DropdownMenuPrimitive.Group;
|
|
4804
5044
|
var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
|
|
@@ -4821,30 +5061,38 @@ var DropdownMenuSubTrigger = React12.forwardRef(({ className, inset, children, .
|
|
|
4821
5061
|
}
|
|
4822
5062
|
));
|
|
4823
5063
|
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
|
|
4824
|
-
var DropdownMenuSubContent = React12.forwardRef(({ className, ...props }, ref) =>
|
|
4825
|
-
|
|
4826
|
-
|
|
4827
|
-
|
|
4828
|
-
|
|
4829
|
-
|
|
4830
|
-
|
|
4831
|
-
|
|
4832
|
-
|
|
4833
|
-
|
|
4834
|
-
)
|
|
5064
|
+
var DropdownMenuSubContent = React12.forwardRef(({ className, onKeyDown, ...props }, ref) => {
|
|
5065
|
+
const handleKeyDown = useDropdownMenuTabDismiss(onKeyDown);
|
|
5066
|
+
return /* @__PURE__ */ jsx(
|
|
5067
|
+
DropdownMenuPrimitive.SubContent,
|
|
5068
|
+
{
|
|
5069
|
+
ref,
|
|
5070
|
+
onKeyDown: handleKeyDown,
|
|
5071
|
+
className: cn(
|
|
5072
|
+
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
5073
|
+
className
|
|
5074
|
+
),
|
|
5075
|
+
...props
|
|
5076
|
+
}
|
|
5077
|
+
);
|
|
5078
|
+
});
|
|
4835
5079
|
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
|
4836
|
-
var DropdownMenuContent = React12.forwardRef(({ className, sideOffset = 4, ...props }, ref) =>
|
|
4837
|
-
|
|
4838
|
-
{
|
|
4839
|
-
|
|
4840
|
-
|
|
4841
|
-
|
|
4842
|
-
|
|
4843
|
-
|
|
4844
|
-
|
|
4845
|
-
|
|
4846
|
-
|
|
4847
|
-
)
|
|
5080
|
+
var DropdownMenuContent = React12.forwardRef(({ className, sideOffset = 4, onKeyDown, ...props }, ref) => {
|
|
5081
|
+
const handleKeyDown = useDropdownMenuTabDismiss(onKeyDown);
|
|
5082
|
+
return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
5083
|
+
DropdownMenuPrimitive.Content,
|
|
5084
|
+
{
|
|
5085
|
+
ref,
|
|
5086
|
+
sideOffset,
|
|
5087
|
+
onKeyDown: handleKeyDown,
|
|
5088
|
+
className: cn(
|
|
5089
|
+
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
5090
|
+
className
|
|
5091
|
+
),
|
|
5092
|
+
...props
|
|
5093
|
+
}
|
|
5094
|
+
) });
|
|
5095
|
+
});
|
|
4848
5096
|
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
4849
5097
|
var DropdownMenuItem = React12.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
4850
5098
|
DropdownMenuPrimitive.Item,
|
|
@@ -5328,6 +5576,10 @@ var FileUpload = React12__default.forwardRef(
|
|
|
5328
5576
|
{
|
|
5329
5577
|
className: cn(
|
|
5330
5578
|
"relative border-2 border-dashed rounded-lg p-8 text-center transition-colors",
|
|
5579
|
+
// #661-2: dosya girdisi `opacity-0` ile tum alani kapliyor; klavyeyle
|
|
5580
|
+
// Tab'landiginda HICBIR gorsel iz yoktu (WCAG 2.4.7). Odak halkasi
|
|
5581
|
+
// sarmalayiciya `focus-within` ile bagli — kutunun kendisi odaklanamaz.
|
|
5582
|
+
"focus-within:outline-none focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2",
|
|
5331
5583
|
isDragOver && "border-primary bg-primary/5",
|
|
5332
5584
|
disabled && "opacity-50 cursor-not-allowed",
|
|
5333
5585
|
!disabled && "hover:border-primary/50 cursor-pointer"
|
|
@@ -6243,7 +6495,7 @@ var selectTriggerVariants = cva(
|
|
|
6243
6495
|
);
|
|
6244
6496
|
var SelectTrigger = React12.forwardRef(({ className, children, variant, size, error, success, loading, leftIcon, rightIcon, ...props }, ref) => {
|
|
6245
6497
|
const icerikId = React12.useId();
|
|
6246
|
-
const
|
|
6498
|
+
const isNamed = props["aria-label"] != null || props["aria-labelledby"] != null;
|
|
6247
6499
|
return /* @__PURE__ */ jsxs(
|
|
6248
6500
|
SelectPrimitive.Trigger,
|
|
6249
6501
|
{
|
|
@@ -6262,7 +6514,7 @@ var SelectTrigger = React12.forwardRef(({ className, children, variant, size, er
|
|
|
6262
6514
|
"data-error": error ? true : void 0,
|
|
6263
6515
|
"data-success": success ? true : void 0,
|
|
6264
6516
|
"data-loading": loading ? true : void 0,
|
|
6265
|
-
"aria-labelledby":
|
|
6517
|
+
"aria-labelledby": isNamed ? props["aria-labelledby"] : icerikId,
|
|
6266
6518
|
children: [
|
|
6267
6519
|
/* @__PURE__ */ jsxs("div", { id: icerikId, className: "flex items-center flex-1 gap-2", children: [
|
|
6268
6520
|
leftIcon && /* @__PURE__ */ jsx("span", { className: "flex items-center justify-center text-muted-foreground", children: leftIcon }),
|
|
@@ -6370,8 +6622,8 @@ var SelectItem = React12.forwardRef(({ className, children, variant = "default",
|
|
|
6370
6622
|
variant === "default" && "focus:bg-accent focus:text-accent-foreground dark:focus:bg-gray-700 dark:focus:text-gray-100",
|
|
6371
6623
|
variant === "subtle" && "focus:bg-gray-100 dark:focus:bg-gray-800 focus:text-foreground dark:focus:text-gray-200",
|
|
6372
6624
|
variant === "destructive" && "text-error dark:text-red-400 focus:bg-error/10 dark:focus:bg-red-900/20 focus:text-error dark:focus:text-red-300",
|
|
6373
|
-
variant === "success" && "text-success
|
|
6374
|
-
variant === "warning" && "text-warning dark:text-
|
|
6625
|
+
variant === "success" && "text-success focus:bg-success/10 focus:text-success",
|
|
6626
|
+
variant === "warning" && "text-warning-700 dark:text-warning-500 focus:bg-warning/10 focus:text-warning-700 dark:focus:text-warning-500",
|
|
6375
6627
|
className
|
|
6376
6628
|
),
|
|
6377
6629
|
...props,
|
|
@@ -7144,8 +7396,100 @@ var tooltipVariants = cva(
|
|
|
7144
7396
|
}
|
|
7145
7397
|
}
|
|
7146
7398
|
);
|
|
7147
|
-
var
|
|
7148
|
-
|
|
7399
|
+
var TooltipFocusHoldContext = React12.createContext(null);
|
|
7400
|
+
function isKeyboardFocus(element) {
|
|
7401
|
+
if (!element)
|
|
7402
|
+
return false;
|
|
7403
|
+
try {
|
|
7404
|
+
return element.matches(":focus-visible");
|
|
7405
|
+
} catch {
|
|
7406
|
+
return true;
|
|
7407
|
+
}
|
|
7408
|
+
}
|
|
7409
|
+
var Tooltip = ({
|
|
7410
|
+
open,
|
|
7411
|
+
defaultOpen,
|
|
7412
|
+
onOpenChange,
|
|
7413
|
+
children,
|
|
7414
|
+
...props
|
|
7415
|
+
}) => {
|
|
7416
|
+
const isControlled = open !== void 0;
|
|
7417
|
+
const [uncontrolledOpen, setUncontrolledOpen] = React12.useState(defaultOpen ?? false);
|
|
7418
|
+
const resolvedOpen = isControlled ? open : uncontrolledOpen;
|
|
7419
|
+
const isFocusHeldRef = React12.useRef(false);
|
|
7420
|
+
const hold = React12.useCallback(() => {
|
|
7421
|
+
isFocusHeldRef.current = true;
|
|
7422
|
+
}, []);
|
|
7423
|
+
const release = React12.useCallback(() => {
|
|
7424
|
+
isFocusHeldRef.current = false;
|
|
7425
|
+
}, []);
|
|
7426
|
+
const setOpen = React12.useCallback(
|
|
7427
|
+
(next) => {
|
|
7428
|
+
if (!isControlled)
|
|
7429
|
+
setUncontrolledOpen(next);
|
|
7430
|
+
onOpenChange?.(next);
|
|
7431
|
+
},
|
|
7432
|
+
[isControlled, onOpenChange]
|
|
7433
|
+
);
|
|
7434
|
+
const handleOpenChange = React12.useCallback(
|
|
7435
|
+
(next) => {
|
|
7436
|
+
if (!next && isFocusHeldRef.current)
|
|
7437
|
+
return;
|
|
7438
|
+
setOpen(next);
|
|
7439
|
+
},
|
|
7440
|
+
[setOpen]
|
|
7441
|
+
);
|
|
7442
|
+
React12.useEffect(() => {
|
|
7443
|
+
if (!resolvedOpen)
|
|
7444
|
+
return;
|
|
7445
|
+
const handleEscape = (event) => {
|
|
7446
|
+
if (event.key !== "Escape")
|
|
7447
|
+
return;
|
|
7448
|
+
isFocusHeldRef.current = false;
|
|
7449
|
+
setOpen(false);
|
|
7450
|
+
};
|
|
7451
|
+
document.addEventListener("keydown", handleEscape, true);
|
|
7452
|
+
return () => document.removeEventListener("keydown", handleEscape, true);
|
|
7453
|
+
}, [resolvedOpen, setOpen]);
|
|
7454
|
+
const focusHold = React12.useMemo(
|
|
7455
|
+
() => ({ hold, release }),
|
|
7456
|
+
[hold, release]
|
|
7457
|
+
);
|
|
7458
|
+
return /* @__PURE__ */ jsx(TooltipFocusHoldContext.Provider, { value: focusHold, children: /* @__PURE__ */ jsx(
|
|
7459
|
+
TooltipPrimitive.Root,
|
|
7460
|
+
{
|
|
7461
|
+
...props,
|
|
7462
|
+
open: resolvedOpen,
|
|
7463
|
+
onOpenChange: handleOpenChange,
|
|
7464
|
+
children
|
|
7465
|
+
}
|
|
7466
|
+
) });
|
|
7467
|
+
};
|
|
7468
|
+
Tooltip.displayName = "Tooltip";
|
|
7469
|
+
var TooltipTrigger = React12.forwardRef(({ onFocus, onBlur, onPointerDown, ...props }, ref) => {
|
|
7470
|
+
const focusHold = React12.useContext(TooltipFocusHoldContext);
|
|
7471
|
+
return /* @__PURE__ */ jsx(
|
|
7472
|
+
TooltipPrimitive.Trigger,
|
|
7473
|
+
{
|
|
7474
|
+
ref,
|
|
7475
|
+
...props,
|
|
7476
|
+
onFocus: (event) => {
|
|
7477
|
+
if (isKeyboardFocus(event.currentTarget))
|
|
7478
|
+
focusHold?.hold();
|
|
7479
|
+
onFocus?.(event);
|
|
7480
|
+
},
|
|
7481
|
+
onBlur: (event) => {
|
|
7482
|
+
focusHold?.release();
|
|
7483
|
+
onBlur?.(event);
|
|
7484
|
+
},
|
|
7485
|
+
onPointerDown: (event) => {
|
|
7486
|
+
focusHold?.release();
|
|
7487
|
+
onPointerDown?.(event);
|
|
7488
|
+
}
|
|
7489
|
+
}
|
|
7490
|
+
);
|
|
7491
|
+
});
|
|
7492
|
+
TooltipTrigger.displayName = TooltipPrimitive.Trigger.displayName;
|
|
7149
7493
|
var TooltipArrow = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
7150
7494
|
TooltipPrimitive.Arrow,
|
|
7151
7495
|
{
|
|
@@ -8524,7 +8868,7 @@ var Textarea = React12.forwardRef(
|
|
|
8524
8868
|
children: errorMessage || successMessage
|
|
8525
8869
|
}
|
|
8526
8870
|
),
|
|
8527
|
-
showCharCount && /* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground
|
|
8871
|
+
showCharCount && /* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground ml-auto", children: [
|
|
8528
8872
|
currentLength,
|
|
8529
8873
|
maxLength !== void 0 && ` / ${maxLength}`
|
|
8530
8874
|
] })
|
|
@@ -8871,6 +9215,12 @@ var Rating = React12.forwardRef(
|
|
|
8871
9215
|
},
|
|
8872
9216
|
[readOnly, max, currentValue, step, commit]
|
|
8873
9217
|
);
|
|
9218
|
+
const reactId = React12.useId();
|
|
9219
|
+
const optionId = React12.useCallback(
|
|
9220
|
+
(optionValue) => `${reactId}-option-${String(optionValue).replace(".", "-")}`,
|
|
9221
|
+
[reactId]
|
|
9222
|
+
);
|
|
9223
|
+
const activeValue = currentValue >= step && currentValue <= max ? currentValue : step;
|
|
8874
9224
|
const renderIcon = (filled) => {
|
|
8875
9225
|
if (React12.isValidElement(icon)) {
|
|
8876
9226
|
const element = icon;
|
|
@@ -8900,6 +9250,7 @@ var Rating = React12.forwardRef(
|
|
|
8900
9250
|
"aria-label": ariaLabel,
|
|
8901
9251
|
"aria-orientation": "horizontal",
|
|
8902
9252
|
"aria-readonly": readOnly || void 0,
|
|
9253
|
+
"aria-activedescendant": readOnly ? void 0 : optionId(activeValue),
|
|
8903
9254
|
tabIndex: readOnly ? void 0 : 0,
|
|
8904
9255
|
onKeyDown: handleKeyDown,
|
|
8905
9256
|
onMouseLeave: () => setHoverValue(null),
|
|
@@ -8922,7 +9273,7 @@ var Rating = React12.forwardRef(
|
|
|
8922
9273
|
"span",
|
|
8923
9274
|
{
|
|
8924
9275
|
"aria-hidden": "true",
|
|
8925
|
-
className: "pointer-events-none absolute left-0 top-0 h-full overflow-hidden text-
|
|
9276
|
+
className: "pointer-events-none absolute left-0 top-0 h-full overflow-hidden text-[rgb(var(--rating-star-rgb))]",
|
|
8926
9277
|
style: { width: `${fraction * 100}%` },
|
|
8927
9278
|
children: renderIcon(true)
|
|
8928
9279
|
}
|
|
@@ -8933,6 +9284,7 @@ var Rating = React12.forwardRef(
|
|
|
8933
9284
|
{
|
|
8934
9285
|
type: "button",
|
|
8935
9286
|
role: "radio",
|
|
9287
|
+
id: optionId(halfValue),
|
|
8936
9288
|
"aria-checked": currentValue === halfValue,
|
|
8937
9289
|
"aria-label": `${halfValue} stars`,
|
|
8938
9290
|
tabIndex: -1,
|
|
@@ -8946,6 +9298,7 @@ var Rating = React12.forwardRef(
|
|
|
8946
9298
|
{
|
|
8947
9299
|
type: "button",
|
|
8948
9300
|
role: "radio",
|
|
9301
|
+
id: optionId(starValue),
|
|
8949
9302
|
"aria-checked": currentValue === starValue,
|
|
8950
9303
|
"aria-label": `${starValue} stars`,
|
|
8951
9304
|
tabIndex: -1,
|
|
@@ -8960,6 +9313,7 @@ var Rating = React12.forwardRef(
|
|
|
8960
9313
|
{
|
|
8961
9314
|
type: "button",
|
|
8962
9315
|
role: "radio",
|
|
9316
|
+
id: optionId(starValue),
|
|
8963
9317
|
"aria-checked": currentValue === starValue,
|
|
8964
9318
|
"aria-label": `${starValue} ${starValue === 1 ? "star" : "stars"}`,
|
|
8965
9319
|
tabIndex: -1,
|
|
@@ -9157,6 +9511,6 @@ var ToggleGroupItem = React12.forwardRef(({ className, children, variant, size,
|
|
|
9157
9511
|
});
|
|
9158
9512
|
ToggleGroupItem.displayName = "ToggleGroupItem";
|
|
9159
9513
|
|
|
9160
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, AspectRatio, Avatar, AvatarFallback, AvatarGroup, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, Card, CardCVCInput, CardContent, CardDescription, CardExpiryInput, CardFooter, CardHeader, CardNumberInput, CardTitle, CardZipInput, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, Checkbox, CheckboxGroup, CheckboxLabel, CheckboxWithLabel, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorPicker, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, DatePicker, DateRangePicker, DateTimePicker, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogForm, DialogHeader, DialogTitle, DialogTrigger, DraggableList, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, FileUpload, FreeBadge, GestureDrawer, GitHubStarButton, GitHubStars, GradientPicker, Input, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Kbd, Label, LockedComponent, MonthPicker, MoonLogo, MoonLogoAnimated, MoonLogoIcon, Accordion as MoonUIAccordion, AccordionContent as MoonUIAccordionContent, AccordionItem as MoonUIAccordionItem, AccordionTrigger as MoonUIAccordionTrigger, Alert as MoonUIAlert, AlertDescription as MoonUIAlertDescription, AlertTitle as MoonUIAlertTitle, AspectRatio as MoonUIAspectRatio, Avatar as MoonUIAvatar, AvatarFallback as MoonUIAvatarFallback, AvatarGroup as MoonUIAvatarGroup, AvatarImage as MoonUIAvatarImage, Badge as MoonUIBadge, Breadcrumb as MoonUIBreadcrumb, BreadcrumbEllipsis as MoonUIBreadcrumbEllipsis, BreadcrumbItem as MoonUIBreadcrumbItem, BreadcrumbLink as MoonUIBreadcrumbLink, BreadcrumbList as MoonUIBreadcrumbList, BreadcrumbPage as MoonUIBreadcrumbPage, BreadcrumbSeparator as MoonUIBreadcrumbSeparator, Button as MoonUIButton, ButtonGroup as MoonUIButtonGroup, Calendar as MoonUICalendar, Card as MoonUICard, CardCVCInput as MoonUICardCVCInput, CardContent as MoonUICardContent, CardDescription as MoonUICardDescription, CardExpiryInput as MoonUICardExpiryInput, CardFooter as MoonUICardFooter, CardHeader as MoonUICardHeader, CardNumberInput as MoonUICardNumberInput, CardTitle as MoonUICardTitle, CardZipInput as MoonUICardZipInput, Carousel as MoonUICarousel, CarouselContent as MoonUICarouselContent, CarouselItem as MoonUICarouselItem, CarouselNext as MoonUICarouselNext, CarouselPrevious as MoonUICarouselPrevious, Checkbox as MoonUICheckbox, CheckboxGroup as MoonUICheckboxGroup, CheckboxLabel as MoonUICheckboxLabel, CheckboxWithLabel as MoonUICheckboxWithLabel, Collapsible as MoonUICollapsible, CollapsibleContent as MoonUICollapsibleContent, CollapsibleTrigger as MoonUICollapsibleTrigger, ColorPicker as MoonUIColorPicker, Command as MoonUICommand, CommandDialog as MoonUICommandDialog, CommandEmpty as MoonUICommandEmpty, CommandGroup as MoonUICommandGroup, CommandInput as MoonUICommandInput, CommandItem as MoonUICommandItem, CommandList as MoonUICommandList, CommandSeparator as MoonUICommandSeparator, CommandShortcut as MoonUICommandShortcut, DataTableBasic as MoonUIDataTableBasic, DatePicker as MoonUIDatePicker, DateRangePicker as MoonUIDateRangePicker, DateTimePicker as MoonUIDateTimePicker, Dialog as MoonUIDialog, DialogClose as MoonUIDialogClose, DialogContent as MoonUIDialogContent, DialogDescription as MoonUIDialogDescription, DialogFooter as MoonUIDialogFooter, DialogForm as MoonUIDialogForm, DialogHeader as MoonUIDialogHeader, DialogTitle as MoonUIDialogTitle, DialogTrigger as MoonUIDialogTrigger, DraggableList as MoonUIDraggableList, DropdownMenu as MoonUIDropdownMenu, DropdownMenuCheckboxItem as MoonUIDropdownMenuCheckboxItem, DropdownMenuContent as MoonUIDropdownMenuContent, DropdownMenuGroup as MoonUIDropdownMenuGroup, DropdownMenuItem as MoonUIDropdownMenuItem, DropdownMenuLabel as MoonUIDropdownMenuLabel, DropdownMenuPortal as MoonUIDropdownMenuPortal, DropdownMenuRadioGroup as MoonUIDropdownMenuRadioGroup, DropdownMenuRadioItem as MoonUIDropdownMenuRadioItem, DropdownMenuSeparator as MoonUIDropdownMenuSeparator, DropdownMenuShortcut as MoonUIDropdownMenuShortcut, DropdownMenuSub as MoonUIDropdownMenuSub, DropdownMenuSubContent as MoonUIDropdownMenuSubContent, DropdownMenuSubTrigger as MoonUIDropdownMenuSubTrigger, DropdownMenuTrigger as MoonUIDropdownMenuTrigger, FileUpload as MoonUIFileUpload, FreeBadge as MoonUIFreeBadge, GestureDrawer as MoonUIGestureDrawer, GitHubStars as MoonUIGitHubStars, GradientPicker as MoonUIGradientPicker, Input as MoonUIInput, InputOTP as MoonUIInputOTP, InputOTPGroup as MoonUIInputOTPGroup, InputOTPSeparator as MoonUIInputOTPSeparator, InputOTPSlot as MoonUIInputOTPSlot, Kbd as MoonUIKbd, Label as MoonUILabel, LockedComponent as MoonUILockedComponent, MonthPicker as MoonUIMonthPicker, MoonLogo as MoonUIMoonLogo, Pagination as MoonUIPagination, PaginationContent as MoonUIPaginationContent, PaginationEllipsis as MoonUIPaginationEllipsis, PaginationItem as MoonUIPaginationItem, PaginationLink as MoonUIPaginationLink, PaginationNext as MoonUIPaginationNext, PaginationPrevious as MoonUIPaginationPrevious, PhoneInput as MoonUIPhoneInput, Popover as MoonUIPopover, PopoverAnchor as MoonUIPopoverAnchor, PopoverClose as MoonUIPopoverClose, PopoverContent as MoonUIPopoverContent, PopoverFooter as MoonUIPopoverFooter, PopoverHeader as MoonUIPopoverHeader, PopoverSeparator as MoonUIPopoverSeparator, PopoverTrigger as MoonUIPopoverTrigger, ProBadge as MoonUIProBadge, ProComponentWrapper as MoonUIProComponentWrapper, Progress as MoonUIProgress, RadioGroup2 as MoonUIRadioGroup, RadioGroupItem as MoonUIRadioGroupItem, RadioItemWithLabel as MoonUIRadioItemWithLabel, RadioLabel as MoonUIRadioLabel, Rating as MoonUIRating, RichTextEditor as MoonUIRichTextEditor, ScrollArea as MoonUIScrollArea, ScrollBar as MoonUIScrollBar, ScrollReveal as MoonUIScrollReveal, ScrollRevealContainer as MoonUIScrollRevealContainer, ScrollRevealItem as MoonUIScrollRevealItem, Select as MoonUISelect, SelectContent as MoonUISelectContent, SelectGroup as MoonUISelectGroup, SelectItem as MoonUISelectItem, SelectLabel as MoonUISelectLabel, SelectScrollDownButton as MoonUISelectScrollDownButton, SelectScrollUpButton as MoonUISelectScrollUpButton, SelectSeparator as MoonUISelectSeparator, SelectTrigger as MoonUISelectTrigger, SelectValue as MoonUISelectValue, Separator3 as MoonUISeparator, SimpleColorPicker as MoonUISimpleColorPicker, SimpleEditor as MoonUISimpleEditor, SimpleTooltip as MoonUISimpleTooltip, Skeleton as MoonUISkeleton, SkeletonAvatar as MoonUISkeletonAvatar, SkeletonCard as MoonUISkeletonCard, SkeletonText as MoonUISkeletonText, Slider as MoonUISlider, Spinner as MoonUISpinner, SwipeableCard as MoonUISwipeableCard, Switch as MoonUISwitch, Table as MoonUITable, TableBody as MoonUITableBody, TableCaption as MoonUITableCaption, TableCell as MoonUITableCell, TableFooter as MoonUITableFooter, TableHead as MoonUITableHead, TableHeader as MoonUITableHeader, TableRow as MoonUITableRow, Tabs as MoonUITabs, TabsContent as MoonUITabsContent, TabsList as MoonUITabsList, TabsTrigger as MoonUITabsTrigger, TagsInput as MoonUITagsInput, Textarea as MoonUITextarea, Toast as MoonUIToast, ToastAction as MoonUIToastAction, ToastClose as MoonUIToastClose, ToastDescription as MoonUIToastDescription, ToastProvider as MoonUIToastProvider, ToastTitle as MoonUIToastTitle, ToastViewport as MoonUIToastViewport, Toaster as MoonUIToaster, Toggle as MoonUIToggle, ToggleGroup as MoonUIToggleGroup, ToggleGroupItem as MoonUIToggleGroupItem, Tooltip as MoonUITooltip, TooltipArrow as MoonUITooltipArrow, TooltipContent as MoonUITooltipContent, TooltipProvider as MoonUITooltipProvider, TooltipTrigger as MoonUITooltipTrigger, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PhoneInput, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverFooter, PopoverHeader, PopoverSeparator, PopoverTrigger, ProBadge, ProComponentWrapper, Progress, RadioGroup2 as RadioGroup, RadioGroupItem, RadioItemWithLabel, RadioLabel, Rating, RichTextEditor, ScrollArea, ScrollBar, ScrollReveal, ScrollRevealContainer, ScrollRevealItem, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator3 as Separator, SimpleColorPicker, SimpleEditor, SimpleTooltip, Skeleton, SkeletonAvatar, SkeletonCard, SkeletonText, Slider, Spinner, SwipeableCard, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagsInput, Textarea, Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipArrow, TooltipContent, TooltipProvider, TooltipTrigger, aspectRatioVariants, badgeVariants, breadcrumbVariants, buttonGroupVariants, buttonVariants, cardVariants, carouselContentVariants, carouselItemVariants, cn, collapsibleContentVariants, collapsibleTriggerVariants, inputOTPSlotVariants, kbdVariants, badgeVariants as moonUIBadgeVariants, buttonGroupVariants as moonUIButtonGroupVariants, buttonVariants as moonUIButtonVariants, carouselContentVariants as moonUICarouselContentVariants, carouselItemVariants as moonUICarouselItemVariants, createSortableHeader as moonUICreateSortableHeader, inputOTPSlotVariants as moonUIInputOTPSlotVariants, kbdVariants as moonUIKbdVariants, popoverContentVariants as moonUIPopoverContentVariants, ratingVariants as moonUIRatingVariants, skeletonVariants as moonUISkeletonVariants, spinnerVariants as moonUISpinnerVariants, toggleVariants as moonUIToggleVariants, tooltipVariants as moonUITooltipVariants, popoverContentVariants, progressVariants, ratingVariants, separatorVariants, skeletonVariants, spinnerVariants, switchVariants, tabsListVariants, tabsTriggerVariants, toast, toggleVariants, tooltipVariants, useCarousel, useToast };
|
|
9514
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertTitle, AspectRatio, Avatar, AvatarFallback, AvatarGroup, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, Card, CardCVCInput, CardContent, CardDescription, CardExpiryInput, CardFooter, CardHeader, CardNumberInput, CardTitle, CardZipInput, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, Checkbox, CheckboxGroup, CheckboxLabel, CheckboxWithLabel, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorPicker, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, DatePicker, DateRangePicker, DateTimePicker, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogForm, DialogHeader, DialogTitle, DialogTrigger, DraggableList, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, FileUpload, FreeBadge, GestureDrawer, GitHubStarButton, GitHubStars, GradientPicker, Input, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Kbd, Label, LockedComponent, MonthPicker, MoonLogo, MoonLogoAnimated, MoonLogoIcon, Accordion as MoonUIAccordion, AccordionContent as MoonUIAccordionContent, AccordionItem as MoonUIAccordionItem, AccordionTrigger as MoonUIAccordionTrigger, Alert as MoonUIAlert, AlertDescription as MoonUIAlertDescription, AlertTitle as MoonUIAlertTitle, AspectRatio as MoonUIAspectRatio, Avatar as MoonUIAvatar, AvatarFallback as MoonUIAvatarFallback, AvatarGroup as MoonUIAvatarGroup, AvatarImage as MoonUIAvatarImage, Badge as MoonUIBadge, Breadcrumb as MoonUIBreadcrumb, BreadcrumbEllipsis as MoonUIBreadcrumbEllipsis, BreadcrumbItem as MoonUIBreadcrumbItem, BreadcrumbLink as MoonUIBreadcrumbLink, BreadcrumbList as MoonUIBreadcrumbList, BreadcrumbPage as MoonUIBreadcrumbPage, BreadcrumbSeparator as MoonUIBreadcrumbSeparator, Button as MoonUIButton, ButtonGroup as MoonUIButtonGroup, Calendar as MoonUICalendar, Card as MoonUICard, CardCVCInput as MoonUICardCVCInput, CardContent as MoonUICardContent, CardDescription as MoonUICardDescription, CardExpiryInput as MoonUICardExpiryInput, CardFooter as MoonUICardFooter, CardHeader as MoonUICardHeader, CardNumberInput as MoonUICardNumberInput, CardTitle as MoonUICardTitle, CardZipInput as MoonUICardZipInput, Carousel as MoonUICarousel, CarouselContent as MoonUICarouselContent, CarouselItem as MoonUICarouselItem, CarouselNext as MoonUICarouselNext, CarouselPrevious as MoonUICarouselPrevious, Checkbox as MoonUICheckbox, CheckboxGroup as MoonUICheckboxGroup, CheckboxLabel as MoonUICheckboxLabel, CheckboxWithLabel as MoonUICheckboxWithLabel, Collapsible as MoonUICollapsible, CollapsibleContent as MoonUICollapsibleContent, CollapsibleTrigger as MoonUICollapsibleTrigger, ColorPicker as MoonUIColorPicker, Command as MoonUICommand, CommandDialog as MoonUICommandDialog, CommandEmpty as MoonUICommandEmpty, CommandGroup as MoonUICommandGroup, CommandInput as MoonUICommandInput, CommandItem as MoonUICommandItem, CommandList as MoonUICommandList, CommandSeparator as MoonUICommandSeparator, CommandShortcut as MoonUICommandShortcut, DataTableBasic as MoonUIDataTableBasic, DatePicker as MoonUIDatePicker, DateRangePicker as MoonUIDateRangePicker, DateTimePicker as MoonUIDateTimePicker, Dialog as MoonUIDialog, DialogClose as MoonUIDialogClose, DialogContent as MoonUIDialogContent, DialogDescription as MoonUIDialogDescription, DialogFooter as MoonUIDialogFooter, DialogForm as MoonUIDialogForm, DialogHeader as MoonUIDialogHeader, DialogTitle as MoonUIDialogTitle, DialogTrigger as MoonUIDialogTrigger, DraggableList as MoonUIDraggableList, DropdownMenu as MoonUIDropdownMenu, DropdownMenuCheckboxItem as MoonUIDropdownMenuCheckboxItem, DropdownMenuContent as MoonUIDropdownMenuContent, DropdownMenuGroup as MoonUIDropdownMenuGroup, DropdownMenuItem as MoonUIDropdownMenuItem, DropdownMenuLabel as MoonUIDropdownMenuLabel, DropdownMenuPortal as MoonUIDropdownMenuPortal, DropdownMenuRadioGroup as MoonUIDropdownMenuRadioGroup, DropdownMenuRadioItem as MoonUIDropdownMenuRadioItem, DropdownMenuSeparator as MoonUIDropdownMenuSeparator, DropdownMenuShortcut as MoonUIDropdownMenuShortcut, DropdownMenuSub as MoonUIDropdownMenuSub, DropdownMenuSubContent as MoonUIDropdownMenuSubContent, DropdownMenuSubTrigger as MoonUIDropdownMenuSubTrigger, DropdownMenuTrigger as MoonUIDropdownMenuTrigger, FileUpload as MoonUIFileUpload, FreeBadge as MoonUIFreeBadge, GestureDrawer as MoonUIGestureDrawer, GitHubStars as MoonUIGitHubStars, GradientPicker as MoonUIGradientPicker, Input as MoonUIInput, InputOTP as MoonUIInputOTP, InputOTPGroup as MoonUIInputOTPGroup, InputOTPSeparator as MoonUIInputOTPSeparator, InputOTPSlot as MoonUIInputOTPSlot, Kbd as MoonUIKbd, Label as MoonUILabel, LockedComponent as MoonUILockedComponent, MonthPicker as MoonUIMonthPicker, MoonLogo as MoonUIMoonLogo, Pagination as MoonUIPagination, PaginationContent as MoonUIPaginationContent, PaginationEllipsis as MoonUIPaginationEllipsis, PaginationItem as MoonUIPaginationItem, PaginationLink as MoonUIPaginationLink, PaginationNext as MoonUIPaginationNext, PaginationPrevious as MoonUIPaginationPrevious, PhoneInput as MoonUIPhoneInput, Popover as MoonUIPopover, PopoverAnchor as MoonUIPopoverAnchor, PopoverClose as MoonUIPopoverClose, PopoverContent as MoonUIPopoverContent, PopoverFooter as MoonUIPopoverFooter, PopoverHeader as MoonUIPopoverHeader, PopoverSeparator as MoonUIPopoverSeparator, PopoverTrigger as MoonUIPopoverTrigger, ProBadge as MoonUIProBadge, ProComponentWrapper as MoonUIProComponentWrapper, Progress as MoonUIProgress, RadioGroup2 as MoonUIRadioGroup, RadioGroupItem as MoonUIRadioGroupItem, RadioItemWithLabel as MoonUIRadioItemWithLabel, RadioLabel as MoonUIRadioLabel, Rating as MoonUIRating, RichTextEditor as MoonUIRichTextEditor, ScrollArea as MoonUIScrollArea, ScrollBar as MoonUIScrollBar, ScrollReveal as MoonUIScrollReveal, ScrollRevealContainer as MoonUIScrollRevealContainer, ScrollRevealItem as MoonUIScrollRevealItem, Select as MoonUISelect, SelectContent as MoonUISelectContent, SelectGroup as MoonUISelectGroup, SelectItem as MoonUISelectItem, SelectLabel as MoonUISelectLabel, SelectScrollDownButton as MoonUISelectScrollDownButton, SelectScrollUpButton as MoonUISelectScrollUpButton, SelectSeparator as MoonUISelectSeparator, SelectTrigger as MoonUISelectTrigger, SelectValue as MoonUISelectValue, Separator3 as MoonUISeparator, SimpleColorPicker as MoonUISimpleColorPicker, SimpleEditor as MoonUISimpleEditor, SimpleTooltip as MoonUISimpleTooltip, Skeleton as MoonUISkeleton, SkeletonAvatar as MoonUISkeletonAvatar, SkeletonCard as MoonUISkeletonCard, SkeletonText as MoonUISkeletonText, Slider as MoonUISlider, Spinner as MoonUISpinner, SwipeableCard as MoonUISwipeableCard, Switch as MoonUISwitch, Table as MoonUITable, TableBody as MoonUITableBody, TableCaption as MoonUITableCaption, TableCell as MoonUITableCell, TableFooter as MoonUITableFooter, TableHead as MoonUITableHead, TableHeader as MoonUITableHeader, TableRow as MoonUITableRow, Tabs as MoonUITabs, TabsContent as MoonUITabsContent, TabsList as MoonUITabsList, TabsTrigger as MoonUITabsTrigger, TagsInput as MoonUITagsInput, Textarea as MoonUITextarea, Toast as MoonUIToast, ToastAction as MoonUIToastAction, ToastClose as MoonUIToastClose, ToastDescription as MoonUIToastDescription, ToastProvider as MoonUIToastProvider, ToastTitle as MoonUIToastTitle, ToastViewport as MoonUIToastViewport, Toaster as MoonUIToaster, Toggle as MoonUIToggle, ToggleGroup as MoonUIToggleGroup, ToggleGroupItem as MoonUIToggleGroupItem, Tooltip as MoonUITooltip, TooltipArrow as MoonUITooltipArrow, TooltipContent as MoonUITooltipContent, TooltipProvider as MoonUITooltipProvider, TooltipTrigger as MoonUITooltipTrigger, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PhoneInput, Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverFooter, PopoverHeader, PopoverSeparator, PopoverTrigger, ProBadge, ProComponentWrapper, Progress, RadioGroup2 as RadioGroup, RadioGroupItem, RadioItemWithLabel, RadioLabel, Rating, RichTextEditor, ScrollArea, ScrollBar, ScrollReveal, ScrollRevealContainer, ScrollRevealItem, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator3 as Separator, SimpleColorPicker, SimpleEditor, SimpleTooltip, Skeleton, SkeletonAvatar, SkeletonCard, SkeletonText, Slider, Spinner, SwipeableCard, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagsInput, Textarea, Toast, ToastAction, ToastClose, ToastDescription, ToastProvider, ToastTitle, ToastViewport, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipArrow, TooltipContent, TooltipProvider, TooltipTrigger, aspectRatioVariants, badgeVariants, breadcrumbVariants, buttonGroupVariants, buttonVariants, cardVariants, carouselContentVariants, carouselItemVariants, cn, collapsibleContentVariants, collapsibleTriggerVariants, inputOTPSlotVariants, kbdVariants, badgeVariants as moonUIBadgeVariants, buttonGroupVariants as moonUIButtonGroupVariants, buttonVariants as moonUIButtonVariants, carouselContentVariants as moonUICarouselContentVariants, carouselItemVariants as moonUICarouselItemVariants, createSortableHeader as moonUICreateSortableHeader, inputOTPSlotVariants as moonUIInputOTPSlotVariants, kbdVariants as moonUIKbdVariants, popoverContentVariants as moonUIPopoverContentVariants, ratingVariants as moonUIRatingVariants, separatorVariants as moonUISeparatorVariants, skeletonVariants as moonUISkeletonVariants, spinnerVariants as moonUISpinnerVariants, toggleVariants as moonUIToggleVariants, tooltipVariants as moonUITooltipVariants, popoverContentVariants, progressVariants, ratingVariants, separatorVariants, skeletonVariants, spinnerVariants, switchVariants, tabsListVariants, tabsTriggerVariants, toast, toggleVariants, tooltipVariants, useCarousel, useToast };
|
|
9161
9515
|
//# sourceMappingURL=out.js.map
|
|
9162
9516
|
//# sourceMappingURL=index.mjs.map
|