@cytario/design 1.6.1 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +611 -58
- package/dist/index.js +2361 -32
- package/dist/index.js.map +1 -0
- package/package.json +10 -5
- package/src/tokens/variables-dark.css +148 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +0 -11
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +0 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.js +0 -9
- package/dist/components/Breadcrumbs/index.d.ts +0 -3
- package/dist/components/Breadcrumbs/index.d.ts.map +0 -1
- package/dist/components/Breadcrumbs/index.js +0 -1
- package/dist/components/Button/Button.d.ts +0 -18
- package/dist/components/Button/Button.d.ts.map +0 -1
- package/dist/components/Button/Button.js +0 -51
- package/dist/components/Button/index.d.ts +0 -3
- package/dist/components/Button/index.d.ts.map +0 -1
- package/dist/components/Button/index.js +0 -1
- package/dist/components/ButtonLink/ButtonLink.d.ts +0 -35
- package/dist/components/ButtonLink/ButtonLink.d.ts.map +0 -1
- package/dist/components/ButtonLink/ButtonLink.js +0 -47
- package/dist/components/ButtonLink/index.d.ts +0 -3
- package/dist/components/ButtonLink/index.d.ts.map +0 -1
- package/dist/components/ButtonLink/index.js +0 -1
- package/dist/components/Checkbox/Checkbox.d.ts +0 -8
- package/dist/components/Checkbox/Checkbox.d.ts.map +0 -1
- package/dist/components/Checkbox/Checkbox.js +0 -19
- package/dist/components/Checkbox/index.d.ts +0 -3
- package/dist/components/Checkbox/index.d.ts.map +0 -1
- package/dist/components/Checkbox/index.js +0 -1
- package/dist/components/Dialog/Dialog.d.ts +0 -11
- package/dist/components/Dialog/Dialog.d.ts.map +0 -1
- package/dist/components/Dialog/Dialog.js +0 -31
- package/dist/components/Dialog/index.d.ts +0 -3
- package/dist/components/Dialog/index.d.ts.map +0 -1
- package/dist/components/Dialog/index.js +0 -1
- package/dist/components/EmptyState/EmptyState.d.ts +0 -11
- package/dist/components/EmptyState/EmptyState.d.ts.map +0 -1
- package/dist/components/EmptyState/EmptyState.js +0 -10
- package/dist/components/EmptyState/index.d.ts +0 -3
- package/dist/components/EmptyState/index.d.ts.map +0 -1
- package/dist/components/EmptyState/index.js +0 -1
- package/dist/components/Field/Field.d.ts +0 -13
- package/dist/components/Field/Field.d.ts.map +0 -1
- package/dist/components/Field/Field.js +0 -15
- package/dist/components/Field/index.d.ts +0 -3
- package/dist/components/Field/index.d.ts.map +0 -1
- package/dist/components/Field/index.js +0 -1
- package/dist/components/Fieldset/Fieldset.d.ts +0 -8
- package/dist/components/Fieldset/Fieldset.d.ts.map +0 -1
- package/dist/components/Fieldset/Fieldset.js +0 -15
- package/dist/components/Fieldset/index.d.ts +0 -3
- package/dist/components/Fieldset/index.d.ts.map +0 -1
- package/dist/components/Fieldset/index.js +0 -1
- package/dist/components/Heading/Heading.d.ts +0 -19
- package/dist/components/Heading/Heading.d.ts.map +0 -1
- package/dist/components/Heading/Heading.js +0 -39
- package/dist/components/Heading/index.d.ts +0 -3
- package/dist/components/Heading/index.d.ts.map +0 -1
- package/dist/components/Heading/index.js +0 -1
- package/dist/components/Icon/Icon.d.ts +0 -15
- package/dist/components/Icon/Icon.d.ts.map +0 -1
- package/dist/components/Icon/Icon.js +0 -11
- package/dist/components/Icon/index.d.ts +0 -3
- package/dist/components/Icon/index.d.ts.map +0 -1
- package/dist/components/Icon/index.js +0 -1
- package/dist/components/IconButton/IconButton.d.ts +0 -23
- package/dist/components/IconButton/IconButton.d.ts.map +0 -1
- package/dist/components/IconButton/IconButton.js +0 -59
- package/dist/components/IconButton/index.d.ts +0 -3
- package/dist/components/IconButton/index.d.ts.map +0 -1
- package/dist/components/IconButton/index.js +0 -1
- package/dist/components/Input/Input.d.ts +0 -23
- package/dist/components/Input/Input.d.ts.map +0 -1
- package/dist/components/Input/Input.js +0 -97
- package/dist/components/Input/index.d.ts +0 -3
- package/dist/components/Input/index.d.ts.map +0 -1
- package/dist/components/Input/index.js +0 -1
- package/dist/components/InputAddon/InputAddon.d.ts +0 -7
- package/dist/components/InputAddon/InputAddon.d.ts.map +0 -1
- package/dist/components/InputAddon/InputAddon.js +0 -35
- package/dist/components/InputAddon/index.d.ts +0 -3
- package/dist/components/InputAddon/index.d.ts.map +0 -1
- package/dist/components/InputAddon/index.js +0 -1
- package/dist/components/InputGroup/InputGroup.d.ts +0 -7
- package/dist/components/InputGroup/InputGroup.d.ts.map +0 -1
- package/dist/components/InputGroup/InputGroup.js +0 -16
- package/dist/components/InputGroup/InputGroupContext.d.ts +0 -9
- package/dist/components/InputGroup/InputGroupContext.d.ts.map +0 -1
- package/dist/components/InputGroup/InputGroupContext.js +0 -8
- package/dist/components/InputGroup/index.d.ts +0 -5
- package/dist/components/InputGroup/index.d.ts.map +0 -1
- package/dist/components/InputGroup/index.js +0 -2
- package/dist/components/Label/Label.d.ts +0 -7
- package/dist/components/Label/Label.d.ts.map +0 -1
- package/dist/components/Label/Label.js +0 -12
- package/dist/components/Label/index.d.ts +0 -3
- package/dist/components/Label/index.d.ts.map +0 -1
- package/dist/components/Label/index.js +0 -1
- package/dist/components/Link/Link.d.ts +0 -10
- package/dist/components/Link/Link.d.ts.map +0 -1
- package/dist/components/Link/Link.js +0 -22
- package/dist/components/Link/index.d.ts +0 -3
- package/dist/components/Link/index.d.ts.map +0 -1
- package/dist/components/Link/index.js +0 -1
- package/dist/components/Menu/Menu.d.ts +0 -24
- package/dist/components/Menu/Menu.d.ts.map +0 -1
- package/dist/components/Menu/Menu.js +0 -29
- package/dist/components/Menu/index.d.ts +0 -3
- package/dist/components/Menu/index.d.ts.map +0 -1
- package/dist/components/Menu/index.js +0 -1
- package/dist/components/Popover/Popover.d.ts +0 -44
- package/dist/components/Popover/Popover.d.ts.map +0 -1
- package/dist/components/Popover/Popover.js +0 -46
- package/dist/components/Popover/index.d.ts +0 -3
- package/dist/components/Popover/index.d.ts.map +0 -1
- package/dist/components/Popover/index.js +0 -1
- package/dist/components/Radio/Radio.d.ts +0 -18
- package/dist/components/Radio/Radio.d.ts.map +0 -1
- package/dist/components/Radio/Radio.js +0 -43
- package/dist/components/Radio/index.d.ts +0 -3
- package/dist/components/Radio/index.d.ts.map +0 -1
- package/dist/components/Radio/index.js +0 -1
- package/dist/components/Select/Select.d.ts +0 -17
- package/dist/components/Select/Select.d.ts.map +0 -1
- package/dist/components/Select/Select.js +0 -42
- package/dist/components/Select/index.d.ts +0 -3
- package/dist/components/Select/index.d.ts.map +0 -1
- package/dist/components/Select/index.js +0 -1
- package/dist/components/Spinner/Spinner.d.ts +0 -10
- package/dist/components/Spinner/Spinner.d.ts.map +0 -1
- package/dist/components/Spinner/Spinner.js +0 -12
- package/dist/components/Spinner/index.d.ts +0 -3
- package/dist/components/Spinner/index.d.ts.map +0 -1
- package/dist/components/Spinner/index.js +0 -1
- package/dist/components/Switch/Switch.d.ts +0 -12
- package/dist/components/Switch/Switch.d.ts.map +0 -1
- package/dist/components/Switch/Switch.js +0 -34
- package/dist/components/Switch/index.d.ts +0 -3
- package/dist/components/Switch/index.d.ts.map +0 -1
- package/dist/components/Switch/index.js +0 -1
- package/dist/components/Table/Table.d.ts +0 -13
- package/dist/components/Table/Table.d.ts.map +0 -1
- package/dist/components/Table/Table.js +0 -61
- package/dist/components/Table/index.d.ts +0 -3
- package/dist/components/Table/index.d.ts.map +0 -1
- package/dist/components/Table/index.js +0 -1
- package/dist/components/Tabs/Tabs.d.ts +0 -32
- package/dist/components/Tabs/Tabs.d.ts.map +0 -1
- package/dist/components/Tabs/Tabs.js +0 -100
- package/dist/components/Tabs/index.d.ts +0 -3
- package/dist/components/Tabs/index.d.ts.map +0 -1
- package/dist/components/Tabs/index.js +0 -1
- package/dist/components/Toast/Toast.d.ts +0 -33
- package/dist/components/Toast/Toast.d.ts.map +0 -1
- package/dist/components/Toast/Toast.js +0 -102
- package/dist/components/Toast/index.d.ts +0 -3
- package/dist/components/Toast/index.d.ts.map +0 -1
- package/dist/components/Toast/index.js +0 -1
- package/dist/components/ToggleButton/ToggleButton.d.ts +0 -13
- package/dist/components/ToggleButton/ToggleButton.d.ts.map +0 -1
- package/dist/components/ToggleButton/ToggleButton.js +0 -42
- package/dist/components/ToggleButton/index.d.ts +0 -3
- package/dist/components/ToggleButton/index.d.ts.map +0 -1
- package/dist/components/ToggleButton/index.js +0 -1
- package/dist/components/Tooltip/Tooltip.d.ts +0 -15
- package/dist/components/Tooltip/Tooltip.d.ts.map +0 -1
- package/dist/components/Tooltip/Tooltip.js +0 -20
- package/dist/components/Tooltip/index.d.ts +0 -3
- package/dist/components/Tooltip/index.d.ts.map +0 -1
- package/dist/components/Tooltip/index.js +0 -1
- package/dist/components/_shared/styles.d.ts +0 -5
- package/dist/components/_shared/styles.d.ts.map +0 -1
- package/dist/components/_shared/styles.js +0 -43
- package/dist/index.d.ts.map +0 -1
- package/dist/test-setup.d.ts +0 -2
- package/dist/test-setup.d.ts.map +0 -1
- package/dist/test-setup.js +0 -1
- package/dist/tokens/tokens.d.ts +0 -144
- package/dist/tokens/tokens.d.ts.map +0 -1
- package/dist/tokens/tokens.js +0 -143
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Button as AriaButton, } from "react-aria-components";
|
|
3
|
-
import { variantStyles, sizeStyles, } from "../_shared/styles";
|
|
4
|
-
import { Icon } from "../Icon";
|
|
5
|
-
import { Spinner } from "../Spinner";
|
|
6
|
-
import { useInputGroup } from "../InputGroup/InputGroupContext";
|
|
7
|
-
const iconSizeMap = {
|
|
8
|
-
sm: "sm",
|
|
9
|
-
md: "sm",
|
|
10
|
-
lg: "md",
|
|
11
|
-
};
|
|
12
|
-
function groupRadiusClass(position) {
|
|
13
|
-
switch (position) {
|
|
14
|
-
case "start":
|
|
15
|
-
return "rounded-l-[var(--border-radius-md)] rounded-r-none";
|
|
16
|
-
case "middle":
|
|
17
|
-
return "rounded-none";
|
|
18
|
-
case "end":
|
|
19
|
-
return "rounded-r-[var(--border-radius-md)] rounded-l-none";
|
|
20
|
-
default:
|
|
21
|
-
return "rounded-[var(--border-radius-md)]";
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
export function Button({ variant = "primary", size = "md", isLoading = false, isDisabled, iconLeft, iconRight, className, children, ...props }) {
|
|
25
|
-
const { inGroup, position } = useInputGroup();
|
|
26
|
-
const radiusClass = inGroup
|
|
27
|
-
? groupRadiusClass(position)
|
|
28
|
-
: "rounded-[var(--border-radius-md)]";
|
|
29
|
-
const marginClass = inGroup && position !== "start" && position !== "standalone"
|
|
30
|
-
? "-ml-px"
|
|
31
|
-
: "";
|
|
32
|
-
const focusRing = inGroup
|
|
33
|
-
? "focus-visible:ring-2 focus-visible:ring-[var(--color-border-focus)] focus-visible:ring-offset-0 focus-visible:z-10"
|
|
34
|
-
: "focus-visible:ring-2 focus-visible:ring-[var(--color-border-focus)] focus-visible:ring-offset-2";
|
|
35
|
-
return (_jsxs(AriaButton, { ...props, isDisabled: isDisabled || isLoading, className: [
|
|
36
|
-
"inline-flex items-center justify-center gap-2 shrink-0",
|
|
37
|
-
radiusClass,
|
|
38
|
-
"font-[var(--font-weight-medium)]",
|
|
39
|
-
"leading-[var(--line-height-tight)]",
|
|
40
|
-
"outline-none transition-colors",
|
|
41
|
-
focusRing,
|
|
42
|
-
"disabled:opacity-50 disabled:pointer-events-none",
|
|
43
|
-
isLoading ? "pointer-events-none" : "",
|
|
44
|
-
variantStyles[variant],
|
|
45
|
-
sizeStyles[size],
|
|
46
|
-
marginClass,
|
|
47
|
-
className,
|
|
48
|
-
]
|
|
49
|
-
.filter(Boolean)
|
|
50
|
-
.join(" "), children: [isLoading && _jsx(Spinner, { size: iconSizeMap[size] }), !isLoading && iconLeft && (_jsx(Icon, { icon: iconLeft, size: iconSizeMap[size] })), children, !isLoading && iconRight && (_jsx(Icon, { icon: iconRight, size: iconSizeMap[size] }))] }));
|
|
51
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { Button } from "./Button";
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import type { LucideIcon } from "lucide-react";
|
|
2
|
-
import { type LinkProps as AriaLinkProps } from "react-aria-components";
|
|
3
|
-
import { type ButtonVariant, type ButtonSize } from "../_shared/styles";
|
|
4
|
-
export type { ButtonVariant, ButtonSize };
|
|
5
|
-
export interface ButtonLinkProps extends Omit<AriaLinkProps, "className"> {
|
|
6
|
-
/** Visual style variant */
|
|
7
|
-
variant?: ButtonVariant;
|
|
8
|
-
/** Size preset */
|
|
9
|
-
size?: ButtonSize;
|
|
10
|
-
/** Lucide icon rendered before children */
|
|
11
|
-
iconLeft?: LucideIcon;
|
|
12
|
-
/** Lucide icon rendered after children */
|
|
13
|
-
iconRight?: LucideIcon;
|
|
14
|
-
/** Additional CSS classes */
|
|
15
|
-
className?: string;
|
|
16
|
-
}
|
|
17
|
-
export declare function ButtonLink({ variant, size, iconLeft, iconRight, className, children, ...props }: ButtonLinkProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
-
export interface IconButtonLinkProps extends Omit<AriaLinkProps, "className"> {
|
|
19
|
-
/** Lucide icon to render */
|
|
20
|
-
icon: LucideIcon;
|
|
21
|
-
/** Required for accessibility — also used as tooltip content */
|
|
22
|
-
"aria-label": string;
|
|
23
|
-
/** Visual style variant */
|
|
24
|
-
variant?: ButtonVariant;
|
|
25
|
-
/** Size preset */
|
|
26
|
-
size?: "sm" | "md" | "lg";
|
|
27
|
-
/** Show tooltip on hover (default true) */
|
|
28
|
-
showTooltip?: boolean;
|
|
29
|
-
/** Tooltip placement */
|
|
30
|
-
tooltipPlacement?: "top" | "bottom" | "left" | "right";
|
|
31
|
-
/** Additional CSS classes */
|
|
32
|
-
className?: string;
|
|
33
|
-
}
|
|
34
|
-
export declare function IconButtonLink({ icon, "aria-label": ariaLabel, variant, size, showTooltip, tooltipPlacement, className, ...props }: IconButtonLinkProps): import("react/jsx-runtime").JSX.Element;
|
|
35
|
-
//# sourceMappingURL=ButtonLink.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonLink.d.ts","sourceRoot":"","sources":["../../../src/components/ButtonLink/ButtonLink.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAEL,KAAK,SAAS,IAAI,aAAa,EAChC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,UAAU,EAGhB,MAAM,mBAAmB,CAAC;AAI3B,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AAE1C,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC;IACvE,2BAA2B;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,kBAAkB;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD,wBAAgB,UAAU,CAAC,EACzB,OAAmB,EACnB,IAAW,EACX,QAAQ,EACR,SAAS,EACT,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,eAAe,2CAuBjB;AAID,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC;IAC3E,4BAA4B;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,kBAAkB;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,2CAA2C;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wBAAwB;IACxB,gBAAgB,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACvD,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,YAAY,EAAE,SAAS,EACvB,OAAiB,EACjB,IAAW,EACX,WAAkB,EAClB,gBAAwB,EACxB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,mBAAmB,2CA8BrB"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Link as AriaLink, } from "react-aria-components";
|
|
3
|
-
import { variantStyles, sizeStyles, } from "../_shared/styles";
|
|
4
|
-
import { Icon } from "../Icon";
|
|
5
|
-
import { Tooltip } from "../Tooltip";
|
|
6
|
-
const iconSizeMap = {
|
|
7
|
-
sm: "sm",
|
|
8
|
-
md: "sm",
|
|
9
|
-
lg: "md",
|
|
10
|
-
};
|
|
11
|
-
export function ButtonLink({ variant = "primary", size = "md", iconLeft, iconRight, className, children, ...props }) {
|
|
12
|
-
return (_jsxs(AriaLink, { ...props, className: [
|
|
13
|
-
"inline-flex items-center justify-center gap-2",
|
|
14
|
-
"rounded-[var(--border-radius-md)]",
|
|
15
|
-
"font-[var(--font-weight-medium)]",
|
|
16
|
-
"leading-[var(--line-height-tight)]",
|
|
17
|
-
"outline-none transition-colors no-underline",
|
|
18
|
-
"focus-visible:ring-2 focus-visible:ring-[var(--color-border-focus)] focus-visible:ring-offset-2",
|
|
19
|
-
variantStyles[variant],
|
|
20
|
-
sizeStyles[size],
|
|
21
|
-
className,
|
|
22
|
-
]
|
|
23
|
-
.filter(Boolean)
|
|
24
|
-
.join(" "), children: [iconLeft && _jsx(Icon, { icon: iconLeft, size: iconSizeMap[size] }), children, iconRight && _jsx(Icon, { icon: iconRight, size: iconSizeMap[size] })] }));
|
|
25
|
-
}
|
|
26
|
-
const squareSizeStyles = {
|
|
27
|
-
sm: "h-8 w-8",
|
|
28
|
-
md: "h-10 w-10",
|
|
29
|
-
lg: "h-12 w-12",
|
|
30
|
-
};
|
|
31
|
-
export function IconButtonLink({ icon, "aria-label": ariaLabel, variant = "ghost", size = "md", showTooltip = true, tooltipPlacement = "top", className, ...props }) {
|
|
32
|
-
const link = (_jsx(AriaLink, { ...props, "aria-label": ariaLabel, className: [
|
|
33
|
-
"inline-flex items-center justify-center",
|
|
34
|
-
"rounded-[var(--border-radius-md)]",
|
|
35
|
-
"outline-none transition-colors no-underline",
|
|
36
|
-
"focus-visible:ring-2 focus-visible:ring-[var(--color-border-focus)] focus-visible:ring-offset-2",
|
|
37
|
-
variantStyles[variant],
|
|
38
|
-
squareSizeStyles[size],
|
|
39
|
-
className,
|
|
40
|
-
]
|
|
41
|
-
.filter(Boolean)
|
|
42
|
-
.join(" "), children: _jsx(Icon, { icon: icon, size: iconSizeMap[size] }) }));
|
|
43
|
-
if (showTooltip) {
|
|
44
|
-
return (_jsx(Tooltip, { content: ariaLabel, placement: tooltipPlacement, children: link }));
|
|
45
|
-
}
|
|
46
|
-
return link;
|
|
47
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ButtonLink/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { ButtonLink, IconButtonLink } from "./ButtonLink";
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type React from "react";
|
|
2
|
-
import { type CheckboxProps as AriaCheckboxProps } from "react-aria-components";
|
|
3
|
-
export interface CheckboxProps extends Omit<AriaCheckboxProps, "children" | "className"> {
|
|
4
|
-
children?: React.ReactNode;
|
|
5
|
-
className?: string;
|
|
6
|
-
}
|
|
7
|
-
export declare function Checkbox({ children, className, ...props }: CheckboxProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
-
//# sourceMappingURL=Checkbox.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAEL,KAAK,aAAa,IAAI,iBAAiB,EACxC,MAAM,uBAAuB,CAAC;AAG/B,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,WAAW,CAAC;IACzD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,2CAoCxE"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { Checkbox as AriaCheckbox, } from "react-aria-components";
|
|
3
|
-
import { Check } from "lucide-react";
|
|
4
|
-
export function Checkbox({ children, className, ...props }) {
|
|
5
|
-
return (_jsx(AriaCheckbox, { ...props, className: [
|
|
6
|
-
"group flex items-center gap-2 text-[length:var(--font-size-sm)] text-[var(--color-text-primary)] cursor-pointer",
|
|
7
|
-
"disabled:opacity-50 disabled:cursor-default",
|
|
8
|
-
className,
|
|
9
|
-
]
|
|
10
|
-
.filter(Boolean)
|
|
11
|
-
.join(" "), children: ({ isSelected, isIndeterminate }) => (_jsxs(_Fragment, { children: [_jsxs("div", { className: [
|
|
12
|
-
"flex items-center justify-center w-6 h-6 shrink-0",
|
|
13
|
-
"rounded-[var(--border-radius-sm)] border transition-colors",
|
|
14
|
-
"group-focus-visible:ring-2 group-focus-visible:ring-[var(--color-border-focus)] group-focus-visible:ring-offset-2",
|
|
15
|
-
isSelected || isIndeterminate
|
|
16
|
-
? "bg-[var(--color-action-primary)] border-[var(--color-action-primary)]"
|
|
17
|
-
: "bg-[var(--color-surface-default)] border-[var(--color-border-default)] group-hover:border-[var(--color-border-strong)]",
|
|
18
|
-
].join(" "), children: [isSelected && (_jsx(Check, { className: "w-4 h-4 text-[var(--color-text-inverse)]", strokeWidth: 3 })), isIndeterminate && (_jsx("div", { className: "w-3 h-0.5 bg-[var(--color-text-inverse)] rounded-full" }))] }), children && _jsx("span", { children: children })] })) }));
|
|
19
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Checkbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { Checkbox } from "./Checkbox";
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type React from "react";
|
|
2
|
-
export interface DialogProps {
|
|
3
|
-
isOpen: boolean;
|
|
4
|
-
onOpenChange: (isOpen: boolean) => void;
|
|
5
|
-
title: string;
|
|
6
|
-
size?: "sm" | "md" | "lg" | "xl";
|
|
7
|
-
children: React.ReactNode;
|
|
8
|
-
className?: string;
|
|
9
|
-
}
|
|
10
|
-
export declare function Dialog({ isOpen, onOpenChange, title, size, children, className, }: DialogProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
-
//# sourceMappingURL=Dialog.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../src/components/Dialog/Dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AASD,wBAAgB,MAAM,CAAC,EACrB,MAAM,EACN,YAAY,EACZ,KAAK,EACL,IAAW,EACX,QAAQ,EACR,SAAS,GACV,EAAE,WAAW,2CAwDb"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { Modal, ModalOverlay, Dialog as AriaDialog, Heading, } from "react-aria-components";
|
|
3
|
-
import { X } from "lucide-react";
|
|
4
|
-
const sizeStyles = {
|
|
5
|
-
sm: "max-w-md",
|
|
6
|
-
md: "max-w-lg",
|
|
7
|
-
lg: "max-w-2xl",
|
|
8
|
-
xl: "max-w-4xl",
|
|
9
|
-
};
|
|
10
|
-
export function Dialog({ isOpen, onOpenChange, title, size = "md", children, className, }) {
|
|
11
|
-
return (_jsx(ModalOverlay, { isOpen: isOpen, onOpenChange: onOpenChange, isDismissable: true, className: [
|
|
12
|
-
"fixed inset-0 z-50 bg-[var(--color-overlay-backdrop)] backdrop-blur-sm",
|
|
13
|
-
"flex items-center justify-center",
|
|
14
|
-
"data-[entering]:animate-in data-[entering]:fade-in",
|
|
15
|
-
"data-[exiting]:animate-out data-[exiting]:fade-out",
|
|
16
|
-
].join(" "), children: _jsx(Modal, { className: [
|
|
17
|
-
"w-full mx-4",
|
|
18
|
-
sizeStyles[size],
|
|
19
|
-
"bg-[var(--color-surface-default)] rounded-lg shadow-xl max-h-[85vh] flex flex-col",
|
|
20
|
-
"data-[entering]:animate-in data-[entering]:zoom-in-95 data-[entering]:fade-in",
|
|
21
|
-
"data-[exiting]:animate-out data-[exiting]:zoom-out-95 data-[exiting]:fade-out",
|
|
22
|
-
className,
|
|
23
|
-
]
|
|
24
|
-
.filter(Boolean)
|
|
25
|
-
.join(" "), children: _jsx(AriaDialog, { className: "outline-none flex flex-col max-h-[85vh]", children: ({ close }) => (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex items-center justify-between px-6 py-4 border-b border-[var(--color-border-default)]", children: [_jsx(Heading, { slot: "title", className: "text-lg font-semibold text-[var(--color-text-primary)]", children: title }), _jsx("button", { type: "button", onClick: close, className: [
|
|
26
|
-
"inline-flex items-center justify-center rounded-md p-1",
|
|
27
|
-
"text-[var(--color-text-secondary)] hover:text-[var(--color-text-primary)] hover:bg-[var(--color-surface-muted)]",
|
|
28
|
-
"outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-border-focus)] focus-visible:ring-offset-2",
|
|
29
|
-
"transition-colors",
|
|
30
|
-
].join(" "), "aria-label": "Close", children: _jsx(X, { size: 20, "aria-hidden": "true" }) })] }), _jsx("div", { className: "px-6 py-4 overflow-y-auto", children: children })] })) }) }) }));
|
|
31
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Dialog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { Dialog } from "./Dialog";
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type React from "react";
|
|
2
|
-
import type { LucideIcon } from "lucide-react";
|
|
3
|
-
export interface EmptyStateProps {
|
|
4
|
-
icon?: LucideIcon;
|
|
5
|
-
title: string;
|
|
6
|
-
description?: string;
|
|
7
|
-
action?: React.ReactNode;
|
|
8
|
-
className?: string;
|
|
9
|
-
}
|
|
10
|
-
export declare function EmptyState({ icon, title, description, action, className, }: EmptyStateProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
-
//# sourceMappingURL=EmptyState.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../src/components/EmptyState/EmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,KAAK,EACL,WAAW,EACX,MAAM,EACN,SAAS,GACV,EAAE,eAAe,2CAwBjB"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Icon } from "../Icon";
|
|
3
|
-
export function EmptyState({ icon, title, description, action, className, }) {
|
|
4
|
-
return (_jsxs("div", { className: [
|
|
5
|
-
"flex flex-col items-center text-center py-12 px-6",
|
|
6
|
-
className,
|
|
7
|
-
]
|
|
8
|
-
.filter(Boolean)
|
|
9
|
-
.join(" "), children: [icon && (_jsx(Icon, { icon: icon, size: "xl", className: "text-[var(--color-text-tertiary)]" })), _jsx("h3", { className: "text-lg font-semibold text-[var(--color-text-primary)] mt-4", children: title }), description && (_jsx("p", { className: "text-sm text-[var(--color-text-secondary)] mt-2 max-w-sm", children: description })), action && _jsx("div", { className: "mt-6", children: action })] }));
|
|
10
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/EmptyState/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { EmptyState } from "./EmptyState";
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type React from "react";
|
|
2
|
-
export interface FieldProps {
|
|
3
|
-
label?: string;
|
|
4
|
-
isRequired?: boolean;
|
|
5
|
-
description?: string;
|
|
6
|
-
error?: string | {
|
|
7
|
-
message?: string;
|
|
8
|
-
};
|
|
9
|
-
children: React.ReactNode;
|
|
10
|
-
className?: string;
|
|
11
|
-
}
|
|
12
|
-
export declare function Field({ label, isRequired, description, error, children, className, }: FieldProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
-
//# sourceMappingURL=Field.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../src/components/Field/Field.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAQD,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,UAAU,EACV,WAAW,EACX,KAAK,EACL,QAAQ,EACR,SAAS,GACV,EAAE,UAAU,2CAuBZ"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Label } from "../Label";
|
|
3
|
-
function getErrorMessage(error) {
|
|
4
|
-
if (!error)
|
|
5
|
-
return undefined;
|
|
6
|
-
if (typeof error === "string")
|
|
7
|
-
return error;
|
|
8
|
-
return error.message;
|
|
9
|
-
}
|
|
10
|
-
export function Field({ label, isRequired, description, error, children, className, }) {
|
|
11
|
-
const errorMessage = getErrorMessage(error);
|
|
12
|
-
return (_jsxs("div", { className: ["flex flex-col gap-[var(--spacing-1)]", className]
|
|
13
|
-
.filter(Boolean)
|
|
14
|
-
.join(" "), children: [label && _jsx(Label, { isRequired: isRequired, children: label }), children, description && !errorMessage && (_jsx("p", { className: "text-[length:var(--font-size-sm)] text-[var(--color-text-secondary)]", children: description })), errorMessage && (_jsx("p", { className: "text-[length:var(--font-size-sm)] text-[var(--color-text-danger)]", children: errorMessage }))] }));
|
|
15
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Field/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { Field } from "./Field";
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type React from "react";
|
|
2
|
-
export interface FieldsetProps {
|
|
3
|
-
legend?: string;
|
|
4
|
-
children: React.ReactNode;
|
|
5
|
-
className?: string;
|
|
6
|
-
}
|
|
7
|
-
export declare function Fieldset({ legend, children, className }: FieldsetProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
-
//# sourceMappingURL=Fieldset.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Fieldset.d.ts","sourceRoot":"","sources":["../../../src/components/Fieldset/Fieldset.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,aAAa,2CA0BtE"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
export function Fieldset({ legend, children, className }) {
|
|
3
|
-
return (_jsxs("fieldset", { className: [
|
|
4
|
-
"flex flex-col gap-[var(--spacing-8)]",
|
|
5
|
-
"border-none p-0 m-0",
|
|
6
|
-
className,
|
|
7
|
-
]
|
|
8
|
-
.filter(Boolean)
|
|
9
|
-
.join(" "), children: [legend && (_jsx("legend", { className: [
|
|
10
|
-
"text-[length:var(--font-size-lg)]",
|
|
11
|
-
"font-[number:var(--font-weight-semibold)]",
|
|
12
|
-
"text-[var(--color-text-primary)]",
|
|
13
|
-
"p-0",
|
|
14
|
-
].join(" "), children: legend })), children] }));
|
|
15
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Fieldset/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { Fieldset } from "./Fieldset";
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type React from "react";
|
|
2
|
-
export type HeadingLevel = "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
|
|
3
|
-
export type HeadingSize = "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
|
|
4
|
-
export interface HeadingProps {
|
|
5
|
-
/** HTML heading element to render */
|
|
6
|
-
as?: HeadingLevel;
|
|
7
|
-
/** Visual size (defaults to match the `as` level) */
|
|
8
|
-
size?: HeadingSize;
|
|
9
|
-
children: React.ReactNode;
|
|
10
|
-
className?: string;
|
|
11
|
-
}
|
|
12
|
-
export declare function Heading({ as: Tag, size, className, children, }: HeadingProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
-
/** Convenience: renders `<h1>` at 2xl size */
|
|
14
|
-
export declare function H1(props: Omit<HeadingProps, "as">): import("react/jsx-runtime").JSX.Element;
|
|
15
|
-
/** Convenience: renders `<h2>` at xl size */
|
|
16
|
-
export declare function H2(props: Omit<HeadingProps, "as">): import("react/jsx-runtime").JSX.Element;
|
|
17
|
-
/** Convenience: renders `<h3>` at lg size */
|
|
18
|
-
export declare function H3(props: Omit<HeadingProps, "as">): import("react/jsx-runtime").JSX.Element;
|
|
19
|
-
//# sourceMappingURL=Heading.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Heading.d.ts","sourceRoot":"","sources":["../../../src/components/Heading/Heading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACnE,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC3B,qCAAqC;IACrC,EAAE,CAAC,EAAE,YAAY,CAAC;IAClB,qDAAqD;IACrD,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoBD,wBAAgB,OAAO,CAAC,EACtB,EAAE,EAAE,GAAU,EACd,IAAI,EACJ,SAAS,EACT,QAAQ,GACT,EAAE,YAAY,2CAgBd;AAED,8CAA8C;AAC9C,wBAAgB,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,2CAEjD;AAED,6CAA6C;AAC7C,wBAAgB,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,2CAEjD;AAED,6CAA6C;AAC7C,wBAAgB,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,2CAEjD"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
const defaultSizeMap = {
|
|
3
|
-
h1: "2xl",
|
|
4
|
-
h2: "xl",
|
|
5
|
-
h3: "lg",
|
|
6
|
-
h4: "md",
|
|
7
|
-
h5: "sm",
|
|
8
|
-
h6: "xs",
|
|
9
|
-
};
|
|
10
|
-
const sizeStyles = {
|
|
11
|
-
xs: "text-sm",
|
|
12
|
-
sm: "text-base",
|
|
13
|
-
md: "text-lg",
|
|
14
|
-
lg: "text-xl",
|
|
15
|
-
xl: "text-2xl",
|
|
16
|
-
"2xl": "text-3xl",
|
|
17
|
-
};
|
|
18
|
-
export function Heading({ as: Tag = "h2", size, className, children, }) {
|
|
19
|
-
const resolvedSize = size ?? defaultSizeMap[Tag];
|
|
20
|
-
return (_jsx(Tag, { className: [
|
|
21
|
-
"font-semibold text-[var(--color-text-primary)]",
|
|
22
|
-
sizeStyles[resolvedSize],
|
|
23
|
-
className,
|
|
24
|
-
]
|
|
25
|
-
.filter(Boolean)
|
|
26
|
-
.join(" "), children: children }));
|
|
27
|
-
}
|
|
28
|
-
/** Convenience: renders `<h1>` at 2xl size */
|
|
29
|
-
export function H1(props) {
|
|
30
|
-
return _jsx(Heading, { ...props, as: "h1", size: props.size ?? "2xl" });
|
|
31
|
-
}
|
|
32
|
-
/** Convenience: renders `<h2>` at xl size */
|
|
33
|
-
export function H2(props) {
|
|
34
|
-
return _jsx(Heading, { ...props, as: "h2", size: props.size ?? "xl" });
|
|
35
|
-
}
|
|
36
|
-
/** Convenience: renders `<h3>` at lg size */
|
|
37
|
-
export function H3(props) {
|
|
38
|
-
return _jsx(Heading, { ...props, as: "h3", size: props.size ?? "lg" });
|
|
39
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Heading/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { Heading, H1, H2, H3 } from "./Heading";
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { LucideIcon } from "lucide-react";
|
|
2
|
-
export interface IconProps {
|
|
3
|
-
/** A Lucide icon component */
|
|
4
|
-
icon: LucideIcon;
|
|
5
|
-
/** Size preset */
|
|
6
|
-
size?: "sm" | "md" | "lg" | "xl";
|
|
7
|
-
/** SVG stroke width */
|
|
8
|
-
strokeWidth?: number;
|
|
9
|
-
/** Accessible label — when provided, the icon is treated as meaningful */
|
|
10
|
-
"aria-label"?: string;
|
|
11
|
-
/** Additional CSS classes */
|
|
12
|
-
className?: string;
|
|
13
|
-
}
|
|
14
|
-
export declare function Icon({ icon: LucideComponent, size, strokeWidth, "aria-label": ariaLabel, className, }: IconProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
-
//# sourceMappingURL=Icon.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../src/components/Icon/Icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,WAAW,SAAS;IACxB,8BAA8B;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,kBAAkB;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AASD,wBAAgB,IAAI,CAAC,EACnB,IAAI,EAAE,eAAe,EACrB,IAAW,EACX,WAAW,EACX,YAAY,EAAE,SAAS,EACvB,SAAS,GACV,EAAE,SAAS,2CAaX"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
const sizeMap = {
|
|
3
|
-
sm: 16,
|
|
4
|
-
md: 20,
|
|
5
|
-
lg: 24,
|
|
6
|
-
xl: 32,
|
|
7
|
-
};
|
|
8
|
-
export function Icon({ icon: LucideComponent, size = "md", strokeWidth, "aria-label": ariaLabel, className, }) {
|
|
9
|
-
const isDecorative = !ariaLabel;
|
|
10
|
-
return (_jsx(LucideComponent, { size: sizeMap[size], strokeWidth: strokeWidth, role: isDecorative ? undefined : "img", "aria-label": ariaLabel, "aria-hidden": isDecorative ? "true" : undefined, className: className }));
|
|
11
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Icon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { Icon } from "./Icon";
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { LucideIcon } from "lucide-react";
|
|
2
|
-
import { type ButtonProps as AriaButtonProps } from "react-aria-components";
|
|
3
|
-
import { type ButtonVariant } from "../_shared/styles";
|
|
4
|
-
export interface IconButtonProps extends Omit<AriaButtonProps, "className"> {
|
|
5
|
-
/** Lucide icon to render */
|
|
6
|
-
icon: LucideIcon;
|
|
7
|
-
/** Required for accessibility — also used as tooltip content */
|
|
8
|
-
"aria-label": string;
|
|
9
|
-
/** Visual style variant */
|
|
10
|
-
variant?: ButtonVariant;
|
|
11
|
-
/** Size preset */
|
|
12
|
-
size?: "sm" | "md" | "lg";
|
|
13
|
-
/** Show tooltip on hover (default true) */
|
|
14
|
-
showTooltip?: boolean;
|
|
15
|
-
/** Tooltip placement */
|
|
16
|
-
tooltipPlacement?: "top" | "bottom" | "left" | "right";
|
|
17
|
-
/** Shows a spinner and disables interaction */
|
|
18
|
-
isLoading?: boolean;
|
|
19
|
-
/** Additional CSS classes */
|
|
20
|
-
className?: string;
|
|
21
|
-
}
|
|
22
|
-
export declare function IconButton({ icon, "aria-label": ariaLabel, variant, size, showTooltip, tooltipPlacement, isLoading, isDisabled, className, ...props }: IconButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
-
//# sourceMappingURL=IconButton.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/components/IconButton/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAEL,KAAK,WAAW,IAAI,eAAe,EACpC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,aAAa,EAAiB,MAAM,mBAAmB,CAAC;AAMtE,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC;IACzE,4BAA4B;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,kBAAkB;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,2CAA2C;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wBAAwB;IACxB,gBAAgB,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACvD,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6BD,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,YAAY,EAAE,SAAS,EACvB,OAAiB,EACjB,IAAW,EACX,WAAkB,EAClB,gBAAwB,EACxB,SAAiB,EACjB,UAAU,EACV,SAAS,EACT,GAAG,KAAK,EACT,EAAE,eAAe,2CAqDjB"}
|