@wow-two-beta/ui 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,15 +1,15 @@
1
- export { Checkbox, EmailInput, Fieldset, FormErrorMessage, FormHelperText, Label, Legend, NumberInput, PasswordInput, Radio, SearchInput, Slider, Switch, TelInput, TextInput, Textarea, UrlInput } from './chunk-NJZS7RIH.js';
1
+ export { Checkbox, EmailInput, Fieldset, FormErrorMessage, FormHelperText, Label, Legend, NumberInput, PasswordInput, Radio, SearchInput, Slider, Switch, TelInput, TextInput, Textarea, UrlInput } from './chunk-TDEEVNSD.js';
2
2
  export { AspectRatio, Box, Center, Container, Flex, Grid, HStack, ScrollArea, Spacer, Stack, VStack, containerVariants, gridVariants, stackVariants } from './chunk-SYG6ZE42.js';
3
3
  export { hooks_exports as hooks } from './chunk-6NYTRHP7.js';
4
4
  export { primitives_exports as primitives } from './chunk-JCMV6IT4.js';
5
5
  import './chunk-Q27NAHVB.js';
6
6
  import './chunk-77WSI427.js';
7
7
  import './chunk-JTJEI6MF.js';
8
- export { Button, IconButton, Link, buttonVariants, iconButtonVariants, linkVariants } from './chunk-L2RYQWZZ.js';
8
+ export { Button, IconButton, Link, buttonVariants, iconButtonVariants, linkVariants } from './chunk-HVJVLK6B.js';
9
9
  import './chunk-33IOXQYO.js';
10
- export { Avatar, Badge, Code, Heading, Image, Kbd, Mark, Quote, Separator, Tag, Text, avatarVariants, badgeVariants, codeVariants, headingVariants, tagVariants, textVariants } from './chunk-MP4OTUFA.js';
10
+ export { Avatar, Badge, Code, Heading, Image, Kbd, Mark, Quote, Separator, Tag, Text, avatarVariants, badgeVariants, codeVariants, headingVariants, tagVariants, textVariants } from './chunk-DBQ4VF2J.js';
11
11
  export { icons_exports as icons } from './chunk-TDX22OWF.js';
12
- export { AlertSimple, BannerSimple, ProgressBar, ProgressCircle, Skeleton, Spinner, ToastSimple, alertSimpleVariants, bannerSimpleVariants, progressFillVariants, progressTrackVariants, skeletonVariants, spinnerVariants, toastSimpleVariants } from './chunk-YLN7VMYU.js';
12
+ export { AlertSimple, BannerSimple, ProgressBar, ProgressCircle, Skeleton, Spinner, ToastSimple, alertSimpleVariants, bannerSimpleVariants, progressFillVariants, progressTrackVariants, skeletonVariants, spinnerVariants, toastSimpleVariants } from './chunk-62NXDB5V.js';
13
13
  export { utils_exports as utils } from './chunk-BMBIZLO4.js';
14
14
  import './chunk-DN7WBRIV.js';
15
15
  import './chunk-KZ4VFY2T.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wow-two-beta/ui",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "description": "Beta-forever React UI library for the wow-two ecosystem.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/actions/button/Button.variants.ts","../src/actions/button/Button.tsx","../src/actions/iconButton/IconButton.variants.ts","../src/actions/iconButton/IconButton.tsx","../src/actions/link/Link.variants.ts","../src/actions/link/Link.tsx"],"names":["tv","forwardRef","jsx"],"mappings":"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","file":"chunk-L2RYQWZZ.js","sourcesContent":["import { tv, type VariantProps } from 'tailwind-variants';\n\nexport const buttonVariants = tv({\n base: 'inline-flex items-center justify-center font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand-500 disabled:pointer-events-none disabled:opacity-50',\n variants: {\n variant: {\n primary: 'bg-brand-600 text-white hover:bg-brand-700',\n secondary: 'bg-neutral-200 text-neutral-900 hover:bg-neutral-100',\n ghost: 'bg-transparent text-neutral-900 hover:bg-neutral-100',\n },\n size: {\n sm: 'h-8 px-3 text-sm rounded-md',\n md: 'h-10 px-4 text-sm rounded-md',\n lg: 'h-12 px-6 text-base rounded-lg',\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'md',\n },\n});\n\nexport type ButtonVariants = VariantProps<typeof buttonVariants>;\n","import { forwardRef, type ButtonHTMLAttributes } from 'react';\nimport { cn } from '../../utils';\nimport { buttonVariants, type ButtonVariants } from './Button.variants';\n\nexport interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>, ButtonVariants {}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, ...props }, ref) => {\n return (\n <button\n ref={ref}\n className={cn(buttonVariants({ variant, size }), className)}\n {...props}\n />\n );\n },\n);\n\nButton.displayName = 'Button';\n","import { tv, type VariantProps } from '../../utils';\n\nexport const iconButtonVariants = tv({\n base: 'inline-flex items-center justify-center transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand-500 disabled:pointer-events-none disabled:opacity-50',\n variants: {\n variant: {\n solid: 'bg-brand-600 text-white hover:bg-brand-700',\n soft: 'bg-brand-50 text-brand-700 hover:bg-brand-100',\n outline: 'border border-neutral-300 bg-white text-neutral-900 hover:bg-neutral-50',\n ghost: 'bg-transparent text-neutral-900 hover:bg-neutral-100',\n danger: 'bg-danger-600 text-white hover:bg-danger-700',\n },\n size: {\n xs: 'h-6 w-6 rounded-sm',\n sm: 'h-8 w-8 rounded-md',\n md: 'h-10 w-10 rounded-md',\n lg: 'h-12 w-12 rounded-lg',\n },\n shape: {\n square: '',\n circle: 'rounded-full',\n },\n },\n defaultVariants: {\n variant: 'ghost',\n size: 'md',\n shape: 'square',\n },\n});\n\nexport type IconButtonVariants = VariantProps<typeof iconButtonVariants>;\n","import { forwardRef, type ButtonHTMLAttributes, type ReactNode } from 'react';\nimport { cn } from '../../utils';\nimport { iconButtonVariants, type IconButtonVariants } from './IconButton.variants';\n\nexport interface IconButtonProps\n extends ButtonHTMLAttributes<HTMLButtonElement>,\n IconButtonVariants {\n /** REQUIRED accessible label. IconButton has no visible text. */\n 'aria-label': string;\n children: ReactNode;\n}\n\n/**\n * Square / circular button containing only an icon. `aria-label` is\n * required by the type — there is no visible text fallback.\n */\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(\n ({ className, variant, size, shape, type = 'button', ...props }, ref) => (\n <button\n ref={ref}\n type={type}\n className={cn(iconButtonVariants({ variant, size, shape }), className)}\n {...props}\n />\n ),\n);\nIconButton.displayName = 'IconButton';\n","import { tv, type VariantProps } from '../../utils';\n\nexport const linkVariants = tv({\n base: 'inline-flex items-center transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand-500 rounded-sm',\n variants: {\n variant: {\n default: 'text-brand-600 hover:text-brand-700 hover:underline',\n subtle: 'text-neutral-700 hover:text-neutral-900 hover:underline',\n muted: 'text-neutral-500 hover:text-neutral-700 hover:underline',\n inherit: 'text-current underline-offset-2 hover:underline',\n },\n size: {\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n});\n\nexport type LinkVariants = VariantProps<typeof linkVariants>;\n","import { forwardRef, type AnchorHTMLAttributes } from 'react';\nimport { cn } from '../../utils';\nimport { Slot } from '../../primitives/slot/Slot';\nimport { linkVariants, type LinkVariants } from './Link.variants';\n\nexport interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement>, LinkVariants {\n /** When true, render the child element as the link instead of an `<a>`.\n * Use for router `<Link>` components from Next.js / React Router. */\n asChild?: boolean;\n}\n\n/**\n * Anchor with consistent focus / hover styling. Pass `asChild` to render a\n * router `<Link>` while inheriting our visuals.\n */\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'a';\n return (\n <Comp\n ref={ref}\n className={cn(linkVariants({ variant, size }), className)}\n {...(props as AnchorHTMLAttributes<HTMLAnchorElement>)}\n />\n );\n },\n);\nLink.displayName = 'Link';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/display/heading/Heading.variants.ts","../src/display/heading/Heading.tsx","../src/display/text/Text.variants.ts","../src/display/text/Text.tsx","../src/display/code/Code.variants.ts","../src/display/code/Code.tsx","../src/display/kbd/Kbd.tsx","../src/display/image/Image.tsx","../src/display/avatar/Avatar.variants.ts","../src/display/avatar/Avatar.tsx","../src/display/badge/Badge.variants.ts","../src/display/badge/Badge.tsx","../src/display/tag/Tag.variants.ts","../src/display/tag/Tag.tsx","../src/display/separator/Separator.tsx","../src/display/mark/Mark.tsx","../src/display/quote/Quote.tsx"],"names":["Tag","forwardRef","jsx","useState"],"mappings":"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","file":"chunk-MP4OTUFA.js","sourcesContent":["import { tv, type VariantProps } from '../../utils';\n\nexport const headingVariants = tv({\n base: 'font-semibold tracking-tight text-neutral-900',\n variants: {\n size: {\n xs: 'text-sm',\n sm: 'text-base',\n md: 'text-lg',\n lg: 'text-xl',\n xl: 'text-2xl',\n '2xl': 'text-3xl',\n '3xl': 'text-4xl',\n '4xl': 'text-5xl',\n },\n weight: {\n normal: 'font-normal',\n medium: 'font-medium',\n semibold: 'font-semibold',\n bold: 'font-bold',\n },\n align: {\n left: 'text-left',\n center: 'text-center',\n right: 'text-right',\n },\n },\n defaultVariants: {\n size: 'lg',\n weight: 'semibold',\n },\n});\n\nexport type HeadingVariants = VariantProps<typeof headingVariants>;\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\nimport { headingVariants, type HeadingVariants } from './Heading.variants';\n\ntype HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;\n\nexport interface HeadingProps\n extends Omit<ComponentPropsWithoutRef<'h2'>, 'size'>,\n HeadingVariants {\n /** Semantic heading level (1–6). Default 2. Visual size is independent — set via `size`. */\n level?: HeadingLevel;\n}\n\n/**\n * Semantic heading. `level` controls the rendered tag (`h1`–`h6`); `size`\n * controls the visual scale independently — so a visually-large heading\n * can still be the right outline level.\n */\nexport const Heading = forwardRef<HTMLHeadingElement, HeadingProps>(\n ({ level = 2, className, size, weight, align, ...props }, ref) => {\n const Tag = `h${level}` as 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n return (\n <Tag\n ref={ref}\n className={cn(headingVariants({ size, weight, align }), className)}\n {...props}\n />\n );\n },\n);\nHeading.displayName = 'Heading';\n","import { tv, type VariantProps } from '../../utils';\n\nexport const textVariants = tv({\n base: '',\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n xl: 'text-xl',\n },\n weight: {\n normal: 'font-normal',\n medium: 'font-medium',\n semibold: 'font-semibold',\n bold: 'font-bold',\n },\n color: {\n default: 'text-neutral-900',\n muted: 'text-neutral-500',\n subtle: 'text-neutral-400',\n brand: 'text-brand-600',\n success: 'text-success-600',\n warning: 'text-warning-600',\n danger: 'text-danger-600',\n },\n align: {\n left: 'text-left',\n center: 'text-center',\n right: 'text-right',\n justify: 'text-justify',\n },\n truncate: {\n true: 'truncate',\n },\n },\n defaultVariants: {\n size: 'md',\n weight: 'normal',\n color: 'default',\n },\n});\n\nexport type TextVariants = VariantProps<typeof textVariants>;\n","import {\n forwardRef,\n type ComponentPropsWithoutRef,\n type ElementType,\n type Ref,\n} from 'react';\nimport { cn } from '../../utils';\nimport { textVariants, type TextVariants } from './Text.variants';\n\nexport interface TextProps\n extends Omit<ComponentPropsWithoutRef<'p'>, 'as' | 'color'>,\n TextVariants {\n as?: ElementType;\n}\n\n/**\n * Body text. Renders as `<p>` by default; pass `as=\"span\"` (or any element)\n * to keep semantics consistent with the surrounding markup.\n */\nexport const Text = forwardRef<HTMLElement, TextProps>(\n ({ as: Component = 'p', className, size, weight, color, align, truncate, ...props }, ref) => (\n <Component\n ref={ref as Ref<HTMLElement>}\n className={cn(textVariants({ size, weight, color, align, truncate }), className)}\n {...props}\n />\n ),\n);\nText.displayName = 'Text';\n","import { tv, type VariantProps } from '../../utils';\n\nexport const codeVariants = tv({\n base: 'font-mono text-sm',\n variants: {\n variant: {\n inline: 'rounded-sm bg-neutral-100 px-1 py-0.5 text-neutral-900',\n block: 'block w-full overflow-x-auto rounded-md bg-neutral-100 p-4 text-neutral-900',\n },\n },\n defaultVariants: {\n variant: 'inline',\n },\n});\n\nexport type CodeVariants = VariantProps<typeof codeVariants>;\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\nimport { codeVariants, type CodeVariants } from './Code.variants';\n\nexport interface CodeProps extends ComponentPropsWithoutRef<'code'>, CodeVariants {}\n\n/**\n * Inline or block code. For block, wrap children in a `<pre>` if you need\n * pre-wrap whitespace; this atom only styles. Syntax highlighting is L5.\n */\nexport const Code = forwardRef<HTMLElement, CodeProps>(\n ({ className, variant, ...props }, ref) => (\n <code ref={ref} className={cn(codeVariants({ variant }), className)} {...props} />\n ),\n);\nCode.displayName = 'Code';\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\n\nexport type KbdProps = ComponentPropsWithoutRef<'kbd'>;\n\n/**\n * Keyboard key affordance — `<kbd>` styled with subtle border and inset\n * shadow. Single key per `<Kbd>`; chain via `<Kbd>⌘</Kbd> + <Kbd>K</Kbd>`.\n */\nexport const Kbd = forwardRef<HTMLElement, KbdProps>(({ className, ...props }, ref) => (\n <kbd\n ref={ref}\n className={cn(\n 'inline-flex h-5 min-w-5 items-center justify-center rounded-sm border border-neutral-300',\n 'bg-neutral-100 px-1.5 font-mono text-xs text-neutral-700 shadow-[inset_0_-1px_0_0_rgb(0_0_0/0.05)]',\n className,\n )}\n {...props}\n />\n));\nKbd.displayName = 'Kbd';\n","import { forwardRef, useState, type ComponentPropsWithoutRef, type ReactNode } from 'react';\nimport { cn } from '../../utils';\n\nexport interface ImageProps extends ComponentPropsWithoutRef<'img'> {\n /** Element rendered when the image fails to load. */\n fallback?: ReactNode;\n}\n\n/**\n * Image with built-in error fallback. The fallback element replaces the\n * `<img>` on error (broken `src`, network failure). For aspect-locked\n * images, wrap in `AspectRatio`.\n */\nexport const Image = forwardRef<HTMLImageElement, ImageProps>(\n ({ fallback, onError, alt = '', className, ...props }, ref) => {\n const [errored, setErrored] = useState(false);\n if (errored && fallback !== undefined) return <>{fallback}</>;\n return (\n <img\n ref={ref}\n alt={alt}\n className={cn('block max-w-full', className)}\n onError={(e) => {\n setErrored(true);\n onError?.(e);\n }}\n {...props}\n />\n );\n },\n);\nImage.displayName = 'Image';\n","import { tv, type VariantProps } from '../../utils';\n\nexport const avatarVariants = tv({\n base: 'inline-flex shrink-0 select-none items-center justify-center overflow-hidden rounded-full bg-neutral-200 text-neutral-700 font-medium',\n variants: {\n size: {\n xs: 'h-6 w-6 text-xs',\n sm: 'h-8 w-8 text-sm',\n md: 'h-10 w-10 text-base',\n lg: 'h-12 w-12 text-lg',\n xl: 'h-16 w-16 text-xl',\n '2xl': 'h-20 w-20 text-2xl',\n },\n shape: {\n circle: 'rounded-full',\n square: 'rounded-md',\n },\n },\n defaultVariants: {\n size: 'md',\n shape: 'circle',\n },\n});\n\nexport type AvatarVariants = VariantProps<typeof avatarVariants>;\n","import {\n forwardRef,\n useState,\n type ComponentPropsWithoutRef,\n type ReactNode,\n} from 'react';\nimport { cn } from '../../utils';\nimport { avatarVariants, type AvatarVariants } from './Avatar.variants';\n\nexport interface AvatarProps\n extends Omit<ComponentPropsWithoutRef<'span'>, 'children'>,\n AvatarVariants {\n /** Image source. Falls back to `name` initials or `fallback` on error. */\n src?: string;\n /** Person/entity name — used to derive initials when no image. */\n name?: string;\n /** Custom fallback (overrides initials). */\n fallback?: ReactNode;\n /** Alt text for the underlying `<img>`. Defaults to `name`. */\n alt?: string;\n}\n\nfunction getInitials(name: string): string {\n const parts = name.trim().split(/\\s+/);\n if (parts.length === 0) return '';\n const first = parts[0]?.[0] ?? '';\n const last = parts.length > 1 ? parts[parts.length - 1]?.[0] ?? '' : '';\n return (first + last).toUpperCase();\n}\n\n/**\n * Image avatar with initials fallback. Strict atom — fallback is rendered\n * inline (raw text), not via the `Text` atom, to keep this self-contained.\n */\nexport const Avatar = forwardRef<HTMLSpanElement, AvatarProps>(\n ({ src, name = '', fallback, alt, className, size, shape, ...props }, ref) => {\n const [errored, setErrored] = useState(false);\n const showImage = src && !errored;\n return (\n <span\n ref={ref}\n className={cn(avatarVariants({ size, shape }), className)}\n {...props}\n >\n {showImage ? (\n <img\n src={src}\n alt={alt ?? name}\n className=\"h-full w-full object-cover\"\n onError={() => setErrored(true)}\n />\n ) : (\n fallback ?? getInitials(name)\n )}\n </span>\n );\n },\n);\nAvatar.displayName = 'Avatar';\n","import { tv, type VariantProps } from '../../utils';\n\nexport const badgeVariants = tv({\n base: 'inline-flex items-center rounded-full font-medium',\n variants: {\n variant: {\n neutral: 'bg-neutral-100 text-neutral-800',\n brand: 'bg-brand-100 text-brand-800',\n success: 'bg-success-100 text-success-700',\n warning: 'bg-warning-100 text-warning-700',\n danger: 'bg-danger-100 text-danger-700',\n info: 'bg-info-100 text-info-700',\n outline: 'border border-neutral-300 text-neutral-800',\n },\n size: {\n sm: 'h-5 px-2 text-xs',\n md: 'h-6 px-2.5 text-xs',\n lg: 'h-7 px-3 text-sm',\n },\n },\n defaultVariants: {\n variant: 'neutral',\n size: 'md',\n },\n});\n\nexport type BadgeVariants = VariantProps<typeof badgeVariants>;\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\nimport { badgeVariants, type BadgeVariants } from './Badge.variants';\n\nexport interface BadgeProps extends ComponentPropsWithoutRef<'span'>, BadgeVariants {}\n\n/**\n * Pill-shaped status / category indicator. Non-interactive — for clickable\n * use `Tag`. For severity-tinted callouts at message scale, use `Alert*`.\n */\nexport const Badge = forwardRef<HTMLSpanElement, BadgeProps>(\n ({ className, variant, size, ...props }, ref) => (\n <span ref={ref} className={cn(badgeVariants({ variant, size }), className)} {...props} />\n ),\n);\nBadge.displayName = 'Badge';\n","import { tv, type VariantProps } from '../../utils';\n\nexport const tagVariants = tv({\n base: 'inline-flex items-center gap-1 rounded-md border border-neutral-200 bg-white px-2 py-0.5 text-xs font-medium text-neutral-800',\n variants: {\n variant: {\n neutral: '',\n brand: 'border-brand-200 bg-brand-50 text-brand-800',\n success: 'border-success-100 bg-success-50 text-success-700',\n warning: 'border-warning-100 bg-warning-50 text-warning-700',\n danger: 'border-danger-100 bg-danger-50 text-danger-700',\n info: 'border-info-100 bg-info-50 text-info-700',\n },\n },\n defaultVariants: {\n variant: 'neutral',\n },\n});\n\nexport type TagVariants = VariantProps<typeof tagVariants>;\n","import { forwardRef, type ComponentPropsWithoutRef, type ReactNode } from 'react';\nimport { X } from 'lucide-react';\nimport { cn } from '../../utils';\nimport { Icon } from '../../icons';\nimport { tagVariants, type TagVariants } from './Tag.variants';\n\nexport interface TagProps\n extends Omit<ComponentPropsWithoutRef<'span'>, 'children'>,\n TagVariants {\n children?: ReactNode;\n /** Show a close (×) button. Pass a handler to receive the click. */\n onClose?: () => void;\n /** Accessible label for the close button. Default `\"Remove\"`. */\n closeLabel?: string;\n}\n\n/**\n * Pill with an optional close button. The close button is a raw `<button>`\n * (not `IconButton`) so this stays a strict atom.\n */\nexport const Tag = forwardRef<HTMLSpanElement, TagProps>(\n ({ children, onClose, closeLabel = 'Remove', variant, className, ...props }, ref) => (\n <span ref={ref} className={cn(tagVariants({ variant }), className)} {...props}>\n {children}\n {onClose && (\n <button\n type=\"button\"\n aria-label={closeLabel}\n onClick={onClose}\n className=\"-mr-1 inline-flex h-4 w-4 items-center justify-center rounded-sm text-neutral-500 hover:bg-neutral-100 hover:text-neutral-900 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-brand-500\"\n >\n <Icon icon={X} size={12} />\n </button>\n )}\n </span>\n ),\n);\nTag.displayName = 'Tag';\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\n\nexport interface SeparatorProps extends ComponentPropsWithoutRef<'div'> {\n orientation?: 'horizontal' | 'vertical';\n /** When `true`, the separator is purely decorative — `role=\"none\"` and\n * unannounced. Default `true`. Set `false` when meaningful in context. */\n decorative?: boolean;\n}\n\n/**\n * Visual divider. Defaults to a horizontal hairline; pass `orientation=\"vertical\"`\n * for column dividers (use inside a flex/grid with explicit height).\n */\nexport const Separator = forwardRef<HTMLDivElement, SeparatorProps>(\n ({ orientation = 'horizontal', decorative = true, className, ...props }, ref) => (\n <div\n ref={ref}\n role={decorative ? 'none' : 'separator'}\n aria-orientation={decorative ? undefined : orientation}\n className={cn(\n 'bg-neutral-200',\n orientation === 'horizontal' ? 'h-px w-full' : 'w-px self-stretch',\n className,\n )}\n {...props}\n />\n ),\n);\nSeparator.displayName = 'Separator';\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\n\nexport type MarkProps = ComponentPropsWithoutRef<'mark'>;\n\n/**\n * Highlighted text — semantic `<mark>` with a yellow tint. Use for search\n * matches and \"you mentioned this\" affordances.\n */\nexport const Mark = forwardRef<HTMLElement, MarkProps>(({ className, ...props }, ref) => (\n <mark\n ref={ref}\n className={cn('rounded-sm bg-warning-100 px-0.5 text-warning-900', className)}\n {...props}\n />\n));\nMark.displayName = 'Mark';\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\n\nexport type QuoteProps = ComponentPropsWithoutRef<'blockquote'>;\n\n/**\n * Block quote with subtle left border and italic body text.\n */\nexport const Quote = forwardRef<HTMLQuoteElement, QuoteProps>(\n ({ className, ...props }, ref) => (\n <blockquote\n ref={ref}\n className={cn(\n 'border-l-4 border-neutral-200 pl-4 italic text-neutral-700',\n className,\n )}\n {...props}\n />\n ),\n);\nQuote.displayName = 'Quote';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/forms/label/Label.tsx","../src/forms/formHelperText/FormHelperText.tsx","../src/forms/formErrorMessage/FormErrorMessage.tsx","../src/forms/fieldset/Fieldset.tsx","../src/forms/legend/Legend.tsx","../src/forms/_styles.ts","../src/forms/textInput/TextInput.tsx","../src/forms/emailInput/EmailInput.tsx","../src/forms/telInput/TelInput.tsx","../src/forms/urlInput/UrlInput.tsx","../src/forms/numberInput/NumberInput.tsx","../src/forms/passwordInput/PasswordInput.tsx","../src/forms/searchInput/SearchInput.tsx","../src/forms/textarea/Textarea.tsx","../src/forms/checkbox/Checkbox.tsx","../src/forms/radio/Radio.tsx","../src/forms/switch/Switch.tsx","../src/forms/slider/Slider.tsx"],"names":["forwardRef","jsx","jsxs","useRef","useImperativeHandle","useState","Minus","SIZE_CLASS","TRACK_CLASS"],"mappings":"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","file":"chunk-NJZS7RIH.js","sourcesContent":["import { forwardRef, type LabelHTMLAttributes } from 'react';\nimport { cn } from '../../utils';\nimport { useFormControl } from '../../primitives/formControlContext/FormControlContext';\n\nexport interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {\n /** Show a `*` indicator. Auto-derived from `FormControl.isRequired` when present. */\n required?: boolean;\n}\n\n/**\n * `<label>` wired to `FormControl` context — when wrapped in a `FormControl`\n * it auto-fills `htmlFor` and `id`. Standalone use: pass `htmlFor` directly.\n */\nexport const Label = forwardRef<HTMLLabelElement, LabelProps>(\n ({ className, required, htmlFor, id, children, ...props }, ref) => {\n const ctx = useFormControl();\n const isRequired = required ?? ctx?.isRequired ?? false;\n return (\n <label\n ref={ref}\n htmlFor={htmlFor ?? ctx?.id}\n id={id ?? ctx?.labelId}\n className={cn(\n 'text-sm font-medium text-neutral-900',\n ctx?.isDisabled && 'opacity-60',\n className,\n )}\n {...props}\n >\n {children}\n {isRequired && <span className=\"ml-0.5 text-danger-500\" aria-hidden=\"true\">*</span>}\n </label>\n );\n },\n);\nLabel.displayName = 'Label';\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\nimport { useFormControl } from '../../primitives/formControlContext/FormControlContext';\n\nexport type FormHelperTextProps = ComponentPropsWithoutRef<'p'>;\n\n/**\n * Helper / hint text below a form control. Reads `helperId` from\n * `FormControl` so the input can reference it via `aria-describedby`.\n */\nexport const FormHelperText = forwardRef<HTMLParagraphElement, FormHelperTextProps>(\n ({ className, id, ...props }, ref) => {\n const ctx = useFormControl();\n return (\n <p\n ref={ref}\n id={id ?? ctx?.helperId}\n className={cn('text-sm text-neutral-500', className)}\n {...props}\n />\n );\n },\n);\nFormHelperText.displayName = 'FormHelperText';\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\nimport { useFormControl } from '../../primitives/formControlContext/FormControlContext';\n\nexport type FormErrorMessageProps = ComponentPropsWithoutRef<'p'>;\n\n/**\n * Error copy under a form control. Renders only when the surrounding\n * `FormControl` is `isInvalid`. `id={errorId}` for `aria-describedby` wiring.\n */\nexport const FormErrorMessage = forwardRef<HTMLParagraphElement, FormErrorMessageProps>(\n ({ className, id, ...props }, ref) => {\n const ctx = useFormControl();\n if (ctx && !ctx.isInvalid) return null;\n return (\n <p\n ref={ref}\n id={id ?? ctx?.errorId}\n role=\"alert\"\n className={cn('text-sm text-danger-600', className)}\n {...props}\n />\n );\n },\n);\nFormErrorMessage.displayName = 'FormErrorMessage';\n","import { forwardRef, type FieldsetHTMLAttributes } from 'react';\nimport { cn } from '../../utils';\n\nexport type FieldsetProps = FieldsetHTMLAttributes<HTMLFieldSetElement>;\n\n/**\n * Semantic `<fieldset>` for grouping related controls. Pair with `Legend`\n * for the group label.\n */\nexport const Fieldset = forwardRef<HTMLFieldSetElement, FieldsetProps>(\n ({ className, ...props }, ref) => (\n <fieldset\n ref={ref}\n className={cn('m-0 min-w-0 border-0 p-0', className)}\n {...props}\n />\n ),\n);\nFieldset.displayName = 'Fieldset';\n","import { forwardRef, type HTMLAttributes } from 'react';\nimport { cn } from '../../utils';\n\nexport type LegendProps = HTMLAttributes<HTMLLegendElement>;\n\n/**\n * `<legend>` styled to match `Label`. Pair with `Fieldset`.\n */\nexport const Legend = forwardRef<HTMLLegendElement, LegendProps>(\n ({ className, ...props }, ref) => (\n <legend\n ref={ref}\n className={cn('mb-2 text-sm font-medium text-neutral-900', className)}\n {...props}\n />\n ),\n);\nLegend.displayName = 'Legend';\n","// Shared visual primitives for form atoms. Co-located in `forms/` so imports\n// stay within-domain (ESLint boundaries allow same-domain imports).\n\nimport { tv, type VariantProps } from '../utils';\n\nexport const inputBaseVariants = tv({\n base: 'flex w-full rounded-md border bg-white text-neutral-900 placeholder:text-neutral-400 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand-500 disabled:cursor-not-allowed disabled:opacity-60 read-only:bg-neutral-50',\n variants: {\n size: {\n sm: 'h-8 px-2.5 text-sm',\n md: 'h-10 px-3 text-sm',\n lg: 'h-12 px-4 text-base',\n },\n state: {\n default: 'border-neutral-300 hover:border-neutral-400',\n invalid: 'border-danger-500 focus-visible:ring-danger-500',\n },\n },\n defaultVariants: {\n size: 'md',\n state: 'default',\n },\n});\n\nexport type InputBaseVariants = VariantProps<typeof inputBaseVariants>;\n","import { forwardRef, type InputHTMLAttributes } from 'react';\nimport { cn } from '../../utils';\nimport { useFormControl } from '../../primitives/formControlContext/FormControlContext';\nimport { inputBaseVariants, type InputBaseVariants } from '../_styles';\n\nexport interface TextInputProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'>,\n InputBaseVariants {}\n\n/**\n * Single-line text input. For email/tel/url/number/password/search variants\n * use the dedicated input component (each carries only the props/buttons it\n * actually needs).\n */\nexport const TextInput = forwardRef<HTMLInputElement, TextInputProps>(\n ({ className, size, state, id, disabled, required, readOnly, ...props }, ref) => {\n const ctx = useFormControl();\n const finalState = state ?? (ctx?.isInvalid ? 'invalid' : 'default');\n return (\n <input\n ref={ref}\n type=\"text\"\n id={id ?? ctx?.id}\n disabled={disabled ?? ctx?.isDisabled}\n required={required ?? ctx?.isRequired}\n readOnly={readOnly ?? ctx?.isReadOnly}\n aria-invalid={ctx?.isInvalid || undefined}\n aria-describedby={ctx ? `${ctx.helperId} ${ctx.errorId}` : undefined}\n className={cn(inputBaseVariants({ size, state: finalState }), className)}\n {...props}\n />\n );\n },\n);\nTextInput.displayName = 'TextInput';\n","import { forwardRef, type InputHTMLAttributes } from 'react';\nimport { cn } from '../../utils';\nimport { useFormControl } from '../../primitives/formControlContext/FormControlContext';\nimport { inputBaseVariants, type InputBaseVariants } from '../_styles';\n\nexport interface EmailInputProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'>,\n InputBaseVariants {}\n\n/** `<input type=\"email\">` with sensible defaults (autocomplete, inputmode). */\nexport const EmailInput = forwardRef<HTMLInputElement, EmailInputProps>(\n ({ className, size, state, id, disabled, required, readOnly, ...props }, ref) => {\n const ctx = useFormControl();\n const finalState = state ?? (ctx?.isInvalid ? 'invalid' : 'default');\n return (\n <input\n ref={ref}\n type=\"email\"\n autoComplete=\"email\"\n inputMode=\"email\"\n spellCheck={false}\n id={id ?? ctx?.id}\n disabled={disabled ?? ctx?.isDisabled}\n required={required ?? ctx?.isRequired}\n readOnly={readOnly ?? ctx?.isReadOnly}\n aria-invalid={ctx?.isInvalid || undefined}\n aria-describedby={ctx ? `${ctx.helperId} ${ctx.errorId}` : undefined}\n className={cn(inputBaseVariants({ size, state: finalState }), className)}\n {...props}\n />\n );\n },\n);\nEmailInput.displayName = 'EmailInput';\n","import { forwardRef, type InputHTMLAttributes } from 'react';\nimport { cn } from '../../utils';\nimport { useFormControl } from '../../primitives/formControlContext/FormControlContext';\nimport { inputBaseVariants, type InputBaseVariants } from '../_styles';\n\nexport interface TelInputProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'>,\n InputBaseVariants {}\n\n/** `<input type=\"tel\">` with `inputmode=\"tel\"` and `autocomplete=\"tel\"`. */\nexport const TelInput = forwardRef<HTMLInputElement, TelInputProps>(\n ({ className, size, state, id, disabled, required, readOnly, ...props }, ref) => {\n const ctx = useFormControl();\n const finalState = state ?? (ctx?.isInvalid ? 'invalid' : 'default');\n return (\n <input\n ref={ref}\n type=\"tel\"\n autoComplete=\"tel\"\n inputMode=\"tel\"\n id={id ?? ctx?.id}\n disabled={disabled ?? ctx?.isDisabled}\n required={required ?? ctx?.isRequired}\n readOnly={readOnly ?? ctx?.isReadOnly}\n aria-invalid={ctx?.isInvalid || undefined}\n aria-describedby={ctx ? `${ctx.helperId} ${ctx.errorId}` : undefined}\n className={cn(inputBaseVariants({ size, state: finalState }), className)}\n {...props}\n />\n );\n },\n);\nTelInput.displayName = 'TelInput';\n","import { forwardRef, type InputHTMLAttributes } from 'react';\nimport { cn } from '../../utils';\nimport { useFormControl } from '../../primitives/formControlContext/FormControlContext';\nimport { inputBaseVariants, type InputBaseVariants } from '../_styles';\n\nexport interface UrlInputProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'>,\n InputBaseVariants {}\n\n/** `<input type=\"url\">` with `inputmode=\"url\"` and `autocomplete=\"url\"`. */\nexport const UrlInput = forwardRef<HTMLInputElement, UrlInputProps>(\n ({ className, size, state, id, disabled, required, readOnly, ...props }, ref) => {\n const ctx = useFormControl();\n const finalState = state ?? (ctx?.isInvalid ? 'invalid' : 'default');\n return (\n <input\n ref={ref}\n type=\"url\"\n autoComplete=\"url\"\n inputMode=\"url\"\n spellCheck={false}\n id={id ?? ctx?.id}\n disabled={disabled ?? ctx?.isDisabled}\n required={required ?? ctx?.isRequired}\n readOnly={readOnly ?? ctx?.isReadOnly}\n aria-invalid={ctx?.isInvalid || undefined}\n aria-describedby={ctx ? `${ctx.helperId} ${ctx.errorId}` : undefined}\n className={cn(inputBaseVariants({ size, state: finalState }), className)}\n {...props}\n />\n );\n },\n);\nUrlInput.displayName = 'UrlInput';\n","import {\n forwardRef,\n useImperativeHandle,\n useRef,\n type InputHTMLAttributes,\n} from 'react';\nimport { Minus, Plus } from 'lucide-react';\nimport { cn } from '../../utils';\nimport { Icon } from '../../icons';\nimport { useFormControl } from '../../primitives/formControlContext/FormControlContext';\nimport { inputBaseVariants, type InputBaseVariants } from '../_styles';\n\nexport interface NumberInputProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'>,\n InputBaseVariants {\n step?: number;\n}\n\n/**\n * Numeric input with stepper buttons. Steppers are raw `<button>` elements\n * (not `IconButton`) to keep the strict atom rule.\n */\nexport const NumberInput = forwardRef<HTMLInputElement, NumberInputProps>(\n (\n { className, size, state, id, disabled, required, readOnly, step = 1, ...props },\n forwardedRef,\n ) => {\n const ctx = useFormControl();\n const finalState = state ?? (ctx?.isInvalid ? 'invalid' : 'default');\n const inputRef = useRef<HTMLInputElement | null>(null);\n useImperativeHandle(forwardedRef, () => inputRef.current as HTMLInputElement);\n\n const adjust = (direction: 1 | -1) => {\n const el = inputRef.current;\n if (!el || typeof el.stepUp !== 'function') return;\n if (direction === 1) el.stepUp(step);\n else el.stepDown(step);\n el.dispatchEvent(new Event('input', { bubbles: true }));\n el.dispatchEvent(new Event('change', { bubbles: true }));\n };\n\n const isDisabled = disabled ?? ctx?.isDisabled ?? false;\n\n return (\n <div className={cn('relative', className)}>\n <input\n ref={inputRef}\n type=\"number\"\n inputMode=\"decimal\"\n step={step}\n id={id ?? ctx?.id}\n disabled={isDisabled}\n required={required ?? ctx?.isRequired}\n readOnly={readOnly ?? ctx?.isReadOnly}\n aria-invalid={ctx?.isInvalid || undefined}\n aria-describedby={ctx ? `${ctx.helperId} ${ctx.errorId}` : undefined}\n className={cn(inputBaseVariants({ size, state: finalState }), 'pr-12 [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none')}\n {...props}\n />\n <div className=\"absolute right-1 top-1/2 flex -translate-y-1/2 items-center\">\n <button\n type=\"button\"\n disabled={isDisabled}\n onClick={() => adjust(-1)}\n aria-label=\"Decrement\"\n className=\"grid h-7 w-6 place-items-center rounded text-neutral-500 hover:bg-neutral-100 disabled:opacity-50\"\n >\n <Icon icon={Minus} size={14} />\n </button>\n <button\n type=\"button\"\n disabled={isDisabled}\n onClick={() => adjust(1)}\n aria-label=\"Increment\"\n className=\"grid h-7 w-6 place-items-center rounded text-neutral-500 hover:bg-neutral-100 disabled:opacity-50\"\n >\n <Icon icon={Plus} size={14} />\n </button>\n </div>\n </div>\n );\n },\n);\nNumberInput.displayName = 'NumberInput';\n","import { forwardRef, useState, type InputHTMLAttributes } from 'react';\nimport { Eye, EyeOff } from 'lucide-react';\nimport { cn } from '../../utils';\nimport { Icon } from '../../icons';\nimport { useFormControl } from '../../primitives/formControlContext/FormControlContext';\nimport { inputBaseVariants, type InputBaseVariants } from '../_styles';\n\nexport interface PasswordInputProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'>,\n InputBaseVariants {\n /** Whether to render the visibility-toggle button. Default true. */\n toggleable?: boolean;\n}\n\n/**\n * Password input with optional visibility toggle. Toggle is a raw `<button>`\n * to keep the strict atom rule.\n */\nexport const PasswordInput = forwardRef<HTMLInputElement, PasswordInputProps>(\n (\n {\n className,\n size,\n state,\n id,\n disabled,\n required,\n readOnly,\n toggleable = true,\n autoComplete = 'current-password',\n ...props\n },\n ref,\n ) => {\n const [visible, setVisible] = useState(false);\n const ctx = useFormControl();\n const finalState = state ?? (ctx?.isInvalid ? 'invalid' : 'default');\n const isDisabled = disabled ?? ctx?.isDisabled ?? false;\n\n return (\n <div className={cn('relative', className)}>\n <input\n ref={ref}\n type={visible ? 'text' : 'password'}\n autoComplete={autoComplete}\n spellCheck={false}\n id={id ?? ctx?.id}\n disabled={isDisabled}\n required={required ?? ctx?.isRequired}\n readOnly={readOnly ?? ctx?.isReadOnly}\n aria-invalid={ctx?.isInvalid || undefined}\n aria-describedby={ctx ? `${ctx.helperId} ${ctx.errorId}` : undefined}\n className={cn(inputBaseVariants({ size, state: finalState }), toggleable && 'pr-10')}\n {...props}\n />\n {toggleable && (\n <button\n type=\"button\"\n disabled={isDisabled}\n onClick={() => setVisible((v) => !v)}\n aria-label={visible ? 'Hide password' : 'Show password'}\n aria-pressed={visible}\n className=\"absolute right-1 top-1/2 grid h-8 w-8 -translate-y-1/2 place-items-center rounded text-neutral-500 hover:bg-neutral-100 disabled:opacity-50\"\n >\n <Icon icon={visible ? EyeOff : Eye} size={16} />\n </button>\n )}\n </div>\n );\n },\n);\nPasswordInput.displayName = 'PasswordInput';\n","import {\n forwardRef,\n useImperativeHandle,\n useRef,\n useState,\n type InputHTMLAttributes,\n} from 'react';\nimport { Search, X } from 'lucide-react';\nimport { cn } from '../../utils';\nimport { Icon } from '../../icons';\nimport { useFormControl } from '../../primitives/formControlContext/FormControlContext';\nimport { inputBaseVariants, type InputBaseVariants } from '../_styles';\n\nexport interface SearchInputProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'>,\n InputBaseVariants {\n /** Show a clear (×) button when the input has a value. Default true. */\n clearable?: boolean;\n onClear?: () => void;\n}\n\n/**\n * Search input with leading search icon and optional clear button.\n * Buttons are raw `<button>` elements to keep the strict atom rule.\n */\nexport const SearchInput = forwardRef<HTMLInputElement, SearchInputProps>(\n (\n {\n className,\n size,\n state,\n id,\n disabled,\n required,\n readOnly,\n clearable = true,\n onClear,\n onChange,\n defaultValue,\n value,\n ...props\n },\n forwardedRef,\n ) => {\n const ctx = useFormControl();\n const finalState = state ?? (ctx?.isInvalid ? 'invalid' : 'default');\n const isDisabled = disabled ?? ctx?.isDisabled ?? false;\n const inputRef = useRef<HTMLInputElement | null>(null);\n useImperativeHandle(forwardedRef, () => inputRef.current as HTMLInputElement);\n const isControlled = value !== undefined;\n const [uncontrolled, setUncontrolled] = useState(defaultValue ?? '');\n const currentValue = isControlled ? value : uncontrolled;\n const showClear = clearable && String(currentValue ?? '').length > 0;\n\n const handleClear = () => {\n const el = inputRef.current;\n if (el) {\n const setter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value')\n ?.set;\n setter?.call(el, '');\n el.dispatchEvent(new Event('input', { bubbles: true }));\n el.focus();\n }\n if (!isControlled) setUncontrolled('');\n onClear?.();\n };\n\n return (\n <div className={cn('relative', className)}>\n <Icon\n icon={Search}\n size={16}\n className=\"absolute left-3 top-1/2 -translate-y-1/2 text-neutral-400\"\n />\n <input\n ref={inputRef}\n type=\"search\"\n id={id ?? ctx?.id}\n value={isControlled ? value : undefined}\n defaultValue={!isControlled ? (defaultValue as string | number | undefined) : undefined}\n onChange={(e) => {\n if (!isControlled) setUncontrolled(e.target.value);\n onChange?.(e);\n }}\n disabled={isDisabled}\n required={required ?? ctx?.isRequired}\n readOnly={readOnly ?? ctx?.isReadOnly}\n aria-invalid={ctx?.isInvalid || undefined}\n aria-describedby={ctx ? `${ctx.helperId} ${ctx.errorId}` : undefined}\n className={cn(\n inputBaseVariants({ size, state: finalState }),\n 'pl-9',\n showClear && 'pr-9',\n '[&::-webkit-search-cancel-button]:appearance-none',\n )}\n {...props}\n />\n {showClear && (\n <button\n type=\"button\"\n disabled={isDisabled}\n onClick={handleClear}\n aria-label=\"Clear search\"\n className=\"absolute right-1 top-1/2 grid h-8 w-8 -translate-y-1/2 place-items-center rounded text-neutral-400 hover:bg-neutral-100 hover:text-neutral-600\"\n >\n <Icon icon={X} size={14} />\n </button>\n )}\n </div>\n );\n },\n);\nSearchInput.displayName = 'SearchInput';\n","import { forwardRef, type TextareaHTMLAttributes } from 'react';\nimport { cn } from '../../utils';\nimport { useFormControl } from '../../primitives/formControlContext/FormControlContext';\nimport { inputBaseVariants, type InputBaseVariants } from '../_styles';\n\nexport interface TextareaProps\n extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'size'>,\n InputBaseVariants {}\n\n/**\n * Multi-line text input. Inherits the input visual base. For autosize, pair\n * with a sibling-domain hook in v1 — kept simple at L3.\n */\nexport const Textarea = forwardRef<HTMLTextAreaElement, TextareaProps>(\n (\n { className, size, state, id, disabled, required, readOnly, rows = 3, ...props },\n ref,\n ) => {\n const ctx = useFormControl();\n const finalState = state ?? (ctx?.isInvalid ? 'invalid' : 'default');\n return (\n <textarea\n ref={ref}\n rows={rows}\n id={id ?? ctx?.id}\n disabled={disabled ?? ctx?.isDisabled}\n required={required ?? ctx?.isRequired}\n readOnly={readOnly ?? ctx?.isReadOnly}\n aria-invalid={ctx?.isInvalid || undefined}\n aria-describedby={ctx ? `${ctx.helperId} ${ctx.errorId}` : undefined}\n className={cn(\n inputBaseVariants({ size, state: finalState }),\n 'h-auto resize-y py-2',\n className,\n )}\n {...props}\n />\n );\n },\n);\nTextarea.displayName = 'Textarea';\n","import { forwardRef, type InputHTMLAttributes } from 'react';\nimport { Check, Minus } from 'lucide-react';\nimport { cn } from '../../utils';\nimport { useFormControl } from '../../primitives/formControlContext/FormControlContext';\n\nexport interface CheckboxProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {\n size?: 'sm' | 'md' | 'lg';\n /** Tristate visual — input is `checked={false}` but rendered as a dash. */\n indeterminate?: boolean;\n}\n\nconst SIZE_CLASS: Record<NonNullable<CheckboxProps['size']>, string> = {\n sm: 'h-4 w-4',\n md: 'h-5 w-5',\n lg: 'h-6 w-6',\n};\n\n/**\n * Native checkbox with custom visual. Renders the input visually hidden but\n * accessible — wrap in a `<label>` (or pair with `Label` via `FormControl`).\n */\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (\n { className, size = 'md', indeterminate, id, disabled, required, checked, ...props },\n ref,\n ) => {\n const ctx = useFormControl();\n const isDisabled = disabled ?? ctx?.isDisabled;\n return (\n <span className={cn('relative inline-flex shrink-0', SIZE_CLASS[size], className)}>\n <input\n ref={ref}\n type=\"checkbox\"\n id={id ?? ctx?.id}\n disabled={isDisabled}\n required={required ?? ctx?.isRequired}\n checked={checked}\n aria-invalid={ctx?.isInvalid || undefined}\n aria-describedby={ctx ? `${ctx.helperId} ${ctx.errorId}` : undefined}\n className=\"peer absolute inset-0 m-0 h-full w-full cursor-pointer opacity-0 disabled:cursor-not-allowed\"\n {...props}\n />\n <span\n aria-hidden=\"true\"\n className={cn(\n 'pointer-events-none grid h-full w-full place-items-center rounded-sm border border-neutral-300 bg-white text-white transition-colors',\n 'peer-checked:border-brand-600 peer-checked:bg-brand-600',\n 'peer-focus-visible:ring-2 peer-focus-visible:ring-brand-500 peer-focus-visible:ring-offset-1',\n 'peer-disabled:opacity-50',\n indeterminate && 'border-brand-600 bg-brand-600',\n )}\n >\n {indeterminate ? (\n <Minus size={Math.round(SIZE_CLASS[size].length * 1.4)} className=\"h-3 w-3\" />\n ) : (\n <Check className=\"h-3 w-3 opacity-0 peer-checked:opacity-100\" />\n )}\n </span>\n </span>\n );\n },\n);\nCheckbox.displayName = 'Checkbox';\n","import { forwardRef, type InputHTMLAttributes } from 'react';\nimport { cn } from '../../utils';\nimport { useFormControl } from '../../primitives/formControlContext/FormControlContext';\n\nexport interface RadioProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {\n size?: 'sm' | 'md' | 'lg';\n}\n\nconst SIZE_CLASS: Record<NonNullable<RadioProps['size']>, string> = {\n sm: 'h-4 w-4',\n md: 'h-5 w-5',\n lg: 'h-6 w-6',\n};\n\n/**\n * Native radio button with custom visual. Use multiple with the same `name`\n * to form a mutually exclusive group; for arrow-key nav, wrap in\n * `RadioGroup` (L4).\n */\nexport const Radio = forwardRef<HTMLInputElement, RadioProps>(\n ({ className, size = 'md', id, disabled, required, ...props }, ref) => {\n const ctx = useFormControl();\n return (\n <span className={cn('relative inline-flex shrink-0', SIZE_CLASS[size], className)}>\n <input\n ref={ref}\n type=\"radio\"\n id={id ?? ctx?.id}\n disabled={disabled ?? ctx?.isDisabled}\n required={required ?? ctx?.isRequired}\n aria-invalid={ctx?.isInvalid || undefined}\n className=\"peer absolute inset-0 m-0 h-full w-full cursor-pointer opacity-0 disabled:cursor-not-allowed\"\n {...props}\n />\n <span\n aria-hidden=\"true\"\n className={cn(\n 'pointer-events-none grid h-full w-full place-items-center rounded-full border border-neutral-300 bg-white transition-colors',\n 'peer-checked:border-brand-600',\n 'peer-focus-visible:ring-2 peer-focus-visible:ring-brand-500 peer-focus-visible:ring-offset-1',\n 'peer-disabled:opacity-50',\n )}\n >\n <span className=\"h-2 w-2 rounded-full bg-brand-600 opacity-0 peer-checked:opacity-100\" />\n </span>\n </span>\n );\n },\n);\nRadio.displayName = 'Radio';\n","import { forwardRef, type InputHTMLAttributes } from 'react';\nimport { cn } from '../../utils';\nimport { useFormControl } from '../../primitives/formControlContext/FormControlContext';\n\nexport interface SwitchProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {\n size?: 'sm' | 'md' | 'lg';\n}\n\nconst TRACK_CLASS: Record<NonNullable<SwitchProps['size']>, string> = {\n sm: 'h-4 w-7',\n md: 'h-5 w-9',\n lg: 'h-6 w-11',\n};\nconst THUMB_CLASS: Record<NonNullable<SwitchProps['size']>, string> = {\n sm: 'h-3 w-3 peer-checked:translate-x-3',\n md: 'h-4 w-4 peer-checked:translate-x-4',\n lg: 'h-5 w-5 peer-checked:translate-x-5',\n};\n\n/**\n * Toggle switch — native checkbox styled as an iOS-style track + thumb.\n * Strict atom: no built-in label; pair via `FormControl` or wrap manually.\n */\nexport const Switch = forwardRef<HTMLInputElement, SwitchProps>(\n ({ className, size = 'md', id, disabled, required, ...props }, ref) => {\n const ctx = useFormControl();\n return (\n <span className={cn('relative inline-flex shrink-0', TRACK_CLASS[size], className)}>\n <input\n ref={ref}\n type=\"checkbox\"\n role=\"switch\"\n id={id ?? ctx?.id}\n disabled={disabled ?? ctx?.isDisabled}\n required={required ?? ctx?.isRequired}\n aria-invalid={ctx?.isInvalid || undefined}\n className=\"peer absolute inset-0 m-0 h-full w-full cursor-pointer opacity-0 disabled:cursor-not-allowed\"\n {...props}\n />\n <span\n aria-hidden=\"true\"\n className={cn(\n 'pointer-events-none flex h-full w-full items-center rounded-full bg-neutral-300 px-0.5 transition-colors',\n 'peer-checked:bg-brand-600',\n 'peer-focus-visible:ring-2 peer-focus-visible:ring-brand-500 peer-focus-visible:ring-offset-1',\n 'peer-disabled:opacity-50',\n )}\n >\n <span\n className={cn(\n 'rounded-full bg-white shadow-sm transition-transform duration-150',\n THUMB_CLASS[size],\n )}\n />\n </span>\n </span>\n );\n },\n);\nSwitch.displayName = 'Switch';\n","import { forwardRef, type InputHTMLAttributes } from 'react';\nimport { cn } from '../../utils';\nimport { useFormControl } from '../../primitives/formControlContext/FormControlContext';\n\nexport interface SliderProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {\n size?: 'sm' | 'md' | 'lg';\n}\n\nconst TRACK_CLASS: Record<NonNullable<SliderProps['size']>, string> = {\n sm: 'h-1',\n md: 'h-1.5',\n lg: 'h-2',\n};\n\n/**\n * Single-value range slider — native `<input type=\"range\">` styled across\n * browsers. Multi-thumb / range slider lives at L5.\n */\nexport const Slider = forwardRef<HTMLInputElement, SliderProps>(\n (\n { className, size = 'md', id, disabled, required, min = 0, max = 100, ...props },\n ref,\n ) => {\n const ctx = useFormControl();\n return (\n <input\n ref={ref}\n type=\"range\"\n id={id ?? ctx?.id}\n disabled={disabled ?? ctx?.isDisabled}\n required={required ?? ctx?.isRequired}\n min={min}\n max={max}\n aria-invalid={ctx?.isInvalid || undefined}\n className={cn(\n 'w-full appearance-none bg-transparent disabled:cursor-not-allowed disabled:opacity-50',\n // WebKit\n '[&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-neutral-200',\n `[&::-webkit-slider-runnable-track]:${TRACK_CLASS[size]}`,\n '[&::-webkit-slider-thumb]:mt-[-6px] [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:border-2 [&::-webkit-slider-thumb]:border-brand-600 [&::-webkit-slider-thumb]:bg-white',\n // Firefox\n `[&::-moz-range-track]:${TRACK_CLASS[size]}`,\n '[&::-moz-range-track]:rounded-full [&::-moz-range-track]:bg-neutral-200',\n '[&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:w-4 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-2 [&::-moz-range-thumb]:border-brand-600 [&::-moz-range-thumb]:bg-white',\n 'focus-visible:outline-none focus-visible:[&::-webkit-slider-thumb]:ring-2 focus-visible:[&::-webkit-slider-thumb]:ring-brand-500',\n className,\n )}\n {...props}\n />\n );\n },\n);\nSlider.displayName = 'Slider';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/feedback/spinner/Spinner.variants.ts","../src/feedback/spinner/Spinner.tsx","../src/feedback/skeleton/Skeleton.variants.ts","../src/feedback/skeleton/Skeleton.tsx","../src/feedback/progressBar/ProgressBar.variants.ts","../src/feedback/progressBar/ProgressBar.tsx","../src/feedback/progressCircle/ProgressCircle.tsx","../src/feedback/alertSimple/AlertSimple.variants.ts","../src/feedback/alertSimple/AlertSimple.tsx","../src/feedback/bannerSimple/BannerSimple.variants.ts","../src/feedback/bannerSimple/BannerSimple.tsx","../src/feedback/toastSimple/ToastSimple.variants.ts","../src/feedback/toastSimple/ToastSimple.tsx"],"names":["forwardRef","jsx","jsxs"],"mappings":"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","file":"chunk-YLN7VMYU.js","sourcesContent":["import { tv, type VariantProps } from '../../utils';\n\nexport const spinnerVariants = tv({\n base: 'inline-block animate-spin rounded-full border-current border-b-transparent',\n variants: {\n size: {\n xs: 'h-3 w-3 border',\n sm: 'h-4 w-4 border-2',\n md: 'h-5 w-5 border-2',\n lg: 'h-8 w-8 border-2',\n xl: 'h-12 w-12 border-[3px]',\n },\n tone: {\n default: 'text-neutral-500',\n brand: 'text-brand-600',\n muted: 'text-neutral-300',\n current: '',\n },\n },\n defaultVariants: {\n size: 'md',\n tone: 'default',\n },\n});\n\nexport type SpinnerVariants = VariantProps<typeof spinnerVariants>;\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\nimport { spinnerVariants, type SpinnerVariants } from './Spinner.variants';\n\nexport interface SpinnerProps\n extends Omit<ComponentPropsWithoutRef<'span'>, 'children'>,\n SpinnerVariants {\n /** Accessible label. Default `\"Loading\"`. */\n label?: string;\n}\n\n/**\n * Indeterminate loading spinner. Renders a spinning circle and a visually\n * hidden text label for screen readers.\n */\nexport const Spinner = forwardRef<HTMLSpanElement, SpinnerProps>(\n ({ className, size, tone, label = 'Loading', role = 'status', ...props }, ref) => (\n <span ref={ref} role={role} {...props}>\n <span className={cn(spinnerVariants({ size, tone }), className)} />\n <span className=\"sr-only\">{label}</span>\n </span>\n ),\n);\nSpinner.displayName = 'Spinner';\n","import { tv, type VariantProps } from '../../utils';\n\nexport const skeletonVariants = tv({\n base: 'animate-pulse bg-neutral-200',\n variants: {\n shape: {\n rect: 'rounded-md',\n text: 'h-4 rounded-sm',\n circle: 'rounded-full',\n },\n },\n defaultVariants: {\n shape: 'rect',\n },\n});\n\nexport type SkeletonVariants = VariantProps<typeof skeletonVariants>;\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\nimport { skeletonVariants, type SkeletonVariants } from './Skeleton.variants';\n\nexport interface SkeletonProps extends ComponentPropsWithoutRef<'div'>, SkeletonVariants {}\n\n/**\n * Loading placeholder. Use sized via `className` (e.g. `w-32 h-4`) for text\n * lines, or as a full block with `shape=\"rect\"`.\n */\nexport const Skeleton = forwardRef<HTMLDivElement, SkeletonProps>(\n ({ className, shape, ...props }, ref) => (\n <div\n ref={ref}\n aria-hidden=\"true\"\n className={cn(skeletonVariants({ shape }), className)}\n {...props}\n />\n ),\n);\nSkeleton.displayName = 'Skeleton';\n","import { tv, type VariantProps } from '../../utils';\n\nexport const progressTrackVariants = tv({\n base: 'h-2 w-full overflow-hidden rounded-full bg-neutral-200',\n variants: {\n size: {\n sm: 'h-1',\n md: 'h-2',\n lg: 'h-3',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nexport const progressFillVariants = tv({\n base: 'h-full rounded-full transition-[width] duration-300',\n variants: {\n tone: {\n brand: 'bg-brand-600',\n success: 'bg-success-500',\n warning: 'bg-warning-500',\n danger: 'bg-danger-500',\n neutral: 'bg-neutral-500',\n },\n },\n defaultVariants: {\n tone: 'brand',\n },\n});\n\nexport type ProgressBarVariants = VariantProps<typeof progressTrackVariants> &\n VariantProps<typeof progressFillVariants>;\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\nimport {\n progressFillVariants,\n progressTrackVariants,\n type ProgressBarVariants,\n} from './ProgressBar.variants';\n\nexport interface ProgressBarProps\n extends Omit<ComponentPropsWithoutRef<'div'>, 'children'>,\n ProgressBarVariants {\n /** Current value 0–100. Pass `undefined` for indeterminate. */\n value?: number;\n max?: number;\n /** Accessible label for the progress. */\n label?: string;\n}\n\n/**\n * Linear progress indicator. Set `value` (0–`max`) for determinate; omit\n * for indeterminate.\n */\nexport const ProgressBar = forwardRef<HTMLDivElement, ProgressBarProps>(\n ({ value, max = 100, size, tone, label, className, ...props }, ref) => {\n const determinate = typeof value === 'number';\n const pct = determinate ? Math.min(100, Math.max(0, (value / max) * 100)) : undefined;\n return (\n <div\n ref={ref}\n role=\"progressbar\"\n aria-label={label}\n aria-valuemin={0}\n aria-valuemax={max}\n aria-valuenow={determinate ? value : undefined}\n className={cn(progressTrackVariants({ size }), className)}\n {...props}\n >\n <div\n className={cn(\n progressFillVariants({ tone }),\n !determinate && 'w-1/3 animate-[indeterminate_1.4s_ease-in-out_infinite]',\n )}\n style={determinate ? { width: `${pct}%` } : undefined}\n />\n </div>\n );\n },\n);\nProgressBar.displayName = 'ProgressBar';\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\n\nexport interface ProgressCircleProps extends Omit<ComponentPropsWithoutRef<'div'>, 'children'> {\n /** 0–100. Omit for indeterminate. */\n value?: number;\n max?: number;\n size?: number;\n thickness?: number;\n tone?: 'brand' | 'success' | 'warning' | 'danger' | 'neutral';\n label?: string;\n}\n\nconst TONE_CLASS: Record<NonNullable<ProgressCircleProps['tone']>, string> = {\n brand: 'text-brand-600',\n success: 'text-success-500',\n warning: 'text-warning-500',\n danger: 'text-danger-500',\n neutral: 'text-neutral-500',\n};\n\n/**\n * Circular progress indicator (SVG). Determinate when `value` is set;\n * indeterminate (rotating) when omitted.\n */\nexport const ProgressCircle = forwardRef<HTMLDivElement, ProgressCircleProps>(\n (\n { value, max = 100, size = 40, thickness = 4, tone = 'brand', label, className, ...props },\n ref,\n ) => {\n const determinate = typeof value === 'number';\n const radius = (size - thickness) / 2;\n const circumference = 2 * Math.PI * radius;\n const pct = determinate ? Math.min(100, Math.max(0, (value / max) * 100)) : 25;\n const offset = circumference - (pct / 100) * circumference;\n\n return (\n <div\n ref={ref}\n role=\"progressbar\"\n aria-label={label}\n aria-valuemin={0}\n aria-valuemax={max}\n aria-valuenow={determinate ? value : undefined}\n className={cn('inline-block', !determinate && 'animate-spin', TONE_CLASS[tone], className)}\n style={{ width: size, height: size }}\n {...props}\n >\n <svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <circle\n cx={size / 2}\n cy={size / 2}\n r={radius}\n stroke=\"currentColor\"\n strokeWidth={thickness}\n fill=\"none\"\n opacity={0.2}\n />\n <circle\n cx={size / 2}\n cy={size / 2}\n r={radius}\n stroke=\"currentColor\"\n strokeWidth={thickness}\n strokeLinecap=\"round\"\n fill=\"none\"\n strokeDasharray={circumference}\n strokeDashoffset={offset}\n transform={`rotate(-90 ${size / 2} ${size / 2})`}\n style={{ transition: 'stroke-dashoffset 300ms ease' }}\n />\n </svg>\n </div>\n );\n },\n);\nProgressCircle.displayName = 'ProgressCircle';\n","import { tv, type VariantProps } from '../../utils';\n\nexport const alertSimpleVariants = tv({\n base: 'rounded-md border px-4 py-3 text-sm',\n variants: {\n severity: {\n info: 'border-info-100 bg-info-50 text-info-900',\n success: 'border-success-100 bg-success-50 text-success-900',\n warning: 'border-warning-100 bg-warning-50 text-warning-900',\n danger: 'border-danger-100 bg-danger-50 text-danger-900',\n neutral: 'border-neutral-200 bg-neutral-50 text-neutral-900',\n },\n },\n defaultVariants: {\n severity: 'info',\n },\n});\n\nexport type AlertSimpleVariants = VariantProps<typeof alertSimpleVariants>;\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\nimport { alertSimpleVariants, type AlertSimpleVariants } from './AlertSimple.variants';\n\nexport interface AlertSimpleProps\n extends ComponentPropsWithoutRef<'div'>,\n AlertSimpleVariants {}\n\n/**\n * Atomic alert — a styled colored container that takes free-form `children`.\n * No internal slots; consumer composes title/description/actions inline.\n *\n * For the structured Icon + Title + Description + Actions composition use\n * the `Alert` molecule (L4).\n */\nexport const AlertSimple = forwardRef<HTMLDivElement, AlertSimpleProps>(\n ({ className, severity, role = 'status', ...props }, ref) => (\n <div\n ref={ref}\n role={role}\n className={cn(alertSimpleVariants({ severity }), className)}\n {...props}\n />\n ),\n);\nAlertSimple.displayName = 'AlertSimple';\n","import { tv, type VariantProps } from '../../utils';\n\nexport const bannerSimpleVariants = tv({\n base: 'w-full px-6 py-3 text-sm',\n variants: {\n severity: {\n info: 'bg-info-500 text-white',\n success: 'bg-success-500 text-white',\n warning: 'bg-warning-500 text-warning-900',\n danger: 'bg-danger-500 text-white',\n neutral: 'bg-neutral-900 text-neutral-50',\n },\n },\n defaultVariants: {\n severity: 'info',\n },\n});\n\nexport type BannerSimpleVariants = VariantProps<typeof bannerSimpleVariants>;\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\nimport { bannerSimpleVariants, type BannerSimpleVariants } from './BannerSimple.variants';\n\nexport interface BannerSimpleProps\n extends ComponentPropsWithoutRef<'div'>,\n BannerSimpleVariants {}\n\n/**\n * Full-width banner — typically pinned to the top of the app to broadcast\n * status. Atom; for structured slotted layout use `Banner` (L4).\n */\nexport const BannerSimple = forwardRef<HTMLDivElement, BannerSimpleProps>(\n ({ className, severity, role = 'status', ...props }, ref) => (\n <div\n ref={ref}\n role={role}\n className={cn(bannerSimpleVariants({ severity }), className)}\n {...props}\n />\n ),\n);\nBannerSimple.displayName = 'BannerSimple';\n","import { tv, type VariantProps } from '../../utils';\n\nexport const toastSimpleVariants = tv({\n base: 'pointer-events-auto rounded-md border bg-white shadow-lg px-4 py-3 text-sm',\n variants: {\n severity: {\n info: 'border-info-100',\n success: 'border-success-100',\n warning: 'border-warning-100',\n danger: 'border-danger-100',\n neutral: 'border-neutral-200',\n },\n },\n defaultVariants: {\n severity: 'neutral',\n },\n});\n\nexport type ToastSimpleVariants = VariantProps<typeof toastSimpleVariants>;\n","import { forwardRef, type ComponentPropsWithoutRef } from 'react';\nimport { cn } from '../../utils';\nimport { toastSimpleVariants, type ToastSimpleVariants } from './ToastSimple.variants';\n\nexport interface ToastSimpleProps\n extends ComponentPropsWithoutRef<'div'>,\n ToastSimpleVariants {}\n\n/**\n * Atomic toast — a single notification card with free-form `children`.\n * Visual only; the queue / portal manager (`Toaster`) lives at L5. For\n * the structured Icon + Title + Description + Action layout, use the\n * `Toast` molecule (L4).\n */\nexport const ToastSimple = forwardRef<HTMLDivElement, ToastSimpleProps>(\n ({ className, severity, role = 'status', ...props }, ref) => (\n <div\n ref={ref}\n role={role}\n aria-live=\"polite\"\n className={cn(toastSimpleVariants({ severity }), className)}\n {...props}\n />\n ),\n);\nToastSimple.displayName = 'ToastSimple';\n"]}