myoperator-mcp 0.2.126 → 0.2.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/index.js +439 -358
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -22,7 +22,7 @@ const accordionVariants = cva("w-full", {
|
|
|
22
22
|
variant: {
|
|
23
23
|
default: "",
|
|
24
24
|
bordered:
|
|
25
|
-
"border border-semantic-border-layout rounded-lg divide-y divide-semantic-border-layout",
|
|
25
|
+
"border border-solid border-semantic-border-layout rounded-lg divide-y divide-semantic-border-layout",
|
|
26
26
|
},
|
|
27
27
|
},
|
|
28
28
|
defaultVariants: {
|
|
@@ -139,7 +139,7 @@ export interface AccordionProps
|
|
|
139
139
|
onValueChange?: (value: string[]) => void;
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
-
const Accordion = React.forwardRef
|
|
142
|
+
const Accordion = React.forwardRef(
|
|
143
143
|
(
|
|
144
144
|
{
|
|
145
145
|
className,
|
|
@@ -150,8 +150,8 @@ const Accordion = React.forwardRef<HTMLDivElement, AccordionProps>(
|
|
|
150
150
|
onValueChange,
|
|
151
151
|
children,
|
|
152
152
|
...props
|
|
153
|
-
},
|
|
154
|
-
ref
|
|
153
|
+
}: AccordionProps,
|
|
154
|
+
ref: React.Ref<HTMLDivElement>
|
|
155
155
|
) => {
|
|
156
156
|
const [internalValue, setInternalValue] =
|
|
157
157
|
React.useState<string[]>(defaultValue);
|
|
@@ -207,8 +207,8 @@ export interface AccordionItemProps
|
|
|
207
207
|
disabled?: boolean;
|
|
208
208
|
}
|
|
209
209
|
|
|
210
|
-
const AccordionItem = React.forwardRef
|
|
211
|
-
({ className, value, disabled, children, ...props }, ref) => {
|
|
210
|
+
const AccordionItem = React.forwardRef(
|
|
211
|
+
({ className, value, disabled, children, ...props }: AccordionItemProps, ref: React.Ref<HTMLDivElement>) => {
|
|
212
212
|
const { value: openValues, variant } = useAccordionContext();
|
|
213
213
|
const isOpen = openValues.includes(value);
|
|
214
214
|
|
|
@@ -248,10 +248,7 @@ export interface AccordionTriggerProps
|
|
|
248
248
|
showChevron?: boolean;
|
|
249
249
|
}
|
|
250
250
|
|
|
251
|
-
const AccordionTrigger = React.forwardRef<
|
|
252
|
-
HTMLButtonElement,
|
|
253
|
-
AccordionTriggerProps
|
|
254
|
-
>(({ className, showChevron = true, children, ...props }, ref) => {
|
|
251
|
+
const AccordionTrigger = React.forwardRef(({ className, showChevron = true, children, ...props }: AccordionTriggerProps, ref: React.Ref<HTMLButtonElement>) => {
|
|
255
252
|
const {
|
|
256
253
|
type,
|
|
257
254
|
value: openValues,
|
|
@@ -310,10 +307,7 @@ export interface AccordionContentProps
|
|
|
310
307
|
React.HTMLAttributes<HTMLDivElement>,
|
|
311
308
|
VariantProps<typeof accordionContentVariants> {}
|
|
312
309
|
|
|
313
|
-
const AccordionContent = React.forwardRef<
|
|
314
|
-
HTMLDivElement,
|
|
315
|
-
AccordionContentProps
|
|
316
|
-
>(({ className, children, ...props }, ref) => {
|
|
310
|
+
const AccordionContent = React.forwardRef(({ className, children, ...props }: AccordionContentProps, ref: React.Ref<HTMLDivElement>) => {
|
|
317
311
|
const { variant } = useAccordionContext();
|
|
318
312
|
const { isOpen } = useAccordionItemContext();
|
|
319
313
|
const contentRef = React.useRef<HTMLDivElement>(null);
|
|
@@ -364,7 +358,7 @@ import { cn } from "@/lib/utils";
|
|
|
364
358
|
* Colors are hardcoded for Bootstrap compatibility.
|
|
365
359
|
*/
|
|
366
360
|
const alertVariants = cva(
|
|
367
|
-
"relative w-full rounded border p-4 text-sm text-semantic-text-primary [&>svg~*]:pl-8 [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4",
|
|
361
|
+
"relative w-full rounded border border-solid p-4 text-sm text-semantic-text-primary [&>svg~*]:pl-8 [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4",
|
|
368
362
|
{
|
|
369
363
|
variants: {
|
|
370
364
|
variant: {
|
|
@@ -448,7 +442,7 @@ export interface AlertProps
|
|
|
448
442
|
defaultOpen?: boolean;
|
|
449
443
|
}
|
|
450
444
|
|
|
451
|
-
const Alert = React.forwardRef
|
|
445
|
+
const Alert = React.forwardRef(
|
|
452
446
|
(
|
|
453
447
|
{
|
|
454
448
|
className,
|
|
@@ -463,8 +457,8 @@ const Alert = React.forwardRef<HTMLDivElement, AlertProps>(
|
|
|
463
457
|
defaultOpen = true,
|
|
464
458
|
children,
|
|
465
459
|
...props
|
|
466
|
-
},
|
|
467
|
-
ref
|
|
460
|
+
}: AlertProps,
|
|
461
|
+
ref: React.Ref<HTMLDivElement>
|
|
468
462
|
) => {
|
|
469
463
|
const [internalOpen, setInternalOpen] = React.useState(defaultOpen);
|
|
470
464
|
const isControlled = controlledOpen !== undefined;
|
|
@@ -536,10 +530,7 @@ Alert.displayName = "Alert";
|
|
|
536
530
|
/**
|
|
537
531
|
* Alert title component for the heading text.
|
|
538
532
|
*/
|
|
539
|
-
const AlertTitle = React.forwardRef<
|
|
540
|
-
HTMLHeadingElement,
|
|
541
|
-
React.HTMLAttributes<HTMLHeadingElement>
|
|
542
|
-
>(({ className, children, ...props }, ref) => (
|
|
533
|
+
const AlertTitle = React.forwardRef(({ className, children, ...props }: React.HTMLAttributes<HTMLHeadingElement>, ref: React.Ref<HTMLHeadingElement>) => (
|
|
543
534
|
<h5
|
|
544
535
|
ref={ref}
|
|
545
536
|
className={cn("font-semibold leading-tight tracking-tight", className)}
|
|
@@ -553,10 +544,7 @@ AlertTitle.displayName = "AlertTitle";
|
|
|
553
544
|
/**
|
|
554
545
|
* Alert description component for the body text.
|
|
555
546
|
*/
|
|
556
|
-
const AlertDescription = React.forwardRef<
|
|
557
|
-
HTMLParagraphElement,
|
|
558
|
-
React.HTMLAttributes<HTMLParagraphElement>
|
|
559
|
-
>(({ className, ...props }, ref) => (
|
|
547
|
+
const AlertDescription = React.forwardRef(({ className, ...props }: React.HTMLAttributes<HTMLParagraphElement>, ref: React.Ref<HTMLParagraphElement>) => (
|
|
560
548
|
<p ref={ref} className={cn("m-0 mt-1 text-sm", className)} {...props} />
|
|
561
549
|
));
|
|
562
550
|
AlertDescription.displayName = "AlertDescription";
|
|
@@ -608,11 +596,11 @@ const avatarVariants = cva(
|
|
|
608
596
|
);
|
|
609
597
|
|
|
610
598
|
const statusDotSizeMap = {
|
|
611
|
-
xs: "size-2 border",
|
|
612
|
-
sm: "size-2.5 border-[1.5px]",
|
|
613
|
-
md: "size-3 border-2",
|
|
614
|
-
lg: "size-3.5 border-2",
|
|
615
|
-
xl: "size-4 border-2",
|
|
599
|
+
xs: "size-2 border border-solid",
|
|
600
|
+
sm: "size-2.5 border-[1.5px] border-solid",
|
|
601
|
+
md: "size-3 border-2 border-solid",
|
|
602
|
+
lg: "size-3.5 border-2 border-solid",
|
|
603
|
+
xl: "size-4 border-2 border-solid",
|
|
616
604
|
} as const;
|
|
617
605
|
|
|
618
606
|
const statusColorMap = {
|
|
@@ -648,7 +636,7 @@ export interface AvatarProps
|
|
|
648
636
|
* <Avatar initials="AS" size="xs" />
|
|
649
637
|
* \`\`\`
|
|
650
638
|
*/
|
|
651
|
-
const Avatar = React.forwardRef
|
|
639
|
+
const Avatar = React.forwardRef(
|
|
652
640
|
(
|
|
653
641
|
{
|
|
654
642
|
className,
|
|
@@ -661,8 +649,8 @@ const Avatar = React.forwardRef<HTMLDivElement, AvatarProps>(
|
|
|
661
649
|
status,
|
|
662
650
|
children,
|
|
663
651
|
...props
|
|
664
|
-
},
|
|
665
|
-
ref
|
|
652
|
+
}: AvatarProps,
|
|
653
|
+
ref: React.Ref<HTMLDivElement>
|
|
666
654
|
) => {
|
|
667
655
|
const resolvedSize = size ?? "md";
|
|
668
656
|
const displayInitials = initials ?? (name ? getInitials(name) : undefined);
|
|
@@ -729,7 +717,7 @@ const badgeVariants = cva(
|
|
|
729
717
|
// shadcn-style variants (new)
|
|
730
718
|
secondary: "bg-semantic-bg-ui text-semantic-text-primary",
|
|
731
719
|
outline:
|
|
732
|
-
"border border-semantic-border-layout bg-transparent text-semantic-text-primary",
|
|
720
|
+
"border border-solid border-semantic-border-layout bg-transparent text-semantic-text-primary",
|
|
733
721
|
destructive: "bg-semantic-error-surface text-semantic-error-primary",
|
|
734
722
|
},
|
|
735
723
|
size: {
|
|
@@ -774,7 +762,7 @@ export interface BadgeProps
|
|
|
774
762
|
asChild?: boolean;
|
|
775
763
|
}
|
|
776
764
|
|
|
777
|
-
const Badge = React.forwardRef
|
|
765
|
+
const Badge = React.forwardRef(
|
|
778
766
|
(
|
|
779
767
|
{
|
|
780
768
|
className,
|
|
@@ -785,8 +773,8 @@ const Badge = React.forwardRef<HTMLDivElement, BadgeProps>(
|
|
|
785
773
|
asChild = false,
|
|
786
774
|
children,
|
|
787
775
|
...props
|
|
788
|
-
},
|
|
789
|
-
ref
|
|
776
|
+
}: BadgeProps,
|
|
777
|
+
ref: React.Ref<HTMLDivElement>
|
|
790
778
|
) => {
|
|
791
779
|
const Comp = asChild ? Slot : "div";
|
|
792
780
|
|
|
@@ -842,12 +830,12 @@ const buttonVariants = cva(
|
|
|
842
830
|
success:
|
|
843
831
|
"bg-semantic-success-primary text-semantic-text-inverted hover:bg-semantic-success-hover",
|
|
844
832
|
outline:
|
|
845
|
-
"border border-
|
|
833
|
+
"border border-solid border-[var(--color-neutral-300,#D5D7DA)] bg-semantic-bg-primary text-semantic-text-secondary hover:bg-semantic-primary-surface",
|
|
846
834
|
secondary:
|
|
847
835
|
"bg-semantic-primary-surface text-semantic-text-secondary hover:bg-semantic-bg-hover",
|
|
848
836
|
ghost:
|
|
849
837
|
"text-semantic-text-muted hover:bg-semantic-bg-ui hover:text-semantic-text-primary",
|
|
850
|
-
link: "text-semantic-text-
|
|
838
|
+
link: "text-semantic-text-link underline-offset-4 hover:underline",
|
|
851
839
|
dashed:
|
|
852
840
|
"border border-dashed border-semantic-bg-hover bg-transparent text-semantic-text-muted hover:border-semantic-border-primary hover:text-semantic-text-secondary hover:bg-[var(--color-neutral-50)]",
|
|
853
841
|
},
|
|
@@ -893,7 +881,7 @@ export interface ButtonProps
|
|
|
893
881
|
loadingText?: string;
|
|
894
882
|
}
|
|
895
883
|
|
|
896
|
-
const Button = React.forwardRef
|
|
884
|
+
const Button = React.forwardRef(
|
|
897
885
|
(
|
|
898
886
|
{
|
|
899
887
|
className,
|
|
@@ -907,8 +895,8 @@ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
|
|
|
907
895
|
children,
|
|
908
896
|
disabled,
|
|
909
897
|
...props
|
|
910
|
-
},
|
|
911
|
-
ref
|
|
898
|
+
}: ButtonProps,
|
|
899
|
+
ref: React.Ref<HTMLButtonElement>
|
|
912
900
|
) => {
|
|
913
901
|
const Comp = asChild ? Slot : "button";
|
|
914
902
|
|
|
@@ -950,7 +938,7 @@ import { cn } from "@/lib/utils";
|
|
|
950
938
|
* Checkbox box variants (the outer container)
|
|
951
939
|
*/
|
|
952
940
|
const checkboxVariants = cva(
|
|
953
|
-
"peer inline-flex items-center justify-center shrink-0 rounded border-2 transition-colors duration-200 ease-in-out focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-semantic-primary focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-semantic-primary data-[state=checked]:border-semantic-primary data-[state=checked]:text-semantic-text-inverted data-[state=indeterminate]:bg-semantic-primary data-[state=indeterminate]:border-semantic-primary data-[state=indeterminate]:text-semantic-text-inverted data-[state=unchecked]:bg-semantic-bg-primary data-[state=unchecked]:border-semantic-border-input data-[state=unchecked]:hover:border-[var(--color-neutral-400)]",
|
|
941
|
+
"peer inline-flex items-center justify-center shrink-0 rounded border-2 border-solid transition-colors duration-200 ease-in-out focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-semantic-primary focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-semantic-primary data-[state=checked]:border-semantic-primary data-[state=checked]:text-semantic-text-inverted data-[state=indeterminate]:bg-semantic-primary data-[state=indeterminate]:border-semantic-primary data-[state=indeterminate]:text-semantic-text-inverted data-[state=unchecked]:bg-semantic-bg-primary data-[state=unchecked]:border-semantic-border-input data-[state=unchecked]:hover:border-[var(--color-neutral-400)]",
|
|
954
942
|
{
|
|
955
943
|
variants: {
|
|
956
944
|
size: {
|
|
@@ -1030,10 +1018,7 @@ export interface CheckboxProps
|
|
|
1030
1018
|
separateLabel?: boolean;
|
|
1031
1019
|
}
|
|
1032
1020
|
|
|
1033
|
-
const Checkbox = React.forwardRef
|
|
1034
|
-
React.ElementRef<typeof CheckboxPrimitive.Root>,
|
|
1035
|
-
CheckboxProps
|
|
1036
|
-
>(
|
|
1021
|
+
const Checkbox = React.forwardRef(
|
|
1037
1022
|
(
|
|
1038
1023
|
{
|
|
1039
1024
|
className,
|
|
@@ -1046,8 +1031,8 @@ const Checkbox = React.forwardRef<
|
|
|
1046
1031
|
id,
|
|
1047
1032
|
disabled,
|
|
1048
1033
|
...props
|
|
1049
|
-
},
|
|
1050
|
-
ref
|
|
1034
|
+
}: CheckboxProps,
|
|
1035
|
+
ref: React.Ref<React.ElementRef<typeof CheckboxPrimitive.Root>>
|
|
1051
1036
|
) => {
|
|
1052
1037
|
const checkbox = (
|
|
1053
1038
|
<CheckboxPrimitive.Root
|
|
@@ -1221,10 +1206,7 @@ export interface ConfirmationModalProps {
|
|
|
1221
1206
|
* />
|
|
1222
1207
|
* \`\`\`
|
|
1223
1208
|
*/
|
|
1224
|
-
const ConfirmationModal = React.forwardRef
|
|
1225
|
-
HTMLDivElement,
|
|
1226
|
-
ConfirmationModalProps
|
|
1227
|
-
>(
|
|
1209
|
+
const ConfirmationModal = React.forwardRef(
|
|
1228
1210
|
(
|
|
1229
1211
|
{
|
|
1230
1212
|
open,
|
|
@@ -1239,8 +1221,8 @@ const ConfirmationModal = React.forwardRef<
|
|
|
1239
1221
|
cancelButtonText = "Cancel",
|
|
1240
1222
|
trigger,
|
|
1241
1223
|
className,
|
|
1242
|
-
},
|
|
1243
|
-
ref
|
|
1224
|
+
}: ConfirmationModalProps,
|
|
1225
|
+
ref: React.Ref<HTMLDivElement>
|
|
1244
1226
|
) => {
|
|
1245
1227
|
const handleConfirm = () => {
|
|
1246
1228
|
onConfirm?.();
|
|
@@ -1319,7 +1301,7 @@ export interface ContactListItemProps
|
|
|
1319
1301
|
* />
|
|
1320
1302
|
* \`\`\`
|
|
1321
1303
|
*/
|
|
1322
|
-
const ContactListItem = React.forwardRef
|
|
1304
|
+
const ContactListItem = React.forwardRef(
|
|
1323
1305
|
(
|
|
1324
1306
|
{
|
|
1325
1307
|
name,
|
|
@@ -1330,8 +1312,8 @@ const ContactListItem = React.forwardRef<HTMLDivElement, ContactListItemProps>(
|
|
|
1330
1312
|
onClick,
|
|
1331
1313
|
className,
|
|
1332
1314
|
...props
|
|
1333
|
-
},
|
|
1334
|
-
ref
|
|
1315
|
+
}: ContactListItemProps,
|
|
1316
|
+
ref: React.Ref<HTMLDivElement>
|
|
1335
1317
|
) => {
|
|
1336
1318
|
return (
|
|
1337
1319
|
<div
|
|
@@ -1393,13 +1375,13 @@ const creatableMultiSelectTriggerVariants = cva(
|
|
|
1393
1375
|
variants: {
|
|
1394
1376
|
state: {
|
|
1395
1377
|
default:
|
|
1396
|
-
"border border-semantic-border-input hover:border-semantic-border-input-focus",
|
|
1378
|
+
"border border-solid border-semantic-border-input hover:border-semantic-border-input-focus",
|
|
1397
1379
|
error:
|
|
1398
|
-
"border border-semantic-error-primary/40 hover:border-semantic-error-primary",
|
|
1380
|
+
"border border-solid border-semantic-error-primary/40 hover:border-semantic-error-primary",
|
|
1399
1381
|
focused:
|
|
1400
|
-
"border border-semantic-border-focus shadow-[0_0_0_1px_rgba(43,188,202,0.15)]",
|
|
1382
|
+
"border border-solid border-semantic-border-focus shadow-[0_0_0_1px_rgba(43,188,202,0.15)]",
|
|
1401
1383
|
"focused-error":
|
|
1402
|
-
"border border-semantic-error-primary/60 shadow-[0_0_0_1px_rgba(240,68,56,0.1)]",
|
|
1384
|
+
"border border-solid border-semantic-error-primary/60 shadow-[0_0_0_1px_rgba(240,68,56,0.1)]",
|
|
1403
1385
|
},
|
|
1404
1386
|
},
|
|
1405
1387
|
defaultVariants: {
|
|
@@ -1438,10 +1420,7 @@ export interface CreatableMultiSelectProps
|
|
|
1438
1420
|
maxLengthPerItem?: number
|
|
1439
1421
|
}
|
|
1440
1422
|
|
|
1441
|
-
const CreatableMultiSelect = React.forwardRef
|
|
1442
|
-
HTMLDivElement,
|
|
1443
|
-
CreatableMultiSelectProps
|
|
1444
|
-
>(
|
|
1423
|
+
const CreatableMultiSelect = React.forwardRef(
|
|
1445
1424
|
(
|
|
1446
1425
|
{
|
|
1447
1426
|
className,
|
|
@@ -1456,8 +1435,8 @@ const CreatableMultiSelect = React.forwardRef<
|
|
|
1456
1435
|
maxItems,
|
|
1457
1436
|
maxLengthPerItem,
|
|
1458
1437
|
...props
|
|
1459
|
-
},
|
|
1460
|
-
ref
|
|
1438
|
+
}: CreatableMultiSelectProps,
|
|
1439
|
+
ref: React.Ref<HTMLDivElement>
|
|
1461
1440
|
) => {
|
|
1462
1441
|
const [isOpen, setIsOpen] = React.useState(false)
|
|
1463
1442
|
const [inputValue, setInputValue] = React.useState("")
|
|
@@ -1615,15 +1594,15 @@ const CreatableMultiSelect = React.forwardRef<
|
|
|
1615
1594
|
|
|
1616
1595
|
{/* Dropdown panel */}
|
|
1617
1596
|
{isOpen && (
|
|
1618
|
-
<div id={listboxId} role="listbox" className="absolute z-[9999] top-full mt-1 w-full bg-semantic-bg-primary border border-semantic-border-layout rounded shadow-md animate-in fade-in-0 zoom-in-95 slide-in-from-top-2 duration-200">
|
|
1597
|
+
<div id={listboxId} role="listbox" className="absolute z-[9999] top-full mt-1 w-full bg-semantic-bg-primary border border-solid border-semantic-border-layout rounded shadow-md animate-in fade-in-0 zoom-in-95 slide-in-from-top-2 duration-200">
|
|
1619
1598
|
{/* Creatable hint \u2014 Enter key */}
|
|
1620
|
-
<div className="flex items-center justify-between px-4 py-2 border-b border-semantic-border-layout">
|
|
1599
|
+
<div className="flex items-center justify-between px-4 py-2 border-b border-solid border-semantic-border-layout">
|
|
1621
1600
|
<span className="text-sm text-semantic-text-muted">
|
|
1622
1601
|
{canAddCustom
|
|
1623
1602
|
? \`Press enter to add "\${inputValue.trim()}"\`
|
|
1624
1603
|
: creatableHint}
|
|
1625
1604
|
</span>
|
|
1626
|
-
<kbd className="inline-flex items-center gap-0.5 rounded border border-semantic-border-layout bg-semantic-bg-ui px-1.5 py-0.5 text-[10px] text-semantic-text-muted font-medium shrink-0">
|
|
1605
|
+
<kbd className="inline-flex items-center gap-0.5 rounded border border-solid border-semantic-border-layout bg-semantic-bg-ui px-1.5 py-0.5 text-[10px] text-semantic-text-muted font-medium shrink-0">
|
|
1627
1606
|
Enter \u21B5
|
|
1628
1607
|
</kbd>
|
|
1629
1608
|
</div>
|
|
@@ -1697,9 +1676,9 @@ const creatableSelectTriggerVariants = cva(
|
|
|
1697
1676
|
variants: {
|
|
1698
1677
|
state: {
|
|
1699
1678
|
default:
|
|
1700
|
-
"border border-semantic-border-input focus-within:border-semantic-border-input-focus/50 focus-within:shadow-[0_0_0_1px_rgba(43,188,202,0.15)]",
|
|
1679
|
+
"border border-solid border-semantic-border-input focus-within:border-semantic-border-input-focus/50 focus-within:shadow-[0_0_0_1px_rgba(43,188,202,0.15)]",
|
|
1701
1680
|
error:
|
|
1702
|
-
"border border-semantic-error-primary/40 focus-within:border-semantic-error-primary/60 focus-within:shadow-[0_0_0_1px_rgba(240,68,56,0.1)]",
|
|
1681
|
+
"border border-solid border-semantic-error-primary/40 focus-within:border-semantic-error-primary/60 focus-within:shadow-[0_0_0_1px_rgba(240,68,56,0.1)]",
|
|
1703
1682
|
},
|
|
1704
1683
|
},
|
|
1705
1684
|
defaultVariants: {
|
|
@@ -1733,7 +1712,7 @@ export interface CreatableSelectProps
|
|
|
1733
1712
|
maxLength?: number
|
|
1734
1713
|
}
|
|
1735
1714
|
|
|
1736
|
-
const CreatableSelect = React.forwardRef
|
|
1715
|
+
const CreatableSelect = React.forwardRef(
|
|
1737
1716
|
(
|
|
1738
1717
|
{
|
|
1739
1718
|
className,
|
|
@@ -1746,8 +1725,8 @@ const CreatableSelect = React.forwardRef<HTMLDivElement, CreatableSelectProps>(
|
|
|
1746
1725
|
disabled = false,
|
|
1747
1726
|
maxLength,
|
|
1748
1727
|
...props
|
|
1749
|
-
},
|
|
1750
|
-
ref
|
|
1728
|
+
}: CreatableSelectProps,
|
|
1729
|
+
ref: React.Ref<HTMLDivElement>
|
|
1751
1730
|
) => {
|
|
1752
1731
|
const [open, setOpen] = React.useState(false)
|
|
1753
1732
|
const [search, setSearch] = React.useState("")
|
|
@@ -1931,13 +1910,13 @@ const CreatableSelect = React.forwardRef<HTMLDivElement, CreatableSelectProps>(
|
|
|
1931
1910
|
|
|
1932
1911
|
{/* Dropdown */}
|
|
1933
1912
|
{open && (
|
|
1934
|
-
<div className="absolute left-0 top-full z-[9999] mt-1 w-full rounded border border-semantic-border-layout bg-semantic-bg-primary shadow-md animate-in fade-in-0 zoom-in-95 slide-in-from-top-2 duration-200">
|
|
1913
|
+
<div className="absolute left-0 top-full z-[9999] mt-1 w-full rounded border border-solid border-semantic-border-layout bg-semantic-bg-primary shadow-md animate-in fade-in-0 zoom-in-95 slide-in-from-top-2 duration-200">
|
|
1935
1914
|
{/* Creatable hint */}
|
|
1936
|
-
<div className="flex items-center justify-between px-4 py-2 border-b border-semantic-border-layout">
|
|
1915
|
+
<div className="flex items-center justify-between px-4 py-2 border-b border-solid border-semantic-border-layout">
|
|
1937
1916
|
<span className="text-sm text-semantic-text-muted">
|
|
1938
1917
|
{creatableHint}
|
|
1939
1918
|
</span>
|
|
1940
|
-
<kbd className="inline-flex items-center gap-0.5 rounded border border-semantic-border-layout bg-semantic-bg-ui px-1.5 py-0.5 text-[10px] text-semantic-text-muted font-medium">
|
|
1919
|
+
<kbd className="inline-flex items-center gap-0.5 rounded border border-solid border-semantic-border-layout bg-semantic-bg-ui px-1.5 py-0.5 text-[10px] text-semantic-text-muted font-medium">
|
|
1941
1920
|
Enter \u21B5
|
|
1942
1921
|
</kbd>
|
|
1943
1922
|
</div>
|
|
@@ -2028,8 +2007,8 @@ export interface DateDividerProps
|
|
|
2028
2007
|
children: React.ReactNode;
|
|
2029
2008
|
}
|
|
2030
2009
|
|
|
2031
|
-
const DateDivider = React.forwardRef
|
|
2032
|
-
({ className, children, ...props }, ref) => (
|
|
2010
|
+
const DateDivider = React.forwardRef(
|
|
2011
|
+
({ className, children, ...props }: DateDividerProps, ref: React.Ref<HTMLDivElement>) => (
|
|
2033
2012
|
<div
|
|
2034
2013
|
ref={ref}
|
|
2035
2014
|
className={cn("flex items-center gap-4 my-4", className)}
|
|
@@ -2115,10 +2094,7 @@ export interface DeleteConfirmationModalProps {
|
|
|
2115
2094
|
* />
|
|
2116
2095
|
* \`\`\`
|
|
2117
2096
|
*/
|
|
2118
|
-
const DeleteConfirmationModal = React.forwardRef
|
|
2119
|
-
HTMLDivElement,
|
|
2120
|
-
DeleteConfirmationModalProps
|
|
2121
|
-
>(
|
|
2097
|
+
const DeleteConfirmationModal = React.forwardRef(
|
|
2122
2098
|
(
|
|
2123
2099
|
{
|
|
2124
2100
|
open,
|
|
@@ -2134,8 +2110,8 @@ const DeleteConfirmationModal = React.forwardRef<
|
|
|
2134
2110
|
cancelButtonText = "Cancel",
|
|
2135
2111
|
trigger,
|
|
2136
2112
|
className,
|
|
2137
|
-
},
|
|
2138
|
-
ref
|
|
2113
|
+
}: DeleteConfirmationModalProps,
|
|
2114
|
+
ref: React.Ref<HTMLDivElement>
|
|
2139
2115
|
) => {
|
|
2140
2116
|
const [inputValue, setInputValue] = React.useState("");
|
|
2141
2117
|
const isConfirmEnabled = inputValue === confirmText;
|
|
@@ -2231,10 +2207,7 @@ const DialogPortal = DialogPrimitive.Portal;
|
|
|
2231
2207
|
|
|
2232
2208
|
const DialogClose = DialogPrimitive.Close;
|
|
2233
2209
|
|
|
2234
|
-
const DialogOverlay = React.forwardRef<
|
|
2235
|
-
React.ElementRef<typeof DialogPrimitive.Overlay>,
|
|
2236
|
-
React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>
|
|
2237
|
-
>(({ className, ...props }, ref) => (
|
|
2210
|
+
const DialogOverlay = React.forwardRef(({ className, ...props }: React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>, ref: React.Ref<React.ElementRef<typeof DialogPrimitive.Overlay>>) => (
|
|
2238
2211
|
<DialogPrimitive.Overlay
|
|
2239
2212
|
ref={ref}
|
|
2240
2213
|
className={cn(
|
|
@@ -2247,7 +2220,7 @@ const DialogOverlay = React.forwardRef<
|
|
|
2247
2220
|
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
2248
2221
|
|
|
2249
2222
|
const dialogContentVariants = cva(
|
|
2250
|
-
"fixed left-[50%] top-[50%] z-[9999] grid translate-x-[-50%] translate-y-[-50%] gap-4 border border-border bg-background p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] rounded-lg",
|
|
2223
|
+
"fixed left-[50%] top-[50%] z-[9999] grid translate-x-[-50%] translate-y-[-50%] gap-4 border border-solid border-border bg-background p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] rounded-lg",
|
|
2251
2224
|
{
|
|
2252
2225
|
variants: {
|
|
2253
2226
|
size: {
|
|
@@ -2292,10 +2265,7 @@ const hasDialogDescription = (children: React.ReactNode): boolean => {
|
|
|
2292
2265
|
return found;
|
|
2293
2266
|
};
|
|
2294
2267
|
|
|
2295
|
-
const DialogContent = React.forwardRef<
|
|
2296
|
-
React.ElementRef<typeof DialogPrimitive.Content>,
|
|
2297
|
-
DialogContentProps
|
|
2298
|
-
>(({ className, children, size, hideCloseButton = false, ...props }, ref) => {
|
|
2268
|
+
const DialogContent = React.forwardRef(({ className, children, size, hideCloseButton = false, ...props }: DialogContentProps, ref: React.Ref<React.ElementRef<typeof DialogPrimitive.Content>>) => {
|
|
2299
2269
|
const hasDescription = hasDialogDescription(children);
|
|
2300
2270
|
|
|
2301
2271
|
return (
|
|
@@ -2353,10 +2323,7 @@ const DialogFooter = ({
|
|
|
2353
2323
|
);
|
|
2354
2324
|
DialogFooter.displayName = "DialogFooter";
|
|
2355
2325
|
|
|
2356
|
-
const DialogTitle = React.forwardRef<
|
|
2357
|
-
React.ElementRef<typeof DialogPrimitive.Title>,
|
|
2358
|
-
React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>
|
|
2359
|
-
>(({ className, ...props }, ref) => (
|
|
2326
|
+
const DialogTitle = React.forwardRef(({ className, ...props }: React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>, ref: React.Ref<React.ElementRef<typeof DialogPrimitive.Title>>) => (
|
|
2360
2327
|
<DialogPrimitive.Title
|
|
2361
2328
|
ref={ref}
|
|
2362
2329
|
className={cn(
|
|
@@ -2368,10 +2335,7 @@ const DialogTitle = React.forwardRef<
|
|
|
2368
2335
|
));
|
|
2369
2336
|
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
2370
2337
|
|
|
2371
|
-
const DialogDescription = React.forwardRef<
|
|
2372
|
-
React.ElementRef<typeof DialogPrimitive.Description>,
|
|
2373
|
-
React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>
|
|
2374
|
-
>(({ className, ...props }, ref) => (
|
|
2338
|
+
const DialogDescription = React.forwardRef(({ className, ...props }: React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>, ref: React.Ref<React.ElementRef<typeof DialogPrimitive.Description>>) => (
|
|
2375
2339
|
<DialogPrimitive.Description
|
|
2376
2340
|
ref={ref}
|
|
2377
2341
|
className={cn("text-sm text-muted-foreground", className)}
|
|
@@ -2402,10 +2366,7 @@ import { cn } from "@/lib/utils";
|
|
|
2402
2366
|
|
|
2403
2367
|
const DropdownMenu = DropdownMenuPrimitive.Root;
|
|
2404
2368
|
|
|
2405
|
-
const DropdownMenuTrigger = React.forwardRef<
|
|
2406
|
-
React.ElementRef<typeof DropdownMenuPrimitive.Trigger>,
|
|
2407
|
-
React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Trigger>
|
|
2408
|
-
>(({ className, ...props }, ref) => (
|
|
2369
|
+
const DropdownMenuTrigger = React.forwardRef(({ className, ...props }: React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Trigger>, ref: React.Ref<React.ElementRef<typeof DropdownMenuPrimitive.Trigger>>) => (
|
|
2409
2370
|
<DropdownMenuPrimitive.Trigger
|
|
2410
2371
|
ref={ref}
|
|
2411
2372
|
className={cn("focus-visible:outline-none focus-visible:ring-0", className)}
|
|
@@ -2422,12 +2383,9 @@ const DropdownMenuSub = DropdownMenuPrimitive.Sub;
|
|
|
2422
2383
|
|
|
2423
2384
|
const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
|
|
2424
2385
|
|
|
2425
|
-
const DropdownMenuSubTrigger = React.forwardRef<
|
|
2426
|
-
React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,
|
|
2427
|
-
React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {
|
|
2386
|
+
const DropdownMenuSubTrigger = React.forwardRef(({ className, inset, children, ...props }: React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {
|
|
2428
2387
|
inset?: boolean;
|
|
2429
|
-
}
|
|
2430
|
-
>(({ className, inset, children, ...props }, ref) => (
|
|
2388
|
+
}, ref: React.Ref<React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>>) => (
|
|
2431
2389
|
<DropdownMenuPrimitive.SubTrigger
|
|
2432
2390
|
ref={ref}
|
|
2433
2391
|
className={cn(
|
|
@@ -2444,14 +2402,11 @@ const DropdownMenuSubTrigger = React.forwardRef<
|
|
|
2444
2402
|
DropdownMenuSubTrigger.displayName =
|
|
2445
2403
|
DropdownMenuPrimitive.SubTrigger.displayName;
|
|
2446
2404
|
|
|
2447
|
-
const DropdownMenuSubContent = React.forwardRef<
|
|
2448
|
-
React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,
|
|
2449
|
-
React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>
|
|
2450
|
-
>(({ className, ...props }, ref) => (
|
|
2405
|
+
const DropdownMenuSubContent = React.forwardRef(({ className, ...props }: React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>, ref: React.Ref<React.ElementRef<typeof DropdownMenuPrimitive.SubContent>>) => (
|
|
2451
2406
|
<DropdownMenuPrimitive.SubContent
|
|
2452
2407
|
ref={ref}
|
|
2453
2408
|
className={cn(
|
|
2454
|
-
"z-[9999] min-w-[8rem] overflow-hidden rounded-md border border-semantic-border-layout bg-semantic-bg-primary p-1 text-semantic-text-primary 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",
|
|
2409
|
+
"z-[9999] min-w-[8rem] overflow-hidden rounded-md border border-solid border-semantic-border-layout bg-semantic-bg-primary p-1 text-semantic-text-primary 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",
|
|
2455
2410
|
className
|
|
2456
2411
|
)}
|
|
2457
2412
|
{...props}
|
|
@@ -2460,16 +2415,13 @@ const DropdownMenuSubContent = React.forwardRef<
|
|
|
2460
2415
|
DropdownMenuSubContent.displayName =
|
|
2461
2416
|
DropdownMenuPrimitive.SubContent.displayName;
|
|
2462
2417
|
|
|
2463
|
-
const DropdownMenuContent = React.forwardRef<
|
|
2464
|
-
React.ElementRef<typeof DropdownMenuPrimitive.Content>,
|
|
2465
|
-
React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>
|
|
2466
|
-
>(({ className, sideOffset = 4, ...props }, ref) => (
|
|
2418
|
+
const DropdownMenuContent = React.forwardRef(({ className, sideOffset = 4, ...props }: React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>, ref: React.Ref<React.ElementRef<typeof DropdownMenuPrimitive.Content>>) => (
|
|
2467
2419
|
<DropdownMenuPrimitive.Portal>
|
|
2468
2420
|
<DropdownMenuPrimitive.Content
|
|
2469
2421
|
ref={ref}
|
|
2470
2422
|
sideOffset={sideOffset}
|
|
2471
2423
|
className={cn(
|
|
2472
|
-
"z-[9999] min-w-[8rem] overflow-hidden rounded-md border border-semantic-border-layout bg-semantic-bg-primary p-1 text-semantic-text-primary shadow-md",
|
|
2424
|
+
"z-[9999] min-w-[8rem] overflow-hidden rounded-md border border-solid border-semantic-border-layout bg-semantic-bg-primary p-1 text-semantic-text-primary shadow-md",
|
|
2473
2425
|
"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",
|
|
2474
2426
|
className
|
|
2475
2427
|
)}
|
|
@@ -2479,20 +2431,17 @@ const DropdownMenuContent = React.forwardRef<
|
|
|
2479
2431
|
));
|
|
2480
2432
|
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
2481
2433
|
|
|
2482
|
-
const DropdownMenuItem = React.forwardRef<
|
|
2483
|
-
React.ElementRef<typeof DropdownMenuPrimitive.Item>,
|
|
2484
|
-
React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {
|
|
2434
|
+
const DropdownMenuItem = React.forwardRef(({ className, inset, children, description, suffix, ...props }: React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {
|
|
2485
2435
|
inset?: boolean;
|
|
2486
2436
|
/** Secondary text displayed below children */
|
|
2487
2437
|
description?: string;
|
|
2488
2438
|
/** Content displayed at the right edge of the item */
|
|
2489
2439
|
suffix?: React.ReactNode;
|
|
2490
|
-
}
|
|
2491
|
-
>(({ className, inset, children, description, suffix, ...props }, ref) => (
|
|
2440
|
+
}, ref: React.Ref<React.ElementRef<typeof DropdownMenuPrimitive.Item>>) => (
|
|
2492
2441
|
<DropdownMenuPrimitive.Item
|
|
2493
2442
|
ref={ref}
|
|
2494
2443
|
className={cn(
|
|
2495
|
-
"relative flex cursor-pointer select-none items-center rounded-sm px-2 py-2 text-sm text-semantic-text-secondary outline-none transition-colors focus:bg-semantic-bg-ui focus:text-semantic-text-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
2444
|
+
"relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-2 text-sm text-semantic-text-secondary outline-none transition-colors focus:bg-semantic-bg-ui focus:text-semantic-text-primary data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
2496
2445
|
inset && "pl-8",
|
|
2497
2446
|
className
|
|
2498
2447
|
)}
|
|
@@ -2513,15 +2462,12 @@ const DropdownMenuItem = React.forwardRef<
|
|
|
2513
2462
|
));
|
|
2514
2463
|
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
2515
2464
|
|
|
2516
|
-
const DropdownMenuCheckboxItem = React.forwardRef<
|
|
2517
|
-
React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,
|
|
2518
|
-
React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem> & {
|
|
2465
|
+
const DropdownMenuCheckboxItem = React.forwardRef(({ className, children, checked, description, suffix, ...props }: React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem> & {
|
|
2519
2466
|
/** Secondary text displayed below children */
|
|
2520
2467
|
description?: string;
|
|
2521
2468
|
/** Content displayed at the right edge of the item */
|
|
2522
2469
|
suffix?: React.ReactNode;
|
|
2523
|
-
}
|
|
2524
|
-
>(({ className, children, checked, description, suffix, ...props }, ref) => (
|
|
2470
|
+
}, ref: React.Ref<React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>>) => (
|
|
2525
2471
|
<DropdownMenuPrimitive.CheckboxItem
|
|
2526
2472
|
ref={ref}
|
|
2527
2473
|
className={cn(
|
|
@@ -2552,15 +2498,12 @@ const DropdownMenuCheckboxItem = React.forwardRef<
|
|
|
2552
2498
|
DropdownMenuCheckboxItem.displayName =
|
|
2553
2499
|
DropdownMenuPrimitive.CheckboxItem.displayName;
|
|
2554
2500
|
|
|
2555
|
-
const DropdownMenuRadioItem = React.forwardRef<
|
|
2556
|
-
React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,
|
|
2557
|
-
React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem> & {
|
|
2501
|
+
const DropdownMenuRadioItem = React.forwardRef(({ className, children, description, suffix, ...props }: React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem> & {
|
|
2558
2502
|
/** Secondary text displayed below children */
|
|
2559
2503
|
description?: string;
|
|
2560
2504
|
/** Content displayed at the right edge of the item */
|
|
2561
2505
|
suffix?: React.ReactNode;
|
|
2562
|
-
}
|
|
2563
|
-
>(({ className, children, description, suffix, ...props }, ref) => (
|
|
2506
|
+
}, ref: React.Ref<React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>>) => (
|
|
2564
2507
|
<DropdownMenuPrimitive.RadioItem
|
|
2565
2508
|
ref={ref}
|
|
2566
2509
|
className={cn(
|
|
@@ -2589,12 +2532,9 @@ const DropdownMenuRadioItem = React.forwardRef<
|
|
|
2589
2532
|
));
|
|
2590
2533
|
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
|
2591
2534
|
|
|
2592
|
-
const DropdownMenuLabel = React.forwardRef<
|
|
2593
|
-
React.ElementRef<typeof DropdownMenuPrimitive.Label>,
|
|
2594
|
-
React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {
|
|
2535
|
+
const DropdownMenuLabel = React.forwardRef(({ className, inset, ...props }: React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {
|
|
2595
2536
|
inset?: boolean;
|
|
2596
|
-
}
|
|
2597
|
-
>(({ className, inset, ...props }, ref) => (
|
|
2537
|
+
}, ref: React.Ref<React.ElementRef<typeof DropdownMenuPrimitive.Label>>) => (
|
|
2598
2538
|
<DropdownMenuPrimitive.Label
|
|
2599
2539
|
ref={ref}
|
|
2600
2540
|
className={cn(
|
|
@@ -2607,10 +2547,7 @@ const DropdownMenuLabel = React.forwardRef<
|
|
|
2607
2547
|
));
|
|
2608
2548
|
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
|
2609
2549
|
|
|
2610
|
-
const DropdownMenuSeparator = React.forwardRef<
|
|
2611
|
-
React.ElementRef<typeof DropdownMenuPrimitive.Separator>,
|
|
2612
|
-
React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>
|
|
2613
|
-
>(({ className, ...props }, ref) => (
|
|
2550
|
+
const DropdownMenuSeparator = React.forwardRef(({ className, ...props }: React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>, ref: React.Ref<React.ElementRef<typeof DropdownMenuPrimitive.Separator>>) => (
|
|
2614
2551
|
<DropdownMenuPrimitive.Separator
|
|
2615
2552
|
ref={ref}
|
|
2616
2553
|
className={cn("-mx-1 my-1 h-px bg-semantic-border-layout", className)}
|
|
@@ -2777,7 +2714,7 @@ export interface FormModalProps {
|
|
|
2777
2714
|
* </FormModal>
|
|
2778
2715
|
* \`\`\`
|
|
2779
2716
|
*/
|
|
2780
|
-
const FormModal = React.forwardRef
|
|
2717
|
+
const FormModal = React.forwardRef(
|
|
2781
2718
|
(
|
|
2782
2719
|
{
|
|
2783
2720
|
open,
|
|
@@ -2793,8 +2730,8 @@ const FormModal = React.forwardRef<HTMLDivElement, FormModalProps>(
|
|
|
2793
2730
|
disableSave = false,
|
|
2794
2731
|
className,
|
|
2795
2732
|
size = "sm",
|
|
2796
|
-
},
|
|
2797
|
-
ref
|
|
2733
|
+
}: FormModalProps,
|
|
2734
|
+
ref: React.Ref<HTMLDivElement>
|
|
2798
2735
|
) => {
|
|
2799
2736
|
const handleSave = () => {
|
|
2800
2737
|
onSave?.();
|
|
@@ -2868,8 +2805,8 @@ export interface ImageMediaProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
2868
2805
|
maxHeight?: number | string;
|
|
2869
2806
|
}
|
|
2870
2807
|
|
|
2871
|
-
const ImageMedia = React.forwardRef
|
|
2872
|
-
({ className, src, alt = "Image", maxHeight = 280, ...props }, ref) => {
|
|
2808
|
+
const ImageMedia = React.forwardRef(
|
|
2809
|
+
({ className, src, alt = "Image", maxHeight = 280, ...props }: ImageMediaProps, ref: React.Ref<HTMLDivElement>) => {
|
|
2873
2810
|
const maxHeightStyle =
|
|
2874
2811
|
typeof maxHeight === "number" ? \`\${maxHeight}px\` : maxHeight;
|
|
2875
2812
|
|
|
@@ -2904,9 +2841,9 @@ const inputVariants = cva(
|
|
|
2904
2841
|
variants: {
|
|
2905
2842
|
state: {
|
|
2906
2843
|
default:
|
|
2907
|
-
"border border-
|
|
2844
|
+
"border border-solid border-semantic-border-input focus:outline-none focus:border-semantic-border-input-focus focus:shadow-[0_0_0_1px_rgba(43,188,202,0.15)]",
|
|
2908
2845
|
error:
|
|
2909
|
-
"border border-
|
|
2846
|
+
"border border-solid border-semantic-error-primary/40 focus:outline-none focus:border-semantic-error-primary focus:shadow-[0_0_0_1px_rgba(240,68,56,0.1)]",
|
|
2910
2847
|
},
|
|
2911
2848
|
},
|
|
2912
2849
|
defaultVariants: {
|
|
@@ -2933,8 +2870,8 @@ export interface InputProps
|
|
|
2933
2870
|
showCheckIcon?: boolean;
|
|
2934
2871
|
}
|
|
2935
2872
|
|
|
2936
|
-
const Input = React.forwardRef
|
|
2937
|
-
({ className, state, type, showCheckIcon, onFocus, onBlur, onWheel, ...props }, ref) => {
|
|
2873
|
+
const Input = React.forwardRef(
|
|
2874
|
+
({ className, state, type, showCheckIcon, onFocus, onBlur, onWheel, ...props }: InputProps, ref: React.Ref<HTMLInputElement>) => {
|
|
2938
2875
|
const [isFocused, setIsFocused] = React.useState(false);
|
|
2939
2876
|
|
|
2940
2877
|
const inputEl = (
|
|
@@ -2998,9 +2935,9 @@ const multiSelectTriggerVariants = cva(
|
|
|
2998
2935
|
variants: {
|
|
2999
2936
|
state: {
|
|
3000
2937
|
default:
|
|
3001
|
-
"border border-semantic-border-input focus:outline-none focus:border-semantic-border-input-focus/50 focus:shadow-[0_0_0_1px_rgba(43,188,202,0.15)]",
|
|
2938
|
+
"border border-solid border-semantic-border-input focus:outline-none focus:border-semantic-border-input-focus/50 focus:shadow-[0_0_0_1px_rgba(43,188,202,0.15)]",
|
|
3002
2939
|
error:
|
|
3003
|
-
"border border-semantic-error-primary/40 focus:outline-none focus:border-semantic-error-primary/60 focus:shadow-[0_0_0_1px_rgba(240,68,56,0.1)]",
|
|
2940
|
+
"border border-solid border-semantic-error-primary/40 focus:outline-none focus:border-semantic-error-primary/60 focus:shadow-[0_0_0_1px_rgba(240,68,56,0.1)]",
|
|
3004
2941
|
},
|
|
3005
2942
|
},
|
|
3006
2943
|
defaultVariants: {
|
|
@@ -3078,7 +3015,7 @@ export interface MultiSelectProps extends VariantProps<
|
|
|
3078
3015
|
* />
|
|
3079
3016
|
* \`\`\`
|
|
3080
3017
|
*/
|
|
3081
|
-
const MultiSelect = React.forwardRef
|
|
3018
|
+
const MultiSelect = React.forwardRef(
|
|
3082
3019
|
(
|
|
3083
3020
|
{
|
|
3084
3021
|
label,
|
|
@@ -3101,8 +3038,8 @@ const MultiSelect = React.forwardRef<HTMLButtonElement, MultiSelectProps>(
|
|
|
3101
3038
|
state,
|
|
3102
3039
|
id,
|
|
3103
3040
|
name,
|
|
3104
|
-
},
|
|
3105
|
-
ref
|
|
3041
|
+
}: MultiSelectProps,
|
|
3042
|
+
ref: React.Ref<HTMLButtonElement>
|
|
3106
3043
|
) => {
|
|
3107
3044
|
// Internal state for selected values (uncontrolled mode)
|
|
3108
3045
|
const [internalValue, setInternalValue] =
|
|
@@ -3321,7 +3258,7 @@ const MultiSelect = React.forwardRef<HTMLButtonElement, MultiSelectProps>(
|
|
|
3321
3258
|
<div
|
|
3322
3259
|
id={listboxId}
|
|
3323
3260
|
className={cn(
|
|
3324
|
-
"absolute z-50 mt-1 w-full rounded bg-semantic-bg-primary border border-semantic-border-layout shadow-md",
|
|
3261
|
+
"absolute z-50 mt-1 w-full rounded bg-semantic-bg-primary border border-solid border-semantic-border-layout shadow-md",
|
|
3325
3262
|
"top-full"
|
|
3326
3263
|
)}
|
|
3327
3264
|
role="listbox"
|
|
@@ -3329,13 +3266,13 @@ const MultiSelect = React.forwardRef<HTMLButtonElement, MultiSelectProps>(
|
|
|
3329
3266
|
>
|
|
3330
3267
|
{/* Search input */}
|
|
3331
3268
|
{searchable && (
|
|
3332
|
-
<div className="p-2 border-b border-semantic-border-layout">
|
|
3269
|
+
<div className="p-2 border-b border-solid border-semantic-border-layout">
|
|
3333
3270
|
<input
|
|
3334
3271
|
type="text"
|
|
3335
3272
|
placeholder={searchPlaceholder}
|
|
3336
3273
|
value={searchQuery}
|
|
3337
3274
|
onChange={(e) => setSearchQuery(e.target.value)}
|
|
3338
|
-
className="w-full h-8 px-3 text-sm border border-semantic-border-input rounded bg-semantic-bg-primary placeholder:text-semantic-text-placeholder focus:outline-none focus:border-semantic-border-input-focus/50"
|
|
3275
|
+
className="w-full h-8 px-3 text-sm border border-solid border-semantic-border-input rounded bg-semantic-bg-primary placeholder:text-semantic-text-placeholder focus:outline-none focus:border-semantic-border-input-focus/50"
|
|
3339
3276
|
onClick={(e) => e.stopPropagation()}
|
|
3340
3277
|
/>
|
|
3341
3278
|
</div>
|
|
@@ -3386,7 +3323,7 @@ const MultiSelect = React.forwardRef<HTMLButtonElement, MultiSelectProps>(
|
|
|
3386
3323
|
|
|
3387
3324
|
{/* Footer with count */}
|
|
3388
3325
|
{maxSelections && (
|
|
3389
|
-
<div className="p-2 border-t border-semantic-border-layout text-xs text-semantic-text-muted">
|
|
3326
|
+
<div className="p-2 border-t border-solid border-semantic-border-layout text-xs text-semantic-text-muted">
|
|
3390
3327
|
{selectedValues.length} / {maxSelections} selected
|
|
3391
3328
|
</div>
|
|
3392
3329
|
)}
|
|
@@ -3500,7 +3437,7 @@ export interface PageHeaderProps
|
|
|
3500
3437
|
mobileOverflowLimit?: number;
|
|
3501
3438
|
}
|
|
3502
3439
|
|
|
3503
|
-
const PageHeader = React.forwardRef
|
|
3440
|
+
const PageHeader = React.forwardRef(
|
|
3504
3441
|
(
|
|
3505
3442
|
{
|
|
3506
3443
|
className,
|
|
@@ -3516,8 +3453,8 @@ const PageHeader = React.forwardRef<HTMLDivElement, PageHeaderProps>(
|
|
|
3516
3453
|
layout = "responsive",
|
|
3517
3454
|
mobileOverflowLimit = 2,
|
|
3518
3455
|
...props
|
|
3519
|
-
},
|
|
3520
|
-
ref
|
|
3456
|
+
}: PageHeaderProps,
|
|
3457
|
+
ref: React.Ref<HTMLDivElement>
|
|
3521
3458
|
) => {
|
|
3522
3459
|
// State for overflow expansion (moved to top level)
|
|
3523
3460
|
const [isOverflowExpanded, setIsOverflowExpanded] = React.useState(false);
|
|
@@ -3681,7 +3618,7 @@ const PageHeader = React.forwardRef<HTMLDivElement, PageHeaderProps>(
|
|
|
3681
3618
|
"flex w-full bg-semantic-bg-primary px-4",
|
|
3682
3619
|
layoutClasses[layout],
|
|
3683
3620
|
heightClasses[layout],
|
|
3684
|
-
showBorder && "border-b border-semantic-border-layout",
|
|
3621
|
+
showBorder && "border-b border-solid border-semantic-border-layout",
|
|
3685
3622
|
className
|
|
3686
3623
|
)}
|
|
3687
3624
|
{...props}
|
|
@@ -4035,7 +3972,7 @@ import { Button } from "./button";
|
|
|
4035
3972
|
* Panel root variants
|
|
4036
3973
|
*/
|
|
4037
3974
|
const panelVariants = cva(
|
|
4038
|
-
"border-l border-semantic-border-layout bg-semantic-bg-primary flex flex-col overflow-hidden transition-all duration-300 ease-in-out shrink-0",
|
|
3975
|
+
"border-l border-solid border-semantic-border-layout bg-semantic-bg-primary flex flex-col overflow-hidden transition-all duration-300 ease-in-out shrink-0",
|
|
4039
3976
|
{
|
|
4040
3977
|
variants: {
|
|
4041
3978
|
size: {
|
|
@@ -4083,7 +4020,7 @@ export interface PanelProps
|
|
|
4083
4020
|
* </Panel>
|
|
4084
4021
|
* \`\`\`
|
|
4085
4022
|
*/
|
|
4086
|
-
const Panel = React.forwardRef
|
|
4023
|
+
const Panel = React.forwardRef(
|
|
4087
4024
|
(
|
|
4088
4025
|
{
|
|
4089
4026
|
open = true,
|
|
@@ -4097,8 +4034,8 @@ const Panel = React.forwardRef<HTMLElement, PanelProps>(
|
|
|
4097
4034
|
"aria-label": ariaLabel,
|
|
4098
4035
|
onKeyDown,
|
|
4099
4036
|
...props
|
|
4100
|
-
},
|
|
4101
|
-
ref
|
|
4037
|
+
}: PanelProps,
|
|
4038
|
+
ref: React.Ref<HTMLElement>
|
|
4102
4039
|
) => {
|
|
4103
4040
|
const resolvedSize = size ?? "default";
|
|
4104
4041
|
const widthClass = panelWidths[resolvedSize];
|
|
@@ -4139,7 +4076,7 @@ const Panel = React.forwardRef<HTMLElement, PanelProps>(
|
|
|
4139
4076
|
>
|
|
4140
4077
|
{/* Header */}
|
|
4141
4078
|
{header ?? (
|
|
4142
|
-
<div className="flex items-center gap-3 px-4 h-14 border-b border-semantic-border-layout shrink-0">
|
|
4079
|
+
<div className="flex items-center gap-3 px-4 h-14 border-b border-solid border-semantic-border-layout shrink-0">
|
|
4143
4080
|
{title && (
|
|
4144
4081
|
<span className="flex-1 text-base font-semibold text-semantic-text-primary truncate">
|
|
4145
4082
|
{title}
|
|
@@ -4165,7 +4102,7 @@ const Panel = React.forwardRef<HTMLElement, PanelProps>(
|
|
|
4165
4102
|
|
|
4166
4103
|
{/* Footer */}
|
|
4167
4104
|
{footer && (
|
|
4168
|
-
<div className="flex gap-3 px-4 py-3 shrink-0 border-t border-semantic-border-layout">
|
|
4105
|
+
<div className="flex gap-3 px-4 py-3 shrink-0 border-t border-solid border-semantic-border-layout">
|
|
4169
4106
|
{footer}
|
|
4170
4107
|
</div>
|
|
4171
4108
|
)}
|
|
@@ -4207,7 +4144,7 @@ export interface PhoneInputProps
|
|
|
4207
4144
|
wrapperClassName?: string;
|
|
4208
4145
|
}
|
|
4209
4146
|
|
|
4210
|
-
const PhoneInput = React.forwardRef
|
|
4147
|
+
const PhoneInput = React.forwardRef(
|
|
4211
4148
|
(
|
|
4212
4149
|
{
|
|
4213
4150
|
className,
|
|
@@ -4218,14 +4155,14 @@ const PhoneInput = React.forwardRef<HTMLInputElement, PhoneInputProps>(
|
|
|
4218
4155
|
wrapperClassName,
|
|
4219
4156
|
disabled,
|
|
4220
4157
|
...props
|
|
4221
|
-
},
|
|
4222
|
-
ref
|
|
4158
|
+
}: PhoneInputProps,
|
|
4159
|
+
ref: React.Ref<HTMLInputElement>
|
|
4223
4160
|
) => {
|
|
4224
4161
|
return (
|
|
4225
4162
|
<div
|
|
4226
4163
|
className={cn(
|
|
4227
|
-
"flex items-center border border-semantic-border-layout rounded-lg focus-within:border-semantic-border-focus transition-colors",
|
|
4228
|
-
disabled && "opacity-60",
|
|
4164
|
+
"flex items-center border border-solid border-semantic-border-layout rounded-lg focus-within:border-semantic-border-focus transition-colors",
|
|
4165
|
+
disabled && "opacity-60 bg-semantic-bg-ui cursor-not-allowed",
|
|
4229
4166
|
wrapperClassName
|
|
4230
4167
|
)}
|
|
4231
4168
|
>
|
|
@@ -4318,7 +4255,7 @@ export interface ReadableFieldProps
|
|
|
4318
4255
|
* />
|
|
4319
4256
|
* \`\`\`
|
|
4320
4257
|
*/
|
|
4321
|
-
export const ReadableField = React.forwardRef
|
|
4258
|
+
export const ReadableField = React.forwardRef(
|
|
4322
4259
|
(
|
|
4323
4260
|
{
|
|
4324
4261
|
label,
|
|
@@ -4330,8 +4267,8 @@ export const ReadableField = React.forwardRef<HTMLDivElement, ReadableFieldProps
|
|
|
4330
4267
|
className,
|
|
4331
4268
|
inputClassName,
|
|
4332
4269
|
...props
|
|
4333
|
-
},
|
|
4334
|
-
ref
|
|
4270
|
+
}: ReadableFieldProps,
|
|
4271
|
+
ref: React.Ref<HTMLDivElement>
|
|
4335
4272
|
) => {
|
|
4336
4273
|
const [copied, setCopied] = React.useState(false);
|
|
4337
4274
|
const [isVisible, setIsVisible] = React.useState(!secret);
|
|
@@ -4398,7 +4335,7 @@ export const ReadableField = React.forwardRef<HTMLDivElement, ReadableFieldProps
|
|
|
4398
4335
|
{headerAction.disabledTooltip && (
|
|
4399
4336
|
<span className="pointer-events-none absolute bottom-full right-0 mb-2 whitespace-nowrap rounded bg-semantic-primary px-2 py-1 text-xs text-semantic-text-inverted opacity-0 transition-opacity group-hover/regen-action:opacity-100 z-10">
|
|
4400
4337
|
{headerAction.disabledTooltip}
|
|
4401
|
-
<span className="absolute top-full right-2 border-4 border-transparent border-t-semantic-primary" />
|
|
4338
|
+
<span className="absolute top-full right-2 border-4 border-solid border-transparent border-t-semantic-primary" />
|
|
4402
4339
|
</span>
|
|
4403
4340
|
)}
|
|
4404
4341
|
</span>
|
|
@@ -4417,7 +4354,7 @@ export const ReadableField = React.forwardRef<HTMLDivElement, ReadableFieldProps
|
|
|
4417
4354
|
{/* Input Container */}
|
|
4418
4355
|
<div
|
|
4419
4356
|
className={cn(
|
|
4420
|
-
"flex h-11 items-center justify-between rounded border border-semantic-border-layout bg-semantic-bg-ui pl-4 pr-2.5 py-2.5",
|
|
4357
|
+
"flex h-11 items-center justify-between rounded border border-solid border-semantic-border-layout bg-semantic-bg-ui pl-4 pr-2.5 py-2.5",
|
|
4421
4358
|
inputClassName
|
|
4422
4359
|
)}
|
|
4423
4360
|
>
|
|
@@ -4503,8 +4440,8 @@ export interface ReplyQuoteProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
4503
4440
|
message: string;
|
|
4504
4441
|
}
|
|
4505
4442
|
|
|
4506
|
-
const ReplyQuote = React.forwardRef
|
|
4507
|
-
({ className, sender, message, onClick, onKeyDown, role, tabIndex, "aria-label": ariaLabel, ...props }, ref) => {
|
|
4443
|
+
const ReplyQuote = React.forwardRef(
|
|
4444
|
+
({ className, sender, message, onClick, onKeyDown, role, tabIndex, "aria-label": ariaLabel, ...props }: ReplyQuoteProps, ref: React.Ref<HTMLDivElement>) => {
|
|
4508
4445
|
const isInteractive = !!onClick;
|
|
4509
4446
|
|
|
4510
4447
|
const handleKeyDown = React.useCallback(
|
|
@@ -4524,7 +4461,7 @@ const ReplyQuote = React.forwardRef<HTMLDivElement, ReplyQuoteProps>(
|
|
|
4524
4461
|
<div
|
|
4525
4462
|
ref={ref}
|
|
4526
4463
|
className={cn(
|
|
4527
|
-
"w-full bg-semantic-bg-ui border-l-[3px] border-semantic-border-accent rounded-sm px-4 py-1.5 mb-2 h-[56px] flex flex-col justify-center cursor-pointer hover:bg-semantic-bg-hover transition-colors",
|
|
4464
|
+
"w-full bg-semantic-bg-ui border-l-[3px] border-solid border-semantic-border-accent rounded-sm px-4 py-1.5 mb-2 h-[56px] flex flex-col justify-center cursor-pointer hover:bg-semantic-bg-hover transition-colors",
|
|
4528
4465
|
isInteractive && "focus-visible:ring-2 focus-visible:ring-semantic-border-focus focus-visible:ring-offset-1 focus-visible:outline-none",
|
|
4529
4466
|
className
|
|
4530
4467
|
)}
|
|
@@ -4640,7 +4577,7 @@ export interface SelectFieldProps {
|
|
|
4640
4577
|
* />
|
|
4641
4578
|
* \`\`\`
|
|
4642
4579
|
*/
|
|
4643
|
-
const SelectField = React.forwardRef
|
|
4580
|
+
const SelectField = React.forwardRef(
|
|
4644
4581
|
(
|
|
4645
4582
|
{
|
|
4646
4583
|
label,
|
|
@@ -4663,8 +4600,8 @@ const SelectField = React.forwardRef<HTMLButtonElement, SelectFieldProps>(
|
|
|
4663
4600
|
labelClassName,
|
|
4664
4601
|
id,
|
|
4665
4602
|
name,
|
|
4666
|
-
},
|
|
4667
|
-
ref
|
|
4603
|
+
}: SelectFieldProps,
|
|
4604
|
+
ref: React.Ref<HTMLButtonElement>
|
|
4668
4605
|
) => {
|
|
4669
4606
|
// Internal state for search
|
|
4670
4607
|
const [searchQuery, setSearchQuery] = React.useState("");
|
|
@@ -4797,7 +4734,7 @@ const SelectField = React.forwardRef<HTMLButtonElement, SelectFieldProps>(
|
|
|
4797
4734
|
<SelectContent>
|
|
4798
4735
|
{/* Search input */}
|
|
4799
4736
|
{searchable && (
|
|
4800
|
-
<div className="flex items-center gap-2 px-3 pb-1.5 border-b border-semantic-border-layout">
|
|
4737
|
+
<div className="flex items-center gap-2 px-3 pb-1.5 border-b border-solid border-semantic-border-layout">
|
|
4801
4738
|
<Search className="size-4 text-semantic-text-muted shrink-0" />
|
|
4802
4739
|
<input
|
|
4803
4740
|
type="text"
|
|
@@ -4897,9 +4834,9 @@ const selectTriggerVariants = cva(
|
|
|
4897
4834
|
variants: {
|
|
4898
4835
|
state: {
|
|
4899
4836
|
default:
|
|
4900
|
-
"border border-semantic-border-input focus:outline-none focus:border-semantic-border-input-focus/50 focus:shadow-[0_0_0_1px_rgba(43,188,202,0.15)]",
|
|
4837
|
+
"border border-solid border-semantic-border-input focus:outline-none focus:border-semantic-border-input-focus/50 focus:shadow-[0_0_0_1px_rgba(43,188,202,0.15)]",
|
|
4901
4838
|
error:
|
|
4902
|
-
"border border-semantic-error-primary/40 focus:outline-none focus:border-semantic-error-primary/60 focus:shadow-[0_0_0_1px_rgba(240,68,56,0.1)]",
|
|
4839
|
+
"border border-solid border-semantic-error-primary/40 focus:outline-none focus:border-semantic-error-primary/60 focus:shadow-[0_0_0_1px_rgba(240,68,56,0.1)]",
|
|
4903
4840
|
},
|
|
4904
4841
|
},
|
|
4905
4842
|
defaultVariants: {
|
|
@@ -4912,10 +4849,7 @@ const Select = SelectPrimitive.Root;
|
|
|
4912
4849
|
|
|
4913
4850
|
const SelectGroup = SelectPrimitive.Group;
|
|
4914
4851
|
|
|
4915
|
-
const SelectValue = React.forwardRef<
|
|
4916
|
-
React.ElementRef<typeof SelectPrimitive.Value>,
|
|
4917
|
-
React.ComponentPropsWithoutRef<typeof SelectPrimitive.Value>
|
|
4918
|
-
>(({ className, ...props }, ref) => (
|
|
4852
|
+
const SelectValue = React.forwardRef(({ className, ...props }: React.ComponentPropsWithoutRef<typeof SelectPrimitive.Value>, ref: React.Ref<React.ElementRef<typeof SelectPrimitive.Value>>) => (
|
|
4919
4853
|
<SelectPrimitive.Value
|
|
4920
4854
|
ref={ref}
|
|
4921
4855
|
className={cn("[&[data-placeholder]]:text-semantic-text-muted", className)}
|
|
@@ -4929,10 +4863,7 @@ export interface SelectTriggerProps
|
|
|
4929
4863
|
React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>,
|
|
4930
4864
|
VariantProps<typeof selectTriggerVariants> {}
|
|
4931
4865
|
|
|
4932
|
-
const SelectTrigger = React.forwardRef<
|
|
4933
|
-
React.ElementRef<typeof SelectPrimitive.Trigger>,
|
|
4934
|
-
SelectTriggerProps
|
|
4935
|
-
>(({ className, state, children, ...props }, ref) => (
|
|
4866
|
+
const SelectTrigger = React.forwardRef(({ className, state, children, ...props }: SelectTriggerProps, ref: React.Ref<React.ElementRef<typeof SelectPrimitive.Trigger>>) => (
|
|
4936
4867
|
<SelectPrimitive.Trigger
|
|
4937
4868
|
ref={ref}
|
|
4938
4869
|
className={cn(selectTriggerVariants({ state, className }))}
|
|
@@ -4946,10 +4877,7 @@ const SelectTrigger = React.forwardRef<
|
|
|
4946
4877
|
));
|
|
4947
4878
|
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
4948
4879
|
|
|
4949
|
-
const SelectScrollUpButton = React.forwardRef<
|
|
4950
|
-
React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,
|
|
4951
|
-
React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>
|
|
4952
|
-
>(({ className, ...props }, ref) => (
|
|
4880
|
+
const SelectScrollUpButton = React.forwardRef(({ className, ...props }: React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>, ref: React.Ref<React.ElementRef<typeof SelectPrimitive.ScrollUpButton>>) => (
|
|
4953
4881
|
<SelectPrimitive.ScrollUpButton
|
|
4954
4882
|
ref={ref}
|
|
4955
4883
|
className={cn(
|
|
@@ -4963,10 +4891,7 @@ const SelectScrollUpButton = React.forwardRef<
|
|
|
4963
4891
|
));
|
|
4964
4892
|
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
|
4965
4893
|
|
|
4966
|
-
const SelectScrollDownButton = React.forwardRef<
|
|
4967
|
-
React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,
|
|
4968
|
-
React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>
|
|
4969
|
-
>(({ className, ...props }, ref) => (
|
|
4894
|
+
const SelectScrollDownButton = React.forwardRef(({ className, ...props }: React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>, ref: React.Ref<React.ElementRef<typeof SelectPrimitive.ScrollDownButton>>) => (
|
|
4970
4895
|
<SelectPrimitive.ScrollDownButton
|
|
4971
4896
|
ref={ref}
|
|
4972
4897
|
className={cn(
|
|
@@ -5020,10 +4945,7 @@ function useUnlockBodyScroll() {
|
|
|
5020
4945
|
}, []);
|
|
5021
4946
|
}
|
|
5022
4947
|
|
|
5023
|
-
const SelectContent = React.forwardRef<
|
|
5024
|
-
React.ElementRef<typeof SelectPrimitive.Content>,
|
|
5025
|
-
React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>
|
|
5026
|
-
>(({ className, children, position = "popper", ...props }, ref) => {
|
|
4948
|
+
const SelectContent = React.forwardRef(({ className, children, position = "popper", ...props }: React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>, ref: React.Ref<React.ElementRef<typeof SelectPrimitive.Content>>) => {
|
|
5027
4949
|
useUnlockBodyScroll();
|
|
5028
4950
|
|
|
5029
4951
|
return (
|
|
@@ -5031,7 +4953,7 @@ const SelectContent = React.forwardRef<
|
|
|
5031
4953
|
<SelectPrimitive.Content
|
|
5032
4954
|
ref={ref}
|
|
5033
4955
|
className={cn(
|
|
5034
|
-
"relative z-[9999] max-h-96 min-w-[8rem] overflow-hidden rounded bg-semantic-bg-primary border border-semantic-border-layout shadow-md",
|
|
4956
|
+
"relative z-[9999] max-h-96 min-w-[8rem] overflow-hidden rounded bg-semantic-bg-primary border border-solid border-semantic-border-layout shadow-md",
|
|
5035
4957
|
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
5036
4958
|
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
5037
4959
|
"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
@@ -5061,10 +4983,7 @@ const SelectContent = React.forwardRef<
|
|
|
5061
4983
|
});
|
|
5062
4984
|
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
5063
4985
|
|
|
5064
|
-
const SelectLabel = React.forwardRef<
|
|
5065
|
-
React.ElementRef<typeof SelectPrimitive.Label>,
|
|
5066
|
-
React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>
|
|
5067
|
-
>(({ className, ...props }, ref) => (
|
|
4986
|
+
const SelectLabel = React.forwardRef(({ className, ...props }: React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>, ref: React.Ref<React.ElementRef<typeof SelectPrimitive.Label>>) => (
|
|
5068
4987
|
<SelectPrimitive.Label
|
|
5069
4988
|
ref={ref}
|
|
5070
4989
|
className={cn(
|
|
@@ -5076,10 +4995,7 @@ const SelectLabel = React.forwardRef<
|
|
|
5076
4995
|
));
|
|
5077
4996
|
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
5078
4997
|
|
|
5079
|
-
const SelectItem = React.forwardRef<
|
|
5080
|
-
React.ElementRef<typeof SelectPrimitive.Item>,
|
|
5081
|
-
React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>
|
|
5082
|
-
>(({ className, children, ...props }, ref) => (
|
|
4998
|
+
const SelectItem = React.forwardRef(({ className, children, ...props }: React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>, ref: React.Ref<React.ElementRef<typeof SelectPrimitive.Item>>) => (
|
|
5083
4999
|
<SelectPrimitive.Item
|
|
5084
5000
|
ref={ref}
|
|
5085
5001
|
className={cn(
|
|
@@ -5100,10 +5016,7 @@ const SelectItem = React.forwardRef<
|
|
|
5100
5016
|
));
|
|
5101
5017
|
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
5102
5018
|
|
|
5103
|
-
const SelectSeparator = React.forwardRef<
|
|
5104
|
-
React.ElementRef<typeof SelectPrimitive.Separator>,
|
|
5105
|
-
React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>
|
|
5106
|
-
>(({ className, ...props }, ref) => (
|
|
5019
|
+
const SelectSeparator = React.forwardRef(({ className, ...props }: React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>, ref: React.Ref<React.ElementRef<typeof SelectPrimitive.Separator>>) => (
|
|
5107
5020
|
<SelectPrimitive.Separator
|
|
5108
5021
|
ref={ref}
|
|
5109
5022
|
className={cn("-mx-1 my-1 h-px bg-semantic-border-layout", className)}
|
|
@@ -5181,8 +5094,8 @@ export interface SkeletonProps
|
|
|
5181
5094
|
height?: number | string;
|
|
5182
5095
|
}
|
|
5183
5096
|
|
|
5184
|
-
const Skeleton = React.forwardRef
|
|
5185
|
-
({ className, variant, shape, width, height, style, ...props }, ref) => {
|
|
5097
|
+
const Skeleton = React.forwardRef(
|
|
5098
|
+
({ className, variant, shape, width, height, style, ...props }: SkeletonProps, ref: React.Ref<HTMLDivElement>) => {
|
|
5186
5099
|
const dimensionStyle: React.CSSProperties = {
|
|
5187
5100
|
...style,
|
|
5188
5101
|
...(width !== undefined
|
|
@@ -5268,7 +5181,7 @@ export interface SpinnerProps
|
|
|
5268
5181
|
"aria-label"?: string;
|
|
5269
5182
|
}
|
|
5270
5183
|
|
|
5271
|
-
const Spinner = React.forwardRef
|
|
5184
|
+
const Spinner = React.forwardRef(
|
|
5272
5185
|
(
|
|
5273
5186
|
{
|
|
5274
5187
|
className,
|
|
@@ -5276,8 +5189,8 @@ const Spinner = React.forwardRef<HTMLDivElement, SpinnerProps>(
|
|
|
5276
5189
|
variant,
|
|
5277
5190
|
"aria-label": ariaLabel = "Loading",
|
|
5278
5191
|
...props
|
|
5279
|
-
},
|
|
5280
|
-
ref
|
|
5192
|
+
}: SpinnerProps,
|
|
5193
|
+
ref: React.Ref<HTMLDivElement>
|
|
5281
5194
|
) => {
|
|
5282
5195
|
const strokeWidth = strokeWidths[size || "default"] ?? 3;
|
|
5283
5196
|
const radius = 10;
|
|
@@ -5337,7 +5250,7 @@ import { cn } from "@/lib/utils";
|
|
|
5337
5250
|
* Switch track variants (the outer container)
|
|
5338
5251
|
*/
|
|
5339
5252
|
const switchVariants = cva(
|
|
5340
|
-
"peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-semantic-primary focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-semantic-primary data-[state=unchecked]:bg-semantic-bg-grey",
|
|
5253
|
+
"peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-solid border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-semantic-primary focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-semantic-primary data-[state=unchecked]:bg-semantic-bg-grey",
|
|
5341
5254
|
{
|
|
5342
5255
|
variants: {
|
|
5343
5256
|
size: {
|
|
@@ -5410,13 +5323,10 @@ export interface SwitchProps
|
|
|
5410
5323
|
labelPosition?: "left" | "right";
|
|
5411
5324
|
}
|
|
5412
5325
|
|
|
5413
|
-
const Switch = React.forwardRef
|
|
5414
|
-
React.ElementRef<typeof SwitchPrimitives.Root>,
|
|
5415
|
-
SwitchProps
|
|
5416
|
-
>(
|
|
5326
|
+
const Switch = React.forwardRef(
|
|
5417
5327
|
(
|
|
5418
|
-
{ className, size, label, labelPosition = "right", disabled, ...props },
|
|
5419
|
-
ref
|
|
5328
|
+
{ className, size, label, labelPosition = "right", disabled, ...props }: SwitchProps,
|
|
5329
|
+
ref: React.Ref<React.ElementRef<typeof SwitchPrimitives.Root>>
|
|
5420
5330
|
) => {
|
|
5421
5331
|
const switchElement = (
|
|
5422
5332
|
<SwitchPrimitives.Root
|
|
@@ -5492,8 +5402,8 @@ export interface SystemMessageProps
|
|
|
5492
5402
|
children: string;
|
|
5493
5403
|
}
|
|
5494
5404
|
|
|
5495
|
-
const SystemMessage = React.forwardRef
|
|
5496
|
-
({ className, children, ...props }, ref) => (
|
|
5405
|
+
const SystemMessage = React.forwardRef(
|
|
5406
|
+
({ className, children, ...props }: SystemMessageProps, ref: React.Ref<HTMLDivElement>) => (
|
|
5497
5407
|
<div
|
|
5498
5408
|
ref={ref}
|
|
5499
5409
|
className={cn("flex justify-center my-1", className)}
|
|
@@ -5571,12 +5481,12 @@ export interface TableProps
|
|
|
5571
5481
|
wrapContent?: boolean;
|
|
5572
5482
|
}
|
|
5573
5483
|
|
|
5574
|
-
const Table = React.forwardRef
|
|
5575
|
-
({ className, size, withoutBorder, wrapContent, ...props }, ref) => (
|
|
5484
|
+
const Table = React.forwardRef(
|
|
5485
|
+
({ className, size, withoutBorder, wrapContent, ...props }: TableProps, ref: React.Ref<HTMLTableElement>) => (
|
|
5576
5486
|
<div
|
|
5577
5487
|
className={cn(
|
|
5578
5488
|
"relative w-full overflow-auto",
|
|
5579
|
-
!withoutBorder && "rounded-lg border border-semantic-border-layout"
|
|
5489
|
+
!withoutBorder && "rounded-lg border border-solid border-semantic-border-layout"
|
|
5580
5490
|
)}
|
|
5581
5491
|
>
|
|
5582
5492
|
<table
|
|
@@ -5593,13 +5503,10 @@ const Table = React.forwardRef<HTMLTableElement, TableProps>(
|
|
|
5593
5503
|
);
|
|
5594
5504
|
Table.displayName = "Table";
|
|
5595
5505
|
|
|
5596
|
-
const TableHeader = React.forwardRef<
|
|
5597
|
-
HTMLTableSectionElement,
|
|
5598
|
-
React.HTMLAttributes<HTMLTableSectionElement>
|
|
5599
|
-
>(({ className, ...props }, ref) => (
|
|
5506
|
+
const TableHeader = React.forwardRef(({ className, ...props }: React.HTMLAttributes<HTMLTableSectionElement>, ref: React.Ref<HTMLTableSectionElement>) => (
|
|
5600
5507
|
<thead
|
|
5601
5508
|
ref={ref}
|
|
5602
|
-
className={cn("bg-[var(--color-neutral-100)] [&_tr]:border-b", className)}
|
|
5509
|
+
className={cn("bg-[var(--color-neutral-100)] [&_tr]:border-b [&_tr]:border-solid", className)}
|
|
5603
5510
|
{...props}
|
|
5604
5511
|
/>
|
|
5605
5512
|
));
|
|
@@ -5615,8 +5522,8 @@ export interface TableBodyProps
|
|
|
5615
5522
|
loadingColumns?: number;
|
|
5616
5523
|
}
|
|
5617
5524
|
|
|
5618
|
-
const TableBody = React.forwardRef
|
|
5619
|
-
({ className, isLoading, loadingRows = 5, loadingColumns = 5, children, ...props }, ref) => (
|
|
5525
|
+
const TableBody = React.forwardRef(
|
|
5526
|
+
({ className, isLoading, loadingRows = 5, loadingColumns = 5, children, ...props }: TableBodyProps, ref: React.Ref<HTMLTableSectionElement>) => (
|
|
5620
5527
|
<tbody
|
|
5621
5528
|
ref={ref}
|
|
5622
5529
|
className={cn("[&_tr:last-child]:border-0", className)}
|
|
@@ -5632,14 +5539,11 @@ const TableBody = React.forwardRef<HTMLTableSectionElement, TableBodyProps>(
|
|
|
5632
5539
|
);
|
|
5633
5540
|
TableBody.displayName = "TableBody";
|
|
5634
5541
|
|
|
5635
|
-
const TableFooter = React.forwardRef<
|
|
5636
|
-
HTMLTableSectionElement,
|
|
5637
|
-
React.HTMLAttributes<HTMLTableSectionElement>
|
|
5638
|
-
>(({ className, ...props }, ref) => (
|
|
5542
|
+
const TableFooter = React.forwardRef(({ className, ...props }: React.HTMLAttributes<HTMLTableSectionElement>, ref: React.Ref<HTMLTableSectionElement>) => (
|
|
5639
5543
|
<tfoot
|
|
5640
5544
|
ref={ref}
|
|
5641
5545
|
className={cn(
|
|
5642
|
-
"border-t bg-[var(--color-neutral-100)] font-medium [&>tr]:last:border-b-0",
|
|
5546
|
+
"border-t border-solid bg-[var(--color-neutral-100)] font-medium [&>tr]:last:border-b-0",
|
|
5643
5547
|
className
|
|
5644
5548
|
)}
|
|
5645
5549
|
{...props}
|
|
@@ -5652,12 +5556,12 @@ export interface TableRowProps extends React.HTMLAttributes<HTMLTableRowElement>
|
|
|
5652
5556
|
highlighted?: boolean;
|
|
5653
5557
|
}
|
|
5654
5558
|
|
|
5655
|
-
const TableRow = React.forwardRef
|
|
5656
|
-
({ className, highlighted, ...props }, ref) => (
|
|
5559
|
+
const TableRow = React.forwardRef(
|
|
5560
|
+
({ className, highlighted, ...props }: TableRowProps, ref: React.Ref<HTMLTableRowElement>) => (
|
|
5657
5561
|
<tr
|
|
5658
5562
|
ref={ref}
|
|
5659
5563
|
className={cn(
|
|
5660
|
-
"border-b border-semantic-border-layout transition-colors",
|
|
5564
|
+
"border-b border-solid border-semantic-border-layout transition-colors",
|
|
5661
5565
|
highlighted
|
|
5662
5566
|
? "bg-semantic-info-surface"
|
|
5663
5567
|
: "hover:bg-[var(--color-neutral-50)]/50 data-[state=selected]:bg-semantic-bg-ui",
|
|
@@ -5678,10 +5582,10 @@ export interface TableHeadProps extends React.ThHTMLAttributes<HTMLTableCellElem
|
|
|
5678
5582
|
infoTooltip?: string;
|
|
5679
5583
|
}
|
|
5680
5584
|
|
|
5681
|
-
const TableHead = React.forwardRef
|
|
5585
|
+
const TableHead = React.forwardRef(
|
|
5682
5586
|
(
|
|
5683
|
-
{ className, sticky, sortDirection, infoTooltip, children, ...props },
|
|
5684
|
-
ref
|
|
5587
|
+
{ className, sticky, sortDirection, infoTooltip, children, ...props }: TableHeadProps,
|
|
5588
|
+
ref: React.Ref<HTMLTableCellElement>
|
|
5685
5589
|
) => (
|
|
5686
5590
|
<th
|
|
5687
5591
|
ref={ref}
|
|
@@ -5719,8 +5623,8 @@ export interface TableCellProps extends React.TdHTMLAttributes<HTMLTableCellElem
|
|
|
5719
5623
|
sticky?: boolean;
|
|
5720
5624
|
}
|
|
5721
5625
|
|
|
5722
|
-
const TableCell = React.forwardRef
|
|
5723
|
-
({ className, sticky, ...props }, ref) => (
|
|
5626
|
+
const TableCell = React.forwardRef(
|
|
5627
|
+
({ className, sticky, ...props }: TableCellProps, ref: React.Ref<HTMLTableCellElement>) => (
|
|
5724
5628
|
<td
|
|
5725
5629
|
ref={ref}
|
|
5726
5630
|
className={cn(
|
|
@@ -5734,10 +5638,7 @@ const TableCell = React.forwardRef<HTMLTableCellElement, TableCellProps>(
|
|
|
5734
5638
|
);
|
|
5735
5639
|
TableCell.displayName = "TableCell";
|
|
5736
5640
|
|
|
5737
|
-
const TableCaption = React.forwardRef<
|
|
5738
|
-
HTMLTableCaptionElement,
|
|
5739
|
-
React.HTMLAttributes<HTMLTableCaptionElement>
|
|
5740
|
-
>(({ className, ...props }, ref) => (
|
|
5641
|
+
const TableCaption = React.forwardRef(({ className, ...props }: React.HTMLAttributes<HTMLTableCaptionElement>, ref: React.Ref<HTMLTableCaptionElement>) => (
|
|
5741
5642
|
<caption
|
|
5742
5643
|
ref={ref}
|
|
5743
5644
|
className={cn("mt-4 text-sm text-semantic-text-muted", className)}
|
|
@@ -5826,8 +5727,8 @@ export interface TableToggleProps extends Omit<SwitchProps, "size"> {
|
|
|
5826
5727
|
size?: "sm" | "default";
|
|
5827
5728
|
}
|
|
5828
5729
|
|
|
5829
|
-
const TableToggle = React.forwardRef
|
|
5830
|
-
({ size = "sm", ...props }, ref) => (
|
|
5730
|
+
const TableToggle = React.forwardRef(
|
|
5731
|
+
({ size = "sm", ...props }: TableToggleProps, ref: React.Ref<HTMLButtonElement>) => (
|
|
5831
5732
|
<Switch ref={ref} size={size} {...props} />
|
|
5832
5733
|
)
|
|
5833
5734
|
);
|
|
@@ -5877,14 +5778,11 @@ export interface TabsListProps
|
|
|
5877
5778
|
fullWidth?: boolean
|
|
5878
5779
|
}
|
|
5879
5780
|
|
|
5880
|
-
const TabsList = React.forwardRef<
|
|
5881
|
-
React.ComponentRef<typeof TabsPrimitive.List>,
|
|
5882
|
-
TabsListProps
|
|
5883
|
-
>(({ className, fullWidth, ...props }, ref) => (
|
|
5781
|
+
const TabsList = React.forwardRef(({ className, fullWidth, ...props }: TabsListProps, ref: React.Ref<React.ComponentRef<typeof TabsPrimitive.List>>) => (
|
|
5884
5782
|
<TabsPrimitive.List
|
|
5885
5783
|
ref={ref}
|
|
5886
5784
|
className={cn(
|
|
5887
|
-
"inline-flex items-center border-b border-semantic-border-layout w-full",
|
|
5785
|
+
"inline-flex items-center border-b border-solid border-semantic-border-layout w-full",
|
|
5888
5786
|
fullWidth && "[&>*]:flex-1",
|
|
5889
5787
|
className
|
|
5890
5788
|
)}
|
|
@@ -5893,14 +5791,11 @@ const TabsList = React.forwardRef<
|
|
|
5893
5791
|
))
|
|
5894
5792
|
TabsList.displayName = TabsPrimitive.List.displayName
|
|
5895
5793
|
|
|
5896
|
-
const TabsTrigger = React.forwardRef<
|
|
5897
|
-
React.ComponentRef<typeof TabsPrimitive.Trigger>,
|
|
5898
|
-
React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>
|
|
5899
|
-
>(({ className, ...props }, ref) => (
|
|
5794
|
+
const TabsTrigger = React.forwardRef(({ className, ...props }: React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>, ref: React.Ref<React.ComponentRef<typeof TabsPrimitive.Trigger>>) => (
|
|
5900
5795
|
<TabsPrimitive.Trigger
|
|
5901
5796
|
ref={ref}
|
|
5902
5797
|
className={cn(
|
|
5903
|
-
"inline-flex items-center justify-center gap-2 whitespace-nowrap py-3 px-3 text-sm font-medium border-b-2 -mb-px cursor-pointer transition-colors",
|
|
5798
|
+
"inline-flex items-center justify-center gap-2 whitespace-nowrap py-3 px-3 text-sm font-medium border-b-2 border-solid -mb-px cursor-pointer transition-colors",
|
|
5904
5799
|
"text-semantic-text-muted border-transparent hover:text-semantic-text-secondary",
|
|
5905
5800
|
"data-[state=active]:text-semantic-text-primary data-[state=active]:border-semantic-primary",
|
|
5906
5801
|
"focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50",
|
|
@@ -5911,10 +5806,7 @@ const TabsTrigger = React.forwardRef<
|
|
|
5911
5806
|
))
|
|
5912
5807
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName
|
|
5913
5808
|
|
|
5914
|
-
const TabsContent = React.forwardRef<
|
|
5915
|
-
React.ComponentRef<typeof TabsPrimitive.Content>,
|
|
5916
|
-
React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>
|
|
5917
|
-
>(({ className, ...props }, ref) => (
|
|
5809
|
+
const TabsContent = React.forwardRef(({ className, ...props }: React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>, ref: React.Ref<React.ComponentRef<typeof TabsPrimitive.Content>>) => (
|
|
5918
5810
|
<TabsPrimitive.Content
|
|
5919
5811
|
ref={ref}
|
|
5920
5812
|
className={cn(
|
|
@@ -5978,8 +5870,8 @@ export interface TagProps
|
|
|
5978
5870
|
label?: string;
|
|
5979
5871
|
}
|
|
5980
5872
|
|
|
5981
|
-
const Tag = React.forwardRef
|
|
5982
|
-
({ className, variant, size, label, children, ...props }, ref) => {
|
|
5873
|
+
const Tag = React.forwardRef(
|
|
5874
|
+
({ className, variant, size, label, children, ...props }: TagProps, ref: React.Ref<HTMLSpanElement>) => {
|
|
5983
5875
|
return (
|
|
5984
5876
|
<span
|
|
5985
5877
|
className={cn(tagVariants({ variant, size, className }))}
|
|
@@ -5987,7 +5879,7 @@ const Tag = React.forwardRef<HTMLSpanElement, TagProps>(
|
|
|
5987
5879
|
{...props}
|
|
5988
5880
|
>
|
|
5989
5881
|
{label && <span className="font-semibold mr-1">{label}</span>}
|
|
5990
|
-
<span className="font-normal">{children}</span>
|
|
5882
|
+
<span className="font-normal inline-flex items-center gap-1">{children}</span>
|
|
5991
5883
|
</span>
|
|
5992
5884
|
);
|
|
5993
5885
|
}
|
|
@@ -6064,16 +5956,7 @@ TagGroup.displayName = "TagGroup";
|
|
|
6064
5956
|
|
|
6065
5957
|
export { Tag, TagGroup, tagVariants };
|
|
6066
5958
|
`,
|
|
6067
|
-
"text-field": `import
|
|
6068
|
-
forwardRef,
|
|
6069
|
-
useRef,
|
|
6070
|
-
useCallback,
|
|
6071
|
-
useState,
|
|
6072
|
-
useId,
|
|
6073
|
-
type ChangeEvent,
|
|
6074
|
-
type ReactNode,
|
|
6075
|
-
type ComponentProps,
|
|
6076
|
-
} from "react";
|
|
5959
|
+
"text-field": `import * as React from "react";
|
|
6077
5960
|
import { cva, type VariantProps } from "class-variance-authority";
|
|
6078
5961
|
import { Loader2, X } from "lucide-react";
|
|
6079
5962
|
|
|
@@ -6088,9 +5971,9 @@ const textFieldContainerVariants = cva(
|
|
|
6088
5971
|
variants: {
|
|
6089
5972
|
state: {
|
|
6090
5973
|
default:
|
|
6091
|
-
"border border-semantic-border-input focus-within:border-semantic-border-input-focus
|
|
5974
|
+
"border border-solid border-semantic-border-input focus-within:border-semantic-border-input-focus focus-within:shadow-[0_0_0_1px_rgba(43,188,202,0.15)]",
|
|
6092
5975
|
error:
|
|
6093
|
-
"border border-semantic-error-primary/40 focus-within:border-semantic-error-primary
|
|
5976
|
+
"border border-solid border-semantic-error-primary/40 focus-within:border-semantic-error-primary focus-within:shadow-[0_0_0_1px_rgba(240,68,56,0.1)]",
|
|
6094
5977
|
},
|
|
6095
5978
|
disabled: {
|
|
6096
5979
|
true: "cursor-not-allowed opacity-50 bg-[var(--color-neutral-50)]",
|
|
@@ -6113,9 +5996,9 @@ const textFieldInputVariants = cva(
|
|
|
6113
5996
|
variants: {
|
|
6114
5997
|
state: {
|
|
6115
5998
|
default:
|
|
6116
|
-
"border border-semantic-border-input focus:outline-none focus:border-semantic-border-input-focus
|
|
5999
|
+
"border border-solid border-semantic-border-input focus:outline-none focus:border-semantic-border-input-focus focus:shadow-[0_0_0_1px_rgba(43,188,202,0.15)]",
|
|
6117
6000
|
error:
|
|
6118
|
-
"border border-semantic-error-primary/40 focus:outline-none focus:border-semantic-error-primary
|
|
6001
|
+
"border border-solid border-semantic-error-primary/40 focus:outline-none focus:border-semantic-error-primary focus:shadow-[0_0_0_1px_rgba(240,68,56,0.1)]",
|
|
6119
6002
|
},
|
|
6120
6003
|
size: {
|
|
6121
6004
|
default: "h-[42px] px-4 py-2 text-base file:text-base",
|
|
@@ -6141,7 +6024,7 @@ const textFieldInputVariants = cva(
|
|
|
6141
6024
|
*/
|
|
6142
6025
|
export interface TextFieldProps
|
|
6143
6026
|
extends
|
|
6144
|
-
Omit<ComponentProps<"input">, "size">,
|
|
6027
|
+
Omit<React.ComponentProps<"input">, "size">,
|
|
6145
6028
|
VariantProps<typeof textFieldInputVariants> {
|
|
6146
6029
|
/** Size of the text field \u2014 \`default\` (42px) or \`sm\` (36px, compact) */
|
|
6147
6030
|
size?: "default" | "sm";
|
|
@@ -6154,9 +6037,9 @@ export interface TextFieldProps
|
|
|
6154
6037
|
/** Error message - shows error state with red styling */
|
|
6155
6038
|
error?: string;
|
|
6156
6039
|
/** Icon displayed on the left inside the input */
|
|
6157
|
-
leftIcon?: ReactNode;
|
|
6040
|
+
leftIcon?: React.ReactNode;
|
|
6158
6041
|
/** Icon displayed on the right inside the input */
|
|
6159
|
-
rightIcon?: ReactNode;
|
|
6042
|
+
rightIcon?: React.ReactNode;
|
|
6160
6043
|
/** Text prefix inside input (e.g., "https://") */
|
|
6161
6044
|
prefix?: string;
|
|
6162
6045
|
/** Text suffix inside input (e.g., ".com") */
|
|
@@ -6177,7 +6060,7 @@ export interface TextFieldProps
|
|
|
6177
6060
|
inputContainerClassName?: string;
|
|
6178
6061
|
}
|
|
6179
6062
|
|
|
6180
|
-
const TextField = forwardRef
|
|
6063
|
+
const TextField = React.forwardRef(
|
|
6181
6064
|
(
|
|
6182
6065
|
{
|
|
6183
6066
|
className,
|
|
@@ -6207,22 +6090,22 @@ const TextField = forwardRef<HTMLInputElement, TextFieldProps>(
|
|
|
6207
6090
|
id,
|
|
6208
6091
|
type,
|
|
6209
6092
|
...props
|
|
6210
|
-
},
|
|
6211
|
-
ref
|
|
6093
|
+
}: TextFieldProps,
|
|
6094
|
+
ref: React.ForwardedRef<HTMLInputElement>
|
|
6212
6095
|
) => {
|
|
6213
6096
|
// Internal ref for programmatic control (e.g., clearable)
|
|
6214
|
-
const internalRef = useRef<HTMLInputElement>(null);
|
|
6215
|
-
const mergedRef = useCallback(
|
|
6097
|
+
const internalRef = React.useRef<HTMLInputElement | null>(null);
|
|
6098
|
+
const mergedRef = React.useCallback(
|
|
6216
6099
|
(node: HTMLInputElement | null) => {
|
|
6217
6100
|
internalRef.current = node;
|
|
6218
6101
|
if (typeof ref === "function") ref(node);
|
|
6219
|
-
else if (ref) ref.current = node;
|
|
6102
|
+
else if (ref && typeof ref === "object") ref.current = node;
|
|
6220
6103
|
},
|
|
6221
6104
|
[ref]
|
|
6222
6105
|
);
|
|
6223
6106
|
|
|
6224
6107
|
// Internal state for character count in uncontrolled mode
|
|
6225
|
-
const [internalValue, setInternalValue] = useState(
|
|
6108
|
+
const [internalValue, setInternalValue] = React.useState(
|
|
6226
6109
|
defaultValue ?? ""
|
|
6227
6110
|
);
|
|
6228
6111
|
|
|
@@ -6234,7 +6117,7 @@ const TextField = forwardRef<HTMLInputElement, TextFieldProps>(
|
|
|
6234
6117
|
const derivedState = error ? "error" : (state ?? "default");
|
|
6235
6118
|
|
|
6236
6119
|
// Handle change for both controlled and uncontrolled
|
|
6237
|
-
const handleChange = (e: ChangeEvent<HTMLInputElement>) => {
|
|
6120
|
+
const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
|
|
6238
6121
|
if (!isControlled) {
|
|
6239
6122
|
setInternalValue(e.target.value);
|
|
6240
6123
|
}
|
|
@@ -6261,7 +6144,7 @@ const TextField = forwardRef<HTMLInputElement, TextFieldProps>(
|
|
|
6261
6144
|
const charCount = String(currentValue).length;
|
|
6262
6145
|
|
|
6263
6146
|
// Generate unique IDs for accessibility
|
|
6264
|
-
const generatedId = useId();
|
|
6147
|
+
const generatedId = React.useId();
|
|
6265
6148
|
const inputId = id || generatedId;
|
|
6266
6149
|
const helperId = \`\${inputId}-helper\`;
|
|
6267
6150
|
const errorId = \`\${inputId}-error\`;
|
|
@@ -6380,12 +6263,12 @@ const TextField = forwardRef<HTMLInputElement, TextFieldProps>(
|
|
|
6380
6263
|
{error ? (
|
|
6381
6264
|
<span
|
|
6382
6265
|
id={errorId}
|
|
6383
|
-
className="text-
|
|
6266
|
+
className="text-sm text-semantic-error-primary"
|
|
6384
6267
|
>
|
|
6385
6268
|
{error}
|
|
6386
6269
|
</span>
|
|
6387
6270
|
) : helperText ? (
|
|
6388
|
-
<span id={helperId} className="text-
|
|
6271
|
+
<span id={helperId} className="text-sm text-semantic-text-muted">
|
|
6389
6272
|
{helperText}
|
|
6390
6273
|
</span>
|
|
6391
6274
|
) : (
|
|
@@ -6394,7 +6277,7 @@ const TextField = forwardRef<HTMLInputElement, TextFieldProps>(
|
|
|
6394
6277
|
{showCount && maxLength && (
|
|
6395
6278
|
<span
|
|
6396
6279
|
className={cn(
|
|
6397
|
-
"text-
|
|
6280
|
+
"text-sm",
|
|
6398
6281
|
charCount > maxLength
|
|
6399
6282
|
? "text-semantic-error-primary"
|
|
6400
6283
|
: "text-semantic-text-muted"
|
|
@@ -6412,6 +6295,210 @@ const TextField = forwardRef<HTMLInputElement, TextFieldProps>(
|
|
|
6412
6295
|
TextField.displayName = "TextField";
|
|
6413
6296
|
|
|
6414
6297
|
export { TextField, textFieldContainerVariants, textFieldInputVariants };
|
|
6298
|
+
`,
|
|
6299
|
+
"textarea": `import * as React from "react";
|
|
6300
|
+
import { cva, type VariantProps } from "class-variance-authority";
|
|
6301
|
+
|
|
6302
|
+
import { cn } from "@/lib/utils";
|
|
6303
|
+
|
|
6304
|
+
/**
|
|
6305
|
+
* Textarea variants for different visual states
|
|
6306
|
+
*/
|
|
6307
|
+
const textareaVariants = cva(
|
|
6308
|
+
"w-full rounded bg-semantic-bg-primary text-semantic-text-primary outline-none transition-all placeholder:text-semantic-text-placeholder disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-[var(--color-neutral-50)]",
|
|
6309
|
+
{
|
|
6310
|
+
variants: {
|
|
6311
|
+
state: {
|
|
6312
|
+
default:
|
|
6313
|
+
"border border-solid border-semantic-border-input focus:outline-none focus:border-semantic-border-input-focus focus:shadow-[0_0_0_1px_rgba(43,188,202,0.15)]",
|
|
6314
|
+
error:
|
|
6315
|
+
"border border-solid border-semantic-error-primary/40 focus:outline-none focus:border-semantic-error-primary focus:shadow-[0_0_0_1px_rgba(240,68,56,0.1)]",
|
|
6316
|
+
},
|
|
6317
|
+
size: {
|
|
6318
|
+
default: "px-4 py-2.5 text-base",
|
|
6319
|
+
sm: "px-3 py-2 text-sm",
|
|
6320
|
+
},
|
|
6321
|
+
},
|
|
6322
|
+
defaultVariants: {
|
|
6323
|
+
state: "default",
|
|
6324
|
+
size: "default",
|
|
6325
|
+
},
|
|
6326
|
+
}
|
|
6327
|
+
);
|
|
6328
|
+
|
|
6329
|
+
/**
|
|
6330
|
+
* A multi-line text input with label, error state, helper text, character counter, and resize control.
|
|
6331
|
+
*
|
|
6332
|
+
* @example
|
|
6333
|
+
* \`\`\`tsx
|
|
6334
|
+
* <Textarea label="Description" placeholder="Enter description" />
|
|
6335
|
+
* <Textarea label="Notes" error="Too short" showCount maxLength={500} />
|
|
6336
|
+
* <Textarea label="JSON" rows={8} resize="vertical" />
|
|
6337
|
+
* \`\`\`
|
|
6338
|
+
*/
|
|
6339
|
+
export interface TextareaProps
|
|
6340
|
+
extends Omit<React.ComponentProps<"textarea">, "size">,
|
|
6341
|
+
VariantProps<typeof textareaVariants> {
|
|
6342
|
+
/** Size of the textarea \u2014 \`default\` or \`sm\` (compact) */
|
|
6343
|
+
size?: "default" | "sm";
|
|
6344
|
+
/** Label text displayed above the textarea */
|
|
6345
|
+
label?: string;
|
|
6346
|
+
/** Shows red asterisk next to label when true */
|
|
6347
|
+
required?: boolean;
|
|
6348
|
+
/** Helper text displayed below the textarea */
|
|
6349
|
+
helperText?: string;
|
|
6350
|
+
/** Error message \u2014 shows error state with red styling */
|
|
6351
|
+
error?: string;
|
|
6352
|
+
/** Shows character count when maxLength is set */
|
|
6353
|
+
showCount?: boolean;
|
|
6354
|
+
/** Controls CSS resize behavior. Defaults to "none" */
|
|
6355
|
+
resize?: "none" | "vertical" | "horizontal" | "both";
|
|
6356
|
+
/** Additional class for the wrapper container */
|
|
6357
|
+
wrapperClassName?: string;
|
|
6358
|
+
/** Additional class for the label */
|
|
6359
|
+
labelClassName?: string;
|
|
6360
|
+
}
|
|
6361
|
+
|
|
6362
|
+
const Textarea = React.forwardRef(
|
|
6363
|
+
(
|
|
6364
|
+
{
|
|
6365
|
+
className,
|
|
6366
|
+
wrapperClassName,
|
|
6367
|
+
labelClassName,
|
|
6368
|
+
state,
|
|
6369
|
+
size,
|
|
6370
|
+
label,
|
|
6371
|
+
required,
|
|
6372
|
+
helperText,
|
|
6373
|
+
error,
|
|
6374
|
+
showCount,
|
|
6375
|
+
resize = "none",
|
|
6376
|
+
maxLength,
|
|
6377
|
+
rows = 4,
|
|
6378
|
+
value,
|
|
6379
|
+
defaultValue,
|
|
6380
|
+
onChange,
|
|
6381
|
+
disabled,
|
|
6382
|
+
id,
|
|
6383
|
+
...props
|
|
6384
|
+
}: TextareaProps,
|
|
6385
|
+
ref: React.ForwardedRef<HTMLTextAreaElement>
|
|
6386
|
+
) => {
|
|
6387
|
+
// Internal state for character count in uncontrolled mode
|
|
6388
|
+
const [internalValue, setInternalValue] = React.useState(
|
|
6389
|
+
defaultValue ?? ""
|
|
6390
|
+
);
|
|
6391
|
+
|
|
6392
|
+
// Determine if controlled
|
|
6393
|
+
const isControlled = value !== undefined;
|
|
6394
|
+
const currentValue = isControlled ? value : internalValue;
|
|
6395
|
+
|
|
6396
|
+
// Derive state from props
|
|
6397
|
+
const derivedState = error ? "error" : (state ?? "default");
|
|
6398
|
+
|
|
6399
|
+
// Handle change for both controlled and uncontrolled
|
|
6400
|
+
const handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {
|
|
6401
|
+
if (!isControlled) {
|
|
6402
|
+
setInternalValue(e.target.value);
|
|
6403
|
+
}
|
|
6404
|
+
onChange?.(e);
|
|
6405
|
+
};
|
|
6406
|
+
|
|
6407
|
+
// Character count
|
|
6408
|
+
const charCount = String(currentValue).length;
|
|
6409
|
+
|
|
6410
|
+
// Generate unique IDs for accessibility
|
|
6411
|
+
const generatedId = React.useId();
|
|
6412
|
+
const textareaId = id || generatedId;
|
|
6413
|
+
const helperId = \`\${textareaId}-helper\`;
|
|
6414
|
+
const errorId = \`\${textareaId}-error\`;
|
|
6415
|
+
|
|
6416
|
+
// Determine aria-describedby
|
|
6417
|
+
const ariaDescribedBy = error ? errorId : helperText ? helperId : undefined;
|
|
6418
|
+
|
|
6419
|
+
// Resize class map
|
|
6420
|
+
const resizeClasses: Record<string, string> = {
|
|
6421
|
+
none: "resize-none",
|
|
6422
|
+
vertical: "resize-y",
|
|
6423
|
+
horizontal: "resize-x",
|
|
6424
|
+
both: "resize",
|
|
6425
|
+
};
|
|
6426
|
+
|
|
6427
|
+
return (
|
|
6428
|
+
<div className={cn("flex flex-col gap-1", wrapperClassName)}>
|
|
6429
|
+
{/* Label */}
|
|
6430
|
+
{label && (
|
|
6431
|
+
<label
|
|
6432
|
+
htmlFor={textareaId}
|
|
6433
|
+
className={cn(
|
|
6434
|
+
"text-sm font-medium text-semantic-text-muted",
|
|
6435
|
+
labelClassName
|
|
6436
|
+
)}
|
|
6437
|
+
>
|
|
6438
|
+
{label}
|
|
6439
|
+
{required && (
|
|
6440
|
+
<span className="text-semantic-error-primary ml-0.5">*</span>
|
|
6441
|
+
)}
|
|
6442
|
+
</label>
|
|
6443
|
+
)}
|
|
6444
|
+
|
|
6445
|
+
{/* Textarea */}
|
|
6446
|
+
<textarea
|
|
6447
|
+
ref={ref}
|
|
6448
|
+
id={textareaId}
|
|
6449
|
+
rows={rows}
|
|
6450
|
+
className={cn(
|
|
6451
|
+
textareaVariants({ state: derivedState, size, className }),
|
|
6452
|
+
resizeClasses[resize]
|
|
6453
|
+
)}
|
|
6454
|
+
disabled={disabled}
|
|
6455
|
+
maxLength={maxLength}
|
|
6456
|
+
value={isControlled ? value : undefined}
|
|
6457
|
+
defaultValue={!isControlled ? defaultValue : undefined}
|
|
6458
|
+
onChange={handleChange}
|
|
6459
|
+
aria-invalid={!!error}
|
|
6460
|
+
aria-describedby={ariaDescribedBy}
|
|
6461
|
+
{...props}
|
|
6462
|
+
/>
|
|
6463
|
+
|
|
6464
|
+
{/* Helper text / Error message / Character count */}
|
|
6465
|
+
{(error || helperText || (showCount && maxLength)) && (
|
|
6466
|
+
<div className="flex justify-between items-start gap-2">
|
|
6467
|
+
{error ? (
|
|
6468
|
+
<span
|
|
6469
|
+
id={errorId}
|
|
6470
|
+
className="text-sm text-semantic-error-primary"
|
|
6471
|
+
>
|
|
6472
|
+
{error}
|
|
6473
|
+
</span>
|
|
6474
|
+
) : helperText ? (
|
|
6475
|
+
<span id={helperId} className="text-sm text-semantic-text-muted">
|
|
6476
|
+
{helperText}
|
|
6477
|
+
</span>
|
|
6478
|
+
) : (
|
|
6479
|
+
<span />
|
|
6480
|
+
)}
|
|
6481
|
+
{showCount && maxLength && (
|
|
6482
|
+
<span
|
|
6483
|
+
className={cn(
|
|
6484
|
+
"text-sm",
|
|
6485
|
+
charCount > maxLength
|
|
6486
|
+
? "text-semantic-error-primary"
|
|
6487
|
+
: "text-semantic-text-muted"
|
|
6488
|
+
)}
|
|
6489
|
+
>
|
|
6490
|
+
{charCount}/{maxLength}
|
|
6491
|
+
</span>
|
|
6492
|
+
)}
|
|
6493
|
+
</div>
|
|
6494
|
+
)}
|
|
6495
|
+
</div>
|
|
6496
|
+
);
|
|
6497
|
+
}
|
|
6498
|
+
);
|
|
6499
|
+
Textarea.displayName = "Textarea";
|
|
6500
|
+
|
|
6501
|
+
export { Textarea, textareaVariants };
|
|
6415
6502
|
`,
|
|
6416
6503
|
"toast": `import * as React from "react";
|
|
6417
6504
|
import * as ToastPrimitives from "@radix-ui/react-toast";
|
|
@@ -6422,10 +6509,7 @@ import { cn } from "@/lib/utils";
|
|
|
6422
6509
|
|
|
6423
6510
|
const ToastProvider = ToastPrimitives.Provider;
|
|
6424
6511
|
|
|
6425
|
-
const ToastViewport = React.forwardRef<
|
|
6426
|
-
React.ElementRef<typeof ToastPrimitives.Viewport>,
|
|
6427
|
-
React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>
|
|
6428
|
-
>(({ className, ...props }, ref) => (
|
|
6512
|
+
const ToastViewport = React.forwardRef(({ className, ...props }: React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>, ref: React.Ref<React.ElementRef<typeof ToastPrimitives.Viewport>>) => (
|
|
6429
6513
|
<ToastPrimitives.Viewport
|
|
6430
6514
|
ref={ref}
|
|
6431
6515
|
className={cn(
|
|
@@ -6438,7 +6522,7 @@ const ToastViewport = React.forwardRef<
|
|
|
6438
6522
|
ToastViewport.displayName = ToastPrimitives.Viewport.displayName;
|
|
6439
6523
|
|
|
6440
6524
|
const toastVariants = cva(
|
|
6441
|
-
"group pointer-events-auto relative flex w-full items-center justify-between gap-4 overflow-hidden rounded-[5px] border p-3 shadow-md transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",
|
|
6525
|
+
"group pointer-events-auto relative flex w-full items-center justify-between gap-4 overflow-hidden rounded-[5px] border border-solid p-3 shadow-md transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",
|
|
6442
6526
|
{
|
|
6443
6527
|
variants: {
|
|
6444
6528
|
variant: {
|
|
@@ -6459,11 +6543,8 @@ const toastVariants = cva(
|
|
|
6459
6543
|
}
|
|
6460
6544
|
);
|
|
6461
6545
|
|
|
6462
|
-
const Toast = React.forwardRef<
|
|
6463
|
-
|
|
6464
|
-
React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> &
|
|
6465
|
-
VariantProps<typeof toastVariants>
|
|
6466
|
-
>(({ className, variant, ...props }, ref) => {
|
|
6546
|
+
const Toast = React.forwardRef(({ className, variant, ...props }: React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> &
|
|
6547
|
+
VariantProps<typeof toastVariants>, ref: React.Ref<React.ElementRef<typeof ToastPrimitives.Root>>) => {
|
|
6467
6548
|
return (
|
|
6468
6549
|
<ToastPrimitives.Root
|
|
6469
6550
|
ref={ref}
|
|
@@ -6474,14 +6555,11 @@ const Toast = React.forwardRef<
|
|
|
6474
6555
|
});
|
|
6475
6556
|
Toast.displayName = ToastPrimitives.Root.displayName;
|
|
6476
6557
|
|
|
6477
|
-
const ToastAction = React.forwardRef<
|
|
6478
|
-
React.ElementRef<typeof ToastPrimitives.Action>,
|
|
6479
|
-
React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>
|
|
6480
|
-
>(({ className, ...props }, ref) => (
|
|
6558
|
+
const ToastAction = React.forwardRef(({ className, ...props }: React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>, ref: React.Ref<React.ElementRef<typeof ToastPrimitives.Action>>) => (
|
|
6481
6559
|
<ToastPrimitives.Action
|
|
6482
6560
|
ref={ref}
|
|
6483
6561
|
className={cn(
|
|
6484
|
-
"inline-flex h-8 shrink-0 items-center justify-center rounded border border-semantic-border-layout bg-transparent px-3 text-sm font-medium transition-colors hover:bg-semantic-bg-ui focus:outline-none focus:ring-2 focus:ring-semantic-info-primary focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
|
|
6562
|
+
"inline-flex h-8 shrink-0 items-center justify-center rounded border border-solid border-semantic-border-layout bg-transparent px-3 text-sm font-medium transition-colors hover:bg-semantic-bg-ui focus:outline-none focus:ring-2 focus:ring-semantic-info-primary focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
|
|
6485
6563
|
"group-[.success]:border-semantic-success-primary/30 group-[.success]:hover:border-semantic-success-primary/50 group-[.success]:hover:bg-semantic-success-primary/10",
|
|
6486
6564
|
"group-[.error]:border-semantic-error-primary/30 group-[.error]:hover:border-semantic-error-primary/50 group-[.error]:hover:bg-semantic-error-primary/10",
|
|
6487
6565
|
"group-[.warning]:border-semantic-warning-primary/30 group-[.warning]:hover:border-semantic-warning-primary/50 group-[.warning]:hover:bg-semantic-warning-primary/10",
|
|
@@ -6493,10 +6571,7 @@ const ToastAction = React.forwardRef<
|
|
|
6493
6571
|
));
|
|
6494
6572
|
ToastAction.displayName = ToastPrimitives.Action.displayName;
|
|
6495
6573
|
|
|
6496
|
-
const ToastClose = React.forwardRef<
|
|
6497
|
-
React.ElementRef<typeof ToastPrimitives.Close>,
|
|
6498
|
-
React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>
|
|
6499
|
-
>(({ className, ...props }, ref) => (
|
|
6574
|
+
const ToastClose = React.forwardRef(({ className, ...props }: React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>, ref: React.Ref<React.ElementRef<typeof ToastPrimitives.Close>>) => (
|
|
6500
6575
|
<ToastPrimitives.Close
|
|
6501
6576
|
ref={ref}
|
|
6502
6577
|
className={cn(
|
|
@@ -6511,10 +6586,7 @@ const ToastClose = React.forwardRef<
|
|
|
6511
6586
|
));
|
|
6512
6587
|
ToastClose.displayName = ToastPrimitives.Close.displayName;
|
|
6513
6588
|
|
|
6514
|
-
const ToastTitle = React.forwardRef<
|
|
6515
|
-
React.ElementRef<typeof ToastPrimitives.Title>,
|
|
6516
|
-
React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>
|
|
6517
|
-
>(({ className, ...props }, ref) => (
|
|
6589
|
+
const ToastTitle = React.forwardRef(({ className, ...props }: React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>, ref: React.Ref<React.ElementRef<typeof ToastPrimitives.Title>>) => (
|
|
6518
6590
|
<ToastPrimitives.Title
|
|
6519
6591
|
ref={ref}
|
|
6520
6592
|
className={cn("text-sm font-semibold tracking-[0.014px]", className)}
|
|
@@ -6523,10 +6595,7 @@ const ToastTitle = React.forwardRef<
|
|
|
6523
6595
|
));
|
|
6524
6596
|
ToastTitle.displayName = ToastPrimitives.Title.displayName;
|
|
6525
6597
|
|
|
6526
|
-
const ToastDescription = React.forwardRef<
|
|
6527
|
-
React.ElementRef<typeof ToastPrimitives.Description>,
|
|
6528
|
-
React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>
|
|
6529
|
-
>(({ className, ...props }, ref) => (
|
|
6598
|
+
const ToastDescription = React.forwardRef(({ className, ...props }: React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>, ref: React.Ref<React.ElementRef<typeof ToastPrimitives.Description>>) => (
|
|
6530
6599
|
<ToastPrimitives.Description
|
|
6531
6600
|
ref={ref}
|
|
6532
6601
|
className={cn("text-xs tracking-[0.048px]", className)}
|
|
@@ -6911,10 +6980,7 @@ const Tooltip = TooltipPrimitive.Root;
|
|
|
6911
6980
|
|
|
6912
6981
|
const TooltipTrigger = TooltipPrimitive.Trigger;
|
|
6913
6982
|
|
|
6914
|
-
const TooltipContent = React.forwardRef<
|
|
6915
|
-
React.ElementRef<typeof TooltipPrimitive.Content>,
|
|
6916
|
-
React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>
|
|
6917
|
-
>(({ className, sideOffset = 4, ...props }, ref) => (
|
|
6983
|
+
const TooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props }: React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>, ref: React.Ref<React.ElementRef<typeof TooltipPrimitive.Content>>) => (
|
|
6918
6984
|
<TooltipPrimitive.Portal>
|
|
6919
6985
|
<TooltipPrimitive.Content
|
|
6920
6986
|
ref={ref}
|
|
@@ -6929,10 +6995,7 @@ const TooltipContent = React.forwardRef<
|
|
|
6929
6995
|
));
|
|
6930
6996
|
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
6931
6997
|
|
|
6932
|
-
const TooltipArrow = React.forwardRef<
|
|
6933
|
-
React.ElementRef<typeof TooltipPrimitive.Arrow>,
|
|
6934
|
-
React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Arrow>
|
|
6935
|
-
>(({ className, ...props }, ref) => (
|
|
6998
|
+
const TooltipArrow = React.forwardRef(({ className, ...props }: React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Arrow>, ref: React.Ref<React.ElementRef<typeof TooltipPrimitive.Arrow>>) => (
|
|
6936
6999
|
<TooltipPrimitive.Arrow
|
|
6937
7000
|
ref={ref}
|
|
6938
7001
|
className={cn("fill-semantic-primary", className)}
|
|
@@ -7084,7 +7147,7 @@ export interface TypographyProps extends React.HTMLAttributes<HTMLElement> {
|
|
|
7084
7147
|
* <Typography truncate>Very long text that will be truncated...</Typography>
|
|
7085
7148
|
* \`\`\`
|
|
7086
7149
|
*/
|
|
7087
|
-
const Typography = React.forwardRef
|
|
7150
|
+
const Typography = React.forwardRef(
|
|
7088
7151
|
(
|
|
7089
7152
|
{
|
|
7090
7153
|
children,
|
|
@@ -7097,8 +7160,8 @@ const Typography = React.forwardRef<HTMLElement, TypographyProps>(
|
|
|
7097
7160
|
tag,
|
|
7098
7161
|
htmlFor,
|
|
7099
7162
|
...props
|
|
7100
|
-
},
|
|
7101
|
-
ref
|
|
7163
|
+
}: TypographyProps,
|
|
7164
|
+
ref: React.Ref<HTMLElement>
|
|
7102
7165
|
) => {
|
|
7103
7166
|
const key: Key = \`\${kind}-\${variant}\`;
|
|
7104
7167
|
const Tag = (tag || mapTagName[key]) as React.ElementType;
|
|
@@ -7159,8 +7222,8 @@ export interface UnreadSeparatorProps
|
|
|
7159
7222
|
label?: string;
|
|
7160
7223
|
}
|
|
7161
7224
|
|
|
7162
|
-
const UnreadSeparator = React.forwardRef
|
|
7163
|
-
({ className, count, label, ...props }, ref) => (
|
|
7225
|
+
const UnreadSeparator = React.forwardRef(
|
|
7226
|
+
({ className, count, label, ...props }: UnreadSeparatorProps, ref: React.Ref<HTMLDivElement>) => (
|
|
7164
7227
|
<div
|
|
7165
7228
|
ref={ref}
|
|
7166
7229
|
className={cn("flex items-center gap-4 my-2", className)}
|
|
@@ -8462,6 +8525,24 @@ var componentMetadata = {
|
|
|
8462
8525
|
}
|
|
8463
8526
|
]
|
|
8464
8527
|
},
|
|
8528
|
+
"textarea": {
|
|
8529
|
+
"name": "Textarea",
|
|
8530
|
+
"description": "A textarea component.",
|
|
8531
|
+
"dependencies": [
|
|
8532
|
+
"class-variance-authority",
|
|
8533
|
+
"clsx",
|
|
8534
|
+
"tailwind-merge"
|
|
8535
|
+
],
|
|
8536
|
+
"props": [],
|
|
8537
|
+
"variants": [],
|
|
8538
|
+
"examples": [
|
|
8539
|
+
{
|
|
8540
|
+
"title": "Basic Textarea",
|
|
8541
|
+
"code": "<Textarea>Content</Textarea>",
|
|
8542
|
+
"description": "Simple textarea usage"
|
|
8543
|
+
}
|
|
8544
|
+
]
|
|
8545
|
+
},
|
|
8465
8546
|
"toast": {
|
|
8466
8547
|
"name": "Toast",
|
|
8467
8548
|
"description": "A toast component.",
|