@telepix-lab/telepix-ui 0.6.7 → 0.6.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/client.js +51 -25
- package/dist/cjs/index.d.ts +10 -10
- package/dist/cjs/index.js +110 -83
- package/dist/cjs/input/index.d.ts +5 -2
- package/dist/cjs/input/types.d.ts +6 -0
- package/dist/cjs/text/types.d.ts +5 -0
- package/dist/esm/client.js +51 -25
- package/dist/esm/index.d.ts +10 -10
- package/dist/esm/index.js +110 -84
- package/dist/esm/input/index.d.ts +5 -2
- package/dist/esm/input/types.d.ts +6 -0
- package/dist/esm/text/types.d.ts +5 -0
- package/dist/index.d.ts +126 -112
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/cjs/client.js
CHANGED
|
@@ -12099,7 +12099,7 @@ const StateColorContainer = ({ groupName = "state", isInverted, className, }) =>
|
|
|
12099
12099
|
const group = groupName || "state";
|
|
12100
12100
|
const mode = isInverted ? "invert" : "normal";
|
|
12101
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) }));
|
|
12102
|
+
return (jsxRuntime.jsx("div", { className: cn("absolute left-0 top-0 right-0 bottom-0 inset-0 pointer-events-none z-0 rounded-[inherit]", actionClass, className) }));
|
|
12103
12103
|
};
|
|
12104
12104
|
|
|
12105
12105
|
const RadioGroupContext = React.createContext({ value: "", disabled: false });
|
|
@@ -12129,7 +12129,7 @@ const RadioItem = React.forwardRef(({ label, labelClassName, wrapperClassName, .
|
|
|
12129
12129
|
const randomId = id ?? React.useId();
|
|
12130
12130
|
const isSelected = React.useContext(RadioGroupContext).value === value;
|
|
12131
12131
|
const isDisabled = React.useContext(RadioGroupContext).disabled || disabled || false;
|
|
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(
|
|
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(isDisabled &&
|
|
12133
12133
|
"bg-fill-disabled group-hover/state:bg-fill-disabled group-active/state:bg-fill-disabled") })] }));
|
|
12134
12134
|
});
|
|
12135
12135
|
RadioGroup.displayName = "RadioGroup";
|
|
@@ -12345,7 +12345,7 @@ const Checkbox = React.forwardRef(({ label, labelClassName, wrapperClassName, ..
|
|
|
12345
12345
|
setChecked(value);
|
|
12346
12346
|
onChange?.(value);
|
|
12347
12347
|
};
|
|
12348
|
-
return (jsxRuntime.jsxs("div", { className: cn("flex items-center gap-2.5 pl-1.5 py-1 relative group/state", !label ? "pr-1.5 rounded-sm" : "pr-3 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) }), label && (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(
|
|
12348
|
+
return (jsxRuntime.jsxs("div", { className: cn("flex items-center gap-2.5 pl-1.5 py-1 relative group/state", !label ? "pr-1.5 rounded-sm" : "pr-3 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) }), label && (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(disabled
|
|
12349
12349
|
? "bg-fill-default group-hover/state:bg-fill-default group-active/state:bg-fill-default"
|
|
12350
12350
|
: "") })] }));
|
|
12351
12351
|
});
|
|
@@ -12469,7 +12469,7 @@ const SelectTrigger = ({ placeholder, textValue, variant = "outline", size = "re
|
|
|
12469
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
12470
|
"py-1.5 px-1 text-label font-medium leading-label-compact gap-1", size === SELECT_TRIGGER_SIZES.REGULAR &&
|
|
12471
12471
|
"py-1.5 px-2 text-body font-medium leading-body-compact gap-2", size === SELECT_TRIGGER_SIZES.LARGE &&
|
|
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, asChild: !!textValue, children: textValue && jsxRuntime.jsx("span", { children: textValue }) }), 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: "
|
|
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, asChild: !!textValue, children: textValue && jsxRuntime.jsx("span", { children: textValue }) }), 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: "group-data-disabled/state:bg-fill-default" })] }));
|
|
12473
12473
|
};
|
|
12474
12474
|
const SelectContent = ({ children, viewportClassName, viewportWrapperClassName, ...rest }) => {
|
|
12475
12475
|
const { className, position, sideOffset, ...otherProps } = rest;
|
|
@@ -12486,7 +12486,7 @@ const SelectItem = ({ indicator, ...rest }) => {
|
|
|
12486
12486
|
const { className, textValue, ...otherProps } = rest;
|
|
12487
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
|
|
12488
12488
|
[&:is([data-disabled])]:text-comp-disabled [&:is([data-disabled])]:cursor-not-allowed
|
|
12489
|
-
`, className), ...otherProps, children: [jsxRuntime.jsx(ItemText, { children: textValue ?? otherProps.value }), indicator && (jsxRuntime.jsx(ItemIndicator, { className: "w-4 flex items-center justify-center", children: indicator })), jsxRuntime.jsx(StateColorContainer, { className: "
|
|
12489
|
+
`, className), ...otherProps, children: [jsxRuntime.jsx(ItemText, { children: textValue ?? otherProps.value }), indicator && (jsxRuntime.jsx(ItemIndicator, { className: "w-4 flex items-center justify-center", children: indicator })), jsxRuntime.jsx(StateColorContainer, { className: "group-data-disabled/state:bg-fill-default" })] }));
|
|
12490
12490
|
};
|
|
12491
12491
|
Select.displayName = "Select";
|
|
12492
12492
|
SelectTrigger.displayName = "SelectTrigger";
|
|
@@ -12536,7 +12536,7 @@ const VerticalMenu = React.forwardRef(({ disabled, value, label, icon, variant =
|
|
|
12536
12536
|
rest.onClick?.(e);
|
|
12537
12537
|
};
|
|
12538
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("
|
|
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("group-disabled/state:bg-fill-default", variant === VERTICAL_MENU_VARIANTS.ACCENT &&
|
|
12540
12540
|
"group-aria-selected:bg-fill-default") })] }));
|
|
12541
12541
|
});
|
|
12542
12542
|
VerticalMenu.displayName = "VerticalMenu";
|
|
@@ -12573,7 +12573,7 @@ const HorizontalTab = React.forwardRef(({ value, label, className, icon, size =
|
|
|
12573
12573
|
return;
|
|
12574
12574
|
setSelectedTab(value);
|
|
12575
12575
|
};
|
|
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
|
|
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" })] }));
|
|
12577
12577
|
});
|
|
12578
12578
|
|
|
12579
12579
|
const ModeTabContext = React.createContext({
|
|
@@ -12603,7 +12603,7 @@ const ModeTab = React.forwardRef(({ label, icon, value, className, ...rest }, re
|
|
|
12603
12603
|
return;
|
|
12604
12604
|
setSelectedTab(value);
|
|
12605
12605
|
};
|
|
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, {
|
|
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, {})] }));
|
|
12607
12607
|
});
|
|
12608
12608
|
|
|
12609
12609
|
const TOOLTIP_SHORT_VARIANTS = {
|
|
@@ -12665,17 +12665,12 @@ const Tag = React.forwardRef(({ icon, value, variant = "filled", size = "regular
|
|
|
12665
12665
|
`bg-page-l4 text-comp-mono-subtle-default data-disabled:text-comp-disabled data-disabled:bg-page-l-null`, variant === "accent" &&
|
|
12666
12666
|
`bg-page-accent-l0 text-comp-accent-default data-disabled:text-comp-disabled data-disabled:bg-page-l-null`, size === "regular" &&
|
|
12667
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(
|
|
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(useSelectedStyle
|
|
12669
12669
|
? ""
|
|
12670
12670
|
: "group-active/state:bg-fill-default group-active/state:border-transparent group-disabled/state:bg-fill-default"), isInverted: variant === "accent" })] }));
|
|
12671
12671
|
});
|
|
12672
12672
|
Tag.displayName = "Tag";
|
|
12673
12673
|
|
|
12674
|
-
const INPUT_SIZES = {
|
|
12675
|
-
REGULAR: "regular",
|
|
12676
|
-
LARGE: "large",
|
|
12677
|
-
};
|
|
12678
|
-
|
|
12679
12674
|
const TEXT_VARIANTS = {
|
|
12680
12675
|
BOLD3XLARGEBOLD: "bold3XLargeBold",
|
|
12681
12676
|
BOLD2XLARGEBOLDCOMPACT: "bold2XLargeBoldCompact",
|
|
@@ -12691,6 +12686,10 @@ const TEXT_VARIANTS = {
|
|
|
12691
12686
|
BOLDLABELBOLDCOMPACT: "boldLabelBoldCompact",
|
|
12692
12687
|
BOLDLABELBOLD: "boldLabelBold",
|
|
12693
12688
|
BOLDXSMALLBOLD: "boldXSmallBold",
|
|
12689
|
+
SEMIBOLDXLARGESEMIBOLDCOMPACT: "semiBoldXLargeSemiBoldCompact",
|
|
12690
|
+
SEMIBOLDXLARGESEMIBOLD: "semiBoldXLargeSemiBold",
|
|
12691
|
+
SEMIBOLDLARGESEMIBOLDCOMPACT: "semiBoldLargeSemiBoldCompact",
|
|
12692
|
+
SEMIBOLDLARGESEMIBOLD: "semiBoldLargeSemiBold",
|
|
12694
12693
|
SEMIBOLDBASESEMIBOLDCOMPACT: "semiBoldBaseSemiBoldCompact",
|
|
12695
12694
|
SEMIBOLDBASESEMIBOLD: "semiBoldBaseSemiBold",
|
|
12696
12695
|
SEMIBOLDBODYSEMIBOLDCOMPACT: "semiBoldBodySemiBoldCompact",
|
|
@@ -12698,6 +12697,7 @@ const TEXT_VARIANTS = {
|
|
|
12698
12697
|
SEMIBOLDLABELSEMIBOLDCOMPACT: "semiBoldLabelSemiBoldCompact",
|
|
12699
12698
|
MED3XLARGEMED: "med3XLargeMed",
|
|
12700
12699
|
MEDXLARGEMED: "medXLargeMed",
|
|
12700
|
+
MEDLARGEMEDCOMPACT: "medLargeMedCompact",
|
|
12701
12701
|
MEDLARGEMED: "medLargeMed",
|
|
12702
12702
|
MEDBASEMEDCOMPACT: "medBaseMedCompact",
|
|
12703
12703
|
MEDBASEMED: "medBaseMed",
|
|
@@ -12807,6 +12807,14 @@ const Text = ({ children, className, size, weight, align, variant = "regularBase
|
|
|
12807
12807
|
return "text-label font-bold leading-label";
|
|
12808
12808
|
case TEXT_VARIANTS.BOLDXSMALLBOLD:
|
|
12809
12809
|
return "text-xsmall font-bold leading-xsmall";
|
|
12810
|
+
case TEXT_VARIANTS.SEMIBOLDXLARGESEMIBOLDCOMPACT:
|
|
12811
|
+
return "text-xl font-semibold leading-xl-compact";
|
|
12812
|
+
case TEXT_VARIANTS.SEMIBOLDXLARGESEMIBOLD:
|
|
12813
|
+
return "text-xl font-semibold leading-xl";
|
|
12814
|
+
case TEXT_VARIANTS.SEMIBOLDLARGESEMIBOLDCOMPACT:
|
|
12815
|
+
return "text-large font-semibold leading-large-compact";
|
|
12816
|
+
case TEXT_VARIANTS.SEMIBOLDLARGESEMIBOLD:
|
|
12817
|
+
return "text-large font-semibold leading-large";
|
|
12810
12818
|
case TEXT_VARIANTS.SEMIBOLDBASESEMIBOLDCOMPACT:
|
|
12811
12819
|
return "text-base font-semibold leading-base-compact";
|
|
12812
12820
|
case TEXT_VARIANTS.SEMIBOLDBASESEMIBOLD:
|
|
@@ -12823,6 +12831,8 @@ const Text = ({ children, className, size, weight, align, variant = "regularBase
|
|
|
12823
12831
|
return "text-xl font-medium leading-xl";
|
|
12824
12832
|
case TEXT_VARIANTS.MEDLARGEMED:
|
|
12825
12833
|
return "text-large font-medium leading-large";
|
|
12834
|
+
case TEXT_VARIANTS.MEDLARGEMEDCOMPACT:
|
|
12835
|
+
return "text-large font-medium leading-large-compact";
|
|
12826
12836
|
case TEXT_VARIANTS.MEDBASEMEDCOMPACT:
|
|
12827
12837
|
return "text-base font-medium leading-base-compact";
|
|
12828
12838
|
case TEXT_VARIANTS.MEDBASEMED:
|
|
@@ -12869,10 +12879,21 @@ const Text = ({ children, className, size, weight, align, variant = "regularBase
|
|
|
12869
12879
|
};
|
|
12870
12880
|
Text.displayName = "Text";
|
|
12871
12881
|
|
|
12882
|
+
const INPUT_SIZES = {
|
|
12883
|
+
SMALL: "small",
|
|
12884
|
+
REGULAR: "regular",
|
|
12885
|
+
LARGE: "large",
|
|
12886
|
+
};
|
|
12887
|
+
const INPUT_VARIANTS = {
|
|
12888
|
+
OUTLINED: "outlined",
|
|
12889
|
+
FILLED: "filled",
|
|
12890
|
+
};
|
|
12891
|
+
|
|
12872
12892
|
/**
|
|
12873
12893
|
* 다양한 크기와 아이콘을 지원하는 입력 필드 컴포넌트입니다.<br/>
|
|
12874
|
-
* 사용자는 크기(size), 왼쪽 아이콘(leftIcon), 오른쪽 아이콘(rightIcon) 등을 지정할 수 있습니다.<br/>
|
|
12894
|
+
* 사용자는 크기(size), 변형(variant), 왼쪽 아이콘(leftIcon), 오른쪽 아이콘(rightIcon) 등을 지정할 수 있습니다.<br/>
|
|
12875
12895
|
* 기본적으로 regular 크기를 가지며, large 크기도 선택할 수 있습니다.<br/>
|
|
12896
|
+
* 기본적으로 outlined 변형을 가지며, filled 변형도 선택할 수 있습니다.<br/>
|
|
12876
12897
|
* input의 너비는 부모 요소에 따라 결정됩니다.<br/>
|
|
12877
12898
|
* input 자체의 클래스는 `className` 속성을 통해 추가할 수 있습니다.<br/>
|
|
12878
12899
|
* wrapperClassName을 통해 input을 감싸는 div의 클래스도 추가할 수 있습니다.<br/>
|
|
@@ -12881,6 +12902,7 @@ Text.displayName = "Text";
|
|
|
12881
12902
|
* ```tsx
|
|
12882
12903
|
* <Input
|
|
12883
12904
|
* size="large"
|
|
12905
|
+
* variant="outlined"
|
|
12884
12906
|
* leftIcon={<SearchIcon />}
|
|
12885
12907
|
* rightIcon={<ClearIcon />}
|
|
12886
12908
|
* placeholder="Search..."
|
|
@@ -12888,7 +12910,7 @@ Text.displayName = "Text";
|
|
|
12888
12910
|
* />
|
|
12889
12911
|
* ```
|
|
12890
12912
|
*/
|
|
12891
|
-
const Input = React.forwardRef(({ size = "regular", leftIcon, rightIcon, wrapperClassName, isError = false, useHoverStyle = true, errorMessage, useIndicator = false, ...rest }, ref) => {
|
|
12913
|
+
const Input = React.forwardRef(({ size = "regular", variant = "outlined", leftIcon, rightIcon, wrapperClassName, isError = false, useHoverStyle = true, errorMessage, useIndicator = false, ...rest }, ref) => {
|
|
12892
12914
|
const innerRef = React.useRef(null);
|
|
12893
12915
|
const mergedRef = (node) => {
|
|
12894
12916
|
if (typeof ref === "function")
|
|
@@ -12897,13 +12919,17 @@ const Input = React.forwardRef(({ size = "regular", leftIcon, rightIcon, wrapper
|
|
|
12897
12919
|
ref.current = node;
|
|
12898
12920
|
innerRef.current = node;
|
|
12899
12921
|
};
|
|
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
|
|
12922
|
+
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 border bg-Page-l-null border-border-bound focus-within:border-border-focused has-[input:disabled]:border-transparent", variant === INPUT_VARIANTS.OUTLINED &&
|
|
12923
|
+
"border border-border-bound focus-within:border-border-focused", variant === INPUT_VARIANTS.FILLED &&
|
|
12924
|
+
"bg-page-l3 border-transparent focus-within:border-transparent", size === INPUT_SIZES.SMALL &&
|
|
12925
|
+
"py-1.5 px-2 text-label leading-label-compact font-medium gap-1", size === INPUT_SIZES.REGULAR &&
|
|
12901
12926
|
"py-1.5 px-2 text-body leading-body-compact font-medium gap-2", size === INPUT_SIZES.LARGE &&
|
|
12902
12927
|
"py-[11px] px-4 text-base leading-base-compact font-medium gap-3", isError &&
|
|
12903
12928
|
"border-comp-chroma-error focus-within:border-comp-chroma-error", wrapperClassName), onClick: () => {
|
|
12904
12929
|
innerRef.current?.focus();
|
|
12905
12930
|
}, 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 min-w-0 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 &&
|
|
12906
|
-
"hover:placeholder:text-comp-mono-subtle-hovered", size === INPUT_SIZES.
|
|
12931
|
+
"hover:placeholder:text-comp-mono-subtle-hovered", size === INPUT_SIZES.SMALL &&
|
|
12932
|
+
"text-label leading-label-compact font-medium", size === INPUT_SIZES.REGULAR &&
|
|
12907
12933
|
"text-body leading-body-compact font-medium", size === INPUT_SIZES.LARGE &&
|
|
12908
12934
|
"text-base leading-base-compact font-medium", isError &&
|
|
12909
12935
|
"placeholder:text-comp-chroma-error text-comp-chroma-error hover:placeholder:text-comp-error focus:placeholder:text-comp-error", rest.type === "number" &&
|
|
@@ -13026,7 +13052,7 @@ const MultipleSelectItem = React.forwardRef(({ option, indicator, className, ...
|
|
|
13026
13052
|
setSelectedValues(newValues);
|
|
13027
13053
|
};
|
|
13028
13054
|
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 &&
|
|
13029
|
-
"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, {
|
|
13055
|
+
"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, {})] }));
|
|
13030
13056
|
});
|
|
13031
13057
|
|
|
13032
13058
|
const Table = React.forwardRef(({ className, ...rest }, ref) => {
|
|
@@ -13075,7 +13101,7 @@ const InteractiveListItemContext = React.createContext({
|
|
|
13075
13101
|
});
|
|
13076
13102
|
const InteractiveListItem = React.forwardRef(({ isSelected, disabled, showHoverActions = true, children, className, ...rest }, ref) => {
|
|
13077
13103
|
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 &&
|
|
13078
|
-
"cursor-not-allowed text-comp-disabled bg-fill-disabled", className), ...rest, children: [children, jsxRuntime.jsx(StateColorContainer, {
|
|
13104
|
+
"cursor-not-allowed text-comp-disabled bg-fill-disabled", className), ...rest, children: [children, jsxRuntime.jsx(StateColorContainer, { groupName: "wrapper" })] }) }));
|
|
13079
13105
|
});
|
|
13080
13106
|
const InteractiveListItemIcon = React.forwardRef(({ children, className, ...props }, ref) => {
|
|
13081
13107
|
return (jsxRuntime.jsx("span", { className: cn("flex items-center justify-center size-6 p-1", className), ...props, ref: ref, children: children }));
|
|
@@ -13115,7 +13141,7 @@ const Calendar = ({ className, classNames, showOutsideDays = true, ...props }) =
|
|
|
13115
13141
|
Dropdown: (props) => {
|
|
13116
13142
|
const { options, className, classNames, components, ...rest } = props;
|
|
13117
13143
|
const selectedOption = options?.find(({ value }) => value === rest.value);
|
|
13118
|
-
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, {
|
|
13144
|
+
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, {})] }));
|
|
13119
13145
|
},
|
|
13120
13146
|
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" })),
|
|
13121
13147
|
}, ...props }));
|
|
@@ -13250,7 +13276,7 @@ const ContextMenuLabel = (props) => {
|
|
|
13250
13276
|
};
|
|
13251
13277
|
const ContextMenuItem = ({ leftIcon, rightSlot, textValue, ...rest }) => {
|
|
13252
13278
|
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
|
|
13253
|
-
[&: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: "
|
|
13279
|
+
[&: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: "group-aria-disabled/state:bg-fill-default group-[data-state='open']/state:bg-fill-selected" })] }));
|
|
13254
13280
|
};
|
|
13255
13281
|
const ContextMenuGroup = Group2;
|
|
13256
13282
|
const ContextMenuSub = Sub2;
|
|
@@ -13390,7 +13416,7 @@ const FilledSwitch = (props) => {
|
|
|
13390
13416
|
const { size, checked, thumbClassName, ...rest } = props;
|
|
13391
13417
|
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 &&
|
|
13392
13418
|
"size-6 left-1.5 data-[state=checked]:left-[37px]", size === SWITCH_SIZES.SMALL &&
|
|
13393
|
-
"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, {
|
|
13419
|
+
"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, {})] }));
|
|
13394
13420
|
};
|
|
13395
13421
|
const OutlinedSwitch = (props) => {
|
|
13396
13422
|
const { size, checked, thumbClassName, ...rest } = props;
|
|
@@ -13402,13 +13428,13 @@ const OutlinedSwitch = (props) => {
|
|
|
13402
13428
|
? "boldBodyBoldCompact"
|
|
13403
13429
|
: "boldLabelBoldCompact", className: "text-comp-accent-default pl-2 text-left", as: "div", children: "ON" })) : (jsxRuntime.jsx(Text, { variant: size === SWITCH_SIZES.REGULAR
|
|
13404
13430
|
? "medBodyMedCompact"
|
|
13405
|
-
: "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, {
|
|
13431
|
+
: "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, {})] }));
|
|
13406
13432
|
};
|
|
13407
13433
|
const SlideSwitch = (props) => {
|
|
13408
13434
|
const { size, checked, thumbClassName, leftIcon, rightIcon, ...rest } = props;
|
|
13409
13435
|
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 &&
|
|
13410
13436
|
"size-7 data-[state=checked]:left-[36px]", size === SWITCH_SIZES.SMALL &&
|
|
13411
|
-
"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, {
|
|
13437
|
+
"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, {})] }));
|
|
13412
13438
|
};
|
|
13413
13439
|
const Switch = (props) => {
|
|
13414
13440
|
const { defaultChecked, checked: isChecked } = props;
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
export { Button } from "./button";
|
|
2
2
|
export { BUTTON_SIZES, BUTTON_VARIANTS } from "./button/types";
|
|
3
3
|
export type { ButtonSize, ButtonVariant } from "./button/types";
|
|
4
|
-
export { Text } from "./text";
|
|
5
|
-
export { TEXT_SIZES, TEXT_VARIANTS, TEXT_ALIGNMENTS, FONT_WEIGHTS, } from "./text/types";
|
|
6
|
-
export type { TextSize, FontWeight, TextAlignment, TextVariant, } from "./text/types";
|
|
7
|
-
export { Input } from "./input";
|
|
8
|
-
export { INPUT_SIZES } from "./input/types";
|
|
9
|
-
export type { InputSize } from "./input/types";
|
|
10
|
-
export { TextArea } from "./textarea";
|
|
11
4
|
export { Card, CardBody, CardContent, CardFooter, CardHeader } from "./card";
|
|
5
|
+
export { Input } from "./input";
|
|
6
|
+
export { INPUT_SIZES, INPUT_VARIANTS } from "./input/types";
|
|
7
|
+
export type { InputSize, InputVariant } from "./input/types";
|
|
8
|
+
export { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, } from "./pagination";
|
|
9
|
+
export { StateColorContainer } from "./state-color-container";
|
|
10
|
+
export type { StateGroupName } from "./state-color-container/types";
|
|
12
11
|
export { Tag } from "./tag";
|
|
13
12
|
export { TAG_SIZES, TAG_VARIANTS } from "./tag/types";
|
|
14
13
|
export type { TagSize, TagVariant } from "./tag/types";
|
|
15
|
-
export {
|
|
16
|
-
export {
|
|
17
|
-
export type {
|
|
14
|
+
export { Text } from "./text";
|
|
15
|
+
export { FONT_WEIGHTS, TEXT_ALIGNMENTS, TEXT_SIZES, TEXT_VARIANTS, } from "./text/types";
|
|
16
|
+
export type { FontWeight, TextAlignment, TextSize, TextVariant, } from "./text/types";
|
|
17
|
+
export { TextArea } from "./textarea";
|