@telepix-lab/telepix-ui 0.5.1 → 0.6.2
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/cjs/button/index.d.ts +1 -0
- package/dist/cjs/button/types.d.ts +5 -1
- package/dist/cjs/client.js +125 -96
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +72 -29
- package/dist/cjs/select/types.d.ts +2 -0
- package/dist/cjs/state-color-container/index.d.ts +8 -0
- package/dist/cjs/state-color-container/types.d.ts +1 -0
- package/dist/client.d.ts +2 -0
- package/dist/color.css +1 -1
- package/dist/esm/button/index.d.ts +1 -0
- package/dist/esm/button/types.d.ts +5 -1
- package/dist/esm/client.js +126 -97
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +74 -32
- package/dist/esm/select/types.d.ts +2 -0
- package/dist/esm/state-color-container/index.d.ts +8 -0
- package/dist/esm/state-color-container/types.d.ts +1 -0
- package/dist/index.d.ts +17 -3
- package/dist/styles.css +1 -25
- package/dist/theme.css +1 -7
- package/package.json +1 -1
|
@@ -7,9 +7,13 @@ export type ButtonSize = (typeof BUTTON_SIZES)[keyof typeof BUTTON_SIZES];
|
|
|
7
7
|
export declare const BUTTON_VARIANTS: {
|
|
8
8
|
readonly ACCENT: "accent";
|
|
9
9
|
readonly OUTLINE: "outline";
|
|
10
|
+
readonly OUTLINE_TO_ACCENT: "outline_to_accent";
|
|
10
11
|
readonly GHOST: "ghost";
|
|
11
12
|
readonly THUMBNAIL_GHOST: "thumbnail_ghost";
|
|
13
|
+
readonly GHOST_TO_ACCENT: "ghost_to_accent";
|
|
12
14
|
readonly SUBTLE_FILLED: "subtle_filled";
|
|
13
|
-
readonly
|
|
15
|
+
readonly OUTLINE_ACCENT: "outline_accent";
|
|
16
|
+
readonly GHOST_ACCENT: "ghost_accent";
|
|
17
|
+
readonly GHOST_DIM: "ghost_dim";
|
|
14
18
|
};
|
|
15
19
|
export type ButtonVariant = (typeof BUTTON_VARIANTS)[keyof typeof BUTTON_VARIANTS];
|
package/dist/cjs/client.js
CHANGED
|
@@ -12069,6 +12069,39 @@ function cn(...inputs) {
|
|
|
12069
12069
|
return twMerge(clsx(inputs));
|
|
12070
12070
|
}
|
|
12071
12071
|
|
|
12072
|
+
const StateColorContainer = ({ groupName = "state", isInverted, className, }) => {
|
|
12073
|
+
const fillClassMap = {
|
|
12074
|
+
wrapper: {
|
|
12075
|
+
normal: "group-hover/wrapper:bg-fill-hovered bg-fill-default group-active/wrapper:bg-fill-pressed group-aria-selected/wrapper:bg-fill-selected",
|
|
12076
|
+
invert: "group-hover/wrapper:bg-fill-invert-hovered group-active/wrapper:bg-fill-invert-pressed bg-fill-invert-default group-aria-selected/wrapper:bg-fill-invert-selected",
|
|
12077
|
+
},
|
|
12078
|
+
item: {
|
|
12079
|
+
normal: "group-hover/item:bg-fill-hovered bg-fill-default group-active/item:bg-fill-pressed group-aria-selected/item:bg-fill-selected",
|
|
12080
|
+
invert: "group-hover/item:bg-fill-invert-hovered group-active/item:bg-fill-invert-pressed bg-fill-invert-default group-aria-selected/item:bg-fill-invert-selected",
|
|
12081
|
+
},
|
|
12082
|
+
option: {
|
|
12083
|
+
normal: "group-hover/option:bg-fill-hovered bg-fill-default group-active/option:bg-fill-pressed group-aria-selected/option:bg-fill-selected",
|
|
12084
|
+
invert: "group-hover/option:bg-fill-invert-hovered group-active/option:bg-fill-invert-pressed bg-fill-invert-default group-aria-selected/option:bg-fill-invert-selected",
|
|
12085
|
+
},
|
|
12086
|
+
tab: {
|
|
12087
|
+
normal: "group-hover/tab:bg-fill-hovered bg-fill-default group-active/tab:bg-fill-pressed group-aria-selected/tab:bg-fill-selected",
|
|
12088
|
+
invert: "group-hover/tab:bg-fill-invert-hovered group-active/tab:bg-fill-invert-pressed bg-fill-invert-default group-aria-selected/tab:bg-fill-invert-selected",
|
|
12089
|
+
},
|
|
12090
|
+
chip: {
|
|
12091
|
+
normal: "group-hover/chip:bg-fill-hovered bg-fill-default group-active/chip:bg-fill-pressed group-aria-selected/chip:bg-fill-selected",
|
|
12092
|
+
invert: "group-hover/chip:bg-fill-invert-hovered group-active/chip:bg-fill-invert-pressed bg-fill-invert-default group-aria-selected/chip:bg-fill-invert-selected",
|
|
12093
|
+
},
|
|
12094
|
+
state: {
|
|
12095
|
+
normal: "group-hover/state:bg-fill-hovered bg-fill-default group-active/state:bg-fill-pressed group-aria-selected/state:bg-fill-selected",
|
|
12096
|
+
invert: "group-hover/state:bg-fill-invert-hovered group-active/state:bg-fill-invert-pressed bg-fill-invert-default group-aria-selected/state:bg-fill-invert-selected",
|
|
12097
|
+
},
|
|
12098
|
+
};
|
|
12099
|
+
const group = groupName || "state";
|
|
12100
|
+
const mode = isInverted ? "invert" : "normal";
|
|
12101
|
+
const actionClass = fillClassMap[group]?.[mode] ?? fillClassMap.state[mode];
|
|
12102
|
+
return (jsxRuntime.jsx("div", { className: cn("absolute left-0 top-0 right-0 bottom-0 inset-0 pointer-events-none z-0", actionClass, className) }));
|
|
12103
|
+
};
|
|
12104
|
+
|
|
12072
12105
|
const RadioGroupContext = React.createContext({ value: "", disabled: false });
|
|
12073
12106
|
/**
|
|
12074
12107
|
* 라디오 버튼 그룹을 생성하는 컴포넌트입니다.<br/>
|
|
@@ -12096,7 +12129,8 @@ const RadioItem = React.forwardRef(({ label, labelClassName, wrapperClassName, .
|
|
|
12096
12129
|
const randomId = id ?? React.useId();
|
|
12097
12130
|
const isSelected = React.useContext(RadioGroupContext).value === value;
|
|
12098
12131
|
const isDisabled = React.useContext(RadioGroupContext).disabled || disabled || false;
|
|
12099
|
-
return (jsxRuntime.jsxs("div", { className: cn("flex items-center gap-1.5 cursor-pointer bg-transparent border-none", wrapperClassName), children: [jsxRuntime.jsx(Item2, { ...restProps, id: randomId, ref: ref, value: value, disabled: isDisabled, className: cn("bg-transparent border-none p-
|
|
12132
|
+
return (jsxRuntime.jsxs("div", { className: cn("flex items-center gap-1.5 cursor-pointer bg-transparent border-none py-1 pr-2 group/state relative", wrapperClassName), children: [jsxRuntime.jsx(Item2, { ...restProps, id: randomId, ref: ref, value: value, disabled: isDisabled, className: cn("bg-transparent border-none p-1.5 flex items-center outline-none justify-center cursor-pointer", className), children: isDisabled ? (jsxRuntime.jsx(CircleBackslashIcon, { className: "text-comp-disabled" })) : isSelected ? (jsxRuntime.jsx(RadiobuttonIcon, { className: "text-comp-mono-default" })) : (jsxRuntime.jsx(CircleIcon, { className: "text-comp-mono-default" })) }), label && (jsxRuntime.jsx("label", { className: cn("text-body leading-body-compact text-comp-mono-default font-medium cursor-pointer", isDisabled && "text-comp-disabled cursor-default", labelClassName), htmlFor: randomId, children: label })), jsxRuntime.jsx(StateColorContainer, { className: cn("rounded-lg", isDisabled &&
|
|
12133
|
+
"bg-fill-disabled group-hover/state:bg-fill-disabled group-active/state:bg-fill-disabled") })] }));
|
|
12100
12134
|
});
|
|
12101
12135
|
RadioGroup.displayName = "RadioGroup";
|
|
12102
12136
|
RadioItem.displayName = "RadioItem";
|
|
@@ -12303,7 +12337,7 @@ const Checkbox = React.forwardRef(({ label, labelClassName, wrapperClassName, ..
|
|
|
12303
12337
|
return (jsxRuntime.jsx(SquareMinus, { className: "size-full fill-transparent text-comp-disabled cursor-default" }));
|
|
12304
12338
|
}
|
|
12305
12339
|
else if (checked) {
|
|
12306
|
-
return (jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: "size-full fill-transparent text-comp-mono-
|
|
12340
|
+
return (jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: "size-full fill-transparent text-comp-mono-default", children: jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M1 2.1821C1 1.52924 1.52925 1 2.1821 1H13.6879C14.3408 1 14.87 1.52925 14.87 2.1821V13.6879C14.87 14.3408 14.3408 14.87 13.6879 14.87H2.1821C1.52924 14.87 1 14.3408 1 13.6879V2.1821ZM11.3429 4.58303C11.6121 4.76774 11.6805 5.13566 11.4958 5.4048L7.38613 11.393C7.28127 11.5457 7.11082 11.6405 6.9257 11.6489C6.74058 11.6574 6.56222 11.5785 6.44391 11.4359L4.0914 8.59999C3.88299 8.34876 3.9177 7.97614 4.16894 7.76772C4.42018 7.55931 4.79279 7.59403 5.00121 7.84526L6.85419 10.079L10.5211 4.73591C10.7059 4.46676 11.0738 4.39832 11.3429 4.58303Z", fill: "currentColor" }) }));
|
|
12307
12341
|
}
|
|
12308
12342
|
return (jsxRuntime.jsx(BoxIcon, { className: "size-full fill-transparent text-comp-mono-default" }));
|
|
12309
12343
|
};
|
|
@@ -12311,7 +12345,9 @@ const Checkbox = React.forwardRef(({ label, labelClassName, wrapperClassName, ..
|
|
|
12311
12345
|
setChecked(value);
|
|
12312
12346
|
onChange?.(value);
|
|
12313
12347
|
};
|
|
12314
|
-
return (jsxRuntime.jsxs("div", { className: cn("flex items-center gap-2.5", wrapperClassName), children: [jsxRuntime.jsx(Checkbox$1, { ref: ref, id: id ?? randomId, ...rest, checked: defaultChecked ? checked : isChecked, className: cn("size-4 p-0 cursor-pointer border-transparent bg-transparent", className), onCheckedChange: onCheckedChange, children: renderCheckboxIcon(defaultChecked ? checked : isChecked, disabled) }), jsxRuntime.jsx("label", { className: cn("text-body leading-body-compact text-comp-mono-default font-medium cursor-pointer", disabled && "text-comp-disabled cursor-default", labelClassName), htmlFor: id ?? randomId, "aria-disabled": disabled, children: label })
|
|
12348
|
+
return (jsxRuntime.jsxs("div", { className: cn("flex items-center gap-2.5 pr-3 pl-1.5 py-1 relative group/state rounded-lg", wrapperClassName), children: [jsxRuntime.jsx(Checkbox$1, { ref: ref, id: id ?? randomId, ...rest, checked: defaultChecked ? checked : isChecked, className: cn("size-4 p-0 cursor-pointer border-transparent bg-transparent", className), onCheckedChange: onCheckedChange, children: renderCheckboxIcon(defaultChecked ? checked : isChecked, disabled) }), jsxRuntime.jsx("label", { className: cn("text-body leading-body-compact text-comp-mono-default font-medium cursor-pointer", disabled && "text-comp-disabled cursor-default", labelClassName), htmlFor: id ?? randomId, "aria-disabled": disabled, children: label }), jsxRuntime.jsx(StateColorContainer, { className: cn("rounded-lg", disabled
|
|
12349
|
+
? "bg-fill-default group-hover/state:bg-fill-default group-active/state:bg-fill-default"
|
|
12350
|
+
: "") })] }));
|
|
12315
12351
|
});
|
|
12316
12352
|
Checkbox.displayName = "Checkbox";
|
|
12317
12353
|
|
|
@@ -12381,7 +12417,7 @@ const DialogTrigger = (props) => {
|
|
|
12381
12417
|
const DialogPortal = Portal$3;
|
|
12382
12418
|
const DialogClose = Close;
|
|
12383
12419
|
const DialogContent = ({ className, overlayClassName, children, ...rest }) => {
|
|
12384
|
-
return (jsxRuntime.jsxs(Portal$3, { children: [jsxRuntime.jsx(Overlay, { className: cn("fixed top-0 bottom-0 left-0 right-0 bg-
|
|
12420
|
+
return (jsxRuntime.jsxs(Portal$3, { children: [jsxRuntime.jsx(Overlay, { className: cn("fixed top-0 bottom-0 left-0 right-0 bg-page-fade inset-0 z-[1000] animate-fade-in", overlayClassName) }), jsxRuntime.jsxs(Content$1, { className: cn("fixed top-1/2 left-1/2 z-[1001] animate-content-fade-in", className), ...rest, children: [jsxRuntime.jsx(Title, { "data-slot": "dialog-title", ...rest, children: jsxRuntime.jsx(Root$4, {}) }), jsxRuntime.jsx(Description, {}), jsxRuntime.jsx(Card, { children: children })] })] }));
|
|
12385
12421
|
};
|
|
12386
12422
|
const DialogDescription = (props) => {
|
|
12387
12423
|
return jsxRuntime.jsx(CardBody, { ...props, children: props.children });
|
|
@@ -12397,8 +12433,10 @@ const DialogBody = ({ className, ...rest }) => {
|
|
|
12397
12433
|
const SELECT_TRIGGER_VARIANTS = {
|
|
12398
12434
|
OUTLINE: "outline",
|
|
12399
12435
|
GHOST: "ghost",
|
|
12436
|
+
FILLED: "filled",
|
|
12400
12437
|
};
|
|
12401
12438
|
const SELECT_TRIGGER_SIZES = {
|
|
12439
|
+
COMPACT: "compact",
|
|
12402
12440
|
REGULAR: "regular",
|
|
12403
12441
|
LARGE: "large",
|
|
12404
12442
|
};
|
|
@@ -12425,15 +12463,13 @@ const SELECT_TRIGGER_SIZES = {
|
|
|
12425
12463
|
const Select = (props) => jsxRuntime.jsx(Root2, { ...props });
|
|
12426
12464
|
const SelectTrigger = ({ placeholder, variant = "outline", size = "regular", icon, ...rest }) => {
|
|
12427
12465
|
const { className, ...otherProps } = rest;
|
|
12428
|
-
return (jsxRuntime.jsxs(Trigger$1, { className: cn(
|
|
12429
|
-
|
|
12430
|
-
|
|
12431
|
-
|
|
12432
|
-
|
|
12433
|
-
"border border-border-bound [&:not(:is([data-placeholder]))]:border-border-focused [&:is([data-disabled])]:border-transparent rounded-sm py-0 px-2", variant === SELECT_TRIGGER_VARIANTS.GHOST &&
|
|
12434
|
-
"border border-transparent py-0 px-2 has-[button:has([data-placeholder])]:border-comp-mono-subtle-default", size === SELECT_TRIGGER_SIZES.REGULAR &&
|
|
12466
|
+
return (jsxRuntime.jsxs(Trigger$1, { className: cn("relative group/state flex items-center justify-between w-full bg-page-l-null outline-none cursor-pointer text-comp-mono-default data-[placeholder]:not-disabled:text-comp-mono-subtle-default data-disabled:text-comp-disabled rounded-md", variant === SELECT_TRIGGER_VARIANTS.OUTLINE &&
|
|
12467
|
+
"border border-border-bound [&:not(:is([data-placeholder]))]:border-border-focused data-disabled:border-transparent py-0 px-2", variant === SELECT_TRIGGER_VARIANTS.GHOST &&
|
|
12468
|
+
"border border-transparent py-0 px-2 [&:not(:is([data-placeholder]))]:border-border-focused data-disabled:border-transparent", variant === SELECT_TRIGGER_VARIANTS.FILLED &&
|
|
12469
|
+
"border border-transparent py-0 px-2 bg-page-l3 [&:not(:is([data-placeholder]))]:border-border-focused [&:not(:is([data-placeholder]))]:bg-page-l2 data-disabled:border-transparent data-disabled:bg-page-l-null", size === SELECT_TRIGGER_SIZES.COMPACT &&
|
|
12470
|
+
"py-1.5 px-1 text-label font-medium leading-label-compact gap-1", size === SELECT_TRIGGER_SIZES.REGULAR &&
|
|
12435
12471
|
"py-1.5 px-2 text-body font-medium leading-body-compact gap-2", size === SELECT_TRIGGER_SIZES.LARGE &&
|
|
12436
|
-
"py-3 px-4 text-base leading-base-compact font-medium gap-3", className), ...otherProps, children: [icon && jsxRuntime.jsx("div", { className: "flex items-center justify-center", children: icon }), jsxRuntime.jsx(Value, { placeholder: placeholder }), jsxRuntime.jsx(Icon$1, { className: "flex items-center justify-center", children: jsxRuntime.jsx(CaretDownIcon, {}) })] }));
|
|
12472
|
+
"py-3 px-4 text-base leading-base-compact font-medium gap-3", className), ...otherProps, children: [icon && jsxRuntime.jsx("div", { className: "flex items-center justify-center", children: icon }), jsxRuntime.jsx(Value, { placeholder: placeholder }), jsxRuntime.jsx(Icon$1, { className: "flex items-center justify-center text-comp-mono-default group-disabled/state:text-comp-disabled", children: jsxRuntime.jsx(CaretDownIcon, {}) }), jsxRuntime.jsx(StateColorContainer, { className: "rounded-md group-data-disabled/state:bg-fill-default" })] }));
|
|
12437
12473
|
};
|
|
12438
12474
|
const SelectContent = ({ children, viewportClassName, viewportWrapperClassName, ...rest }) => {
|
|
12439
12475
|
const { className, position, sideOffset, ...otherProps } = rest;
|
|
@@ -12448,11 +12484,9 @@ const SelectSeparator = (props) => {
|
|
|
12448
12484
|
};
|
|
12449
12485
|
const SelectItem = ({ indicator, ...rest }) => {
|
|
12450
12486
|
const { className, textValue, ...otherProps } = rest;
|
|
12451
|
-
return (jsxRuntime.jsxs(Item, { className: cn(`flex items-center justify-between gap-2 py-1.5 px-2 cursor-pointer text-comp-mono-default text-body font-medium leading-body-compact outline-none rounded-sm
|
|
12452
|
-
hover:not-[:is([data-disabled])]:bg-fill-mono-hovered hover:not-[:is([data-disabled])]:text-comp-mono-hovered
|
|
12487
|
+
return (jsxRuntime.jsxs(Item, { className: cn(`relative group/state flex items-center justify-between gap-2 py-1.5 px-2 cursor-pointer text-comp-mono-default text-body font-medium leading-body-compact outline-none rounded-sm
|
|
12453
12488
|
[&:is([data-disabled])]:text-comp-disabled [&:is([data-disabled])]:cursor-not-allowed
|
|
12454
|
-
[
|
|
12455
|
-
`, className), ...otherProps, children: [jsxRuntime.jsx(ItemText, { children: textValue }), indicator && (jsxRuntime.jsx(ItemIndicator, { className: "w-4 flex items-center justify-center", children: indicator }))] }));
|
|
12489
|
+
`, className), ...otherProps, children: [jsxRuntime.jsx(ItemText, { children: textValue }), indicator && (jsxRuntime.jsx(ItemIndicator, { className: "w-4 flex items-center justify-center", children: indicator })), jsxRuntime.jsx(StateColorContainer, { className: "rounded-sm group-data-disabled/state:bg-fill-default" })] }));
|
|
12456
12490
|
};
|
|
12457
12491
|
Select.displayName = "Select";
|
|
12458
12492
|
SelectTrigger.displayName = "SelectTrigger";
|
|
@@ -12501,13 +12535,9 @@ const VerticalMenu = React.forwardRef(({ disabled, value, label, icon, variant =
|
|
|
12501
12535
|
context.setSelectedMenu?.(value);
|
|
12502
12536
|
rest.onClick?.(e);
|
|
12503
12537
|
};
|
|
12504
|
-
return (jsxRuntime.jsxs("button", { ref: ref, className: cn("w-full flex items-center rounded-md text-body leading-body-compact font-medium bg-transparent border-none cursor-pointer text-comp-mono-default", size === VERTICAL_MENU_SIZES.SMALL && "gap-3 p-1", size === VERTICAL_MENU_SIZES.REGULAR && "gap-[18px] p-2.5", variant === VERTICAL_MENU_VARIANTS.ACCENT &&
|
|
12505
|
-
`
|
|
12506
|
-
|
|
12507
|
-
disabled:text-comp-disabled disabled:bg-fill-disabled disabled:cursor-not-allowed`, variant === VERTICAL_MENU_VARIANTS.GHOST &&
|
|
12508
|
-
`hover:not-[:is([data-selected='true'])]:not-disabled:text-comp-mono-hovered hover:not-[:is([data-selected='true'])]:not-disabled:bg-fill-mono-hovered active:not-disabled:text-comp-mono-pressed active:not-disabled:bg-fill-mono-pressed
|
|
12509
|
-
[&:is([data-selected='true'])]:text-comp-mono-selected [&:is([data-selected='true'])]:bg-fill-mono-selected [&:is([data-selected='true'])]:font-semibold
|
|
12510
|
-
disabled:text-comp-disabled disabled:bg-fill-disabled disabled:cursor-not-allowed`, rest.className), ...rest, disabled: isDisabled, value: value, "data-selected": isSelected, onClick: onClick, children: [icon && (jsxRuntime.jsx("span", { className: "flex items-center justify-center size-5", children: icon })), label] }));
|
|
12538
|
+
return (jsxRuntime.jsxs("button", { ref: ref, className: cn("group/state relative w-full flex items-center rounded-md text-body leading-body-compact font-medium bg-transparent border-none cursor-pointer data-[selected=true]:font-semibold data-disabled:text-comp-disabled text-comp-mono-default", size === VERTICAL_MENU_SIZES.SMALL && "gap-3 p-1", size === VERTICAL_MENU_SIZES.REGULAR && "gap-[18px] p-2.5", variant === VERTICAL_MENU_VARIANTS.ACCENT &&
|
|
12539
|
+
`bg-page-l-null data-[selected=true]:bg-page-accent-l0 data-[selected=true]:text-comp-accent-default`, rest.className), ...rest, disabled: isDisabled, value: value, "data-selected": isSelected, "aria-selected": isSelected, onClick: onClick, children: [icon && (jsxRuntime.jsx("span", { className: "flex items-center justify-center size-5", children: icon })), label, jsxRuntime.jsx(StateColorContainer, { className: cn("rounded-md group-disabled/state:bg-fill-default", variant === VERTICAL_MENU_VARIANTS.ACCENT &&
|
|
12540
|
+
"group-aria-selected:bg-fill-default") })] }));
|
|
12511
12541
|
});
|
|
12512
12542
|
VerticalMenu.displayName = "VerticalMenu";
|
|
12513
12543
|
|
|
@@ -12543,11 +12573,7 @@ const HorizontalTab = React.forwardRef(({ value, label, className, icon, size =
|
|
|
12543
12573
|
return;
|
|
12544
12574
|
setSelectedTab(value);
|
|
12545
12575
|
};
|
|
12546
|
-
return (jsxRuntime.jsxs("button", { ref: ref, className: cn(
|
|
12547
|
-
hover:not([data-selected='true']):not(:disabled):text-comp-mono-subtle-hovered
|
|
12548
|
-
active:not(:disabled):text-comp-mono-subtle-pressed
|
|
12549
|
-
disabled:text-comp-disabled disabled:cursor-not-allowed
|
|
12550
|
-
`, isSelected && "text-comp-mono-subtle-selected font-bold", className), onClick: handleClick, disabled: isDisabled, "data-selected": isSelected, ...rest, children: [jsxRuntime.jsxs("div", { className: cn("flex items-center justify-center gap-2", size === HORIZONTAL_TAB_SIZES.SMALL && "py-1 px-2", size === HORIZONTAL_TAB_SIZES.REGULAR && "py-2.5 px-2"), children: [icon && (jsxRuntime.jsx("span", { className: cn("flex items-center justify-center size-5", size === HORIZONTAL_TAB_SIZES.SMALL && "size-4"), children: icon })), label] }), jsxRuntime.jsx("div", { className: cn("bg-comp-mono-subtle-default mt-[3px] h-[1px] w-full", isSelected && "bg-comp-mono-subtle-selected h-0.5 mt-0.5"), "data-selected": isSelected })] }));
|
|
12576
|
+
return (jsxRuntime.jsxs("button", { ref: ref, className: cn("relative group/state p-0 flex flex-col items-center justify-center flex-nowrap text-comp-mono-subtle-default text-body font-medium leading-body-compact bg-transparent border-none cursor-pointer disabled:cursor-not-allowed", isSelected && "font-bold", className), onClick: handleClick, disabled: isDisabled, "data-selected": isSelected, "aria-selected": isSelected, ...rest, children: [jsxRuntime.jsxs("div", { className: cn("flex items-center justify-center gap-2", size === HORIZONTAL_TAB_SIZES.SMALL && "py-1 px-2", size === HORIZONTAL_TAB_SIZES.REGULAR && "py-2.5 px-2"), children: [icon && (jsxRuntime.jsx("span", { className: cn("flex items-center justify-center size-5", size === HORIZONTAL_TAB_SIZES.SMALL && "size-4"), children: icon })), label] }), jsxRuntime.jsx("div", { className: cn("bg-comp-mono-subtle-default mt-[3px] h-[1px] w-full", isSelected && "h-0.5 mt-0.5"), "data-selected": isSelected }), jsxRuntime.jsx(StateColorContainer, { className: "group-aria-selected/state:bg-fill-default rounded-sm" })] }));
|
|
12551
12577
|
});
|
|
12552
12578
|
|
|
12553
12579
|
const ModeTabContext = React.createContext({
|
|
@@ -12577,7 +12603,7 @@ const ModeTab = React.forwardRef(({ label, icon, value, className, ...rest }, re
|
|
|
12577
12603
|
return;
|
|
12578
12604
|
setSelectedTab(value);
|
|
12579
12605
|
};
|
|
12580
|
-
return (jsxRuntime.jsxs("button", { ref: ref, className: cn("px-2 py-1 flex items-center justify-center gap-2.5 flex-1 text-comp-mono-subtle-default text-body leading-body-compact font-medium cursor-pointer bg-transparent border-none rounded-sm hover:text-comp-mono-subtle-hovered active:text-comp-mono-subtle-pressed", isSelected && "
|
|
12606
|
+
return (jsxRuntime.jsxs("button", { ref: ref, className: cn("relative group/state shadow-basic px-2 py-1 flex items-center justify-center gap-2.5 flex-1 text-comp-mono-subtle-default aria-selected:text-comp-mono-default text-body leading-body-compact font-medium cursor-pointer bg-transparent border-none rounded-sm hover:text-comp-mono-subtle-hovered active:text-comp-mono-subtle-pressed", isSelected && "bg-page-l0", isDisabled && "text-comp-disabled cursor-not-allowed", className), "data-selected": isSelected, "aria-selected": isSelected, disabled: isDisabled, onClick: handleClick, ...rest, children: [icon && (jsxRuntime.jsx("span", { className: "flex items-center justify-center size-5", children: icon })), label, jsxRuntime.jsx(StateColorContainer, { className: "rounded-sm" })] }));
|
|
12581
12607
|
});
|
|
12582
12608
|
|
|
12583
12609
|
const TOOLTIP_SHORT_VARIANTS = {
|
|
@@ -12597,14 +12623,14 @@ const TooltipTrigger = Trigger;
|
|
|
12597
12623
|
const TooltipContent = ({ type, ...rest }) => {
|
|
12598
12624
|
const { className, ...otherProps } = rest;
|
|
12599
12625
|
if (type === "default") {
|
|
12600
|
-
return (jsxRuntime.jsx(Portal, { children: jsxRuntime.jsx(Content2, { className: cn("py-4 px-5 flex flex-col gap-1 bg-page-
|
|
12626
|
+
return (jsxRuntime.jsx(Portal, { children: jsxRuntime.jsx(Content2, { className: cn("py-4 px-5 flex flex-col gap-1 bg-page-translucent-l2 rounded-lg border border-border-overlay shadow-glass-medium backdrop-blur-sm", className), ...otherProps, children: rest.children }) }));
|
|
12601
12627
|
}
|
|
12602
12628
|
const { variant = "default", size = "regular" } = rest;
|
|
12603
12629
|
return (jsxRuntime.jsx(Portal, { children: jsxRuntime.jsx(Content2, { className: cn("shadow-basic rounded-lg", type === "short" &&
|
|
12604
12630
|
variant === TOOLTIP_SHORT_VARIANTS.DEFAULT &&
|
|
12605
|
-
"border border-border-overlay bg-page-
|
|
12631
|
+
"border border-border-overlay bg-page-translucent-l2 text-comp-mono-default", type === "short" &&
|
|
12606
12632
|
variant === TOOLTIP_SHORT_VARIANTS.ACCENT &&
|
|
12607
|
-
"bg-page-accent text-comp-accent-default", type === "short" &&
|
|
12633
|
+
"bg-page-accent-l0 text-comp-accent-default", type === "short" &&
|
|
12608
12634
|
size === TOOLTIP_SHORT_SIZES.REGULAR &&
|
|
12609
12635
|
"py-2 px-3 text-body font-medium leading-body-compact", type === "short" &&
|
|
12610
12636
|
size === TOOLTIP_SHORT_SIZES.SMALL &&
|
|
@@ -12635,22 +12661,13 @@ const Tag = React.forwardRef(({ icon, value, variant = "filled", size = "regular
|
|
|
12635
12661
|
event.stopPropagation();
|
|
12636
12662
|
onDeleteClick?.(value, event);
|
|
12637
12663
|
};
|
|
12638
|
-
return (jsxRuntime.jsxs("button", { ref: ref, className: cn("flex items-center justify-center rounded-sm bg-transparent", variant === "filled" &&
|
|
12639
|
-
`bg-
|
|
12640
|
-
|
|
12641
|
-
|
|
12642
|
-
|
|
12643
|
-
|
|
12644
|
-
|
|
12645
|
-
`bg-fill-mono-subtle-selected text-comp-mono-subtle-selected border-border-selected`, variant === "accent" &&
|
|
12646
|
-
`bg-fill-accent-default text-comp-accent-default hover:bg-fill-accent-hovered hover:text-comp-accent-hovered
|
|
12647
|
-
disabled:bg-fill-disabled disabled:text-comp-disabled`, variant === "accent" &&
|
|
12648
|
-
useSelectedStyle &&
|
|
12649
|
-
"active:bg-fill-accent-pressed active:text-comp-accent-pressed", variant === "accent" &&
|
|
12650
|
-
isSelected &&
|
|
12651
|
-
`bg-fill-accent-selected text-comp-accent-selected`, size === "regular" &&
|
|
12652
|
-
"text-body font-medium leading-body-compact px-1 py-0.5 gap-2", size === "small" &&
|
|
12653
|
-
"text-label font-medium leading-label-compact p-0.5 gap-1.5", className), onClick: handleClick, "data-selected": isSelected, ...props, children: [icon && (jsxRuntime.jsx("span", { className: "flex items-center justify-center size-4 border-none bg-transparent outline-none p-0", children: icon })), jsxRuntime.jsx("span", { className: "flex-1 text-nowrap overflow-hidden text-ellipsis text-inherit text-size-inherit leading-inherit font-inherit", children: value.label }), onDeleteClick && (jsxRuntime.jsx("span", { className: "flex items-center justify-center size-4 border-none bg-transparent outline-none p-0 cursor-pointer", onClick: handleDeleteClick, children: jsxRuntime.jsx(X, {}) }))] }));
|
|
12664
|
+
return (jsxRuntime.jsxs("button", { ref: ref, className: cn("flex items-center justify-center rounded-sm bg-transparent relative group/state", variant === "filled" &&
|
|
12665
|
+
`bg-page-l4 text-comp-mono-subtle-default data-disabled:text-comp-disabled data-disabled:bg-page-l-null`, variant === "accent" &&
|
|
12666
|
+
`bg-page-accent-l0 text-comp-accent-default data-disabled:text-comp-disabled data-disabled:bg-page-l-null`, size === "regular" &&
|
|
12667
|
+
"text-body font-medium leading-body-compact px-2 py-1 gap-2", size === "small" &&
|
|
12668
|
+
"text-label font-medium leading-label-compact px-1.5 py-0.5 gap-1.5", className), onClick: handleClick, "data-selected": isSelected, "aria-selected": isSelected, ...props, children: [icon && (jsxRuntime.jsx("span", { className: "flex items-center justify-center size-4 border-none bg-transparent outline-none p-0", children: icon })), jsxRuntime.jsx("span", { className: "flex-1 text-nowrap overflow-hidden text-ellipsis text-inherit text-size-inherit leading-inherit font-inherit", children: value.label }), onDeleteClick && (jsxRuntime.jsx("span", { className: "flex items-center justify-center size-4 border-none bg-transparent outline-none p-0 cursor-pointer text-comp-mono-default group-disabled/state:text-comp-disabled", onClick: handleDeleteClick, children: jsxRuntime.jsx(X, {}) })), jsxRuntime.jsx(StateColorContainer, { className: cn("rounded-sm", useSelectedStyle
|
|
12669
|
+
? ""
|
|
12670
|
+
: "group-active/state:bg-fill-default group-active/state:border-transparent group-disabled/state:bg-fill-default"), isInverted: variant === "accent" })] }));
|
|
12654
12671
|
});
|
|
12655
12672
|
Tag.displayName = "Tag";
|
|
12656
12673
|
|
|
@@ -12872,14 +12889,24 @@ Text.displayName = "Text";
|
|
|
12872
12889
|
* ```
|
|
12873
12890
|
*/
|
|
12874
12891
|
const Input = React.forwardRef(({ size = "regular", leftIcon, rightIcon, wrapperClassName, isError = false, useHoverStyle = true, errorMessage, ...rest }, ref) => {
|
|
12875
|
-
|
|
12892
|
+
const innerRef = React.useRef(null);
|
|
12893
|
+
const mergedRef = (node) => {
|
|
12894
|
+
if (typeof ref === "function")
|
|
12895
|
+
ref(node);
|
|
12896
|
+
else if (ref)
|
|
12897
|
+
ref.current = node;
|
|
12898
|
+
innerRef.current = node;
|
|
12899
|
+
};
|
|
12900
|
+
return (jsxRuntime.jsxs(React.Fragment, { children: [jsxRuntime.jsxs("div", { "aria-disabled": rest.disabled, className: cn("relative group/state flex items-center justify-center rounded-lg bg-Page-l-null border border-border-bound focus-within:border-border-focused has-[input:disabled]:border-transparent", size === INPUT_SIZES.REGULAR &&
|
|
12876
12901
|
"py-1.5 px-2 text-body leading-body-compact font-medium gap-2", size === INPUT_SIZES.LARGE &&
|
|
12877
12902
|
"py-[11px] px-4 text-base leading-base-compact font-medium gap-3", isError &&
|
|
12878
|
-
"border-comp-chroma-error focus-within:border-comp-chroma-error", wrapperClassName),
|
|
12903
|
+
"border-comp-chroma-error focus-within:border-comp-chroma-error", wrapperClassName), onClick: () => {
|
|
12904
|
+
innerRef.current?.focus();
|
|
12905
|
+
}, children: [jsxRuntime.jsx(StateColorContainer, { className: cn("group-focus-within/state:bg-page-l-null", (!useHoverStyle || rest.disabled) && "hover:bg-fill-default") }), leftIcon && (jsxRuntime.jsx("div", { className: cn("flex items-center justify-center text-comp-mono-default", isError && "text-comp-chroma-error"), children: leftIcon })), jsxRuntime.jsx("input", { ref: mergedRef, className: cn("border-none outline-none p-0 flex-1 bg-transparent text-comp-mono-default placeholder:text-comp-mono-subtle-default focus:placeholder:text-comp-mono-subtle-selected disabled:text-comp-disabled disabled:placeholder:text-comp-disabled", useHoverStyle &&
|
|
12879
12906
|
"hover:placeholder:text-comp-mono-subtle-hovered", size === INPUT_SIZES.REGULAR &&
|
|
12880
12907
|
"text-body leading-body-compact font-medium", size === INPUT_SIZES.LARGE &&
|
|
12881
12908
|
"text-base leading-base-compact font-medium", isError &&
|
|
12882
|
-
"placeholder:text-comp-chroma-error text-comp-chroma-error hover:placeholder:text-comp-error focus:placeholder:text-comp-error", rest.className), ...rest }), rightIcon && (jsxRuntime.jsx("div", { className: cn("flex items-center justify-center text-comp-mono-default", isError && "text-comp-chroma-error"), children: rightIcon }))] }), errorMessage && (jsxRuntime.jsx(Text, { variant: "medLabelMedCompact", className: "text-comp-chroma-error", children: errorMessage }))] }));
|
|
12909
|
+
"placeholder:text-comp-chroma-error text-comp-chroma-error hover:placeholder:text-comp-error focus:placeholder:text-comp-error", rest.className), ...rest }), rightIcon && (jsxRuntime.jsx("div", { className: cn("flex items-center justify-center text-comp-mono-default", isError && "text-comp-chroma-error"), children: rightIcon }))] }), errorMessage && (jsxRuntime.jsx(Text, { variant: "medLabelMedCompact", className: "text-comp-chroma-error mt-2", children: errorMessage }))] }));
|
|
12883
12910
|
});
|
|
12884
12911
|
Input.displayName = "Input";
|
|
12885
12912
|
|
|
@@ -12928,7 +12955,7 @@ const MultipleSelectTrigger = React.forwardRef(({ size = "regular", children, ..
|
|
|
12928
12955
|
setIsOpen(value);
|
|
12929
12956
|
onClick?.(e);
|
|
12930
12957
|
};
|
|
12931
|
-
return (jsxRuntime.jsxs("div", { ref: ref, className: cn("flex items-center justify-between rounded-lg cursor-pointer border border-border-bound bg-
|
|
12958
|
+
return (jsxRuntime.jsxs("div", { ref: ref, className: cn("relative group/state flex items-center justify-between rounded-lg cursor-pointer border border-border-bound bg-page-l-null text-comp-mono-default aria-selected:border-border-focused", disabled && "border-transparent cursor-not-allowed", size === MULTIPLE_SELECT_SIZES.REGULAR && "py-1.5 px-3 gap-2", size === MULTIPLE_SELECT_SIZES.LARGE && "py-3 pr-4 pl-3 gap-3", className), "data-disabled": disabled, "data-selected": isOpen, "aria-selected": isOpen, onClick: handleTriggerClick, ...otherProps, children: [children, jsxRuntime.jsx("span", { className: "flex items-center justify-center size-4 text-comp-mono-default", children: jsxRuntime.jsx(ChevronDown, { size: 16 }) }), jsxRuntime.jsx(StateColorContainer, { className: "group-aria-selected/state:bg-fill-default" })] }));
|
|
12932
12959
|
});
|
|
12933
12960
|
const MultipleSelectValue = React.forwardRef(({ placeholder, className, ...rest }, ref) => {
|
|
12934
12961
|
const { values, disabled, setSelectedValues } = React.useContext(MultipleSelectContext);
|
|
@@ -12982,7 +13009,7 @@ const MultipleSelectContent = React.forwardRef(({ useSearch, options: optionsPro
|
|
|
12982
13009
|
window.removeEventListener("resize", close);
|
|
12983
13010
|
};
|
|
12984
13011
|
}, [setIsOpen]);
|
|
12985
|
-
return (isOpen && (jsxRuntime.jsxs("div", { ref: composedRefs, className: cn("flex-1 absolute top-[calc(100%+4px)] left-0 z-[1000] w-[calc(100%-16px)] bg-page-l1 rounded-xl
|
|
13012
|
+
return (isOpen && (jsxRuntime.jsxs("div", { ref: composedRefs, className: cn("flex-1 absolute top-[calc(100%+4px)] left-0 z-[1000] w-[calc(100%-16px)] bg-page-translucent-l1 shadow-glass-medium backdrop-blur-sm rounded-xl p-2 border border-border-overlay", className), ...rest, children: [useSearch && (jsxRuntime.jsx("div", { className: "pb-2 mb-2 border-b border-b-border-divider", children: jsxRuntime.jsx(Input, { onChange: handleSearchChange, leftIcon: jsxRuntime.jsx(MagnifyingGlassIcon, { width: 20, height: 20 }), placeholder: "Enter any characters..." }) })), jsxRuntime.jsx("ul", { className: "p-0 m-0 flex flex-col gap-1 list-none", children: options.map((option) => (jsxRuntime.jsx(MultipleSelectItem, { option: option, indicator: indicator }, option.value))) })] })));
|
|
12986
13013
|
});
|
|
12987
13014
|
const MultipleSelectItem = React.forwardRef(({ option, indicator, className, ...rest }, ref) => {
|
|
12988
13015
|
const { values, setSelectedValues } = React.useContext(MultipleSelectContext);
|
|
@@ -12996,8 +13023,8 @@ const MultipleSelectItem = React.forwardRef(({ option, indicator, className, ...
|
|
|
12996
13023
|
: [...values, option];
|
|
12997
13024
|
setSelectedValues(newValues);
|
|
12998
13025
|
};
|
|
12999
|
-
return (jsxRuntime.jsxs("li", { ref: ref, "data-selected": isSelected, "data-disabled": option.disabled, className: cn("py-2 px-3 cursor-pointer flex items-center justify-between gap-2 text-body text-comp-mono-default leading-body-compact font-medium rounded-sm
|
|
13000
|
-
"bg-fill-disabled text-comp-disabled cursor-not-allowed", className), onClick: handleClick, ...rest, children: [jsxRuntime.jsx("span", { className: "flex-1 overflow-ellipsis overflow-x-hidden whitespace-nowrap text-inherit text-size-inherit leading-inherit font-inherit", children: option.label }), indicator && isSelected && (jsxRuntime.jsx("span", { className: "flex items-center justify-center size-4", children: indicator }))] }));
|
|
13026
|
+
return (jsxRuntime.jsxs("li", { ref: ref, "data-selected": isSelected, "aria-selected": isSelected, "data-disabled": option.disabled, className: cn("group/state relative py-2 px-3 cursor-pointer flex items-center justify-between gap-2 text-body text-comp-mono-default leading-body-compact font-medium rounded-sm", isSelected && "bg-fill-mono-selected text-comp-mono-default", option.disabled &&
|
|
13027
|
+
"bg-fill-disabled text-comp-disabled cursor-not-allowed", className), onClick: handleClick, ...rest, children: [jsxRuntime.jsx("span", { className: "flex-1 overflow-ellipsis overflow-x-hidden whitespace-nowrap text-inherit text-size-inherit leading-inherit font-inherit", children: option.label }), indicator && isSelected && (jsxRuntime.jsx("span", { className: "flex items-center justify-center size-4", children: indicator })), jsxRuntime.jsx(StateColorContainer, { className: "rounded-sm" })] }));
|
|
13001
13028
|
});
|
|
13002
13029
|
|
|
13003
13030
|
const Table = React.forwardRef(({ className, ...rest }, ref) => {
|
|
@@ -13010,7 +13037,7 @@ const TableBody = React.forwardRef(({ ...rest }, ref) => {
|
|
|
13010
13037
|
return jsxRuntime.jsx("tbody", { ref: ref, ...rest });
|
|
13011
13038
|
});
|
|
13012
13039
|
const TableRow = React.forwardRef(({ isSelected, shouldLastBorderRender = true, className, ...rest }, ref) => {
|
|
13013
|
-
return (jsxRuntime.jsx("tr", { ref: ref, "data-selected": isSelected, "data-last-border": shouldLastBorderRender, className: cn("border-b border-border-divider hover:bg-fill-
|
|
13040
|
+
return (jsxRuntime.jsx("tr", { ref: ref, "data-selected": isSelected, "data-last-border": shouldLastBorderRender, className: cn("border-b border-border-divider hover:bg-fill-hovered", isSelected && "bg-fill-selected", !shouldLastBorderRender && "last:border-b-0", className), ...rest }));
|
|
13014
13041
|
});
|
|
13015
13042
|
const TableHead = React.forwardRef(({ className, children, ...rest }, ref) => {
|
|
13016
13043
|
return (jsxRuntime.jsx("th", { ref: ref, className: cn("text-body leading-body font-medium py-5 pr-0 pl-9 last:pr-9 align-middle text-comp-mono-subtle-default text-left", className), ...rest, children: jsxRuntime.jsx("div", { className: "overflow-hidden overflow-ellipsis whitespace-nowrap", children: children }) }));
|
|
@@ -13045,8 +13072,8 @@ const InteractiveListItemContext = React.createContext({
|
|
|
13045
13072
|
disabled: false,
|
|
13046
13073
|
});
|
|
13047
13074
|
const InteractiveListItem = React.forwardRef(({ isSelected, disabled, showHoverActions = true, children, className, ...rest }, ref) => {
|
|
13048
|
-
return (jsxRuntime.jsx(InteractiveListItemContext, { value: { disabled: !!disabled }, children: jsxRuntime.
|
|
13049
|
-
"cursor-not-allowed text-comp-disabled bg-fill-disabled", className), ...rest, children: children }) }));
|
|
13075
|
+
return (jsxRuntime.jsx(InteractiveListItemContext, { value: { disabled: !!disabled }, children: jsxRuntime.jsxs("div", { ref: ref, "aria-selected": isSelected, "data-selected": isSelected, "data-disabled": disabled, "data-hover-actions": showHoverActions, className: cn("relative group/wrapper flex items-center gap-1 p-1.5 rounded-sm cursor-pointer text-comp-mono-default bg-page-l-null order border-transparent", isSelected && "bg-fill-mono-selected border-border-selected", disabled &&
|
|
13076
|
+
"cursor-not-allowed text-comp-disabled bg-fill-disabled", className), ...rest, children: [children, jsxRuntime.jsx(StateColorContainer, { className: "rounded-sm", groupName: "wrapper" })] }) }));
|
|
13050
13077
|
});
|
|
13051
13078
|
const InteractiveListItemIcon = React.forwardRef(({ children, className, ...props }, ref) => {
|
|
13052
13079
|
return (jsxRuntime.jsx("span", { className: cn("flex items-center justify-center size-6 p-1", className), ...props, ref: ref, children: children }));
|
|
@@ -13072,20 +13099,21 @@ const Calendar = ({ className, classNames, showOutsideDays = true, ...props }) =
|
|
|
13072
13099
|
month_grid: "border-separate border-spacing-0",
|
|
13073
13100
|
weekday: "text-comp-mono-subtle-default text-body font-normal leading-body size-9 p-1",
|
|
13074
13101
|
day: "p-1 bg-transparent",
|
|
13075
|
-
day_button: "size-8 rounded-md hover:bg-fill-
|
|
13076
|
-
selected: cn("[&_button]:bg-
|
|
13077
|
-
"[&_button]:text-comp-accent-default [&_button]:hover:bg-
|
|
13078
|
-
|
|
13079
|
-
|
|
13080
|
-
|
|
13081
|
-
|
|
13082
|
-
|
|
13102
|
+
day_button: "size-8 rounded-md hover:bg-fill-hovered focus:outline-none text-body leading-3.5 font-medium text-comp-mono-default cursor-pointer",
|
|
13103
|
+
selected: cn("[&_button]:bg-page-accent-l0 bg-transparent", props.mode === "single" &&
|
|
13104
|
+
"[&_button]:text-comp-accent-default [&_button]:hover:bg-page-accent-l0"),
|
|
13105
|
+
outside: "[&_button]:text-comp-disabled",
|
|
13106
|
+
range_start: "[&_button]:bg-page-accent-l0 bg-transparent [&_button]:text-comp-accent-default [&_button]:hover:bg-page-accent-l0",
|
|
13107
|
+
range_middle: "[&_button]:bg-page-l3 bg-transparent [&_button]:hover:bg-fill-hovered",
|
|
13108
|
+
range_end: "[&_button]:bg-page-accent-l0 bg-transparent [&_button]:text-comp-accent-default [&_button]:hover:bg-page-accent-l0",
|
|
13109
|
+
button_next: cn(reactDayPicker.getDefaultClassNames().button_next, "h-9 py-0 px-2 text-body leading-body-compact !bg-fill-default hover:!bg-fill-hovered active:!bg-fill-mono-pressed disabled:!bg-fill-disabled disabled:text-comp-disabled rounded-md"),
|
|
13110
|
+
button_previous: cn(reactDayPicker.getDefaultClassNames().button_previous, "h-9 py-0 px-2 text-body leading-body-compact !bg-fill-default hover:!bg-fill-hovered active:!bg-fill-mono-pressed disabled:!bg-fill-disabled disabled:text-comp-disabled rounded-md"),
|
|
13083
13111
|
...classNames,
|
|
13084
13112
|
}, components: {
|
|
13085
13113
|
Dropdown: (props) => {
|
|
13086
13114
|
const { options, className, classNames, components, ...rest } = props;
|
|
13087
13115
|
const selectedOption = options?.find(({ value }) => value === rest.value);
|
|
13088
|
-
return (jsxRuntime.jsxs("div", { className: cn("flex px-2 py-1 rounded-lg
|
|
13116
|
+
return (jsxRuntime.jsxs("div", { className: cn("group/state flex px-2 py-1 rounded-lg relative cursor-pointer", props["aria-label"]?.includes("Month") ? "w-28" : "w-20"), children: [jsxRuntime.jsx("select", { ...rest, className: cn("text-body leading-body-compact font-medium text-comp-mono-default focus:outline-none z-[1] opacity-0 appearance-none absolute inset-0 w-full", className), name: props["aria-label"], children: options?.map((option) => (jsxRuntime.jsx("option", { value: option.value, children: option.label }, option.value))) }), jsxRuntime.jsxs(Text, { variant: "medBodyMedCompact", className: "flex gap-0.5 items-center justify-end w-full text-comp-mono-default leading-3.5 cursor-pointer", "aria-hidden": true, children: [jsxRuntime.jsx("span", { className: "inline-block px-1 py-1.5 flex-1 text-right", children: selectedOption?.label }), jsxRuntime.jsx(ChevronDown, { size: 16 })] }), jsxRuntime.jsx(StateColorContainer, { className: "rounded-lg" })] }));
|
|
13089
13117
|
},
|
|
13090
13118
|
Chevron: (args) => (jsxRuntime.jsx(ChevronLeft, { ...args, size: 20, "data-orientation": args.orientation, className: "text-comp-mono-default [&:is([data-orientation='right'])]:rotate-180 [&:is([data-orientation='up'])]:rotate-90 [&:is([data-orientation='down'])]:-rotate-90" })),
|
|
13091
13119
|
}, ...props }));
|
|
@@ -13097,6 +13125,7 @@ const BUTTON_SIZES = {
|
|
|
13097
13125
|
LARGE: "large",
|
|
13098
13126
|
};
|
|
13099
13127
|
const BUTTON_VARIANTS = {
|
|
13128
|
+
ACCENT: "accent",
|
|
13100
13129
|
THUMBNAIL_GHOST: "thumbnail_ghost"};
|
|
13101
13130
|
|
|
13102
13131
|
/**
|
|
@@ -13113,7 +13142,7 @@ const BUTTON_VARIANTS = {
|
|
|
13113
13142
|
* </Button>
|
|
13114
13143
|
* ```
|
|
13115
13144
|
*/
|
|
13116
|
-
const Button = React.forwardRef(({ variant = "accent", size = "regular", fullWidth = false, isLoading = false, leftIcon, rightIcon, children, disabled, className, ...rest }, ref) => {
|
|
13145
|
+
const Button = React.forwardRef(({ variant = "accent", size = "regular", fullWidth = false, isLoading = false, leftIcon, rightIcon, children, disabled, className, stateContainerClassName, ...rest }, ref) => {
|
|
13117
13146
|
const getClassName = (size, variant) => {
|
|
13118
13147
|
const sizeClassName = {
|
|
13119
13148
|
small: "h-7 py-0 px-1.5 text-label leading-label-compact",
|
|
@@ -13126,12 +13155,16 @@ const Button = React.forwardRef(({ variant = "accent", size = "regular", fullWid
|
|
|
13126
13155
|
large: "px-1.5",
|
|
13127
13156
|
}[size];
|
|
13128
13157
|
const variantClassName = {
|
|
13129
|
-
accent: "bg-
|
|
13130
|
-
outline: "bg-
|
|
13131
|
-
|
|
13132
|
-
|
|
13133
|
-
|
|
13134
|
-
|
|
13158
|
+
accent: "bg-page-accent-l0 disabled:bg-pure-transparent text-comp-accent-default disabled:text-comp-disabled",
|
|
13159
|
+
outline: "bg-page-l-null disabled:bg-page-l-null text-comp-mono-default disabled:text-comp-disabled border border-border-bound disabled:border-pure-transparent aria-selected:border-border-selected",
|
|
13160
|
+
outline_to_accent: "bg-page-l-null disabled:bg-page-l-null text-comp-mono-default disabled:text-comp-disabled border border-border-bound disabled:border-pure-transparent aria-selected:border-border-selected aria-selected:bg-page-accent-l0 aria-selected:text-comp-accent-default",
|
|
13161
|
+
ghost: "bg-page-l-null disabled:bg-page-l-null text-comp-mono-default disabled:text-comp-disabled",
|
|
13162
|
+
thumbnail_ghost: "bg-page-l-null disabled:bg-fill-disabled text-comp-mono-default disabled:text-comp-disabled",
|
|
13163
|
+
ghost_to_accent: "bg-page-l-null disabled:bg-page-l-null text-comp-mono-default disabled:text-comp-disabled aria-selected:bg-page-accent-l0 aria-selected:text-comp-accent-default",
|
|
13164
|
+
subtle_filled: "bg-page-l3 disabled:bg-fill-disabled text-comp-mono-subtle-default disabled:text-comp-disabled aria-selected:text-comp-mono-default",
|
|
13165
|
+
outline_accent: "bg-page-l-null disabled:bg-page-l-null text-comp-accent-default disabled:text-comp-disabled border border-border-accent-bound disabled:border-pure-transparent aria-selected:border-border-accent-selected",
|
|
13166
|
+
ghost_accent: "bg-page-l-null disabled:bg-page-l-null text-comp-accent-default disabled:text-comp-disabled",
|
|
13167
|
+
ghost_dim: "bg-page-l-null disabled:bg-page-l-null text-comp-mono-subtle-default disabled:text-comp-disabled aria-selected:text-comp-mono-default",
|
|
13135
13168
|
}[variant];
|
|
13136
13169
|
return [
|
|
13137
13170
|
sizeClassName,
|
|
@@ -13160,7 +13193,7 @@ const Button = React.forwardRef(({ variant = "accent", size = "regular", fullWid
|
|
|
13160
13193
|
return "px-1.5";
|
|
13161
13194
|
return "px-2"; // 기본값은 regular 크기
|
|
13162
13195
|
};
|
|
13163
|
-
return (jsxRuntime.jsxs("button", { ref: ref, disabled: disabled ?? isLoading, className: cn("flex items-center justify-center relative box-border m-0 border-transparent outline-none cursor-pointer select-none align-middle appearance-none text-center transition-normal font-medium w-auto rounded-md overflow-hidden pointer-events-auto disabled:pointer-events-none disabled:cursor-not-allowed", ...getClassName(size, variant), fullWidth && "w-full", !children && (leftIcon || rightIcon) && getPaddingOnlyIcon(size), className), ...rest, children: [isLoading && (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: cn("lucide lucide-loader-circle-icon lucide-loader-circle absolute animate-spin", size === BUTTON_SIZES.SMALL &&
|
|
13196
|
+
return (jsxRuntime.jsxs("button", { ref: ref, disabled: disabled ?? isLoading, className: cn("flex group/state items-center justify-center relative box-border m-0 border-transparent outline-none cursor-pointer select-none align-middle appearance-none text-center transition-normal font-medium w-auto rounded-md overflow-hidden pointer-events-auto disabled:pointer-events-none disabled:cursor-not-allowed", ...getClassName(size, variant), fullWidth && "w-full", !children && (leftIcon || rightIcon) && getPaddingOnlyIcon(size), className), ...rest, children: [jsxRuntime.jsx(StateColorContainer, { isInverted: variant === BUTTON_VARIANTS.ACCENT, className: stateContainerClassName }), isLoading && (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: cn("lucide lucide-loader-circle-icon lucide-loader-circle absolute animate-spin", size === BUTTON_SIZES.SMALL &&
|
|
13164
13197
|
"size-4 top-[calc(50%-8px)] left-[calc(50%-8px)]", size === BUTTON_SIZES.REGULAR &&
|
|
13165
13198
|
"size-5 top-[calc(50%-10px)] left-[calc(50%-10px)]", size === BUTTON_SIZES.LARGE &&
|
|
13166
13199
|
"size-6 top-[calc(50%-12px)] left-[calc(50%-12px)]"), children: jsxRuntime.jsx("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" }) })), leftIcon && (jsxRuntime.jsx("div", { className: cn("flex items-center justify-center relative", variant === BUTTON_VARIANTS.THUMBNAIL_GHOST &&
|
|
@@ -13217,7 +13250,7 @@ const DatePicker = ({ size = "regular", placeholder = "Pick a date", format = "Y
|
|
|
13217
13250
|
}
|
|
13218
13251
|
return placeholder ?? "";
|
|
13219
13252
|
};
|
|
13220
|
-
return (jsxRuntime.jsxs(Root2$2, { open: open, onOpenChange: handleOpenChange, children: [jsxRuntime.jsx(Trigger$2, { asChild: true, children: jsxRuntime.jsx(Button, { size: size, fullWidth: true, variant: "outline", leftIcon: jsxRuntime.jsx(Calendar$1, { size: 20 }), className: "justify-start", disabled: disabled, children: getDateToFormatString(inputValue) }) }), jsxRuntime.jsx(Content2$2, { sideOffset: 10, align: "start", className: cn("z-10", popoverContentClassName), ...rest, children: mode === "single" ? (jsxRuntime.jsx(Calendar, { mode: "single", ...rest, selected: inputValue, onSelect: handleSelect })) : mode === "multiple" ? (jsxRuntime.jsx(Calendar, { mode: "multiple", ...rest, selected: Array.isArray(inputValue) ? inputValue : [], onSelect: handleSelect })) : (jsxRuntime.jsx(Calendar, { mode: "range", ...rest, selected: inputValue, onSelect: handleSelect })) })] }));
|
|
13253
|
+
return (jsxRuntime.jsxs(Root2$2, { open: open, onOpenChange: handleOpenChange, children: [jsxRuntime.jsx(Trigger$2, { asChild: true, children: jsxRuntime.jsx(Button, { size: size, fullWidth: true, variant: "outline", leftIcon: jsxRuntime.jsx(Calendar$1, { size: 20 }), className: "justify-start", "aria-selected": open, disabled: disabled, stateContainerClassName: open ? "group-aria-selected/state:bg-fill-default" : undefined, children: getDateToFormatString(inputValue) }) }), jsxRuntime.jsx(Content2$2, { sideOffset: 10, align: "start", className: cn("z-10", popoverContentClassName), ...rest, children: mode === "single" ? (jsxRuntime.jsx(Calendar, { mode: "single", ...rest, selected: inputValue, onSelect: handleSelect })) : mode === "multiple" ? (jsxRuntime.jsx(Calendar, { mode: "multiple", ...rest, selected: Array.isArray(inputValue) ? inputValue : [], onSelect: handleSelect })) : (jsxRuntime.jsx(Calendar, { mode: "range", ...rest, selected: inputValue, onSelect: handleSelect })) })] }));
|
|
13221
13254
|
};
|
|
13222
13255
|
|
|
13223
13256
|
const ContextMenu = Root2$3;
|
|
@@ -13230,12 +13263,8 @@ const ContextMenuLabel = (props) => {
|
|
|
13230
13263
|
return (jsxRuntime.jsx(Label2, { ...props, children: props.children }));
|
|
13231
13264
|
};
|
|
13232
13265
|
const ContextMenuItem = ({ leftIcon, rightSlot, textValue, ...rest }) => {
|
|
13233
|
-
return (jsxRuntime.jsxs(Item2$1, { ...rest, className: cn(`group outline-none p-2 flex items-center justify-between gap-2 text-body leading-body-compact font-medium text-comp-mono-default bg-
|
|
13234
|
-
|
|
13235
|
-
active:not-[:is([data-disabled])]:bg-fill-mono-pressed active:not-[:is([data-disabled])]:text-comp-mono-pressed
|
|
13236
|
-
[&:is([data-state='open'])]:bg-fill-mono-selected [&:is([data-state='open'])]:text-comp-mono-selected
|
|
13237
|
-
[&:is([data-disabled])]:bg-fill-disabled [&:is([data-disabled])]:text-comp-disabled [&:is([data-disabled])]:cursor-not-allowed`, rest.className), children: [jsxRuntime.jsxs("div", { className: "flex-1 flex items-center gap-2 text-size-inherit font-inherit leading-inherit overflow-hidden", children: [jsxRuntime.jsx("div", { className: "size-4 flex items-center justify-center text-size-inherit leading-inherit font-inherit bg-transparent", children: leftIcon }), jsxRuntime.jsx("span", { className: "overflow-ellipsis overflow-hidden whitespace-nowrap", children: textValue })] }), rightSlot && (jsxRuntime.jsx("div", { className: `flex items-center justify-center text-size-inherit leading-inherit font-inherit text-comp-mono-subtle-default
|
|
13238
|
-
group-hover:not-[data-disabled]:text-comp-mono-subtle-hovered group-[data-state="open"]:text-comp-mono-subtle-selected group-[data-disabled]:text-comp-disabled`, children: rightSlot }))] }));
|
|
13266
|
+
return (jsxRuntime.jsxs(Item2$1, { ...rest, className: cn(`relative group/state outline-none p-2 flex items-center justify-between gap-2 text-body leading-body-compact font-medium text-comp-mono-default bg-page-l-null rounded-sm
|
|
13267
|
+
[&:is([data-disabled])]:bg-fill-disabled [&:is([data-disabled])]:text-comp-disabled [&:is([data-disabled])]:cursor-not-allowed`, rest.className), children: [jsxRuntime.jsxs("div", { className: "flex-1 flex items-center gap-2 text-size-inherit font-inherit leading-inherit overflow-hidden", children: [jsxRuntime.jsx("div", { className: "size-4 flex items-center justify-center text-size-inherit leading-inherit font-inherit bg-transparent text-comp-mono-subtle-default group-aria-disabled/state:text-comp-disabled", children: leftIcon }), jsxRuntime.jsx("span", { className: "overflow-ellipsis overflow-hidden whitespace-nowrap", children: textValue })] }), rightSlot && (jsxRuntime.jsx("div", { className: `flex items-center justify-center text-size-inherit leading-inherit font-inherit text-comp-mono-subtle-default group-aria-disabled/state:text-comp-disabled`, children: rightSlot })), jsxRuntime.jsx(StateColorContainer, { className: "rounded-sm group-aria-disabled/state:bg-fill-default group-[data-state='open']/state:bg-fill-selected" })] }));
|
|
13239
13268
|
};
|
|
13240
13269
|
const ContextMenuGroup = Group2;
|
|
13241
13270
|
const ContextMenuSub = Sub2;
|
|
@@ -13244,7 +13273,7 @@ const ContextMenuSubContent = (props) => {
|
|
|
13244
13273
|
return (jsxRuntime.jsx(Portal2, { children: jsxRuntime.jsx(SubContent2, { ...props, className: cn("p-2 bg-page-l1 shadow-medium rounded-lg w-[320px] border border-border-overlay", props.className), children: props.children }) }));
|
|
13245
13274
|
};
|
|
13246
13275
|
const ContextMenuSeparator = (props) => {
|
|
13247
|
-
return (jsxRuntime.jsx(Separator2, { ...props, className: cn("h-[1px] bg-border-
|
|
13276
|
+
return (jsxRuntime.jsx(Separator2, { ...props, className: cn("h-[1px] bg-border-divider my-1", props.className) }));
|
|
13248
13277
|
};
|
|
13249
13278
|
const ContextMenuCheckboxItem = CheckboxItem2;
|
|
13250
13279
|
const ContextMenuRadioGroup = RadioGroup2;
|
|
@@ -13255,8 +13284,8 @@ const ContextMenuItemIndicator = (props) => {
|
|
|
13255
13284
|
|
|
13256
13285
|
const AutocompleteContentItem = ({ inputValue, item, index, displayValue, highlightedIndex, onClick, className = "", }) => {
|
|
13257
13286
|
const isHighlighted = index === highlightedIndex;
|
|
13258
|
-
return (jsxRuntime.jsx("li", { id: `suggestion-item-${index}`, className: cn("rounded-sm p-2 text-comp-mono-default text-body leading-body-compact font-medium list-none hover:bg-fill-
|
|
13259
|
-
.split(new RegExp(`(${inputValue})`, "gi"))
|
|
13287
|
+
return (jsxRuntime.jsx("li", { id: `suggestion-item-${index}`, className: cn("rounded-sm p-2 text-comp-mono-default text-body leading-body-compact font-medium list-none hover:bg-fill-hovered", isHighlighted && "bg-fill-selected", className), onClick: (e) => onClick(item, e), role: "option", "aria-selected": isHighlighted, children: displayValue(item)
|
|
13288
|
+
.split(new RegExp(`(${inputValue.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")})`, "gi"))
|
|
13260
13289
|
.map((part, i) => part.toLowerCase() === inputValue.toLowerCase() ? (jsxRuntime.jsx("span", { className: "font-bold text-comp-chroma-error", children: part }, i)) : (jsxRuntime.jsx("span", { children: part }, i))) }));
|
|
13261
13290
|
};
|
|
13262
13291
|
const Autocomplete = ({ placeholder, data, value, displayValue, onSelect, onChange, noResultsMessage = "검색 결과가 없습니다.", maxResults = 10, debounceTime = 300, wrapperClassName, contentClassName, itemClassName, }) => {
|
|
@@ -13373,27 +13402,27 @@ const SWITCH_SIZES = {
|
|
|
13373
13402
|
|
|
13374
13403
|
const FilledSwitch = (props) => {
|
|
13375
13404
|
const { size, checked, thumbClassName, ...rest } = props;
|
|
13376
|
-
return (jsxRuntime.jsxs(Root, { className: cn("flex items-center gap-1 bg-page-l2 rounded-lg relative", size === SWITCH_SIZES.REGULAR && "p-1.5 w-[68px] h-9", size === SWITCH_SIZES.SMALL && "p-1 w-[59px] h-7"), checked: checked, ...rest, children: [jsxRuntime.jsx(Thumb, { className: cn("
|
|
13405
|
+
return (jsxRuntime.jsxs(Root, { className: cn("group/state flex items-center gap-1 bg-page-l2 rounded-lg relative", size === SWITCH_SIZES.REGULAR && "p-1.5 w-[68px] h-9", size === SWITCH_SIZES.SMALL && "p-1 w-[59px] h-7"), checked: checked, ...rest, children: [jsxRuntime.jsx(Thumb, { className: cn("absolute transition-all duration-100 rounded-sm border border-border-divider", size === SWITCH_SIZES.REGULAR &&
|
|
13377
13406
|
"size-6 left-1.5 data-[state=checked]:left-[37px]", size === SWITCH_SIZES.SMALL &&
|
|
13378
|
-
"size-5 left-1 data-[state=checked]:left-[35px]", checked ? "bg-
|
|
13407
|
+
"size-5 left-1 data-[state=checked]:left-[35px]", checked ? "bg-page-accent-l0" : "bg-page-l3", thumbClassName) }), checked ? (jsxRuntime.jsx(Text, { variant: "medLabelMedCompact", className: "text-comp-mono-default py-1 px-[5px] text-left w-full", as: "div", children: "ON" })) : (jsxRuntime.jsx(Text, { variant: "medLabelMedCompact", className: "text-comp-mono-subtle-default py-1 px-0.5 text-right w-full", as: "div", children: "OFF" })), jsxRuntime.jsx(StateColorContainer, { className: "rounded-lg" })] }));
|
|
13379
13408
|
};
|
|
13380
13409
|
const OutlinedSwitch = (props) => {
|
|
13381
13410
|
const { size, checked, thumbClassName, ...rest } = props;
|
|
13382
|
-
return (jsxRuntime.jsxs(Root, { className: cn("group border shadow-inner p-1 relative rounded-[20px]", checked
|
|
13383
|
-
? "bg-
|
|
13384
|
-
: "bg-
|
|
13385
|
-
"size-7 data-[state=checked]:left-[42px]
|
|
13386
|
-
"size-5 data-[state=checked]:left-[36px]
|
|
13411
|
+
return (jsxRuntime.jsxs(Root, { className: cn("group/state border shadow-inner p-1 relative rounded-[20px]", checked
|
|
13412
|
+
? "bg-page-accent-l0 border-transparent"
|
|
13413
|
+
: "bg-page-l-null border-border-divider", size === SWITCH_SIZES.REGULAR && "w-[74px] h-9", size === SWITCH_SIZES.SMALL && "w-[60px] h-7"), checked: checked, ...rest, children: [jsxRuntime.jsx(Thumb, { className: cn("absolute transition-all duration-100 top-[3px] rounded-full left-1 bg-page-l3 border border-border-bound shadow-basic", size === SWITCH_SIZES.REGULAR &&
|
|
13414
|
+
"size-7 data-[state=checked]:left-[42px]", size === SWITCH_SIZES.SMALL &&
|
|
13415
|
+
"size-5 data-[state=checked]:left-[36px]", thumbClassName) }), checked ? (jsxRuntime.jsx(Text, { variant: size === SWITCH_SIZES.REGULAR
|
|
13387
13416
|
? "boldBodyBoldCompact"
|
|
13388
|
-
: "boldLabelBoldCompact", className: "text-comp-accent-default pl-2 text-left
|
|
13417
|
+
: "boldLabelBoldCompact", className: "text-comp-accent-default pl-2 text-left", as: "div", children: "ON" })) : (jsxRuntime.jsx(Text, { variant: size === SWITCH_SIZES.REGULAR
|
|
13389
13418
|
? "medBodyMedCompact"
|
|
13390
|
-
: "medLabelMedCompact", className: cn("text-comp-mono-subtle-default text-right
|
|
13419
|
+
: "medLabelMedCompact", className: cn("text-comp-mono-subtle-default text-right", size === SWITCH_SIZES.REGULAR && "pr-1.5", size === SWITCH_SIZES.SMALL && "pr-[3px]"), as: "div", children: "OFF" })), jsxRuntime.jsx(StateColorContainer, { className: "rounded-[20px]" })] }));
|
|
13391
13420
|
};
|
|
13392
13421
|
const SlideSwitch = (props) => {
|
|
13393
13422
|
const { size, checked, thumbClassName, leftIcon, rightIcon, ...rest } = props;
|
|
13394
|
-
return (jsxRuntime.jsxs(Root, { className: cn("group border shadow-inner p-1 relative rounded-[20px] border-border-bound bg-
|
|
13423
|
+
return (jsxRuntime.jsxs(Root, { className: cn("group/state border shadow-inner p-1 relative rounded-[20px] border-border-bound bg-page-l-null", size === SWITCH_SIZES.REGULAR && "w-[70px] h-9", size === SWITCH_SIZES.SMALL && "w-[54px] h-7"), checked: checked, ...rest, children: [jsxRuntime.jsx(Thumb, { className: cn("absolute transition-all duration-100 top-[3px] rounded-full left-1 bg-page-l3 shadow-basic border border-border-bound", size === SWITCH_SIZES.REGULAR &&
|
|
13395
13424
|
"size-7 data-[state=checked]:left-[36px]", size === SWITCH_SIZES.SMALL &&
|
|
13396
|
-
"size-5 data-[state=checked]:left-[28px]", thumbClassName) }), leftIcon && (jsxRuntime.jsx("div", { className: cn("absolute top-1/2 -translate-y-1/2 transition-opacity text-comp-mono-subtle-default", size === SWITCH_SIZES.SMALL && "left-[8px] size-4", size === SWITCH_SIZES.REGULAR && "left-[10px] size-5", checked ? "opacity-100" : "opacity-0"), children: leftIcon })), rightIcon && (jsxRuntime.jsx("div", { className: cn("absolute top-1/2 -translate-y-1/2 transition-opacity text-comp-mono-subtle-default", size === SWITCH_SIZES.SMALL && "right-[8px] size-4", size === SWITCH_SIZES.REGULAR && "right-[10px] size-5", !checked ? "opacity-100" : "opacity-0"), children: rightIcon }))] }));
|
|
13425
|
+
"size-5 data-[state=checked]:left-[28px]", thumbClassName) }), leftIcon && (jsxRuntime.jsx("div", { className: cn("absolute top-1/2 -translate-y-1/2 transition-opacity text-comp-mono-subtle-default", size === SWITCH_SIZES.SMALL && "left-[8px] size-4", size === SWITCH_SIZES.REGULAR && "left-[10px] size-5", checked ? "opacity-100" : "opacity-0"), children: leftIcon })), rightIcon && (jsxRuntime.jsx("div", { className: cn("absolute top-1/2 -translate-y-1/2 transition-opacity text-comp-mono-subtle-default", size === SWITCH_SIZES.SMALL && "right-[8px] size-4", size === SWITCH_SIZES.REGULAR && "right-[10px] size-5", !checked ? "opacity-100" : "opacity-0"), children: rightIcon })), jsxRuntime.jsx(StateColorContainer, { className: "rounded-[20px]" })] }));
|
|
13397
13426
|
};
|
|
13398
13427
|
const Switch = (props) => {
|
|
13399
13428
|
const { defaultChecked, checked: isChecked } = props;
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -13,3 +13,5 @@ export { Tag } from "./tag";
|
|
|
13
13
|
export { TAG_SIZES, TAG_VARIANTS } from "./tag/types";
|
|
14
14
|
export type { TagSize, TagVariant } from "./tag/types";
|
|
15
15
|
export { Pagination, PaginationContent, PaginationLink, PaginationItem, PaginationPrevious, PaginationNext, PaginationEllipsis, } from "./pagination";
|
|
16
|
+
export { StateColorContainer } from "./state-color-container";
|
|
17
|
+
export type { StateGroupName } from "./state-color-container/types";
|