@tenerife.music/ui 1.1.1 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{index-DInIMlaR.d.cts → index-DXmHg8ji.d.cts} +5 -4
- package/dist/{index-DInIMlaR.d.ts → index-DXmHg8ji.d.ts} +5 -4
- package/dist/index.cjs +109 -171
- package/dist/index.d.cts +57 -152
- package/dist/index.d.ts +57 -152
- package/dist/index.mjs +110 -169
- package/dist/styles.css +22 -67
- package/dist/theme/index.cjs +87 -16
- package/dist/theme/index.mjs +87 -16
- package/dist/tokens/index.cjs +5 -4
- package/dist/tokens/index.d.cts +1 -1
- package/dist/tokens/index.d.ts +1 -1
- package/dist/tokens/index.mjs +5 -4
- package/package.json +41 -39
|
@@ -184,12 +184,13 @@ declare const BUTTON_TOKENS: {
|
|
|
184
184
|
/**
|
|
185
185
|
* Icon size within buttons by button size
|
|
186
186
|
* Scales proportionally with button size for visual balance
|
|
187
|
+
* Contains full SVG selector classes for direct use in CVA
|
|
187
188
|
*/
|
|
188
189
|
readonly iconSize: {
|
|
189
|
-
readonly sm: "
|
|
190
|
-
readonly md: "
|
|
191
|
-
readonly lg: "
|
|
192
|
-
readonly icon: "
|
|
190
|
+
readonly sm: "[&_svg]:w-3.5 [&_svg]:h-3.5";
|
|
191
|
+
readonly md: "[&_svg]:w-4 [&_svg]:h-4";
|
|
192
|
+
readonly lg: "[&_svg]:w-5 [&_svg]:h-5";
|
|
193
|
+
readonly icon: "[&_svg]:w-4 [&_svg]:h-4";
|
|
193
194
|
};
|
|
194
195
|
/**
|
|
195
196
|
* Width tokens
|
|
@@ -184,12 +184,13 @@ declare const BUTTON_TOKENS: {
|
|
|
184
184
|
/**
|
|
185
185
|
* Icon size within buttons by button size
|
|
186
186
|
* Scales proportionally with button size for visual balance
|
|
187
|
+
* Contains full SVG selector classes for direct use in CVA
|
|
187
188
|
*/
|
|
188
189
|
readonly iconSize: {
|
|
189
|
-
readonly sm: "
|
|
190
|
-
readonly md: "
|
|
191
|
-
readonly lg: "
|
|
192
|
-
readonly icon: "
|
|
190
|
+
readonly sm: "[&_svg]:w-3.5 [&_svg]:h-3.5";
|
|
191
|
+
readonly md: "[&_svg]:w-4 [&_svg]:h-4";
|
|
192
|
+
readonly lg: "[&_svg]:w-5 [&_svg]:h-5";
|
|
193
|
+
readonly icon: "[&_svg]:w-4 [&_svg]:h-4";
|
|
193
194
|
};
|
|
194
195
|
/**
|
|
195
196
|
* Width tokens
|
package/dist/index.cjs
CHANGED
|
@@ -859,15 +859,16 @@ var BUTTON_TOKENS = {
|
|
|
859
859
|
/**
|
|
860
860
|
* Icon size within buttons by button size
|
|
861
861
|
* Scales proportionally with button size for visual balance
|
|
862
|
+
* Contains full SVG selector classes for direct use in CVA
|
|
862
863
|
*/
|
|
863
864
|
iconSize: {
|
|
864
|
-
sm: "
|
|
865
|
+
sm: "[&_svg]:w-3.5 [&_svg]:h-3.5",
|
|
865
866
|
// 14px (0.875rem) - smaller icon for small buttons
|
|
866
|
-
md: "
|
|
867
|
+
md: "[&_svg]:w-4 [&_svg]:h-4",
|
|
867
868
|
// 16px (1rem) - medium icon for medium buttons
|
|
868
|
-
lg: "
|
|
869
|
+
lg: "[&_svg]:w-5 [&_svg]:h-5",
|
|
869
870
|
// 20px (1.25rem) - larger icon for large buttons
|
|
870
|
-
icon: "
|
|
871
|
+
icon: "[&_svg]:w-4 [&_svg]:h-4"
|
|
871
872
|
// 16px (1rem) - medium icon for icon-only buttons
|
|
872
873
|
},
|
|
873
874
|
/**
|
|
@@ -5109,42 +5110,28 @@ var LINK_TOKENS = {
|
|
|
5109
5110
|
* Maps to Tailwind height utilities
|
|
5110
5111
|
*/
|
|
5111
5112
|
height: {
|
|
5112
|
-
xs: "h-7",
|
|
5113
5113
|
// 28px (1.75rem)
|
|
5114
5114
|
sm: "h-8",
|
|
5115
5115
|
// 32px (2rem)
|
|
5116
5116
|
md: "h-9",
|
|
5117
5117
|
// 36px (2.25rem)
|
|
5118
|
-
lg: "h-10",
|
|
5119
|
-
// 40px (2.5rem)
|
|
5120
|
-
xl: "h-11"
|
|
5121
|
-
// 44px (2.75rem)
|
|
5122
|
-
},
|
|
5118
|
+
lg: "h-10"},
|
|
5123
5119
|
/**
|
|
5124
5120
|
* Link padding by size
|
|
5125
5121
|
* Horizontal and vertical padding values
|
|
5126
5122
|
*/
|
|
5127
5123
|
padding: {
|
|
5128
5124
|
horizontal: {
|
|
5129
|
-
xs: "px-xs",
|
|
5130
5125
|
// 4px (0.25rem) - maps to semanticSpacing.xs
|
|
5131
5126
|
sm: "px-sm",
|
|
5132
5127
|
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
5133
5128
|
md: "px-md",
|
|
5134
5129
|
// 16px (1rem) - maps to semanticSpacing.md
|
|
5135
|
-
lg: "px-lg",
|
|
5136
|
-
// 24px (1.5rem) - maps to semanticSpacing.lg
|
|
5137
|
-
xl: "px-xl"
|
|
5138
|
-
// 32px (2rem) - maps to semanticSpacing.xl
|
|
5139
|
-
},
|
|
5130
|
+
lg: "px-lg"},
|
|
5140
5131
|
vertical: {
|
|
5141
5132
|
xs: "py-xs",
|
|
5142
5133
|
// 4px (0.25rem) - maps to semanticSpacing.xs
|
|
5143
|
-
sm: "py-sm"
|
|
5144
|
-
// 8px (0.5rem) - maps to semanticSpacing.sm
|
|
5145
|
-
md: "py-md"
|
|
5146
|
-
// 16px (1rem) - maps to semanticSpacing.md
|
|
5147
|
-
}
|
|
5134
|
+
sm: "py-sm"}
|
|
5148
5135
|
},
|
|
5149
5136
|
/**
|
|
5150
5137
|
* Layout tokens
|
|
@@ -5175,17 +5162,12 @@ var LINK_TOKENS = {
|
|
|
5175
5162
|
* @see docs/architecture/TYPOGRAPHY_AUTHORITY_CONTRACT.md
|
|
5176
5163
|
*/
|
|
5177
5164
|
fontSize: {
|
|
5178
|
-
xs: "text-xs",
|
|
5179
5165
|
// References fontSize.xs[0] from Typography Authority (~12px)
|
|
5180
5166
|
sm: "text-xs",
|
|
5181
5167
|
// References fontSize.xs[0] from Typography Authority (~12px)
|
|
5182
5168
|
md: "text-sm",
|
|
5183
5169
|
// References fontSize.sm[0] from Typography Authority (~14px)
|
|
5184
|
-
lg: "text-sm",
|
|
5185
|
-
// References fontSize.sm[0] from Typography Authority (~14px)
|
|
5186
|
-
xl: "text-base"
|
|
5187
|
-
// References fontSize.base[0] from Typography Authority (~16px)
|
|
5188
|
-
},
|
|
5170
|
+
lg: "text-sm"},
|
|
5189
5171
|
/**
|
|
5190
5172
|
* Border radius for outline and ghost variants
|
|
5191
5173
|
* References componentRadius from Radius Authority
|
|
@@ -5253,15 +5235,15 @@ var LINK_TOKENS = {
|
|
|
5253
5235
|
// Underline on hover
|
|
5254
5236
|
},
|
|
5255
5237
|
secondary: {
|
|
5256
|
-
text: "text-secondary
|
|
5238
|
+
text: "text-secondary",
|
|
5257
5239
|
// Secondary text using CSS var
|
|
5258
5240
|
hover: "hover:underline"
|
|
5259
5241
|
// Underline on hover
|
|
5260
5242
|
},
|
|
5261
5243
|
accent: {
|
|
5262
|
-
text: "text-accent
|
|
5263
|
-
// Accent text using CSS var
|
|
5264
|
-
hover: "hover:text-accent
|
|
5244
|
+
text: "text-accent",
|
|
5245
|
+
// Accent text using CSS var (accent color, not accent-foreground)
|
|
5246
|
+
hover: "hover:text-accent/80",
|
|
5265
5247
|
// Accent hover text
|
|
5266
5248
|
underline: "hover:underline"
|
|
5267
5249
|
// Underline on hover
|
|
@@ -6716,10 +6698,10 @@ var buttonVariants = tokenCVA({
|
|
|
6716
6698
|
destructive: `${BUTTON_TOKENS.variant.destructive.background} ${BUTTON_TOKENS.variant.destructive.text} ${BUTTON_TOKENS.shadow.default} ${BUTTON_TOKENS.variant.destructive.hover} ${BUTTON_TOKENS.variant.destructive.active} ${BUTTON_TOKENS.variant.destructive.disabled.background} ${BUTTON_TOKENS.variant.destructive.disabled.text}`
|
|
6717
6699
|
},
|
|
6718
6700
|
size: {
|
|
6719
|
-
sm: `${BUTTON_TOKENS.height.sm} ${BUTTON_TOKENS.radius} ${BUTTON_TOKENS.padding.horizontal.sm} ${BUTTON_TOKENS.padding.vertical.sm} ${BUTTON_TOKENS.fontSize.sm} ${BUTTON_TOKENS.gap.sm}
|
|
6720
|
-
md: `${BUTTON_TOKENS.height.md} ${BUTTON_TOKENS.radius} ${BUTTON_TOKENS.padding.horizontal.md} ${BUTTON_TOKENS.padding.vertical.md} ${BUTTON_TOKENS.fontSize.md} ${BUTTON_TOKENS.gap.md}
|
|
6721
|
-
lg: `${BUTTON_TOKENS.height.lg} ${BUTTON_TOKENS.radius} ${BUTTON_TOKENS.padding.horizontal.lg} ${BUTTON_TOKENS.padding.vertical.md} ${BUTTON_TOKENS.fontSize.lg} ${BUTTON_TOKENS.gap.lg}
|
|
6722
|
-
icon: `${BUTTON_TOKENS.height.icon} ${BUTTON_TOKENS.width.icon}
|
|
6701
|
+
sm: `${BUTTON_TOKENS.height.sm} ${BUTTON_TOKENS.radius} ${BUTTON_TOKENS.padding.horizontal.sm} ${BUTTON_TOKENS.padding.vertical.sm} ${BUTTON_TOKENS.fontSize.sm} ${BUTTON_TOKENS.gap.sm} ${BUTTON_TOKENS.iconSize.sm}`,
|
|
6702
|
+
md: `${BUTTON_TOKENS.height.md} ${BUTTON_TOKENS.radius} ${BUTTON_TOKENS.padding.horizontal.md} ${BUTTON_TOKENS.padding.vertical.md} ${BUTTON_TOKENS.fontSize.md} ${BUTTON_TOKENS.gap.md} ${BUTTON_TOKENS.iconSize.md}`,
|
|
6703
|
+
lg: `${BUTTON_TOKENS.height.lg} ${BUTTON_TOKENS.radius} ${BUTTON_TOKENS.padding.horizontal.lg} ${BUTTON_TOKENS.padding.vertical.md} ${BUTTON_TOKENS.fontSize.lg} ${BUTTON_TOKENS.gap.lg} ${BUTTON_TOKENS.iconSize.lg}`,
|
|
6704
|
+
icon: `${BUTTON_TOKENS.height.icon} ${BUTTON_TOKENS.width.icon} ${BUTTON_TOKENS.iconSize.icon}`
|
|
6723
6705
|
}
|
|
6724
6706
|
},
|
|
6725
6707
|
defaultVariants: {
|
|
@@ -6728,16 +6710,8 @@ var buttonVariants = tokenCVA({
|
|
|
6728
6710
|
}
|
|
6729
6711
|
});
|
|
6730
6712
|
var Button = React49__namespace.forwardRef(
|
|
6731
|
-
({
|
|
6732
|
-
const
|
|
6733
|
-
const finalClassName = cn(buttonVariants({ variant, size, className }));
|
|
6734
|
-
const iconSizeMap = {
|
|
6735
|
-
"size-3.5": "[&_svg]:w-3.5 [&_svg]:h-3.5",
|
|
6736
|
-
"size-4": "[&_svg]:w-4 [&_svg]:h-4",
|
|
6737
|
-
"size-5": "[&_svg]:w-5 [&_svg]:h-5"
|
|
6738
|
-
};
|
|
6739
|
-
const iconSizeToken = size ? BUTTON_TOKENS.iconSize[size] : BUTTON_TOKENS.iconSize.md;
|
|
6740
|
-
const iconSizeClass = iconSizeMap[iconSizeToken] || "[&_svg]:w-4 [&_svg]:h-4";
|
|
6713
|
+
({ variant, size, asChild = false, leftIcon, rightIcon, children, ...props }, ref) => {
|
|
6714
|
+
const finalClassName = buttonVariants({ variant, size });
|
|
6741
6715
|
if (typeof window !== "undefined" && variant === "primary") {
|
|
6742
6716
|
const hasHoverClass = finalClassName.includes(
|
|
6743
6717
|
"hover:bg-[hsl(var(--button-primary-hover-bg))]"
|
|
@@ -6768,28 +6742,33 @@ var Button = React49__namespace.forwardRef(
|
|
|
6768
6742
|
}).catch(() => {
|
|
6769
6743
|
});
|
|
6770
6744
|
}
|
|
6745
|
+
if (asChild && (leftIcon || rightIcon)) {
|
|
6746
|
+
if (!React49__namespace.isValidElement(children)) {
|
|
6747
|
+
const Comp2 = "button";
|
|
6748
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(Comp2, { className: finalClassName, ref, ...props, children: [
|
|
6749
|
+
leftIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none relative z-10 inline-flex items-center [&_svg]:text-current", children: leftIcon }),
|
|
6750
|
+
children,
|
|
6751
|
+
rightIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none relative z-10 inline-flex items-center [&_svg]:text-current", children: rightIcon })
|
|
6752
|
+
] });
|
|
6753
|
+
}
|
|
6754
|
+
const iconWrapperClass = "pointer-events-none relative z-10 inline-flex items-center [&_svg]:text-current";
|
|
6755
|
+
const childProps = children.props;
|
|
6756
|
+
const clonedChild = React49__namespace.cloneElement(children, {
|
|
6757
|
+
className: cn(finalClassName, childProps.className),
|
|
6758
|
+
...props,
|
|
6759
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
6760
|
+
leftIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: iconWrapperClass, children: leftIcon }),
|
|
6761
|
+
childProps.children,
|
|
6762
|
+
rightIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: iconWrapperClass, children: rightIcon })
|
|
6763
|
+
] })
|
|
6764
|
+
});
|
|
6765
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactSlot.Slot, { ref, children: clonedChild });
|
|
6766
|
+
}
|
|
6767
|
+
const Comp = asChild ? reactSlot.Slot : "button";
|
|
6771
6768
|
return /* @__PURE__ */ jsxRuntime.jsxs(Comp, { className: finalClassName, ref, ...props, children: [
|
|
6772
|
-
leftIcon && /* @__PURE__ */ jsxRuntime.jsx(
|
|
6773
|
-
"span",
|
|
6774
|
-
{
|
|
6775
|
-
className: cn(
|
|
6776
|
-
"pointer-events-none relative z-10 inline-flex items-center [&_svg]:text-current",
|
|
6777
|
-
iconSizeClass
|
|
6778
|
-
),
|
|
6779
|
-
children: leftIcon
|
|
6780
|
-
}
|
|
6781
|
-
),
|
|
6769
|
+
leftIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none relative z-10 inline-flex items-center [&_svg]:text-current", children: leftIcon }),
|
|
6782
6770
|
children,
|
|
6783
|
-
rightIcon && /* @__PURE__ */ jsxRuntime.jsx(
|
|
6784
|
-
"span",
|
|
6785
|
-
{
|
|
6786
|
-
className: cn(
|
|
6787
|
-
"pointer-events-none relative z-10 inline-flex items-center [&_svg]:text-current",
|
|
6788
|
-
iconSizeClass
|
|
6789
|
-
),
|
|
6790
|
-
children: rightIcon
|
|
6791
|
-
}
|
|
6792
|
-
)
|
|
6771
|
+
rightIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none relative z-10 inline-flex items-center [&_svg]:text-current", children: rightIcon })
|
|
6793
6772
|
] });
|
|
6794
6773
|
}
|
|
6795
6774
|
);
|
|
@@ -6834,13 +6813,13 @@ var textVariants = classVarianceAuthority.cva("text-foreground", {
|
|
|
6834
6813
|
}
|
|
6835
6814
|
});
|
|
6836
6815
|
var Text = React49__namespace.forwardRef(
|
|
6837
|
-
({
|
|
6816
|
+
({ size, weight, muted, variant, ...props }, ref) => {
|
|
6838
6817
|
const isMuted = muted !== void 0 ? muted : variant === "muted";
|
|
6839
6818
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6840
6819
|
"span",
|
|
6841
6820
|
{
|
|
6842
6821
|
ref,
|
|
6843
|
-
className:
|
|
6822
|
+
className: textVariants({ size, weight, muted: isMuted, variant }),
|
|
6844
6823
|
...props
|
|
6845
6824
|
}
|
|
6846
6825
|
);
|
|
@@ -6881,16 +6860,6 @@ var Alert = React49__namespace.forwardRef(
|
|
|
6881
6860
|
}
|
|
6882
6861
|
);
|
|
6883
6862
|
Alert.displayName = "Alert";
|
|
6884
|
-
var LINK_VARIANTS = [
|
|
6885
|
-
"primary",
|
|
6886
|
-
"secondary",
|
|
6887
|
-
"accent",
|
|
6888
|
-
"outline",
|
|
6889
|
-
"ghost",
|
|
6890
|
-
"link",
|
|
6891
|
-
"destructive"
|
|
6892
|
-
];
|
|
6893
|
-
var LINK_SIZES = ["xs", "sm", "md", "lg", "xl"];
|
|
6894
6863
|
var linkVariants = tokenCVA({
|
|
6895
6864
|
base: `${LINK_TOKENS.layout} ${LINK_TOKENS.fontWeight} ${LINK_TOKENS.transition.colors} ${LINK_TOKENS.focus.outline} ${LINK_TOKENS.focus.ring} ${LINK_TOKENS.focus.offset} ${LINK_TOKENS.state.disabled.pointerEvents} ${LINK_TOKENS.state.disabled.opacity}`,
|
|
6896
6865
|
variants: {
|
|
@@ -6904,11 +6873,9 @@ var linkVariants = tokenCVA({
|
|
|
6904
6873
|
destructive: `${LINK_TOKENS.variant.destructive.text} ${LINK_TOKENS.variant.destructive.hover} ${LINK_TOKENS.underlineOffset} ${LINK_TOKENS.variant.destructive.underline}`
|
|
6905
6874
|
},
|
|
6906
6875
|
size: {
|
|
6907
|
-
xs: `${LINK_TOKENS.height.xs} ${LINK_TOKENS.fontSize.xs} ${LINK_TOKENS.padding.horizontal.xs} ${LINK_TOKENS.padding.vertical.xs}`,
|
|
6908
6876
|
sm: `${LINK_TOKENS.height.sm} ${LINK_TOKENS.fontSize.sm} ${LINK_TOKENS.padding.horizontal.sm} ${LINK_TOKENS.padding.vertical.xs}`,
|
|
6909
6877
|
md: `${LINK_TOKENS.height.md} ${LINK_TOKENS.fontSize.md} ${LINK_TOKENS.padding.horizontal.md} ${LINK_TOKENS.padding.vertical.sm}`,
|
|
6910
|
-
lg: `${LINK_TOKENS.height.lg} ${LINK_TOKENS.fontSize.lg} ${LINK_TOKENS.padding.horizontal.lg} ${LINK_TOKENS.padding.vertical.sm}
|
|
6911
|
-
xl: `${LINK_TOKENS.height.xl} ${LINK_TOKENS.fontSize.xl} ${LINK_TOKENS.padding.horizontal.xl} ${LINK_TOKENS.padding.vertical.md}`
|
|
6878
|
+
lg: `${LINK_TOKENS.height.lg} ${LINK_TOKENS.fontSize.lg} ${LINK_TOKENS.padding.horizontal.lg} ${LINK_TOKENS.padding.vertical.sm}`
|
|
6912
6879
|
}
|
|
6913
6880
|
},
|
|
6914
6881
|
defaultVariants: {
|
|
@@ -6917,13 +6884,38 @@ var linkVariants = tokenCVA({
|
|
|
6917
6884
|
}
|
|
6918
6885
|
});
|
|
6919
6886
|
var Link = React49__namespace.forwardRef(
|
|
6920
|
-
({
|
|
6921
|
-
const
|
|
6922
|
-
|
|
6923
|
-
|
|
6924
|
-
|
|
6925
|
-
|
|
6926
|
-
|
|
6887
|
+
({ variant, size, leftIcon, rightIcon, children, disabled, onClick, href, tabIndex, ...props }, ref) => {
|
|
6888
|
+
const handleClick = React49__namespace.useCallback(
|
|
6889
|
+
(e) => {
|
|
6890
|
+
if (disabled) {
|
|
6891
|
+
e.preventDefault();
|
|
6892
|
+
e.stopPropagation();
|
|
6893
|
+
return;
|
|
6894
|
+
}
|
|
6895
|
+
onClick?.(e);
|
|
6896
|
+
},
|
|
6897
|
+
[disabled, onClick]
|
|
6898
|
+
);
|
|
6899
|
+
const finalClassName = linkVariants({ variant, size });
|
|
6900
|
+
const finalTabIndex = disabled ? tabIndex ?? -1 : tabIndex;
|
|
6901
|
+
const finalAriaDisabled = disabled ? true : void 0;
|
|
6902
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6903
|
+
"a",
|
|
6904
|
+
{
|
|
6905
|
+
className: finalClassName,
|
|
6906
|
+
ref,
|
|
6907
|
+
href,
|
|
6908
|
+
tabIndex: finalTabIndex,
|
|
6909
|
+
"aria-disabled": finalAriaDisabled,
|
|
6910
|
+
onClick: handleClick,
|
|
6911
|
+
...props,
|
|
6912
|
+
children: [
|
|
6913
|
+
leftIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: LINK_TOKENS.iconWrapper, children: leftIcon }),
|
|
6914
|
+
children,
|
|
6915
|
+
rightIcon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: LINK_TOKENS.iconWrapper, children: rightIcon })
|
|
6916
|
+
]
|
|
6917
|
+
}
|
|
6918
|
+
);
|
|
6927
6919
|
}
|
|
6928
6920
|
);
|
|
6929
6921
|
Link.displayName = "Link";
|
|
@@ -7043,17 +7035,9 @@ var headingVariants = classVarianceAuthority.cva("font-display text-foreground",
|
|
|
7043
7035
|
}
|
|
7044
7036
|
});
|
|
7045
7037
|
var Heading = React49__namespace.forwardRef(
|
|
7046
|
-
({
|
|
7038
|
+
({ level = 1, weight, muted, as, children, ...props }, ref) => {
|
|
7047
7039
|
const Component = as || `h${level}`;
|
|
7048
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7049
|
-
Component,
|
|
7050
|
-
{
|
|
7051
|
-
ref,
|
|
7052
|
-
className: cn(headingVariants({ level, weight, muted }), className),
|
|
7053
|
-
...props,
|
|
7054
|
-
children
|
|
7055
|
-
}
|
|
7056
|
-
);
|
|
7040
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Component, { ref, className: headingVariants({ level, weight, muted }), ...props, children });
|
|
7057
7041
|
}
|
|
7058
7042
|
);
|
|
7059
7043
|
Heading.displayName = "Heading";
|
|
@@ -8033,7 +8017,6 @@ var checkboxVariants = classVarianceAuthority.cva(
|
|
|
8033
8017
|
);
|
|
8034
8018
|
var Checkbox = React49__namespace.forwardRef(
|
|
8035
8019
|
({
|
|
8036
|
-
className,
|
|
8037
8020
|
variant,
|
|
8038
8021
|
size,
|
|
8039
8022
|
state,
|
|
@@ -8095,10 +8078,7 @@ var Checkbox = React49__namespace.forwardRef(
|
|
|
8095
8078
|
},
|
|
8096
8079
|
[isDisabled, isControlled, checked, onCheckedChange, onKeyDown]
|
|
8097
8080
|
);
|
|
8098
|
-
const checkboxClasses =
|
|
8099
|
-
checkboxVariants({ variant, size, state: effectiveState }),
|
|
8100
|
-
className
|
|
8101
|
-
);
|
|
8081
|
+
const checkboxClasses = checkboxVariants({ variant, size, state: effectiveState });
|
|
8102
8082
|
const iconSize = size ? CHECKBOX_TOKENS.icon.size[size] : CHECKBOX_TOKENS.icon.size.md;
|
|
8103
8083
|
const renderIcon = () => {
|
|
8104
8084
|
if (indeterminate) {
|
|
@@ -8756,10 +8736,13 @@ var labelVariants = classVarianceAuthority.cva(
|
|
|
8756
8736
|
`${TEXT_TOKENS.fontSize.sm} ${TEXT_TOKENS.fontWeight.medium} ${TEXT_TOKENS.lineHeight.none} peer-disabled:cursor-not-allowed peer-disabled:opacity-70`
|
|
8757
8737
|
);
|
|
8758
8738
|
var Label2 = React49__namespace.forwardRef(
|
|
8759
|
-
({
|
|
8760
|
-
|
|
8761
|
-
|
|
8762
|
-
|
|
8739
|
+
({ required, children, ...props }, ref) => (
|
|
8740
|
+
// className and style are forbidden from public API - only CVA output is used
|
|
8741
|
+
/* @__PURE__ */ jsxRuntime.jsxs(LabelPrimitive__namespace.Root, { ref, className: labelVariants(), ...props, children: [
|
|
8742
|
+
children,
|
|
8743
|
+
required && /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(FORM_TOKENS.label.requiredMark, "ml-xs"), children: "*" })
|
|
8744
|
+
] })
|
|
8745
|
+
)
|
|
8763
8746
|
);
|
|
8764
8747
|
Label2.displayName = LabelPrimitive__namespace.Root.displayName;
|
|
8765
8748
|
var Field = React49__namespace.forwardRef(
|
|
@@ -8768,11 +8751,9 @@ var Field = React49__namespace.forwardRef(
|
|
|
8768
8751
|
}
|
|
8769
8752
|
);
|
|
8770
8753
|
Field.displayName = "Field";
|
|
8771
|
-
var FieldLabel = React49__namespace.forwardRef(
|
|
8772
|
-
({
|
|
8773
|
-
|
|
8774
|
-
}
|
|
8775
|
-
);
|
|
8754
|
+
var FieldLabel = React49__namespace.forwardRef((props, ref) => {
|
|
8755
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Label2, { ref, ...props });
|
|
8756
|
+
});
|
|
8776
8757
|
FieldLabel.displayName = "FieldLabel";
|
|
8777
8758
|
var FieldControl = React49__namespace.forwardRef(
|
|
8778
8759
|
({ className, children, ...props }, ref) => {
|
|
@@ -8780,17 +8761,13 @@ var FieldControl = React49__namespace.forwardRef(
|
|
|
8780
8761
|
}
|
|
8781
8762
|
);
|
|
8782
8763
|
FieldControl.displayName = "FieldControl";
|
|
8783
|
-
var FieldDescription = React49__namespace.forwardRef(
|
|
8784
|
-
({
|
|
8785
|
-
|
|
8786
|
-
}
|
|
8787
|
-
);
|
|
8764
|
+
var FieldDescription = React49__namespace.forwardRef((props, ref) => {
|
|
8765
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Text, { ref, size: "sm", muted: true, ...props });
|
|
8766
|
+
});
|
|
8788
8767
|
FieldDescription.displayName = "FieldDescription";
|
|
8789
|
-
var FieldError = React49__namespace.forwardRef(
|
|
8790
|
-
({
|
|
8791
|
-
|
|
8792
|
-
}
|
|
8793
|
-
);
|
|
8768
|
+
var FieldError = React49__namespace.forwardRef((props, ref) => {
|
|
8769
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Text, { ref, size: "sm", variant: "destructive", ...props });
|
|
8770
|
+
});
|
|
8794
8771
|
FieldError.displayName = "FieldError";
|
|
8795
8772
|
var FieldRoot = Field;
|
|
8796
8773
|
FieldRoot.Label = FieldLabel;
|
|
@@ -8836,7 +8813,6 @@ var inputVariants = classVarianceAuthority.cva(
|
|
|
8836
8813
|
);
|
|
8837
8814
|
var Input = React49__namespace.forwardRef(
|
|
8838
8815
|
({
|
|
8839
|
-
className,
|
|
8840
8816
|
type = "text",
|
|
8841
8817
|
variant,
|
|
8842
8818
|
size,
|
|
@@ -8866,8 +8842,7 @@ var Input = React49__namespace.forwardRef(
|
|
|
8866
8842
|
inputVariants({ variant: baseVariant, size: baseSize, state, fullWidth }),
|
|
8867
8843
|
// Add padding for icons if present
|
|
8868
8844
|
iconLeft && INPUT_TOKENS.icon.paddingLeft,
|
|
8869
|
-
iconRight && INPUT_TOKENS.icon.paddingRight
|
|
8870
|
-
className
|
|
8845
|
+
iconRight && INPUT_TOKENS.icon.paddingRight
|
|
8871
8846
|
);
|
|
8872
8847
|
if (iconLeft || iconRight) {
|
|
8873
8848
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative", fullWidth !== false && INPUT_TOKENS.width.full), children: [
|
|
@@ -9017,7 +8992,6 @@ var RadioGroup = React49__namespace.forwardRef(
|
|
|
9017
8992
|
RadioGroup.displayName = "RadioGroup";
|
|
9018
8993
|
var Radio = React49__namespace.forwardRef(
|
|
9019
8994
|
({
|
|
9020
|
-
className,
|
|
9021
8995
|
variant,
|
|
9022
8996
|
size,
|
|
9023
8997
|
state,
|
|
@@ -9151,10 +9125,7 @@ var Radio = React49__namespace.forwardRef(
|
|
|
9151
9125
|
onKeyDown
|
|
9152
9126
|
]
|
|
9153
9127
|
);
|
|
9154
|
-
const radioClasses =
|
|
9155
|
-
radioVariants({ variant, size: effectiveSize, state: effectiveState }),
|
|
9156
|
-
className
|
|
9157
|
-
);
|
|
9128
|
+
const radioClasses = radioVariants({ variant, size: effectiveSize, state: effectiveState });
|
|
9158
9129
|
const dotSize = RADIO_TOKENS.dot.size[effectiveSize];
|
|
9159
9130
|
const renderDot = () => {
|
|
9160
9131
|
if (!finalChecked) return null;
|
|
@@ -9239,7 +9210,6 @@ var textareaVariants = classVarianceAuthority.cva(
|
|
|
9239
9210
|
);
|
|
9240
9211
|
var Textarea = React49__namespace.forwardRef(
|
|
9241
9212
|
({
|
|
9242
|
-
className,
|
|
9243
9213
|
variant,
|
|
9244
9214
|
size,
|
|
9245
9215
|
state,
|
|
@@ -9264,7 +9234,7 @@ var Textarea = React49__namespace.forwardRef(
|
|
|
9264
9234
|
}
|
|
9265
9235
|
return void 0;
|
|
9266
9236
|
});
|
|
9267
|
-
const textareaClasses =
|
|
9237
|
+
const textareaClasses = textareaVariants({ variant, size, state, fullWidth });
|
|
9268
9238
|
const currentValue = value ?? defaultValue ?? "";
|
|
9269
9239
|
const currentLength = typeof currentValue === "string" ? currentValue.length : 0;
|
|
9270
9240
|
const shouldShowCounter = showCharacterCount && maxLength !== void 0;
|
|
@@ -9441,20 +9411,8 @@ var DialogHeader = React49__namespace.forwardRef(
|
|
|
9441
9411
|
);
|
|
9442
9412
|
DialogHeader.displayName = "DialogHeader";
|
|
9443
9413
|
var DialogTitle = React49__namespace.forwardRef(
|
|
9444
|
-
({ titleId,
|
|
9445
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
9446
|
-
Heading,
|
|
9447
|
-
{
|
|
9448
|
-
ref,
|
|
9449
|
-
as: "h2",
|
|
9450
|
-
level: 4,
|
|
9451
|
-
weight: "semibold",
|
|
9452
|
-
id: titleId,
|
|
9453
|
-
className: cn(className),
|
|
9454
|
-
...props,
|
|
9455
|
-
children
|
|
9456
|
-
}
|
|
9457
|
-
);
|
|
9414
|
+
({ titleId, children, ...props }, ref) => {
|
|
9415
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Heading, { ref, as: "h2", level: 4, weight: "semibold", id: titleId, ...props, children });
|
|
9458
9416
|
}
|
|
9459
9417
|
);
|
|
9460
9418
|
DialogTitle.displayName = "DialogTitle";
|
|
@@ -10519,7 +10477,7 @@ function useNotificationCenterContext() {
|
|
|
10519
10477
|
}
|
|
10520
10478
|
return context;
|
|
10521
10479
|
}
|
|
10522
|
-
var NotificationCenterDismissAll = React49__namespace.forwardRef(({ confirm = false, confirmMessage = "Clear all notifications?",
|
|
10480
|
+
var NotificationCenterDismissAll = React49__namespace.forwardRef(({ confirm = false, confirmMessage = "Clear all notifications?", ...props }, ref) => {
|
|
10523
10481
|
const { clearAll, getAll } = useNotificationCenterContext();
|
|
10524
10482
|
const notifications = getAll();
|
|
10525
10483
|
const handleClick = () => {
|
|
@@ -10543,7 +10501,6 @@ var NotificationCenterDismissAll = React49__namespace.forwardRef(({ confirm = fa
|
|
|
10543
10501
|
size: "sm",
|
|
10544
10502
|
onClick: handleClick,
|
|
10545
10503
|
"aria-label": "Clear all notifications",
|
|
10546
|
-
className,
|
|
10547
10504
|
...props,
|
|
10548
10505
|
children: "Clear all"
|
|
10549
10506
|
}
|
|
@@ -10572,7 +10529,6 @@ var NotificationCenterGroupHeader = React49__namespace.forwardRef(
|
|
|
10572
10529
|
onClick: onToggleCollapse,
|
|
10573
10530
|
"aria-label": collapsed ? "Expand group" : "Collapse group",
|
|
10574
10531
|
"aria-expanded": !collapsed,
|
|
10575
|
-
className: "h-6 w-6",
|
|
10576
10532
|
children: collapsed ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-4 w-4" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUp, { className: "h-4 w-4" })
|
|
10577
10533
|
}
|
|
10578
10534
|
)
|
|
@@ -10666,7 +10622,6 @@ var NotificationCenterItem = React49__namespace.forwardRef(
|
|
|
10666
10622
|
e.stopPropagation();
|
|
10667
10623
|
notification.action?.onClick();
|
|
10668
10624
|
},
|
|
10669
|
-
className: "h-7 px-xs text-xs",
|
|
10670
10625
|
children: notification.action.label
|
|
10671
10626
|
}
|
|
10672
10627
|
) })
|
|
@@ -10678,7 +10633,6 @@ var NotificationCenterItem = React49__namespace.forwardRef(
|
|
|
10678
10633
|
size: "icon",
|
|
10679
10634
|
onClick: handleDismiss,
|
|
10680
10635
|
"aria-label": "Dismiss notification",
|
|
10681
|
-
className: "absolute right-xs top-xs h-6 w-6 opacity-0 transition-opacity hover:text-foreground focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-1 group-hover:opacity-100",
|
|
10682
10636
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" })
|
|
10683
10637
|
}
|
|
10684
10638
|
)
|
|
@@ -10976,7 +10930,6 @@ var NotificationCenterPanel = React49__namespace.forwardRef(
|
|
|
10976
10930
|
size: "icon",
|
|
10977
10931
|
onClick: onClose,
|
|
10978
10932
|
"aria-label": "Close notifications",
|
|
10979
|
-
className: "h-8 w-8",
|
|
10980
10933
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" })
|
|
10981
10934
|
}
|
|
10982
10935
|
)
|
|
@@ -11020,10 +10973,10 @@ var NotificationCenterPanel = React49__namespace.forwardRef(
|
|
|
11020
10973
|
}
|
|
11021
10974
|
);
|
|
11022
10975
|
NotificationCenterPanel.displayName = "NotificationCenter.Panel";
|
|
11023
|
-
var NotificationCenterTrigger = React49__namespace.forwardRef(({ onClick, showBadge = true,
|
|
10976
|
+
var NotificationCenterTrigger = React49__namespace.forwardRef(({ onClick, showBadge = true, ...props }, ref) => {
|
|
11024
10977
|
const { getUnreadCount } = useNotificationCenterContext();
|
|
11025
10978
|
const unreadCount = getUnreadCount();
|
|
11026
|
-
return /* @__PURE__ */ jsxRuntime.
|
|
10979
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
11027
10980
|
Button,
|
|
11028
10981
|
{
|
|
11029
10982
|
ref,
|
|
@@ -11031,9 +10984,8 @@ var NotificationCenterTrigger = React49__namespace.forwardRef(({ onClick, showBa
|
|
|
11031
10984
|
size: "icon",
|
|
11032
10985
|
onClick,
|
|
11033
10986
|
"aria-label": `Open notifications${unreadCount > 0 ? ` (${unreadCount} unread)` : ""}`,
|
|
11034
|
-
className: cn("relative", className),
|
|
11035
10987
|
...props,
|
|
11036
|
-
children: [
|
|
10988
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "relative", children: [
|
|
11037
10989
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Bell, { className: "h-5 w-5" }),
|
|
11038
10990
|
showBadge && unreadCount > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
11039
10991
|
"span",
|
|
@@ -11045,7 +10997,7 @@ var NotificationCenterTrigger = React49__namespace.forwardRef(({ onClick, showBa
|
|
|
11045
10997
|
children: unreadCount > 99 ? "99+" : unreadCount
|
|
11046
10998
|
}
|
|
11047
10999
|
)
|
|
11048
|
-
]
|
|
11000
|
+
] })
|
|
11049
11001
|
}
|
|
11050
11002
|
);
|
|
11051
11003
|
});
|
|
@@ -11873,18 +11825,7 @@ var BreadcrumbsRoot = React49__namespace.forwardRef(
|
|
|
11873
11825
|
disabled: item.disabled,
|
|
11874
11826
|
children: [
|
|
11875
11827
|
index > 0 && /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbsSeparator, { children: separator || defaultSeparator }),
|
|
11876
|
-
item.href && !isLast && !item.disabled ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
11877
|
-
"a",
|
|
11878
|
-
{
|
|
11879
|
-
href: item.href,
|
|
11880
|
-
className: cn(
|
|
11881
|
-
NAVIGATION_TOKENS.states.default.text,
|
|
11882
|
-
NAVIGATION_TOKENS.states.hover.text,
|
|
11883
|
-
MOTION_TOKENS.transition.colors
|
|
11884
|
-
),
|
|
11885
|
-
children: item.label
|
|
11886
|
-
}
|
|
11887
|
-
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
11828
|
+
item.href && !isLast && !item.disabled ? /* @__PURE__ */ jsxRuntime.jsx(Link, { href: item.href, variant: "link", children: item.label }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
11888
11829
|
"span",
|
|
11889
11830
|
{
|
|
11890
11831
|
className: cn(
|
|
@@ -12878,8 +12819,6 @@ exports.IconSearch = IconSearch;
|
|
|
12878
12819
|
exports.IconSuccess = IconSuccess;
|
|
12879
12820
|
exports.IconWarning = IconWarning;
|
|
12880
12821
|
exports.Input = Input;
|
|
12881
|
-
exports.LINK_SIZES = LINK_SIZES;
|
|
12882
|
-
exports.LINK_VARIANTS = LINK_VARIANTS;
|
|
12883
12822
|
exports.Label = Label2;
|
|
12884
12823
|
exports.Link = Link;
|
|
12885
12824
|
exports.MENU_TOKENS = MENU_TOKENS;
|
|
@@ -12965,7 +12904,6 @@ exports.animations = animations;
|
|
|
12965
12904
|
exports.badgeVariants = badgeVariants;
|
|
12966
12905
|
exports.baseColors = baseColors;
|
|
12967
12906
|
exports.borderRadius = borderRadius;
|
|
12968
|
-
exports.buttonVariants = buttonVariants;
|
|
12969
12907
|
exports.chartColors = chartColors;
|
|
12970
12908
|
exports.checkboxVariants = checkboxVariants;
|
|
12971
12909
|
exports.colorCSSVariables = colorCSSVariables;
|