@rabelo-digital/ds-rd 1.1.1 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +214 -213
- package/dist/index.css.map +7 -1
- package/dist/index.js +772 -247
- package/dist/index.js.map +7 -1
- package/dist/index.mjs +718 -128
- package/dist/index.mjs.map +7 -1
- package/dist/styles.css +1160 -0
- package/dist/tokens/index.js +333 -43
- package/dist/tokens/index.js.map +7 -1
- package/dist/tokens/index.mjs +314 -2
- package/dist/tokens/index.mjs.map +7 -1
- package/package.json +14 -11
- package/dist/chunk-CZMDBTZY.js +0 -317
- package/dist/chunk-CZMDBTZY.js.map +0 -1
- package/dist/chunk-JPWULLEO.mjs +0 -306
- package/dist/chunk-JPWULLEO.mjs.map +0 -1
- package/dist/index.d.mts +0 -241
- package/dist/index.d.ts +0 -241
- package/dist/tokens/index.d.mts +0 -295
- package/dist/tokens/index.d.ts +0 -295
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/atoms/Button/Button.module.css","../src/components/atoms/Button/Button.tsx","../src/components/atoms/Input/Input.module.css","../src/components/atoms/Input/Input.tsx","../src/components/atoms/Textarea/Textarea.module.css","../src/components/atoms/Textarea/Textarea.tsx","../src/components/atoms/Badge/Badge.module.css","../src/components/atoms/Badge/Badge.tsx","../src/components/atoms/Avatar/Avatar.module.css","../src/components/atoms/Avatar/Avatar.tsx","../src/components/atoms/Checkbox/Checkbox.module.css","../src/components/atoms/Checkbox/Checkbox.tsx","../src/components/atoms/Radio/Radio.module.css","../src/components/atoms/Radio/Radio.tsx","../src/components/atoms/Select/Select.module.css","../src/components/atoms/Select/Select.tsx","../src/components/atoms/Tooltip/Tooltip.module.css","../src/components/atoms/Tooltip/Tooltip.tsx","../src/components/atoms/SocialIcons/SocialIcons.module.css","../src/components/atoms/SocialIcons/SocialIcons.tsx","../src/components/molecules/Card/Card.module.css","../src/components/molecules/Card/Card.tsx","../src/components/molecules/Modal/Modal.module.css","../src/components/molecules/Modal/Modal.tsx","../src/components/molecules/Drawer/Drawer.module.css","../src/components/molecules/Drawer/Drawer.tsx","../src/components/molecules/Tabs/Tabs.module.css","../src/components/molecules/Tabs/Tabs.tsx","../src/components/molecules/Accordion/Accordion.module.css","../src/components/molecules/Accordion/Accordion.tsx","../src/components/molecules/Toast/Toast.module.css","../src/components/molecules/Toast/Toast.tsx","../src/components/molecules/Table/Table.module.css","../src/components/molecules/Table/Table.tsx"],"names":["React","jsxs","jsx","useId","useState","Icon","elevation","Dialog2"],"mappings":"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","file":"index.mjs","sourcesContent":[".button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--ds-space-2);\n border: 1px solid transparent;\n border-radius: var(--ds-radius-md);\n font-family: var(--ds-font-family-base);\n font-weight: var(--ds-font-weight-medium);\n line-height: var(--ds-line-height-tight);\n cursor: pointer;\n text-decoration: none;\n transition:\n background-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out),\n border-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out),\n color var(--ds-motion-duration-fast) var(--ds-motion-easing-out),\n box-shadow var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n white-space: nowrap;\n user-select: none;\n}\n\n.button:focus-visible {\n outline: 2px solid var(--ds-color-border-focus);\n outline-offset: 2px;\n}\n\n/* Sizes */\n.sm {\n padding: var(--ds-space-1) var(--ds-space-3);\n font-size: var(--ds-font-size-sm);\n min-height: 32px;\n}\n\n.md {\n padding: var(--ds-space-2) var(--ds-space-4);\n font-size: var(--ds-font-size-md);\n min-height: 40px;\n}\n\n.lg {\n padding: var(--ds-space-3) var(--ds-space-6);\n font-size: var(--ds-font-size-lg);\n min-height: 48px;\n}\n\n/* Variants */\n.primary {\n background: var(--ds-color-primary);\n color: var(--ds-color-on-primary);\n border-color: var(--ds-color-primary);\n}\n\n.primary:hover:not(:disabled):not([aria-disabled=\"true\"]) {\n background: var(--ds-color-primary-hover);\n border-color: var(--ds-color-primary-hover);\n}\n\n.primary:active:not(:disabled) {\n background: var(--ds-color-primary-active);\n border-color: var(--ds-color-primary-active);\n}\n\n.secondary {\n background: var(--ds-color-secondary);\n color: var(--ds-color-on-secondary);\n border-color: var(--ds-color-secondary);\n}\n\n.secondary:hover:not(:disabled):not([aria-disabled=\"true\"]) {\n background: var(--ds-color-secondary-hover);\n border-color: var(--ds-color-secondary-hover);\n}\n\n.ghost {\n background: transparent;\n color: var(--ds-color-primary);\n border-color: var(--ds-color-border);\n}\n\n.ghost:hover:not(:disabled):not([aria-disabled=\"true\"]) {\n background: var(--ds-color-primary-subtle);\n border-color: var(--ds-color-primary);\n}\n\n.danger {\n background: var(--ds-color-error);\n color: var(--ds-color-on-error);\n border-color: var(--ds-color-error);\n}\n\n.danger:hover:not(:disabled):not([aria-disabled=\"true\"]) {\n background: var(--ds-color-error-hover);\n border-color: var(--ds-color-error-hover);\n}\n\n/* States */\n.button:disabled,\n.button[aria-disabled=\"true\"] {\n background: var(--ds-color-disabled-bg);\n color: var(--ds-color-disabled-text);\n border-color: var(--ds-color-disabled-border);\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* Loading */\n.loading {\n position: relative;\n cursor: wait;\n pointer-events: none;\n}\n\n.label {\n display: inline-flex;\n align-items: center;\n gap: var(--ds-space-2);\n}\n\n.labelHidden {\n visibility: hidden;\n}\n\n.spinner {\n position: absolute;\n width: 1em;\n height: 1em;\n border: 2px solid currentColor;\n border-top-color: transparent;\n border-radius: var(--ds-radius-full);\n animation: spin 0.6s linear infinite;\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n","import React from \"react\";\n\nimport styles from \"./Button.module.css\";\n\nexport type ButtonVariant = \"primary\" | \"secondary\" | \"ghost\" | \"danger\";\nexport type ButtonSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n variant?: ButtonVariant;\n size?: ButtonSize;\n loading?: boolean;\n children: React.ReactNode;\n}\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n variant = \"primary\",\n size = \"md\",\n loading = false,\n disabled,\n className,\n children,\n onClick,\n ...props\n },\n ref\n ) => {\n const isDisabled = disabled || loading;\n\n return (\n <button\n ref={ref}\n className={[\n styles.button,\n styles[variant],\n styles[size],\n loading ? styles.loading : \"\",\n className ?? \"\"\n ]\n .filter(Boolean)\n .join(\" \")}\n disabled={isDisabled}\n aria-disabled={isDisabled || undefined}\n aria-busy={loading || undefined}\n onClick={isDisabled ? undefined : onClick}\n {...props}\n >\n <span className={loading ? styles.labelHidden : styles.label}>{children}</span>\n {loading && <span className={styles.spinner} aria-hidden=\"true\" />}\n </button>\n );\n }\n);\n\nButton.displayName = \"Button\";\n",".wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--ds-space-1);\n width: 100%;\n}\n\n.label {\n font-family: var(--ds-font-family-base);\n font-size: var(--ds-font-size-sm);\n font-weight: var(--ds-font-weight-medium);\n color: var(--ds-color-text);\n line-height: var(--ds-line-height-normal);\n}\n\n.input {\n width: 100%;\n font-family: var(--ds-font-family-base);\n font-size: var(--ds-font-size-md);\n color: var(--ds-color-text);\n background: var(--ds-color-bg);\n border: 1px solid var(--ds-color-border);\n border-radius: var(--ds-radius-md);\n transition:\n border-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out),\n box-shadow var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n outline: none;\n box-sizing: border-box;\n}\n\n.input::placeholder {\n color: var(--ds-color-text-subtle);\n}\n\n.input:hover:not(:disabled) {\n border-color: var(--ds-color-border-strong);\n}\n\n.input:focus {\n border-color: var(--ds-color-border-focus);\n box-shadow: 0 0 0 3px var(--ds-color-primary-muted);\n}\n\n.input:disabled {\n background: var(--ds-color-disabled-bg);\n color: var(--ds-color-disabled-text);\n border-color: var(--ds-color-disabled-border);\n cursor: not-allowed;\n}\n\n.input.error {\n border-color: var(--ds-color-border-error);\n}\n\n.input.error:focus {\n box-shadow: 0 0 0 3px var(--ds-color-error-muted);\n}\n\n/* Sizes */\n.sm {\n padding: var(--ds-space-1) var(--ds-space-2);\n font-size: var(--ds-font-size-sm);\n min-height: 32px;\n}\n.md {\n padding: var(--ds-space-2) var(--ds-space-3);\n font-size: var(--ds-font-size-md);\n min-height: 40px;\n}\n.lg {\n padding: var(--ds-space-3) var(--ds-space-4);\n font-size: var(--ds-font-size-lg);\n min-height: 48px;\n}\n\n.helperText {\n font-size: var(--ds-font-size-xs);\n color: var(--ds-color-text-muted);\n line-height: var(--ds-line-height-normal);\n}\n\n.errorText {\n font-size: var(--ds-font-size-xs);\n color: var(--ds-color-error);\n line-height: var(--ds-line-height-normal);\n}\n","import React, { useId } from \"react\";\n\nimport styles from \"./Input.module.css\";\n\nexport type InputSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\"> {\n label?: string;\n error?: string;\n helperText?: string;\n size?: InputSize;\n}\n\nexport const Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ label, error, helperText, size = \"md\", className, id, ...props }, ref) => {\n const generatedId = useId();\n const inputId = id ?? generatedId;\n const errorId = `${inputId}-error`;\n const helperId = `${inputId}-helper`;\n\n return (\n <div className={styles.wrapper}>\n {label && (\n <label htmlFor={inputId} className={styles.label}>\n {label}\n </label>\n )}\n <input\n ref={ref}\n id={inputId}\n className={[styles.input, styles[size], error ? styles.error : \"\", className ?? \"\"]\n .filter(Boolean)\n .join(\" \")}\n aria-invalid={!!error}\n aria-describedby={\n [error ? errorId : null, helperText ? helperId : null].filter(Boolean).join(\" \") ||\n undefined\n }\n {...props}\n />\n {error && (\n <span id={errorId} className={styles.errorText} role=\"alert\">\n {error}\n </span>\n )}\n {helperText && !error && (\n <span id={helperId} className={styles.helperText}>\n {helperText}\n </span>\n )}\n </div>\n );\n }\n);\n\nInput.displayName = \"Input\";\n",".wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--ds-space-1);\n width: 100%;\n}\n\n.label {\n font-family: var(--ds-font-family-base);\n font-size: var(--ds-font-size-sm);\n font-weight: var(--ds-font-weight-medium);\n color: var(--ds-color-text);\n}\n\n.textarea {\n width: 100%;\n min-height: 100px;\n padding: var(--ds-space-2) var(--ds-space-3);\n font-family: var(--ds-font-family-base);\n font-size: var(--ds-font-size-md);\n color: var(--ds-color-text);\n background: var(--ds-color-bg);\n border: 1px solid var(--ds-color-border);\n border-radius: var(--ds-radius-md);\n resize: vertical;\n outline: none;\n transition:\n border-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out),\n box-shadow var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n box-sizing: border-box;\n}\n\n.textarea:focus {\n border-color: var(--ds-color-border-focus);\n box-shadow: 0 0 0 3px var(--ds-color-primary-muted);\n}\n.textarea:disabled {\n background: var(--ds-color-disabled-bg);\n color: var(--ds-color-disabled-text);\n cursor: not-allowed;\n}\n.textarea.error {\n border-color: var(--ds-color-border-error);\n}\n.textarea.error:focus {\n box-shadow: 0 0 0 3px var(--ds-color-error-muted);\n}\n\n.footer {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n}\n.helperText {\n font-size: var(--ds-font-size-xs);\n color: var(--ds-color-text-muted);\n}\n.errorText {\n font-size: var(--ds-font-size-xs);\n color: var(--ds-color-error);\n}\n.counter {\n font-size: var(--ds-font-size-xs);\n color: var(--ds-color-text-muted);\n margin-left: auto;\n}\n","import React, { useId, useState } from \"react\";\n\nimport styles from \"./Textarea.module.css\";\n\nexport interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n label?: string;\n error?: string;\n helperText?: string;\n showCount?: boolean;\n}\n\nexport const Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n (\n { label, error, helperText, showCount = false, maxLength, className, id, onChange, ...props },\n ref\n ) => {\n const generatedId = useId();\n const textareaId = id ?? generatedId;\n const errorId = `${textareaId}-error`;\n const helperId = `${textareaId}-helper`;\n const [count, setCount] = useState(typeof props.value === \"string\" ? props.value.length : 0);\n\n const handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n setCount(e.target.value.length);\n onChange?.(e);\n };\n\n return (\n <div className={styles.wrapper}>\n {label && (\n <label htmlFor={textareaId} className={styles.label}>\n {label}\n </label>\n )}\n <textarea\n ref={ref}\n id={textareaId}\n className={[styles.textarea, error ? styles.error : \"\", className ?? \"\"]\n .filter(Boolean)\n .join(\" \")}\n maxLength={maxLength}\n onChange={handleChange}\n aria-invalid={!!error}\n aria-describedby={\n [error ? errorId : null, helperText ? helperId : null].filter(Boolean).join(\" \") ||\n undefined\n }\n {...props}\n />\n <div className={styles.footer}>\n {error && (\n <span id={errorId} className={styles.errorText} role=\"alert\">\n {error}\n </span>\n )}\n {helperText && !error && (\n <span id={helperId} className={styles.helperText}>\n {helperText}\n </span>\n )}\n {showCount && maxLength && (\n <span className={styles.counter} aria-live=\"polite\">\n {count}/{maxLength}\n </span>\n )}\n </div>\n </div>\n );\n }\n);\n\nTextarea.displayName = \"Textarea\";\n",".badge {\n display: inline-flex;\n align-items: center;\n font-family: var(--ds-font-family-base);\n font-weight: var(--ds-font-weight-medium);\n border-radius: var(--ds-radius-full);\n white-space: nowrap;\n}\n\n.sm {\n padding: 2px var(--ds-space-2);\n font-size: var(--ds-font-size-xs);\n}\n.md {\n padding: var(--ds-space-1) var(--ds-space-2);\n font-size: var(--ds-font-size-sm);\n}\n\n.default {\n background: var(--ds-color-bg-muted);\n color: var(--ds-color-text);\n}\n.primary {\n background: var(--ds-color-primary-muted);\n color: var(--ds-color-primary);\n}\n.success {\n background: var(--ds-color-success-muted);\n color: var(--ds-color-success);\n}\n.warning {\n background: var(--ds-color-warning-muted);\n color: var(--ds-color-warning-hover);\n}\n.error {\n background: var(--ds-color-error-muted);\n color: var(--ds-color-error);\n}\n.info {\n background: var(--ds-color-info-muted);\n color: var(--ds-color-info);\n}\n","import React from \"react\";\n\nimport styles from \"./Badge.module.css\";\n\nexport type BadgeVariant = \"default\" | \"primary\" | \"success\" | \"warning\" | \"error\" | \"info\";\nexport type BadgeSize = \"sm\" | \"md\";\n\nexport interface BadgeProps {\n variant?: BadgeVariant;\n size?: BadgeSize;\n children: React.ReactNode;\n className?: string;\n}\n\nexport const Badge: React.FC<BadgeProps> = ({\n variant = \"default\",\n size = \"md\",\n children,\n className\n}) => (\n <span\n className={[styles.badge, styles[variant], styles[size], className ?? \"\"]\n .filter(Boolean)\n .join(\" \")}\n >\n {children}\n </span>\n);\n\nBadge.displayName = \"Badge\";\n",".avatar {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: var(--ds-color-primary-muted);\n color: var(--ds-color-primary);\n font-family: var(--ds-font-family-base);\n font-weight: var(--ds-font-weight-semibold);\n overflow: hidden;\n flex-shrink: 0;\n}\n\n.circle {\n border-radius: var(--ds-radius-full);\n}\n.square {\n border-radius: var(--ds-radius-lg);\n}\n\n.xs {\n width: 24px;\n height: 24px;\n font-size: var(--ds-font-size-xs);\n}\n.sm {\n width: 32px;\n height: 32px;\n font-size: var(--ds-font-size-xs);\n}\n.md {\n width: 40px;\n height: 40px;\n font-size: var(--ds-font-size-sm);\n}\n.lg {\n width: 56px;\n height: 56px;\n font-size: var(--ds-font-size-md);\n}\n.xl {\n width: 80px;\n height: 80px;\n font-size: var(--ds-font-size-xl);\n}\n\n.image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.initials {\n line-height: 1;\n}\n","import React, { useState } from \"react\";\n\nimport styles from \"./Avatar.module.css\";\n\nexport type AvatarSize = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\nexport type AvatarShape = \"circle\" | \"square\";\n\nexport interface AvatarProps {\n src?: string;\n alt?: string;\n name?: string;\n size?: AvatarSize;\n shape?: AvatarShape;\n className?: string;\n}\n\nfunction getInitials(name: string): string {\n return name\n .split(\" \")\n .map((part) => part[0])\n .filter(Boolean)\n .slice(0, 2)\n .join(\"\")\n .toUpperCase();\n}\n\nexport const Avatar: React.FC<AvatarProps> = ({\n src,\n alt,\n name,\n size = \"md\",\n shape = \"circle\",\n className\n}) => {\n const [imgError, setImgError] = useState(false);\n const initials = name ? getInitials(name) : null;\n const showImage = src && !imgError;\n\n const wrapperClass = [styles.avatar, styles[size], styles[shape], className ?? \"\"]\n .filter(Boolean)\n .join(\" \");\n\n if (showImage) {\n return (\n <span className={wrapperClass}>\n <img\n src={src}\n alt={alt ?? name ?? \"\"}\n className={styles.image}\n onError={() => setImgError(true)}\n />\n </span>\n );\n }\n\n return (\n <span className={wrapperClass} role=\"img\" aria-label={alt ?? name ?? \"Avatar\"}>\n <span className={styles.initials} aria-hidden=\"true\">\n {initials ?? \"?\"}\n </span>\n </span>\n );\n};\n\nAvatar.displayName = \"Avatar\";\n",".wrapper {\n display: flex;\n align-items: center;\n gap: var(--ds-space-2);\n}\n\n.root {\n width: 18px;\n height: 18px;\n border: 2px solid var(--ds-color-border-strong);\n border-radius: var(--ds-radius-sm);\n background: var(--ds-color-bg);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n flex-shrink: 0;\n transition:\n border-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out),\n background var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n outline: none;\n}\n\n.root[data-state=\"checked\"],\n.root[data-state=\"indeterminate\"] {\n background: var(--ds-color-primary);\n border-color: var(--ds-color-primary);\n color: var(--ds-color-on-primary);\n}\n\n.root:focus-visible {\n outline: 2px solid var(--ds-color-border-focus);\n outline-offset: 2px;\n}\n.root:disabled {\n background: var(--ds-color-disabled-bg);\n border-color: var(--ds-color-disabled-border);\n cursor: not-allowed;\n}\n\n.indicator {\n display: flex;\n align-items: center;\n justify-content: center;\n color: currentColor;\n}\n.label {\n font-size: var(--ds-font-size-sm);\n color: var(--ds-color-text);\n cursor: pointer;\n line-height: var(--ds-line-height-normal);\n}\n","import * as RadixCheckbox from \"@radix-ui/react-checkbox\";\nimport React, { useId } from \"react\";\n\nimport styles from \"./Checkbox.module.css\";\n\nexport interface CheckboxProps {\n checked?: boolean | \"indeterminate\";\n defaultChecked?: boolean;\n onCheckedChange?: (checked: boolean | \"indeterminate\") => void;\n disabled?: boolean;\n label?: string;\n id?: string;\n className?: string;\n}\n\nexport const Checkbox: React.FC<CheckboxProps> = ({\n checked,\n defaultChecked,\n onCheckedChange,\n disabled,\n label,\n id,\n className\n}) => {\n const generatedId = useId();\n const checkboxId = id ?? generatedId;\n\n return (\n <div className={[styles.wrapper, className ?? \"\"].filter(Boolean).join(\" \")}>\n <RadixCheckbox.Root\n id={checkboxId}\n checked={checked}\n defaultChecked={defaultChecked}\n onCheckedChange={onCheckedChange}\n disabled={disabled}\n className={styles.root}\n >\n <RadixCheckbox.Indicator className={styles.indicator}>\n {checked === \"indeterminate\" ? (\n <svg width=\"10\" height=\"2\" viewBox=\"0 0 10 2\" fill=\"currentColor\" aria-hidden=\"true\">\n <rect width=\"10\" height=\"2\" rx=\"1\" />\n </svg>\n ) : (\n <svg width=\"10\" height=\"8\" viewBox=\"0 0 10 8\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M1 4l2.5 2.5L9 1\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )}\n </RadixCheckbox.Indicator>\n </RadixCheckbox.Root>\n {label && (\n <label htmlFor={checkboxId} className={styles.label}>\n {label}\n </label>\n )}\n </div>\n );\n};\n\nCheckbox.displayName = \"Checkbox\";\n",".group {\n display: flex;\n}\n.vertical {\n flex-direction: column;\n gap: var(--ds-space-2);\n}\n.horizontal {\n flex-direction: row;\n flex-wrap: wrap;\n gap: var(--ds-space-4);\n}\n\n.item {\n display: flex;\n align-items: center;\n gap: var(--ds-space-2);\n}\n\n.radio {\n width: 18px;\n height: 18px;\n border-radius: var(--ds-radius-full);\n border: 2px solid var(--ds-color-border-strong);\n background: var(--ds-color-bg);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n flex-shrink: 0;\n outline: none;\n transition: border-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n}\n\n.radio[data-state=\"checked\"] {\n border-color: var(--ds-color-primary);\n}\n.radio:focus-visible {\n outline: 2px solid var(--ds-color-border-focus);\n outline-offset: 2px;\n}\n.radio:disabled {\n background: var(--ds-color-disabled-bg);\n border-color: var(--ds-color-disabled-border);\n cursor: not-allowed;\n}\n\n.indicator {\n width: 8px;\n height: 8px;\n border-radius: var(--ds-radius-full);\n background: var(--ds-color-primary);\n}\n\n.label {\n font-size: var(--ds-font-size-sm);\n color: var(--ds-color-text);\n cursor: pointer;\n}\n","import * as RadixRadio from \"@radix-ui/react-radio-group\";\nimport React, { useId } from \"react\";\n\nimport styles from \"./Radio.module.css\";\n\nexport interface RadioOption {\n value: string;\n label: string;\n disabled?: boolean;\n}\n\nexport interface RadioGroupProps {\n options: RadioOption[];\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n disabled?: boolean;\n name?: string;\n orientation?: \"horizontal\" | \"vertical\";\n className?: string;\n}\n\nexport const RadioGroup: React.FC<RadioGroupProps> = ({\n options,\n value,\n defaultValue,\n onValueChange,\n disabled,\n name,\n orientation = \"vertical\",\n className\n}) => {\n const baseId = useId();\n\n return (\n <RadixRadio.Root\n value={value}\n defaultValue={defaultValue}\n onValueChange={onValueChange}\n disabled={disabled}\n name={name}\n orientation={orientation}\n className={[styles.group, styles[orientation], className ?? \"\"].filter(Boolean).join(\" \")}\n >\n {options.map((option) => {\n const radioId = `${baseId}-${option.value}`;\n return (\n <div key={option.value} className={styles.item}>\n <RadixRadio.Item\n id={radioId}\n value={option.value}\n disabled={option.disabled ?? disabled}\n className={styles.radio}\n >\n <RadixRadio.Indicator className={styles.indicator} />\n </RadixRadio.Item>\n <label htmlFor={radioId} className={styles.label}>\n {option.label}\n </label>\n </div>\n );\n })}\n </RadixRadio.Root>\n );\n};\n\nRadioGroup.displayName = \"RadioGroup\";\n",".wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--ds-space-1);\n width: 100%;\n}\n.label {\n font-size: var(--ds-font-size-sm);\n font-weight: var(--ds-font-weight-medium);\n color: var(--ds-color-text);\n}\n\n.trigger {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--ds-space-2);\n width: 100%;\n font-family: var(--ds-font-family-base);\n color: var(--ds-color-text);\n background: var(--ds-color-bg);\n border: 1px solid var(--ds-color-border);\n border-radius: var(--ds-radius-md);\n cursor: pointer;\n outline: none;\n transition: border-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n}\n\n.trigger:hover:not(:disabled) {\n border-color: var(--ds-color-border-strong);\n}\n.trigger:focus {\n border-color: var(--ds-color-border-focus);\n box-shadow: 0 0 0 3px var(--ds-color-primary-muted);\n}\n.trigger[data-disabled] {\n background: var(--ds-color-disabled-bg);\n color: var(--ds-color-disabled-text);\n cursor: not-allowed;\n}\n.trigger.error {\n border-color: var(--ds-color-border-error);\n}\n\n.sm {\n padding: var(--ds-space-1) var(--ds-space-2);\n font-size: var(--ds-font-size-sm);\n min-height: 32px;\n}\n.md {\n padding: var(--ds-space-2) var(--ds-space-3);\n font-size: var(--ds-font-size-md);\n min-height: 40px;\n}\n.lg {\n padding: var(--ds-space-3) var(--ds-space-4);\n font-size: var(--ds-font-size-lg);\n min-height: 48px;\n}\n\n.icon {\n color: var(--ds-color-text-muted);\n flex-shrink: 0;\n}\n\n.content {\n background: var(--ds-color-surface);\n border: 1px solid var(--ds-color-border);\n border-radius: var(--ds-radius-lg);\n box-shadow: var(--ds-elevation-md);\n z-index: var(--ds-z-dropdown);\n min-width: var(--radix-select-trigger-width);\n max-height: var(--radix-select-content-available-height);\n overflow: hidden;\n}\n\n.viewport {\n padding: var(--ds-space-1);\n}\n\n.item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--ds-space-2);\n padding: var(--ds-space-2) var(--ds-space-3);\n border-radius: var(--ds-radius-md);\n font-size: var(--ds-font-size-sm);\n color: var(--ds-color-text);\n cursor: pointer;\n outline: none;\n transition: background var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n user-select: none;\n}\n\n.item[data-highlighted] {\n background: var(--ds-color-primary-subtle);\n color: var(--ds-color-primary);\n}\n.item[data-disabled] {\n color: var(--ds-color-disabled-text);\n cursor: not-allowed;\n}\n.itemIndicator {\n color: var(--ds-color-primary);\n}\n\n.errorText {\n font-size: var(--ds-font-size-xs);\n color: var(--ds-color-error);\n}\n.helperText {\n font-size: var(--ds-font-size-xs);\n color: var(--ds-color-text-muted);\n}\n","import * as RadixSelect from \"@radix-ui/react-select\";\nimport React, { useId } from \"react\";\n\nimport styles from \"./Select.module.css\";\n\nexport interface SelectOption {\n value: string;\n label: string;\n disabled?: boolean;\n}\n\nexport type SelectSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface SelectProps {\n options: SelectOption[];\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n label?: string;\n placeholder?: string;\n error?: string;\n helperText?: string;\n disabled?: boolean;\n size?: SelectSize;\n id?: string;\n className?: string;\n}\n\nexport const Select: React.FC<SelectProps> = ({\n options,\n value,\n defaultValue,\n onValueChange,\n label,\n placeholder = \"Selecione...\",\n error,\n helperText,\n disabled,\n size = \"md\",\n id,\n className\n}) => {\n const generatedId = useId();\n const selectId = id ?? generatedId;\n\n return (\n <div className={[styles.wrapper, className ?? \"\"].filter(Boolean).join(\" \")}>\n {label && (\n <label id={`${selectId}-label`} className={styles.label}>\n {label}\n </label>\n )}\n <RadixSelect.Root\n value={value}\n defaultValue={defaultValue}\n onValueChange={onValueChange}\n disabled={disabled}\n >\n <RadixSelect.Trigger\n id={selectId}\n aria-labelledby={label ? `${selectId}-label` : undefined}\n aria-invalid={!!error}\n className={[styles.trigger, styles[size], error ? styles.error : \"\"]\n .filter(Boolean)\n .join(\" \")}\n >\n <RadixSelect.Value placeholder={placeholder} />\n <RadixSelect.Icon className={styles.icon}>\n <svg width=\"12\" height=\"8\" viewBox=\"0 0 12 8\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M1 1l5 5 5-5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </RadixSelect.Icon>\n </RadixSelect.Trigger>\n\n <RadixSelect.Portal>\n <RadixSelect.Content className={styles.content} position=\"popper\" sideOffset={4}>\n <RadixSelect.Viewport className={styles.viewport}>\n {options.map((option) => (\n <RadixSelect.Item\n key={option.value}\n value={option.value}\n disabled={option.disabled}\n className={styles.item}\n >\n <RadixSelect.ItemText>{option.label}</RadixSelect.ItemText>\n <RadixSelect.ItemIndicator className={styles.itemIndicator}>\n <svg width=\"12\" height=\"10\" viewBox=\"0 0 12 10\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M1 5l3 3 7-7\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </RadixSelect.ItemIndicator>\n </RadixSelect.Item>\n ))}\n </RadixSelect.Viewport>\n </RadixSelect.Content>\n </RadixSelect.Portal>\n </RadixSelect.Root>\n\n {error && (\n <span className={styles.errorText} role=\"alert\">\n {error}\n </span>\n )}\n {helperText && !error && <span className={styles.helperText}>{helperText}</span>}\n </div>\n );\n};\n\nSelect.displayName = \"Select\";\n",".content {\n background: var(--ds-color-text);\n color: var(--ds-color-text-inverse);\n font-family: var(--ds-font-family-base);\n font-size: var(--ds-font-size-xs);\n line-height: var(--ds-line-height-normal);\n padding: var(--ds-space-1) var(--ds-space-2);\n border-radius: var(--ds-radius-md);\n box-shadow: var(--ds-elevation-md);\n z-index: var(--ds-z-tooltip);\n max-width: 250px;\n animation: fadeIn var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n}\n\n.arrow {\n fill: var(--ds-color-text);\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n transform: scale(0.96);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n","import * as RadixTooltip from \"@radix-ui/react-tooltip\";\nimport React from \"react\";\n\nimport styles from \"./Tooltip.module.css\";\n\nexport type TooltipSide = \"top\" | \"right\" | \"bottom\" | \"left\";\n\nexport interface TooltipProps {\n content: React.ReactNode;\n children: React.ReactElement;\n side?: TooltipSide;\n delayDuration?: number;\n}\n\nexport const TooltipProvider = RadixTooltip.Provider;\n\nexport const Tooltip: React.FC<TooltipProps> = ({\n content,\n children,\n side = \"top\",\n delayDuration = 300\n}) => (\n <RadixTooltip.Root delayDuration={delayDuration}>\n <RadixTooltip.Trigger asChild>{children}</RadixTooltip.Trigger>\n <RadixTooltip.Portal>\n <RadixTooltip.Content side={side} className={styles.content} sideOffset={6}>\n {content}\n <RadixTooltip.Arrow className={styles.arrow} />\n </RadixTooltip.Content>\n </RadixTooltip.Portal>\n </RadixTooltip.Root>\n);\n\nTooltip.displayName = \"Tooltip\";\n",".list {\n display: flex;\n gap: var(--ds-space-2);\n list-style: none;\n margin: 0;\n padding: 0;\n flex-wrap: wrap;\n}\n\n.link {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--ds-radius-full);\n color: var(--ds-color-text-muted);\n background: var(--ds-color-bg-subtle);\n transition:\n color var(--ds-motion-duration-fast) var(--ds-motion-easing-out),\n background var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n text-decoration: none;\n}\n\n.link:hover {\n color: var(--ds-color-primary);\n background: var(--ds-color-primary-subtle);\n}\n.link:focus-visible {\n outline: 2px solid var(--ds-color-border-focus);\n outline-offset: 2px;\n}\n\n.sm {\n width: 32px;\n height: 32px;\n font-size: 14px;\n}\n.md {\n width: 40px;\n height: 40px;\n font-size: 16px;\n}\n.lg {\n width: 48px;\n height: 48px;\n font-size: 20px;\n}\n","import React from \"react\";\nimport {\n FaLinkedinIn,\n FaInstagram,\n FaGithub,\n FaYoutube,\n FaWhatsapp,\n FaFacebookF,\n FaTwitter\n} from \"react-icons/fa\";\n\nimport styles from \"./SocialIcons.module.css\";\n\nexport type SocialPlatform =\n | \"linkedin\"\n | \"instagram\"\n | \"github\"\n | \"youtube\"\n | \"whatsapp\"\n | \"facebook\"\n | \"twitter\";\n\nexport type SocialIconSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface SocialLink {\n platform: SocialPlatform;\n url: string;\n label?: string;\n}\n\nexport interface SocialIconsProps {\n links: SocialLink[];\n size?: SocialIconSize;\n className?: string;\n}\n\nconst ICON_MAP: Record<SocialPlatform, React.ElementType> = {\n linkedin: FaLinkedinIn,\n instagram: FaInstagram,\n github: FaGithub,\n youtube: FaYoutube,\n whatsapp: FaWhatsapp,\n facebook: FaFacebookF,\n twitter: FaTwitter\n};\n\nconst DEFAULT_LABELS: Record<SocialPlatform, string> = {\n linkedin: \"Seguir no LinkedIn\",\n instagram: \"Seguir no Instagram\",\n github: \"Ver no GitHub\",\n youtube: \"Assistir no YouTube\",\n whatsapp: \"Conversar no WhatsApp\",\n facebook: \"Seguir no Facebook\",\n twitter: \"Seguir no Twitter\"\n};\n\nexport const SocialIcons: React.FC<SocialIconsProps> = ({ links, size = \"md\", className }) => (\n <ul className={[styles.list, className ?? \"\"].filter(Boolean).join(\" \")}>\n {links.map(({ platform, url, label }) => {\n const Icon = ICON_MAP[platform];\n const ariaLabel = label ?? DEFAULT_LABELS[platform];\n return (\n <li key={platform}>\n <a\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label={ariaLabel}\n className={[styles.link, styles[size]].join(\" \")}\n >\n <Icon aria-hidden=\"true\" />\n </a>\n </li>\n );\n })}\n </ul>\n);\n\nSocialIcons.displayName = \"SocialIcons\";\n",".card {\n background: var(--ds-color-surface);\n border: 1px solid var(--ds-color-border);\n overflow: hidden;\n}\n\n.header {\n padding: var(--ds-space-4) var(--ds-space-6);\n border-bottom: 1px solid var(--ds-color-border-muted);\n font-weight: var(--ds-font-weight-semibold);\n font-size: var(--ds-font-size-lg);\n color: var(--ds-color-text);\n}\n\n.body {\n padding: var(--ds-space-6);\n color: var(--ds-color-text);\n}\n\n.footer {\n padding: var(--ds-space-4) var(--ds-space-6);\n border-top: 1px solid var(--ds-color-border-muted);\n background: var(--ds-color-bg-subtle);\n display: flex;\n align-items: center;\n gap: var(--ds-space-2);\n}\n","import React from \"react\";\n\nimport type { ElevationKey, RadiiKey } from \"../../../tokens\";\n\nimport styles from \"./Card.module.css\";\n\nexport interface CardProps {\n elevation?: ElevationKey;\n radius?: RadiiKey;\n className?: string;\n children: React.ReactNode;\n}\n\ninterface CardSectionProps {\n className?: string;\n children: React.ReactNode;\n}\n\nconst CardHeader: React.FC<CardSectionProps> = ({ children, className }) => (\n <div className={[styles.header, className ?? \"\"].filter(Boolean).join(\" \")}>{children}</div>\n);\n\nconst CardBody: React.FC<CardSectionProps> = ({ children, className }) => (\n <div className={[styles.body, className ?? \"\"].filter(Boolean).join(\" \")}>{children}</div>\n);\n\nconst CardFooter: React.FC<CardSectionProps> = ({ children, className }) => (\n <div className={[styles.footer, className ?? \"\"].filter(Boolean).join(\" \")}>{children}</div>\n);\n\nexport const Card: React.FC<CardProps> & {\n Header: typeof CardHeader;\n Body: typeof CardBody;\n Footer: typeof CardFooter;\n} = ({ elevation = \"sm\", radius = \"lg\", className, children }) => (\n <div\n className={[styles.card, className ?? \"\"].filter(Boolean).join(\" \")}\n style={{\n boxShadow: `var(--ds-elevation-${elevation})`,\n borderRadius: `var(--ds-radius-${radius})`\n }}\n >\n {children}\n </div>\n);\n\nCard.Header = CardHeader;\nCard.Body = CardBody;\nCard.Footer = CardFooter;\nCard.displayName = \"Card\";\n",".overlay {\n position: fixed;\n inset: 0;\n background: var(--ds-color-bg-overlay);\n z-index: var(--ds-z-overlay);\n animation: overlayIn var(--ds-motion-duration-normal) var(--ds-motion-easing-out);\n}\n\n.content {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background: var(--ds-color-surface);\n border-radius: var(--ds-radius-xl);\n box-shadow: var(--ds-elevation-xl);\n z-index: var(--ds-z-modal);\n max-height: 90vh;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n animation: contentIn var(--ds-motion-duration-normal) var(--ds-motion-easing-spring);\n}\n\n.sm {\n width: min(400px, 90vw);\n}\n.md {\n width: min(560px, 90vw);\n}\n.lg {\n width: min(720px, 90vw);\n}\n.xl {\n width: min(900px, 90vw);\n}\n.full {\n width: calc(100vw - 32px);\n height: calc(100vh - 32px);\n top: 16px;\n left: 16px;\n transform: none;\n}\n\n.header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--ds-space-4);\n padding: var(--ds-space-4) var(--ds-space-6);\n border-bottom: 1px solid var(--ds-color-border-muted);\n}\n\n.title {\n font-family: var(--ds-font-family-heading);\n font-size: var(--ds-font-size-xl);\n font-weight: var(--ds-font-weight-semibold);\n color: var(--ds-color-text);\n margin: 0;\n}\n\n.description {\n padding: var(--ds-space-2) var(--ds-space-6) 0;\n font-size: var(--ds-font-size-sm);\n color: var(--ds-color-text-muted);\n}\n\n.body {\n padding: var(--ds-space-6);\n flex: 1;\n}\n\n.close {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border-radius: var(--ds-radius-md);\n border: none;\n background: transparent;\n color: var(--ds-color-text-muted);\n cursor: pointer;\n transition:\n background var(--ds-motion-duration-fast) var(--ds-motion-easing-out),\n color var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n flex-shrink: 0;\n}\n\n.close:hover {\n background: var(--ds-color-bg-subtle);\n color: var(--ds-color-text);\n}\n.close:focus-visible {\n outline: 2px solid var(--ds-color-border-focus);\n outline-offset: 2px;\n}\n\n@keyframes overlayIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes contentIn {\n from {\n opacity: 0;\n transform: translate(-50%, -48%) scale(0.96);\n }\n to {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n }\n}\n","import * as Dialog from \"@radix-ui/react-dialog\";\nimport React from \"react\";\n\nimport styles from \"./Modal.module.css\";\n\nexport type ModalSize = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"full\";\n\nexport interface ModalProps {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n title?: string;\n description?: string;\n size?: ModalSize;\n children: React.ReactNode;\n trigger?: React.ReactElement;\n}\n\nexport const Modal: React.FC<ModalProps> = ({\n open,\n onOpenChange,\n title,\n description,\n size = \"md\",\n children,\n trigger\n}) => (\n <Dialog.Root open={open} onOpenChange={onOpenChange}>\n {trigger && <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>}\n <Dialog.Portal>\n <Dialog.Overlay className={styles.overlay} />\n <Dialog.Content\n className={[styles.content, styles[size]].join(\" \")}\n aria-describedby={description ? \"modal-description\" : undefined}\n >\n <div className={styles.header}>\n {title && <Dialog.Title className={styles.title}>{title}</Dialog.Title>}\n <Dialog.Close asChild>\n <button className={styles.close} aria-label=\"Fechar\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M2 2l12 12M14 2L2 14\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n </svg>\n </button>\n </Dialog.Close>\n </div>\n {description && (\n <Dialog.Description id=\"modal-description\" className={styles.description}>\n {description}\n </Dialog.Description>\n )}\n <div className={styles.body}>{children}</div>\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n);\n\nModal.displayName = \"Modal\";\n",".overlay {\n position: fixed;\n inset: 0;\n background: var(--ds-color-bg-overlay);\n z-index: var(--ds-z-overlay);\n animation: fadeIn var(--ds-motion-duration-normal) var(--ds-motion-easing-out);\n}\n\n.content {\n position: fixed;\n background: var(--ds-color-surface);\n box-shadow: var(--ds-elevation-xl);\n z-index: var(--ds-z-modal);\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n}\n\n.right {\n top: 0;\n right: 0;\n bottom: 0;\n width: min(480px, 90vw);\n animation: slideInRight var(--ds-motion-duration-normal) var(--ds-motion-easing-out);\n}\n.left {\n top: 0;\n left: 0;\n bottom: 0;\n width: min(480px, 90vw);\n animation: slideInLeft var(--ds-motion-duration-normal) var(--ds-motion-easing-out);\n}\n.top {\n top: 0;\n left: 0;\n right: 0;\n height: min(360px, 60vh);\n animation: slideInTop var(--ds-motion-duration-normal) var(--ds-motion-easing-out);\n}\n.bottom {\n bottom: 0;\n left: 0;\n right: 0;\n height: min(360px, 60vh);\n animation: slideInBottom var(--ds-motion-duration-normal) var(--ds-motion-easing-out);\n}\n\n.header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--ds-space-4) var(--ds-space-6);\n border-bottom: 1px solid var(--ds-color-border-muted);\n}\n.title {\n font-size: var(--ds-font-size-xl);\n font-weight: var(--ds-font-weight-semibold);\n color: var(--ds-color-text);\n margin: 0;\n}\n.body {\n padding: var(--ds-space-6);\n flex: 1;\n}\n.close {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border-radius: var(--ds-radius-md);\n border: none;\n background: transparent;\n color: var(--ds-color-text-muted);\n cursor: pointer;\n}\n.close:hover {\n background: var(--ds-color-bg-subtle);\n color: var(--ds-color-text);\n}\n.close:focus-visible {\n outline: 2px solid var(--ds-color-border-focus);\n outline-offset: 2px;\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes slideInRight {\n from {\n transform: translateX(100%);\n }\n to {\n transform: translateX(0);\n }\n}\n@keyframes slideInLeft {\n from {\n transform: translateX(-100%);\n }\n to {\n transform: translateX(0);\n }\n}\n@keyframes slideInTop {\n from {\n transform: translateY(-100%);\n }\n to {\n transform: translateY(0);\n }\n}\n@keyframes slideInBottom {\n from {\n transform: translateY(100%);\n }\n to {\n transform: translateY(0);\n }\n}\n","import * as Dialog from \"@radix-ui/react-dialog\";\nimport React from \"react\";\n\nimport styles from \"./Drawer.module.css\";\n\nexport type DrawerSide = \"left\" | \"right\" | \"top\" | \"bottom\";\n\nexport interface DrawerProps {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n title?: string;\n side?: DrawerSide;\n children: React.ReactNode;\n trigger?: React.ReactElement;\n}\n\nexport const Drawer: React.FC<DrawerProps> = ({\n open,\n onOpenChange,\n title,\n side = \"right\",\n children,\n trigger\n}) => (\n <Dialog.Root open={open} onOpenChange={onOpenChange}>\n {trigger && <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>}\n <Dialog.Portal>\n <Dialog.Overlay className={styles.overlay} />\n <Dialog.Content className={[styles.content, styles[side]].join(\" \")}>\n <div className={styles.header}>\n {title && <Dialog.Title className={styles.title}>{title}</Dialog.Title>}\n <Dialog.Close asChild>\n <button className={styles.close} aria-label=\"Fechar\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M2 2l12 12M14 2L2 14\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n </svg>\n </button>\n </Dialog.Close>\n </div>\n <div className={styles.body}>{children}</div>\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n);\n\nDrawer.displayName = \"Drawer\";\n",".root {\n display: flex;\n flex-direction: column;\n}\n.list {\n display: flex;\n border-bottom: 2px solid var(--ds-color-border);\n gap: 0;\n}\n.trigger {\n padding: var(--ds-space-2) var(--ds-space-4);\n font-family: var(--ds-font-family-base);\n font-size: var(--ds-font-size-sm);\n font-weight: var(--ds-font-weight-medium);\n color: var(--ds-color-text-muted);\n background: transparent;\n border: none;\n border-bottom: 2px solid transparent;\n margin-bottom: -2px;\n cursor: pointer;\n transition:\n color var(--ds-motion-duration-fast) var(--ds-motion-easing-out),\n border-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n outline: none;\n}\n.trigger:hover:not([disabled]) {\n color: var(--ds-color-text);\n}\n.trigger[data-state=\"active\"] {\n color: var(--ds-color-primary);\n border-bottom-color: var(--ds-color-primary);\n}\n.trigger[disabled] {\n color: var(--ds-color-disabled-text);\n cursor: not-allowed;\n}\n.trigger:focus-visible {\n outline: 2px solid var(--ds-color-border-focus);\n outline-offset: 2px;\n border-radius: var(--ds-radius-sm);\n}\n.content {\n padding: var(--ds-space-6) 0;\n}\n","import * as RadixTabs from \"@radix-ui/react-tabs\";\nimport React from \"react\";\n\nimport styles from \"./Tabs.module.css\";\n\nexport interface TabItem {\n value: string;\n label: string;\n content: React.ReactNode;\n disabled?: boolean;\n}\n\nexport interface TabsProps {\n tabs: TabItem[];\n defaultValue?: string;\n value?: string;\n onValueChange?: (value: string) => void;\n className?: string;\n}\n\nexport const Tabs: React.FC<TabsProps> = ({\n tabs,\n defaultValue,\n value,\n onValueChange,\n className\n}) => (\n <RadixTabs.Root\n defaultValue={defaultValue ?? tabs[0]?.value}\n value={value}\n onValueChange={onValueChange}\n className={[styles.root, className ?? \"\"].filter(Boolean).join(\" \")}\n >\n <RadixTabs.List className={styles.list} aria-label=\"Tabs\">\n {tabs.map((tab) => (\n <RadixTabs.Trigger\n key={tab.value}\n value={tab.value}\n disabled={tab.disabled}\n className={styles.trigger}\n >\n {tab.label}\n </RadixTabs.Trigger>\n ))}\n </RadixTabs.List>\n {tabs.map((tab) => (\n <RadixTabs.Content key={tab.value} value={tab.value} className={styles.content}>\n {tab.content}\n </RadixTabs.Content>\n ))}\n </RadixTabs.Root>\n);\n\nTabs.displayName = \"Tabs\";\n",".root {\n border: 1px solid var(--ds-color-border);\n border-radius: var(--ds-radius-lg);\n overflow: hidden;\n}\n.item {\n border-bottom: 1px solid var(--ds-color-border);\n}\n.item:last-child {\n border-bottom: none;\n}\n.item[data-disabled] {\n opacity: 0.5;\n}\n.trigger {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--ds-space-4);\n width: 100%;\n padding: var(--ds-space-4) var(--ds-space-6);\n font-family: var(--ds-font-family-base);\n font-size: var(--ds-font-size-md);\n font-weight: var(--ds-font-weight-medium);\n color: var(--ds-color-text);\n background: transparent;\n border: none;\n cursor: pointer;\n text-align: left;\n transition: background var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n outline: none;\n}\n.trigger:hover {\n background: var(--ds-color-bg-subtle);\n}\n.trigger:focus-visible {\n outline: 2px solid var(--ds-color-border-focus);\n outline-offset: -2px;\n}\n.chevron {\n flex-shrink: 0;\n transition: transform var(--ds-motion-duration-normal) var(--ds-motion-easing-in-out);\n}\n.trigger[data-state=\"open\"] .chevron {\n transform: rotate(180deg);\n}\n.content {\n overflow: hidden;\n}\n.content[data-state=\"open\"] {\n animation: slideDown var(--ds-motion-duration-normal) var(--ds-motion-easing-out);\n}\n.content[data-state=\"closed\"] {\n animation: slideUp var(--ds-motion-duration-normal) var(--ds-motion-easing-out);\n}\n.contentInner {\n padding: 0 var(--ds-space-6) var(--ds-space-4);\n color: var(--ds-color-text-muted);\n font-size: var(--ds-font-size-md);\n}\n@keyframes slideDown {\n from {\n height: 0;\n }\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n@keyframes slideUp {\n from {\n height: var(--radix-accordion-content-height);\n }\n to {\n height: 0;\n }\n}\n","import * as RadixAccordion from \"@radix-ui/react-accordion\";\nimport React from \"react\";\n\nimport styles from \"./Accordion.module.css\";\n\nexport interface AccordionItem {\n value: string;\n trigger: React.ReactNode;\n content: React.ReactNode;\n disabled?: boolean;\n}\n\nexport interface AccordionProps {\n items: AccordionItem[];\n type?: \"single\" | \"multiple\";\n defaultValue?: string | string[];\n value?: string | string[];\n onValueChange?: (value: string | string[]) => void;\n collapsible?: boolean;\n className?: string;\n}\n\nexport const Accordion: React.FC<AccordionProps> = ({\n items,\n type = \"single\",\n defaultValue,\n value,\n onValueChange,\n collapsible = true,\n className\n}) => {\n const rootClassName = [styles.root, className ?? \"\"].filter(Boolean).join(\" \");\n\n const content = items.map((item) => (\n <RadixAccordion.Item\n key={item.value}\n value={item.value}\n disabled={item.disabled}\n className={styles.item}\n >\n <RadixAccordion.Header>\n <RadixAccordion.Trigger className={styles.trigger}>\n {item.trigger}\n <svg\n className={styles.chevron}\n width=\"14\"\n height=\"9\"\n viewBox=\"0 0 14 9\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M1 1l6 6 6-6\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </RadixAccordion.Trigger>\n </RadixAccordion.Header>\n <RadixAccordion.Content className={styles.content}>\n <div className={styles.contentInner}>{item.content}</div>\n </RadixAccordion.Content>\n </RadixAccordion.Item>\n ));\n\n if (type === \"multiple\") {\n return (\n <RadixAccordion.Root\n type=\"multiple\"\n className={rootClassName}\n defaultValue={defaultValue as string[] | undefined}\n value={value as string[] | undefined}\n onValueChange={onValueChange as ((v: string[]) => void) | undefined}\n >\n {content}\n </RadixAccordion.Root>\n );\n }\n\n return (\n <RadixAccordion.Root\n type=\"single\"\n collapsible={collapsible}\n className={rootClassName}\n defaultValue={defaultValue as string | undefined}\n value={value as string | undefined}\n onValueChange={onValueChange as ((v: string) => void) | undefined}\n >\n {content}\n </RadixAccordion.Root>\n );\n};\n\nAccordion.displayName = \"Accordion\";\n",".viewport {\n position: fixed;\n bottom: var(--ds-space-6);\n right: var(--ds-space-6);\n display: flex;\n flex-direction: column;\n gap: var(--ds-space-2);\n width: 360px;\n max-width: calc(100vw - var(--ds-space-8));\n z-index: var(--ds-z-toast);\n list-style: none;\n padding: 0;\n margin: 0;\n outline: none;\n}\n\n.root {\n background: var(--ds-color-surface);\n border-radius: var(--ds-radius-lg);\n box-shadow: var(--ds-elevation-lg);\n border-left: 4px solid;\n animation: slideIn var(--ds-motion-duration-normal) var(--ds-motion-easing-out);\n}\n\n.root[data-state=\"closed\"] {\n animation: slideOut var(--ds-motion-duration-normal) var(--ds-motion-easing-in);\n}\n\n.default {\n border-color: var(--ds-color-border-strong);\n}\n.success {\n border-color: var(--ds-color-success);\n}\n.warning {\n border-color: var(--ds-color-warning);\n}\n.error {\n border-color: var(--ds-color-error);\n}\n.info {\n border-color: var(--ds-color-info);\n}\n\n.content {\n display: flex;\n align-items: flex-start;\n gap: var(--ds-space-3);\n padding: var(--ds-space-4);\n}\n.text {\n flex: 1;\n min-width: 0;\n}\n.title {\n font-size: var(--ds-font-size-sm);\n font-weight: var(--ds-font-weight-semibold);\n color: var(--ds-color-text);\n margin: 0;\n}\n.description {\n font-size: var(--ds-font-size-xs);\n color: var(--ds-color-text-muted);\n margin-top: var(--ds-space-1);\n}\n.close {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n border-radius: var(--ds-radius-sm);\n border: none;\n background: transparent;\n color: var(--ds-color-text-muted);\n cursor: pointer;\n flex-shrink: 0;\n padding: 0;\n}\n.close:hover {\n background: var(--ds-color-bg-subtle);\n}\n.close:focus-visible {\n outline: 2px solid var(--ds-color-border-focus);\n outline-offset: 2px;\n}\n\n@keyframes slideIn {\n from {\n transform: translateX(calc(100% + var(--ds-space-6)));\n opacity: 0;\n }\n to {\n transform: translateX(0);\n opacity: 1;\n }\n}\n@keyframes slideOut {\n from {\n transform: translateX(0);\n opacity: 1;\n }\n to {\n transform: translateX(calc(100% + var(--ds-space-6)));\n opacity: 0;\n }\n}\n","import * as RadixToast from \"@radix-ui/react-toast\";\nimport React, { createContext, useCallback, useContext, useState } from \"react\";\n\nimport styles from \"./Toast.module.css\";\n\nexport type ToastVariant = \"default\" | \"success\" | \"warning\" | \"error\" | \"info\";\n\nexport interface ToastMessage {\n id: string;\n title: string;\n description?: string;\n variant?: ToastVariant;\n duration?: number;\n}\n\ninterface ToastContextValue {\n show: (message: Omit<ToastMessage, \"id\">) => void;\n}\n\nconst ToastContext = createContext<ToastContextValue | null>(null);\n\nexport const useToast = (): ToastContextValue => {\n const ctx = useContext(ToastContext);\n if (!ctx) throw new Error(\"useToast must be used within ToastProvider\");\n return ctx;\n};\n\nexport const ToastProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [toasts, setToasts] = useState<ToastMessage[]>([]);\n\n const show = useCallback((message: Omit<ToastMessage, \"id\">) => {\n const id = Math.random().toString(36).slice(2);\n setToasts((prev) => [...prev, { ...message, id }]);\n }, []);\n\n const dismiss = useCallback((id: string) => {\n setToasts((prev) => prev.filter((t) => t.id !== id));\n }, []);\n\n return (\n <ToastContext.Provider value={{ show }}>\n <RadixToast.Provider swipeDirection=\"right\">\n {children}\n {toasts.map((toast) => (\n <RadixToast.Root\n key={toast.id}\n duration={toast.duration ?? 4000}\n className={[styles.root, styles[toast.variant ?? \"default\"]].join(\" \")}\n onOpenChange={(open) => {\n if (!open) dismiss(toast.id);\n }}\n >\n <div className={styles.content}>\n <div className={styles.text}>\n <RadixToast.Title className={styles.title}>{toast.title}</RadixToast.Title>\n {toast.description && (\n <RadixToast.Description className={styles.description}>\n {toast.description}\n </RadixToast.Description>\n )}\n </div>\n <RadixToast.Close asChild>\n <button className={styles.close} aria-label=\"Fechar notificação\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M1 1l10 10M11 1L1 11\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n </svg>\n </button>\n </RadixToast.Close>\n </div>\n </RadixToast.Root>\n ))}\n <RadixToast.Viewport className={styles.viewport} aria-label=\"Notificações\" role=\"region\" />\n </RadixToast.Provider>\n </ToastContext.Provider>\n );\n};\n",".wrapper {\n width: 100%;\n overflow-x: auto;\n border: 1px solid var(--ds-color-border);\n border-radius: var(--ds-radius-lg);\n}\n.table {\n width: 100%;\n border-collapse: collapse;\n font-family: var(--ds-font-family-base);\n font-size: var(--ds-font-size-sm);\n}\n.caption {\n padding: var(--ds-space-3) var(--ds-space-4);\n text-align: left;\n font-size: var(--ds-font-size-sm);\n color: var(--ds-color-text-muted);\n}\n.head {\n background: var(--ds-color-bg-subtle);\n}\n.stickyHeader .head {\n position: sticky;\n top: 0;\n z-index: var(--ds-z-raised);\n}\n.th {\n padding: var(--ds-space-3) var(--ds-space-4);\n text-align: left;\n font-weight: var(--ds-font-weight-semibold);\n color: var(--ds-color-text);\n border-bottom: 2px solid var(--ds-color-border);\n white-space: nowrap;\n}\n.td {\n padding: var(--ds-space-3) var(--ds-space-4);\n color: var(--ds-color-text);\n border-bottom: 1px solid var(--ds-color-border-muted);\n vertical-align: middle;\n}\n.row:last-child .td {\n border-bottom: none;\n}\n.body .row:hover {\n background: var(--ds-color-bg-subtle);\n}\n","import React from \"react\";\n\nimport styles from \"./Table.module.css\";\n\ntype TableHeadProps = React.HTMLAttributes<HTMLTableSectionElement>;\ntype TableBodyProps = React.HTMLAttributes<HTMLTableSectionElement>;\ntype TableRowProps = React.HTMLAttributes<HTMLTableRowElement>;\n\ninterface TableCellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {\n as?: \"td\" | \"th\";\n scope?: \"col\" | \"row\" | \"colgroup\" | \"rowgroup\";\n}\n\ninterface TableRootProps extends React.TableHTMLAttributes<HTMLTableElement> {\n caption?: string;\n stickyHeader?: boolean;\n}\n\nconst TableHead: React.FC<TableHeadProps> = ({ className, children, ...props }) => (\n <thead className={[styles.head, className ?? \"\"].filter(Boolean).join(\" \")} {...props}>\n {children}\n </thead>\n);\n\nconst TableBody: React.FC<TableBodyProps> = ({ className, children, ...props }) => (\n <tbody className={[styles.body, className ?? \"\"].filter(Boolean).join(\" \")} {...props}>\n {children}\n </tbody>\n);\n\nconst TableRow: React.FC<TableRowProps> = ({ className, children, ...props }) => (\n <tr className={[styles.row, className ?? \"\"].filter(Boolean).join(\" \")} {...props}>\n {children}\n </tr>\n);\n\nconst TableCell: React.FC<TableCellProps> = ({\n as: Tag = \"td\",\n scope,\n className,\n children,\n ...props\n}) => {\n const cellClass = [Tag === \"th\" ? styles.th : styles.td, className ?? \"\"]\n .filter(Boolean)\n .join(\" \");\n return (\n <Tag\n className={cellClass}\n scope={scope}\n {...(props as React.HTMLAttributes<HTMLTableCellElement>)}\n >\n {children}\n </Tag>\n );\n};\n\nexport const Table: React.FC<TableRootProps> & {\n Head: typeof TableHead;\n Body: typeof TableBody;\n Row: typeof TableRow;\n Cell: typeof TableCell;\n} = ({ caption, stickyHeader, className, children, ...props }) => (\n <div className={styles.wrapper}>\n <table\n className={[styles.table, stickyHeader ? styles.stickyHeader : \"\", className ?? \"\"]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n {caption && <caption className={styles.caption}>{caption}</caption>}\n {children}\n </table>\n </div>\n);\n\nTable.Head = TableHead;\nTable.Body = TableBody;\nTable.Row = TableRow;\nTable.Cell = TableCell;\nTable.displayName = \"Table\";\n"]}
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/components/atoms/Button/Button.tsx", "../src/components/atoms/Button/Button.module.css", "../src/components/atoms/Input/Input.tsx", "../src/components/atoms/Input/Input.module.css", "../src/components/atoms/Textarea/Textarea.tsx", "../src/components/atoms/Textarea/Textarea.module.css", "../src/components/atoms/Badge/Badge.module.css", "../src/components/atoms/Badge/Badge.tsx", "../src/components/atoms/Avatar/Avatar.tsx", "../src/components/atoms/Avatar/Avatar.module.css", "../src/components/atoms/Checkbox/Checkbox.tsx", "../src/components/atoms/Checkbox/Checkbox.module.css", "../src/components/atoms/Radio/Radio.tsx", "../src/components/atoms/Radio/Radio.module.css", "../src/components/atoms/Select/Select.tsx", "../src/components/atoms/Select/Select.module.css", "../src/components/atoms/Tooltip/Tooltip.tsx", "../src/components/atoms/Tooltip/Tooltip.module.css", "../src/components/atoms/SocialIcons/SocialIcons.tsx", "../src/components/atoms/SocialIcons/SocialIcons.module.css", "../src/components/molecules/Card/Card.module.css", "../src/components/molecules/Card/Card.tsx", "../src/components/molecules/Modal/Modal.tsx", "../src/components/molecules/Modal/Modal.module.css", "../src/components/molecules/Drawer/Drawer.tsx", "../src/components/molecules/Drawer/Drawer.module.css", "../src/components/molecules/Tabs/Tabs.tsx", "../src/components/molecules/Tabs/Tabs.module.css", "../src/components/molecules/Accordion/Accordion.tsx", "../src/components/molecules/Accordion/Accordion.module.css", "../src/components/molecules/Toast/Toast.tsx", "../src/components/molecules/Toast/Toast.module.css", "../src/components/molecules/Table/Table.module.css", "../src/components/molecules/Table/Table.tsx", "../src/tokens/colors.primitive.ts", "../src/tokens/colors.semantic.ts", "../src/tokens/spacing.ts", "../src/tokens/typography.ts", "../src/tokens/radii.ts", "../src/tokens/elevation.ts", "../src/tokens/zIndex.ts", "../src/tokens/motion.ts", "../src/tokens/breakpoints.ts"],
|
|
4
|
+
"sourcesContent": ["import React from \"react\";\n\nimport styles from \"./Button.module.css\";\n\nexport type ButtonVariant = \"primary\" | \"secondary\" | \"ghost\" | \"danger\";\nexport type ButtonSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n variant?: ButtonVariant;\n size?: ButtonSize;\n loading?: boolean;\n children: React.ReactNode;\n}\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n variant = \"primary\",\n size = \"md\",\n loading = false,\n disabled,\n className,\n children,\n onClick,\n ...props\n },\n ref\n ) => {\n const isDisabled = disabled || loading;\n\n return (\n <button\n ref={ref}\n className={[\n styles.button,\n styles[variant],\n styles[size],\n loading ? styles.loading : \"\",\n className ?? \"\"\n ]\n .filter(Boolean)\n .join(\" \")}\n disabled={isDisabled}\n aria-disabled={isDisabled || undefined}\n aria-busy={loading || undefined}\n onClick={isDisabled ? undefined : onClick}\n {...props}\n >\n <span className={loading ? styles.labelHidden : styles.label}>{children}</span>\n {loading && <span className={styles.spinner} aria-hidden=\"true\" />}\n </button>\n );\n }\n);\n\nButton.displayName = \"Button\";\n", ".button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--ds-space-2);\n border: 1px solid transparent;\n border-radius: var(--ds-radius-md);\n font-family: var(--ds-font-family-base);\n font-weight: var(--ds-font-weight-medium);\n line-height: var(--ds-line-height-tight);\n cursor: pointer;\n text-decoration: none;\n transition:\n background-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out),\n border-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out),\n color var(--ds-motion-duration-fast) var(--ds-motion-easing-out),\n box-shadow var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n white-space: nowrap;\n user-select: none;\n}\n\n.button:focus-visible {\n outline: 2px solid var(--ds-color-border-focus);\n outline-offset: 2px;\n}\n\n/* Sizes */\n.sm {\n padding: var(--ds-space-1) var(--ds-space-3);\n font-size: var(--ds-font-size-sm);\n min-height: 32px;\n}\n\n.md {\n padding: var(--ds-space-2) var(--ds-space-4);\n font-size: var(--ds-font-size-md);\n min-height: 40px;\n}\n\n.lg {\n padding: var(--ds-space-3) var(--ds-space-6);\n font-size: var(--ds-font-size-lg);\n min-height: 48px;\n}\n\n/* Variants */\n.primary {\n background: var(--ds-color-primary);\n color: var(--ds-color-on-primary);\n border-color: var(--ds-color-primary);\n}\n\n.primary:hover:not(:disabled):not([aria-disabled=\"true\"]) {\n background: var(--ds-color-primary-hover);\n border-color: var(--ds-color-primary-hover);\n}\n\n.primary:active:not(:disabled) {\n background: var(--ds-color-primary-active);\n border-color: var(--ds-color-primary-active);\n}\n\n.secondary {\n background: var(--ds-color-secondary);\n color: var(--ds-color-on-secondary);\n border-color: var(--ds-color-secondary);\n}\n\n.secondary:hover:not(:disabled):not([aria-disabled=\"true\"]) {\n background: var(--ds-color-secondary-hover);\n border-color: var(--ds-color-secondary-hover);\n}\n\n.ghost {\n background: transparent;\n color: var(--ds-color-primary);\n border-color: var(--ds-color-border);\n}\n\n.ghost:hover:not(:disabled):not([aria-disabled=\"true\"]) {\n background: var(--ds-color-primary-subtle);\n border-color: var(--ds-color-primary);\n}\n\n.danger {\n background: var(--ds-color-error);\n color: var(--ds-color-on-error);\n border-color: var(--ds-color-error);\n}\n\n.danger:hover:not(:disabled):not([aria-disabled=\"true\"]) {\n background: var(--ds-color-error-hover);\n border-color: var(--ds-color-error-hover);\n}\n\n/* States */\n.button:disabled,\n.button[aria-disabled=\"true\"] {\n background: var(--ds-color-disabled-bg);\n color: var(--ds-color-disabled-text);\n border-color: var(--ds-color-disabled-border);\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* Loading */\n.loading {\n position: relative;\n cursor: wait;\n pointer-events: none;\n}\n\n.label {\n display: inline-flex;\n align-items: center;\n gap: var(--ds-space-2);\n}\n\n.labelHidden {\n visibility: hidden;\n}\n\n.spinner {\n position: absolute;\n width: 1em;\n height: 1em;\n border: 2px solid currentColor;\n border-top-color: transparent;\n border-radius: var(--ds-radius-full);\n animation: spin 0.6s linear infinite;\n}\n\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n", "import React, { useId } from \"react\";\n\nimport styles from \"./Input.module.css\";\n\nexport type InputSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\"> {\n label?: string;\n error?: string;\n helperText?: string;\n size?: InputSize;\n}\n\nexport const Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ label, error, helperText, size = \"md\", className, id, ...props }, ref) => {\n const generatedId = useId();\n const inputId = id ?? generatedId;\n const errorId = `${inputId}-error`;\n const helperId = `${inputId}-helper`;\n\n return (\n <div className={styles.wrapper}>\n {label && (\n <label htmlFor={inputId} className={styles.label}>\n {label}\n </label>\n )}\n <input\n ref={ref}\n id={inputId}\n className={[styles.input, styles[size], error ? styles.error : \"\", className ?? \"\"]\n .filter(Boolean)\n .join(\" \")}\n aria-invalid={!!error}\n aria-describedby={\n [error ? errorId : null, helperText ? helperId : null].filter(Boolean).join(\" \") ||\n undefined\n }\n {...props}\n />\n {error && (\n <span id={errorId} className={styles.errorText} role=\"alert\">\n {error}\n </span>\n )}\n {helperText && !error && (\n <span id={helperId} className={styles.helperText}>\n {helperText}\n </span>\n )}\n </div>\n );\n }\n);\n\nInput.displayName = \"Input\";\n", ".wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--ds-space-1);\n width: 100%;\n}\n\n.label {\n font-family: var(--ds-font-family-base);\n font-size: var(--ds-font-size-sm);\n font-weight: var(--ds-font-weight-medium);\n color: var(--ds-color-text);\n line-height: var(--ds-line-height-normal);\n}\n\n.input {\n width: 100%;\n font-family: var(--ds-font-family-base);\n font-size: var(--ds-font-size-md);\n color: var(--ds-color-text);\n background: var(--ds-color-bg);\n border: 1px solid var(--ds-color-border);\n border-radius: var(--ds-radius-md);\n transition:\n border-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out),\n box-shadow var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n outline: none;\n box-sizing: border-box;\n}\n\n.input::placeholder {\n color: var(--ds-color-text-subtle);\n}\n\n.input:hover:not(:disabled) {\n border-color: var(--ds-color-border-strong);\n}\n\n.input:focus {\n border-color: var(--ds-color-border-focus);\n box-shadow: 0 0 0 3px var(--ds-color-primary-muted);\n}\n\n.input:disabled {\n background: var(--ds-color-disabled-bg);\n color: var(--ds-color-disabled-text);\n border-color: var(--ds-color-disabled-border);\n cursor: not-allowed;\n}\n\n.input.error {\n border-color: var(--ds-color-border-error);\n}\n\n.input.error:focus {\n box-shadow: 0 0 0 3px var(--ds-color-error-muted);\n}\n\n/* Sizes */\n.sm {\n padding: var(--ds-space-1) var(--ds-space-2);\n font-size: var(--ds-font-size-sm);\n min-height: 32px;\n}\n.md {\n padding: var(--ds-space-2) var(--ds-space-3);\n font-size: var(--ds-font-size-md);\n min-height: 40px;\n}\n.lg {\n padding: var(--ds-space-3) var(--ds-space-4);\n font-size: var(--ds-font-size-lg);\n min-height: 48px;\n}\n\n.helperText {\n font-size: var(--ds-font-size-xs);\n color: var(--ds-color-text-muted);\n line-height: var(--ds-line-height-normal);\n}\n\n.errorText {\n font-size: var(--ds-font-size-xs);\n color: var(--ds-color-error);\n line-height: var(--ds-line-height-normal);\n}\n", "import React, { useId, useState } from \"react\";\n\nimport styles from \"./Textarea.module.css\";\n\nexport interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n label?: string;\n error?: string;\n helperText?: string;\n showCount?: boolean;\n}\n\nexport const Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n (\n { label, error, helperText, showCount = false, maxLength, className, id, onChange, ...props },\n ref\n ) => {\n const generatedId = useId();\n const textareaId = id ?? generatedId;\n const errorId = `${textareaId}-error`;\n const helperId = `${textareaId}-helper`;\n const [count, setCount] = useState(typeof props.value === \"string\" ? props.value.length : 0);\n\n const handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n setCount(e.target.value.length);\n onChange?.(e);\n };\n\n return (\n <div className={styles.wrapper}>\n {label && (\n <label htmlFor={textareaId} className={styles.label}>\n {label}\n </label>\n )}\n <textarea\n ref={ref}\n id={textareaId}\n className={[styles.textarea, error ? styles.error : \"\", className ?? \"\"]\n .filter(Boolean)\n .join(\" \")}\n maxLength={maxLength}\n onChange={handleChange}\n aria-invalid={!!error}\n aria-describedby={\n [error ? errorId : null, helperText ? helperId : null].filter(Boolean).join(\" \") ||\n undefined\n }\n {...props}\n />\n <div className={styles.footer}>\n {error && (\n <span id={errorId} className={styles.errorText} role=\"alert\">\n {error}\n </span>\n )}\n {helperText && !error && (\n <span id={helperId} className={styles.helperText}>\n {helperText}\n </span>\n )}\n {showCount && maxLength && (\n <span className={styles.counter} aria-live=\"polite\">\n {count}/{maxLength}\n </span>\n )}\n </div>\n </div>\n );\n }\n);\n\nTextarea.displayName = \"Textarea\";\n", ".wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--ds-space-1);\n width: 100%;\n}\n\n.label {\n font-family: var(--ds-font-family-base);\n font-size: var(--ds-font-size-sm);\n font-weight: var(--ds-font-weight-medium);\n color: var(--ds-color-text);\n}\n\n.textarea {\n width: 100%;\n min-height: 100px;\n padding: var(--ds-space-2) var(--ds-space-3);\n font-family: var(--ds-font-family-base);\n font-size: var(--ds-font-size-md);\n color: var(--ds-color-text);\n background: var(--ds-color-bg);\n border: 1px solid var(--ds-color-border);\n border-radius: var(--ds-radius-md);\n resize: vertical;\n outline: none;\n transition:\n border-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out),\n box-shadow var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n box-sizing: border-box;\n}\n\n.textarea:focus {\n border-color: var(--ds-color-border-focus);\n box-shadow: 0 0 0 3px var(--ds-color-primary-muted);\n}\n.textarea:disabled {\n background: var(--ds-color-disabled-bg);\n color: var(--ds-color-disabled-text);\n cursor: not-allowed;\n}\n.textarea.error {\n border-color: var(--ds-color-border-error);\n}\n.textarea.error:focus {\n box-shadow: 0 0 0 3px var(--ds-color-error-muted);\n}\n\n.footer {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n}\n.helperText {\n font-size: var(--ds-font-size-xs);\n color: var(--ds-color-text-muted);\n}\n.errorText {\n font-size: var(--ds-font-size-xs);\n color: var(--ds-color-error);\n}\n.counter {\n font-size: var(--ds-font-size-xs);\n color: var(--ds-color-text-muted);\n margin-left: auto;\n}\n", ".badge {\n display: inline-flex;\n align-items: center;\n font-family: var(--ds-font-family-base);\n font-weight: var(--ds-font-weight-medium);\n border-radius: var(--ds-radius-full);\n white-space: nowrap;\n}\n\n.sm {\n padding: 2px var(--ds-space-2);\n font-size: var(--ds-font-size-xs);\n}\n.md {\n padding: var(--ds-space-1) var(--ds-space-2);\n font-size: var(--ds-font-size-sm);\n}\n\n.default {\n background: var(--ds-color-bg-muted);\n color: var(--ds-color-text);\n}\n.primary {\n background: var(--ds-color-primary-muted);\n color: var(--ds-color-primary);\n}\n.success {\n background: var(--ds-color-success-muted);\n color: var(--ds-color-success);\n}\n.warning {\n background: var(--ds-color-warning-muted);\n color: var(--ds-color-warning-hover);\n}\n.error {\n background: var(--ds-color-error-muted);\n color: var(--ds-color-error);\n}\n.info {\n background: var(--ds-color-info-muted);\n color: var(--ds-color-info);\n}\n", "import React from \"react\";\n\nimport styles from \"./Badge.module.css\";\n\nexport type BadgeVariant = \"default\" | \"primary\" | \"success\" | \"warning\" | \"error\" | \"info\";\nexport type BadgeSize = \"sm\" | \"md\";\n\nexport interface BadgeProps {\n variant?: BadgeVariant;\n size?: BadgeSize;\n children: React.ReactNode;\n className?: string;\n}\n\nexport const Badge: React.FC<BadgeProps> = ({\n variant = \"default\",\n size = \"md\",\n children,\n className\n}) => (\n <span\n className={[styles.badge, styles[variant], styles[size], className ?? \"\"]\n .filter(Boolean)\n .join(\" \")}\n >\n {children}\n </span>\n);\n\nBadge.displayName = \"Badge\";\n", "import React, { useState } from \"react\";\n\nimport styles from \"./Avatar.module.css\";\n\nexport type AvatarSize = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\nexport type AvatarShape = \"circle\" | \"square\";\n\nexport interface AvatarProps {\n src?: string;\n alt?: string;\n name?: string;\n size?: AvatarSize;\n shape?: AvatarShape;\n className?: string;\n}\n\nfunction getInitials(name: string): string {\n return name\n .split(\" \")\n .map((part) => part[0])\n .filter(Boolean)\n .slice(0, 2)\n .join(\"\")\n .toUpperCase();\n}\n\nexport const Avatar: React.FC<AvatarProps> = ({\n src,\n alt,\n name,\n size = \"md\",\n shape = \"circle\",\n className\n}) => {\n const [imgError, setImgError] = useState(false);\n const initials = name ? getInitials(name) : null;\n const showImage = src && !imgError;\n\n const wrapperClass = [styles.avatar, styles[size], styles[shape], className ?? \"\"]\n .filter(Boolean)\n .join(\" \");\n\n if (showImage) {\n return (\n <span className={wrapperClass}>\n <img\n src={src}\n alt={alt ?? name ?? \"\"}\n className={styles.image}\n onError={() => setImgError(true)}\n />\n </span>\n );\n }\n\n return (\n <span className={wrapperClass} role=\"img\" aria-label={alt ?? name ?? \"Avatar\"}>\n <span className={styles.initials} aria-hidden=\"true\">\n {initials ?? \"?\"}\n </span>\n </span>\n );\n};\n\nAvatar.displayName = \"Avatar\";\n", ".avatar {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: var(--ds-color-primary-muted);\n color: var(--ds-color-primary);\n font-family: var(--ds-font-family-base);\n font-weight: var(--ds-font-weight-semibold);\n overflow: hidden;\n flex-shrink: 0;\n}\n\n.circle {\n border-radius: var(--ds-radius-full);\n}\n.square {\n border-radius: var(--ds-radius-lg);\n}\n\n.xs {\n width: 24px;\n height: 24px;\n font-size: var(--ds-font-size-xs);\n}\n.sm {\n width: 32px;\n height: 32px;\n font-size: var(--ds-font-size-xs);\n}\n.md {\n width: 40px;\n height: 40px;\n font-size: var(--ds-font-size-sm);\n}\n.lg {\n width: 56px;\n height: 56px;\n font-size: var(--ds-font-size-md);\n}\n.xl {\n width: 80px;\n height: 80px;\n font-size: var(--ds-font-size-xl);\n}\n\n.image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.initials {\n line-height: 1;\n}\n", "import * as RadixCheckbox from \"@radix-ui/react-checkbox\";\nimport React, { useId } from \"react\";\n\nimport styles from \"./Checkbox.module.css\";\n\nexport interface CheckboxProps {\n checked?: boolean | \"indeterminate\";\n defaultChecked?: boolean;\n onCheckedChange?: (checked: boolean | \"indeterminate\") => void;\n disabled?: boolean;\n label?: string;\n id?: string;\n className?: string;\n}\n\nexport const Checkbox: React.FC<CheckboxProps> = ({\n checked,\n defaultChecked,\n onCheckedChange,\n disabled,\n label,\n id,\n className\n}) => {\n const generatedId = useId();\n const checkboxId = id ?? generatedId;\n\n return (\n <div className={[styles.wrapper, className ?? \"\"].filter(Boolean).join(\" \")}>\n <RadixCheckbox.Root\n id={checkboxId}\n checked={checked}\n defaultChecked={defaultChecked}\n onCheckedChange={onCheckedChange}\n disabled={disabled}\n className={styles.root}\n >\n <RadixCheckbox.Indicator className={styles.indicator}>\n {checked === \"indeterminate\" ? (\n <svg width=\"10\" height=\"2\" viewBox=\"0 0 10 2\" fill=\"currentColor\" aria-hidden=\"true\">\n <rect width=\"10\" height=\"2\" rx=\"1\" />\n </svg>\n ) : (\n <svg width=\"10\" height=\"8\" viewBox=\"0 0 10 8\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M1 4l2.5 2.5L9 1\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )}\n </RadixCheckbox.Indicator>\n </RadixCheckbox.Root>\n {label && (\n <label htmlFor={checkboxId} className={styles.label}>\n {label}\n </label>\n )}\n </div>\n );\n};\n\nCheckbox.displayName = \"Checkbox\";\n", ".wrapper {\n display: flex;\n align-items: center;\n gap: var(--ds-space-2);\n}\n\n.root {\n width: 18px;\n height: 18px;\n border: 2px solid var(--ds-color-border-strong);\n border-radius: var(--ds-radius-sm);\n background: var(--ds-color-bg);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n flex-shrink: 0;\n transition:\n border-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out),\n background var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n outline: none;\n}\n\n.root[data-state=\"checked\"],\n.root[data-state=\"indeterminate\"] {\n background: var(--ds-color-primary);\n border-color: var(--ds-color-primary);\n color: var(--ds-color-on-primary);\n}\n\n.root:focus-visible {\n outline: 2px solid var(--ds-color-border-focus);\n outline-offset: 2px;\n}\n.root:disabled {\n background: var(--ds-color-disabled-bg);\n border-color: var(--ds-color-disabled-border);\n cursor: not-allowed;\n}\n\n.indicator {\n display: flex;\n align-items: center;\n justify-content: center;\n color: currentColor;\n}\n.label {\n font-size: var(--ds-font-size-sm);\n color: var(--ds-color-text);\n cursor: pointer;\n line-height: var(--ds-line-height-normal);\n}\n", "import * as RadixRadio from \"@radix-ui/react-radio-group\";\nimport React, { useId } from \"react\";\n\nimport styles from \"./Radio.module.css\";\n\nexport interface RadioOption {\n value: string;\n label: string;\n disabled?: boolean;\n}\n\nexport interface RadioGroupProps {\n options: RadioOption[];\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n disabled?: boolean;\n name?: string;\n orientation?: \"horizontal\" | \"vertical\";\n className?: string;\n}\n\nexport const RadioGroup: React.FC<RadioGroupProps> = ({\n options,\n value,\n defaultValue,\n onValueChange,\n disabled,\n name,\n orientation = \"vertical\",\n className\n}) => {\n const baseId = useId();\n\n return (\n <RadixRadio.Root\n value={value}\n defaultValue={defaultValue}\n onValueChange={onValueChange}\n disabled={disabled}\n name={name}\n orientation={orientation}\n className={[styles.group, styles[orientation], className ?? \"\"].filter(Boolean).join(\" \")}\n >\n {options.map((option) => {\n const radioId = `${baseId}-${option.value}`;\n return (\n <div key={option.value} className={styles.item}>\n <RadixRadio.Item\n id={radioId}\n value={option.value}\n disabled={option.disabled ?? disabled}\n className={styles.radio}\n >\n <RadixRadio.Indicator className={styles.indicator} />\n </RadixRadio.Item>\n <label htmlFor={radioId} className={styles.label}>\n {option.label}\n </label>\n </div>\n );\n })}\n </RadixRadio.Root>\n );\n};\n\nRadioGroup.displayName = \"RadioGroup\";\n", ".group {\n display: flex;\n}\n.vertical {\n flex-direction: column;\n gap: var(--ds-space-2);\n}\n.horizontal {\n flex-direction: row;\n flex-wrap: wrap;\n gap: var(--ds-space-4);\n}\n\n.item {\n display: flex;\n align-items: center;\n gap: var(--ds-space-2);\n}\n\n.radio {\n width: 18px;\n height: 18px;\n border-radius: var(--ds-radius-full);\n border: 2px solid var(--ds-color-border-strong);\n background: var(--ds-color-bg);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n flex-shrink: 0;\n outline: none;\n transition: border-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n}\n\n.radio[data-state=\"checked\"] {\n border-color: var(--ds-color-primary);\n}\n.radio:focus-visible {\n outline: 2px solid var(--ds-color-border-focus);\n outline-offset: 2px;\n}\n.radio:disabled {\n background: var(--ds-color-disabled-bg);\n border-color: var(--ds-color-disabled-border);\n cursor: not-allowed;\n}\n\n.indicator {\n width: 8px;\n height: 8px;\n border-radius: var(--ds-radius-full);\n background: var(--ds-color-primary);\n}\n\n.label {\n font-size: var(--ds-font-size-sm);\n color: var(--ds-color-text);\n cursor: pointer;\n}\n", "import * as RadixSelect from \"@radix-ui/react-select\";\nimport React, { useId } from \"react\";\n\nimport styles from \"./Select.module.css\";\n\nexport interface SelectOption {\n value: string;\n label: string;\n disabled?: boolean;\n}\n\nexport type SelectSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface SelectProps {\n options: SelectOption[];\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n label?: string;\n placeholder?: string;\n error?: string;\n helperText?: string;\n disabled?: boolean;\n size?: SelectSize;\n id?: string;\n className?: string;\n}\n\nexport const Select: React.FC<SelectProps> = ({\n options,\n value,\n defaultValue,\n onValueChange,\n label,\n placeholder = \"Selecione...\",\n error,\n helperText,\n disabled,\n size = \"md\",\n id,\n className\n}) => {\n const generatedId = useId();\n const selectId = id ?? generatedId;\n\n return (\n <div className={[styles.wrapper, className ?? \"\"].filter(Boolean).join(\" \")}>\n {label && (\n <label id={`${selectId}-label`} className={styles.label}>\n {label}\n </label>\n )}\n <RadixSelect.Root\n value={value}\n defaultValue={defaultValue}\n onValueChange={onValueChange}\n disabled={disabled}\n >\n <RadixSelect.Trigger\n id={selectId}\n aria-labelledby={label ? `${selectId}-label` : undefined}\n aria-invalid={!!error}\n className={[styles.trigger, styles[size], error ? styles.error : \"\"]\n .filter(Boolean)\n .join(\" \")}\n >\n <RadixSelect.Value placeholder={placeholder} />\n <RadixSelect.Icon className={styles.icon}>\n <svg width=\"12\" height=\"8\" viewBox=\"0 0 12 8\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M1 1l5 5 5-5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </RadixSelect.Icon>\n </RadixSelect.Trigger>\n\n <RadixSelect.Portal>\n <RadixSelect.Content className={styles.content} position=\"popper\" sideOffset={4}>\n <RadixSelect.Viewport className={styles.viewport}>\n {options.map((option) => (\n <RadixSelect.Item\n key={option.value}\n value={option.value}\n disabled={option.disabled}\n className={styles.item}\n >\n <RadixSelect.ItemText>{option.label}</RadixSelect.ItemText>\n <RadixSelect.ItemIndicator className={styles.itemIndicator}>\n <svg width=\"12\" height=\"10\" viewBox=\"0 0 12 10\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M1 5l3 3 7-7\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </RadixSelect.ItemIndicator>\n </RadixSelect.Item>\n ))}\n </RadixSelect.Viewport>\n </RadixSelect.Content>\n </RadixSelect.Portal>\n </RadixSelect.Root>\n\n {error && (\n <span className={styles.errorText} role=\"alert\">\n {error}\n </span>\n )}\n {helperText && !error && <span className={styles.helperText}>{helperText}</span>}\n </div>\n );\n};\n\nSelect.displayName = \"Select\";\n", ".wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--ds-space-1);\n width: 100%;\n}\n.label {\n font-size: var(--ds-font-size-sm);\n font-weight: var(--ds-font-weight-medium);\n color: var(--ds-color-text);\n}\n\n.trigger {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--ds-space-2);\n width: 100%;\n font-family: var(--ds-font-family-base);\n color: var(--ds-color-text);\n background: var(--ds-color-bg);\n border: 1px solid var(--ds-color-border);\n border-radius: var(--ds-radius-md);\n cursor: pointer;\n outline: none;\n transition: border-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n}\n\n.trigger:hover:not(:disabled) {\n border-color: var(--ds-color-border-strong);\n}\n.trigger:focus {\n border-color: var(--ds-color-border-focus);\n box-shadow: 0 0 0 3px var(--ds-color-primary-muted);\n}\n.trigger[data-disabled] {\n background: var(--ds-color-disabled-bg);\n color: var(--ds-color-disabled-text);\n cursor: not-allowed;\n}\n.trigger.error {\n border-color: var(--ds-color-border-error);\n}\n\n.sm {\n padding: var(--ds-space-1) var(--ds-space-2);\n font-size: var(--ds-font-size-sm);\n min-height: 32px;\n}\n.md {\n padding: var(--ds-space-2) var(--ds-space-3);\n font-size: var(--ds-font-size-md);\n min-height: 40px;\n}\n.lg {\n padding: var(--ds-space-3) var(--ds-space-4);\n font-size: var(--ds-font-size-lg);\n min-height: 48px;\n}\n\n.icon {\n color: var(--ds-color-text-muted);\n flex-shrink: 0;\n}\n\n.content {\n background: var(--ds-color-surface);\n border: 1px solid var(--ds-color-border);\n border-radius: var(--ds-radius-lg);\n box-shadow: var(--ds-elevation-md);\n z-index: var(--ds-z-dropdown);\n min-width: var(--radix-select-trigger-width);\n max-height: var(--radix-select-content-available-height);\n overflow: hidden;\n}\n\n.viewport {\n padding: var(--ds-space-1);\n}\n\n.item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--ds-space-2);\n padding: var(--ds-space-2) var(--ds-space-3);\n border-radius: var(--ds-radius-md);\n font-size: var(--ds-font-size-sm);\n color: var(--ds-color-text);\n cursor: pointer;\n outline: none;\n transition: background var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n user-select: none;\n}\n\n.item[data-highlighted] {\n background: var(--ds-color-primary-subtle);\n color: var(--ds-color-primary);\n}\n.item[data-disabled] {\n color: var(--ds-color-disabled-text);\n cursor: not-allowed;\n}\n.itemIndicator {\n color: var(--ds-color-primary);\n}\n\n.errorText {\n font-size: var(--ds-font-size-xs);\n color: var(--ds-color-error);\n}\n.helperText {\n font-size: var(--ds-font-size-xs);\n color: var(--ds-color-text-muted);\n}\n", "import * as RadixTooltip from \"@radix-ui/react-tooltip\";\nimport React from \"react\";\n\nimport styles from \"./Tooltip.module.css\";\n\nexport type TooltipSide = \"top\" | \"right\" | \"bottom\" | \"left\";\n\nexport interface TooltipProps {\n content: React.ReactNode;\n children: React.ReactElement;\n side?: TooltipSide;\n delayDuration?: number;\n}\n\nexport const TooltipProvider = RadixTooltip.Provider;\n\nexport const Tooltip: React.FC<TooltipProps> = ({\n content,\n children,\n side = \"top\",\n delayDuration = 300\n}) => (\n <RadixTooltip.Root delayDuration={delayDuration}>\n <RadixTooltip.Trigger asChild>{children}</RadixTooltip.Trigger>\n <RadixTooltip.Portal>\n <RadixTooltip.Content side={side} className={styles.content} sideOffset={6}>\n {content}\n <RadixTooltip.Arrow className={styles.arrow} />\n </RadixTooltip.Content>\n </RadixTooltip.Portal>\n </RadixTooltip.Root>\n);\n\nTooltip.displayName = \"Tooltip\";\n", ".content {\n background: var(--ds-color-text);\n color: var(--ds-color-text-inverse);\n font-family: var(--ds-font-family-base);\n font-size: var(--ds-font-size-xs);\n line-height: var(--ds-line-height-normal);\n padding: var(--ds-space-1) var(--ds-space-2);\n border-radius: var(--ds-radius-md);\n box-shadow: var(--ds-elevation-md);\n z-index: var(--ds-z-tooltip);\n max-width: 250px;\n animation: fadeIn var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n}\n\n.arrow {\n fill: var(--ds-color-text);\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n transform: scale(0.96);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n", "import React from \"react\";\nimport {\n FaLinkedinIn,\n FaInstagram,\n FaGithub,\n FaYoutube,\n FaWhatsapp,\n FaFacebookF,\n FaTwitter\n} from \"react-icons/fa\";\n\nimport styles from \"./SocialIcons.module.css\";\n\nexport type SocialPlatform =\n | \"linkedin\"\n | \"instagram\"\n | \"github\"\n | \"youtube\"\n | \"whatsapp\"\n | \"facebook\"\n | \"twitter\";\n\nexport type SocialIconSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface SocialLink {\n platform: SocialPlatform;\n url: string;\n label?: string;\n}\n\nexport interface SocialIconsProps {\n links: SocialLink[];\n size?: SocialIconSize;\n className?: string;\n}\n\nconst ICON_MAP: Record<SocialPlatform, React.ElementType> = {\n linkedin: FaLinkedinIn,\n instagram: FaInstagram,\n github: FaGithub,\n youtube: FaYoutube,\n whatsapp: FaWhatsapp,\n facebook: FaFacebookF,\n twitter: FaTwitter\n};\n\nconst DEFAULT_LABELS: Record<SocialPlatform, string> = {\n linkedin: \"Seguir no LinkedIn\",\n instagram: \"Seguir no Instagram\",\n github: \"Ver no GitHub\",\n youtube: \"Assistir no YouTube\",\n whatsapp: \"Conversar no WhatsApp\",\n facebook: \"Seguir no Facebook\",\n twitter: \"Seguir no Twitter\"\n};\n\nexport const SocialIcons: React.FC<SocialIconsProps> = ({ links, size = \"md\", className }) => (\n <ul className={[styles.list, className ?? \"\"].filter(Boolean).join(\" \")}>\n {links.map(({ platform, url, label }) => {\n const Icon = ICON_MAP[platform];\n const ariaLabel = label ?? DEFAULT_LABELS[platform];\n return (\n <li key={platform}>\n <a\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label={ariaLabel}\n className={[styles.link, styles[size]].join(\" \")}\n >\n <Icon aria-hidden=\"true\" />\n </a>\n </li>\n );\n })}\n </ul>\n);\n\nSocialIcons.displayName = \"SocialIcons\";\n", ".list {\n display: flex;\n gap: var(--ds-space-2);\n list-style: none;\n margin: 0;\n padding: 0;\n flex-wrap: wrap;\n}\n\n.link {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--ds-radius-full);\n color: var(--ds-color-text-muted);\n background: var(--ds-color-bg-subtle);\n transition:\n color var(--ds-motion-duration-fast) var(--ds-motion-easing-out),\n background var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n text-decoration: none;\n}\n\n.link:hover {\n color: var(--ds-color-primary);\n background: var(--ds-color-primary-subtle);\n}\n.link:focus-visible {\n outline: 2px solid var(--ds-color-border-focus);\n outline-offset: 2px;\n}\n\n.sm {\n width: 32px;\n height: 32px;\n font-size: 14px;\n}\n.md {\n width: 40px;\n height: 40px;\n font-size: 16px;\n}\n.lg {\n width: 48px;\n height: 48px;\n font-size: 20px;\n}\n", ".card {\n background: var(--ds-color-surface);\n border: 1px solid var(--ds-color-border);\n min-width: 0;\n}\n\n.header {\n padding: var(--ds-space-4) var(--ds-space-6);\n border-bottom: 1px solid var(--ds-color-border-muted);\n font-weight: var(--ds-font-weight-semibold);\n font-size: var(--ds-font-size-lg);\n color: var(--ds-color-text);\n}\n\n.body {\n padding: var(--ds-space-6);\n color: var(--ds-color-text);\n min-width: 0;\n}\n\n.footer {\n padding: var(--ds-space-4) var(--ds-space-6);\n border-top: 1px solid var(--ds-color-border-muted);\n background: var(--ds-color-bg-subtle);\n display: flex;\n align-items: center;\n gap: var(--ds-space-2);\n}\n", "import React from \"react\";\n\nimport type { ElevationKey, RadiiKey } from \"../../../tokens\";\n\nimport styles from \"./Card.module.css\";\n\nexport interface CardProps {\n elevation?: ElevationKey;\n radius?: RadiiKey;\n className?: string;\n children: React.ReactNode;\n}\n\ninterface CardSectionProps {\n className?: string;\n children: React.ReactNode;\n}\n\nconst CardHeader: React.FC<CardSectionProps> = ({ children, className }) => (\n <div className={[styles.header, className ?? \"\"].filter(Boolean).join(\" \")}>{children}</div>\n);\n\nconst CardBody: React.FC<CardSectionProps> = ({ children, className }) => (\n <div className={[styles.body, className ?? \"\"].filter(Boolean).join(\" \")}>{children}</div>\n);\n\nconst CardFooter: React.FC<CardSectionProps> = ({ children, className }) => (\n <div className={[styles.footer, className ?? \"\"].filter(Boolean).join(\" \")}>{children}</div>\n);\n\nexport const Card: React.FC<CardProps> & {\n Header: typeof CardHeader;\n Body: typeof CardBody;\n Footer: typeof CardFooter;\n} = ({ elevation = \"sm\", radius = \"lg\", className, children }) => (\n <div\n className={[styles.card, className ?? \"\"].filter(Boolean).join(\" \")}\n style={{\n boxShadow: `var(--ds-elevation-${elevation})`,\n borderRadius: `var(--ds-radius-${radius})`\n }}\n >\n {children}\n </div>\n);\n\nCard.Header = CardHeader;\nCard.Body = CardBody;\nCard.Footer = CardFooter;\nCard.displayName = \"Card\";\n", "import * as Dialog from \"@radix-ui/react-dialog\";\nimport React from \"react\";\n\nimport styles from \"./Modal.module.css\";\n\nexport type ModalSize = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"full\";\n\nexport interface ModalProps {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n title?: string;\n description?: string;\n size?: ModalSize;\n children: React.ReactNode;\n trigger?: React.ReactElement;\n}\n\nexport const Modal: React.FC<ModalProps> = ({\n open,\n onOpenChange,\n title,\n description,\n size = \"md\",\n children,\n trigger\n}) => (\n <Dialog.Root open={open} onOpenChange={onOpenChange}>\n {trigger && <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>}\n <Dialog.Portal>\n <Dialog.Overlay className={styles.overlay} />\n <Dialog.Content\n className={[styles.content, styles[size]].join(\" \")}\n aria-describedby={description ? \"modal-description\" : undefined}\n >\n <div className={styles.header}>\n {title && <Dialog.Title className={styles.title}>{title}</Dialog.Title>}\n <Dialog.Close asChild>\n <button className={styles.close} aria-label=\"Fechar\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M2 2l12 12M14 2L2 14\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n </svg>\n </button>\n </Dialog.Close>\n </div>\n {description && (\n <Dialog.Description id=\"modal-description\" className={styles.description}>\n {description}\n </Dialog.Description>\n )}\n <div className={styles.body}>{children}</div>\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n);\n\nModal.displayName = \"Modal\";\n", ".overlay {\n position: fixed;\n inset: 0;\n background: var(--ds-color-bg-overlay);\n z-index: var(--ds-z-overlay);\n animation: overlayIn var(--ds-motion-duration-normal) var(--ds-motion-easing-out);\n}\n\n.content {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background: var(--ds-color-surface);\n border-radius: var(--ds-radius-xl);\n box-shadow: var(--ds-elevation-xl);\n z-index: var(--ds-z-modal);\n max-height: 90vh;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n animation: contentIn var(--ds-motion-duration-normal) var(--ds-motion-easing-spring);\n}\n\n.sm {\n width: min(400px, 90vw);\n}\n.md {\n width: min(560px, 90vw);\n}\n.lg {\n width: min(720px, 90vw);\n}\n.xl {\n width: min(900px, 90vw);\n}\n.full {\n width: calc(100vw - 32px);\n height: calc(100vh - 32px);\n top: 16px;\n left: 16px;\n transform: none;\n}\n\n.header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--ds-space-4);\n padding: var(--ds-space-4) var(--ds-space-6);\n border-bottom: 1px solid var(--ds-color-border-muted);\n}\n\n.title {\n font-family: var(--ds-font-family-heading);\n font-size: var(--ds-font-size-xl);\n font-weight: var(--ds-font-weight-semibold);\n color: var(--ds-color-text);\n margin: 0;\n}\n\n.description {\n padding: var(--ds-space-2) var(--ds-space-6) 0;\n font-size: var(--ds-font-size-sm);\n color: var(--ds-color-text-muted);\n}\n\n.body {\n padding: var(--ds-space-6);\n flex: 1;\n}\n\n.close {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border-radius: var(--ds-radius-md);\n border: none;\n background: transparent;\n color: var(--ds-color-text-muted);\n cursor: pointer;\n transition:\n background var(--ds-motion-duration-fast) var(--ds-motion-easing-out),\n color var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n flex-shrink: 0;\n}\n\n.close:hover {\n background: var(--ds-color-bg-subtle);\n color: var(--ds-color-text);\n}\n.close:focus-visible {\n outline: 2px solid var(--ds-color-border-focus);\n outline-offset: 2px;\n}\n\n@keyframes overlayIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes contentIn {\n from {\n opacity: 0;\n transform: translate(-50%, -48%) scale(0.96);\n }\n to {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n }\n}\n", "import * as Dialog from \"@radix-ui/react-dialog\";\nimport React from \"react\";\n\nimport styles from \"./Drawer.module.css\";\n\nexport type DrawerSide = \"left\" | \"right\" | \"top\" | \"bottom\";\n\nexport interface DrawerProps {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n title?: string;\n side?: DrawerSide;\n children: React.ReactNode;\n trigger?: React.ReactElement;\n}\n\nexport const Drawer: React.FC<DrawerProps> = ({\n open,\n onOpenChange,\n title,\n side = \"right\",\n children,\n trigger\n}) => (\n <Dialog.Root open={open} onOpenChange={onOpenChange}>\n {trigger && <Dialog.Trigger asChild>{trigger}</Dialog.Trigger>}\n <Dialog.Portal>\n <Dialog.Overlay className={styles.overlay} />\n <Dialog.Content className={[styles.content, styles[side]].join(\" \")}>\n <div className={styles.header}>\n {title && <Dialog.Title className={styles.title}>{title}</Dialog.Title>}\n <Dialog.Close asChild>\n <button className={styles.close} aria-label=\"Fechar\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M2 2l12 12M14 2L2 14\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n </svg>\n </button>\n </Dialog.Close>\n </div>\n <div className={styles.body}>{children}</div>\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n);\n\nDrawer.displayName = \"Drawer\";\n", ".overlay {\n position: fixed;\n inset: 0;\n background: var(--ds-color-bg-overlay);\n z-index: var(--ds-z-overlay);\n animation: fadeIn var(--ds-motion-duration-normal) var(--ds-motion-easing-out);\n}\n\n.content {\n position: fixed;\n background: var(--ds-color-surface);\n box-shadow: var(--ds-elevation-xl);\n z-index: var(--ds-z-modal);\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n}\n\n.right {\n top: 0;\n right: 0;\n bottom: 0;\n width: min(480px, 90vw);\n animation: slideInRight var(--ds-motion-duration-normal) var(--ds-motion-easing-out);\n}\n.left {\n top: 0;\n left: 0;\n bottom: 0;\n width: min(480px, 90vw);\n animation: slideInLeft var(--ds-motion-duration-normal) var(--ds-motion-easing-out);\n}\n.top {\n top: 0;\n left: 0;\n right: 0;\n height: min(360px, 60vh);\n animation: slideInTop var(--ds-motion-duration-normal) var(--ds-motion-easing-out);\n}\n.bottom {\n bottom: 0;\n left: 0;\n right: 0;\n height: min(360px, 60vh);\n animation: slideInBottom var(--ds-motion-duration-normal) var(--ds-motion-easing-out);\n}\n\n.header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--ds-space-4) var(--ds-space-6);\n border-bottom: 1px solid var(--ds-color-border-muted);\n}\n.title {\n font-size: var(--ds-font-size-xl);\n font-weight: var(--ds-font-weight-semibold);\n color: var(--ds-color-text);\n margin: 0;\n}\n.body {\n padding: var(--ds-space-6);\n flex: 1;\n}\n.close {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border-radius: var(--ds-radius-md);\n border: none;\n background: transparent;\n color: var(--ds-color-text-muted);\n cursor: pointer;\n}\n.close:hover {\n background: var(--ds-color-bg-subtle);\n color: var(--ds-color-text);\n}\n.close:focus-visible {\n outline: 2px solid var(--ds-color-border-focus);\n outline-offset: 2px;\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes slideInRight {\n from {\n transform: translateX(100%);\n }\n to {\n transform: translateX(0);\n }\n}\n@keyframes slideInLeft {\n from {\n transform: translateX(-100%);\n }\n to {\n transform: translateX(0);\n }\n}\n@keyframes slideInTop {\n from {\n transform: translateY(-100%);\n }\n to {\n transform: translateY(0);\n }\n}\n@keyframes slideInBottom {\n from {\n transform: translateY(100%);\n }\n to {\n transform: translateY(0);\n }\n}\n", "import * as RadixTabs from \"@radix-ui/react-tabs\";\nimport React from \"react\";\n\nimport styles from \"./Tabs.module.css\";\n\nexport interface TabItem {\n value: string;\n label: string;\n content: React.ReactNode;\n disabled?: boolean;\n}\n\nexport interface TabsProps {\n tabs: TabItem[];\n defaultValue?: string;\n value?: string;\n onValueChange?: (value: string) => void;\n className?: string;\n}\n\nexport const Tabs: React.FC<TabsProps> = ({\n tabs,\n defaultValue,\n value,\n onValueChange,\n className\n}) => (\n <RadixTabs.Root\n defaultValue={defaultValue ?? tabs[0]?.value}\n value={value}\n onValueChange={onValueChange}\n className={[styles.root, className ?? \"\"].filter(Boolean).join(\" \")}\n >\n <RadixTabs.List className={styles.list} aria-label=\"Tabs\">\n {tabs.map((tab) => (\n <RadixTabs.Trigger\n key={tab.value}\n value={tab.value}\n disabled={tab.disabled}\n className={styles.trigger}\n >\n {tab.label}\n </RadixTabs.Trigger>\n ))}\n </RadixTabs.List>\n {tabs.map((tab) => (\n <RadixTabs.Content key={tab.value} value={tab.value} className={styles.content}>\n {tab.content}\n </RadixTabs.Content>\n ))}\n </RadixTabs.Root>\n);\n\nTabs.displayName = \"Tabs\";\n", ".root {\n display: flex;\n flex-direction: column;\n}\n.list {\n display: flex;\n border-bottom: 2px solid var(--ds-color-border);\n gap: 0;\n}\n.trigger {\n padding: var(--ds-space-2) var(--ds-space-4);\n font-family: var(--ds-font-family-base);\n font-size: var(--ds-font-size-sm);\n font-weight: var(--ds-font-weight-medium);\n color: var(--ds-color-text-muted);\n background: transparent;\n border: none;\n border-bottom: 2px solid transparent;\n margin-bottom: -2px;\n cursor: pointer;\n transition:\n color var(--ds-motion-duration-fast) var(--ds-motion-easing-out),\n border-color var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n outline: none;\n}\n.trigger:hover:not([disabled]) {\n color: var(--ds-color-text);\n}\n.trigger[data-state=\"active\"] {\n color: var(--ds-color-primary);\n border-bottom-color: var(--ds-color-primary);\n}\n.trigger[disabled] {\n color: var(--ds-color-disabled-text);\n cursor: not-allowed;\n}\n.trigger:focus-visible {\n outline: 2px solid var(--ds-color-border-focus);\n outline-offset: 2px;\n border-radius: var(--ds-radius-sm);\n}\n.content {\n padding: var(--ds-space-6) 0;\n}\n", "import * as RadixAccordion from \"@radix-ui/react-accordion\";\nimport React from \"react\";\n\nimport styles from \"./Accordion.module.css\";\n\nexport interface AccordionItem {\n value: string;\n trigger: React.ReactNode;\n content: React.ReactNode;\n disabled?: boolean;\n}\n\nexport interface AccordionProps {\n items: AccordionItem[];\n type?: \"single\" | \"multiple\";\n defaultValue?: string | string[];\n value?: string | string[];\n onValueChange?: (value: string | string[]) => void;\n collapsible?: boolean;\n className?: string;\n}\n\nexport const Accordion: React.FC<AccordionProps> = ({\n items,\n type = \"single\",\n defaultValue,\n value,\n onValueChange,\n collapsible = true,\n className\n}) => {\n const rootClassName = [styles.root, className ?? \"\"].filter(Boolean).join(\" \");\n\n const content = items.map((item) => (\n <RadixAccordion.Item\n key={item.value}\n value={item.value}\n disabled={item.disabled}\n className={styles.item}\n >\n <RadixAccordion.Header>\n <RadixAccordion.Trigger className={styles.trigger}>\n {item.trigger}\n <svg\n className={styles.chevron}\n width=\"14\"\n height=\"9\"\n viewBox=\"0 0 14 9\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M1 1l6 6 6-6\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </RadixAccordion.Trigger>\n </RadixAccordion.Header>\n <RadixAccordion.Content className={styles.content}>\n <div className={styles.contentInner}>{item.content}</div>\n </RadixAccordion.Content>\n </RadixAccordion.Item>\n ));\n\n if (type === \"multiple\") {\n return (\n <RadixAccordion.Root\n type=\"multiple\"\n className={rootClassName}\n defaultValue={defaultValue as string[] | undefined}\n value={value as string[] | undefined}\n onValueChange={onValueChange as ((v: string[]) => void) | undefined}\n >\n {content}\n </RadixAccordion.Root>\n );\n }\n\n return (\n <RadixAccordion.Root\n type=\"single\"\n collapsible={collapsible}\n className={rootClassName}\n defaultValue={defaultValue as string | undefined}\n value={value as string | undefined}\n onValueChange={onValueChange as ((v: string) => void) | undefined}\n >\n {content}\n </RadixAccordion.Root>\n );\n};\n\nAccordion.displayName = \"Accordion\";\n", ".root {\n border: 1px solid var(--ds-color-border);\n border-radius: var(--ds-radius-lg);\n overflow: hidden;\n}\n.item {\n border-bottom: 1px solid var(--ds-color-border);\n}\n.item:last-child {\n border-bottom: none;\n}\n.item[data-disabled] {\n opacity: 0.5;\n}\n.trigger {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--ds-space-4);\n width: 100%;\n padding: var(--ds-space-4) var(--ds-space-6);\n font-family: var(--ds-font-family-base);\n font-size: var(--ds-font-size-md);\n font-weight: var(--ds-font-weight-medium);\n color: var(--ds-color-text);\n background: transparent;\n border: none;\n cursor: pointer;\n text-align: left;\n transition: background var(--ds-motion-duration-fast) var(--ds-motion-easing-out);\n outline: none;\n}\n.trigger:hover {\n background: var(--ds-color-bg-subtle);\n}\n.trigger:focus-visible {\n outline: 2px solid var(--ds-color-border-focus);\n outline-offset: -2px;\n}\n.chevron {\n flex-shrink: 0;\n transition: transform var(--ds-motion-duration-normal) var(--ds-motion-easing-in-out);\n}\n.trigger[data-state=\"open\"] .chevron {\n transform: rotate(180deg);\n}\n.content {\n overflow: hidden;\n}\n.content[data-state=\"open\"] {\n animation: slideDown var(--ds-motion-duration-normal) var(--ds-motion-easing-out);\n}\n.content[data-state=\"closed\"] {\n animation: slideUp var(--ds-motion-duration-normal) var(--ds-motion-easing-out);\n}\n.contentInner {\n padding: 0 var(--ds-space-6) var(--ds-space-4);\n color: var(--ds-color-text-muted);\n font-size: var(--ds-font-size-md);\n}\n@keyframes slideDown {\n from {\n height: 0;\n }\n to {\n height: var(--radix-accordion-content-height);\n }\n}\n@keyframes slideUp {\n from {\n height: var(--radix-accordion-content-height);\n }\n to {\n height: 0;\n }\n}\n", "import * as RadixToast from \"@radix-ui/react-toast\";\nimport React, { createContext, useCallback, useContext, useState } from \"react\";\n\nimport styles from \"./Toast.module.css\";\n\nexport type ToastVariant = \"default\" | \"success\" | \"warning\" | \"error\" | \"info\";\n\nexport interface ToastMessage {\n id: string;\n title: string;\n description?: string;\n variant?: ToastVariant;\n duration?: number;\n}\n\ninterface ToastContextValue {\n show: (message: Omit<ToastMessage, \"id\">) => void;\n}\n\nconst ToastContext = createContext<ToastContextValue | null>(null);\n\nexport const useToast = (): ToastContextValue => {\n const ctx = useContext(ToastContext);\n if (!ctx) throw new Error(\"useToast must be used within ToastProvider\");\n return ctx;\n};\n\nexport const ToastProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [toasts, setToasts] = useState<ToastMessage[]>([]);\n\n const show = useCallback((message: Omit<ToastMessage, \"id\">) => {\n const id = Math.random().toString(36).slice(2);\n setToasts((prev) => [...prev, { ...message, id }]);\n }, []);\n\n const dismiss = useCallback((id: string) => {\n setToasts((prev) => prev.filter((t) => t.id !== id));\n }, []);\n\n return (\n <ToastContext.Provider value={{ show }}>\n <RadixToast.Provider swipeDirection=\"right\">\n {children}\n {toasts.map((toast) => (\n <RadixToast.Root\n key={toast.id}\n duration={toast.duration ?? 4000}\n className={[styles.root, styles[toast.variant ?? \"default\"]].join(\" \")}\n onOpenChange={(open) => {\n if (!open) dismiss(toast.id);\n }}\n >\n <div className={styles.content}>\n <div className={styles.text}>\n <RadixToast.Title className={styles.title}>{toast.title}</RadixToast.Title>\n {toast.description && (\n <RadixToast.Description className={styles.description}>\n {toast.description}\n </RadixToast.Description>\n )}\n </div>\n <RadixToast.Close asChild>\n <button className={styles.close} aria-label=\"Fechar notifica\u00E7\u00E3o\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M1 1l10 10M11 1L1 11\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n />\n </svg>\n </button>\n </RadixToast.Close>\n </div>\n </RadixToast.Root>\n ))}\n <RadixToast.Viewport className={styles.viewport} aria-label=\"Notifica\u00E7\u00F5es\" role=\"region\" />\n </RadixToast.Provider>\n </ToastContext.Provider>\n );\n};\n", ".viewport {\n position: fixed;\n bottom: var(--ds-space-6);\n right: var(--ds-space-6);\n display: flex;\n flex-direction: column;\n gap: var(--ds-space-2);\n width: 360px;\n max-width: calc(100vw - var(--ds-space-8));\n z-index: var(--ds-z-toast);\n list-style: none;\n padding: 0;\n margin: 0;\n outline: none;\n}\n\n.root {\n background: var(--ds-color-surface);\n border-radius: var(--ds-radius-lg);\n box-shadow: var(--ds-elevation-lg);\n border-left: 4px solid;\n animation: slideIn var(--ds-motion-duration-normal) var(--ds-motion-easing-out);\n}\n\n.root[data-state=\"closed\"] {\n animation: slideOut var(--ds-motion-duration-normal) var(--ds-motion-easing-in);\n}\n\n.default {\n border-color: var(--ds-color-border-strong);\n}\n.success {\n border-color: var(--ds-color-success);\n}\n.warning {\n border-color: var(--ds-color-warning);\n}\n.error {\n border-color: var(--ds-color-error);\n}\n.info {\n border-color: var(--ds-color-info);\n}\n\n.content {\n display: flex;\n align-items: flex-start;\n gap: var(--ds-space-3);\n padding: var(--ds-space-4);\n}\n.text {\n flex: 1;\n min-width: 0;\n}\n.title {\n font-size: var(--ds-font-size-sm);\n font-weight: var(--ds-font-weight-semibold);\n color: var(--ds-color-text);\n margin: 0;\n}\n.description {\n font-size: var(--ds-font-size-xs);\n color: var(--ds-color-text-muted);\n margin-top: var(--ds-space-1);\n}\n.close {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n border-radius: var(--ds-radius-sm);\n border: none;\n background: transparent;\n color: var(--ds-color-text-muted);\n cursor: pointer;\n flex-shrink: 0;\n padding: 0;\n}\n.close:hover {\n background: var(--ds-color-bg-subtle);\n}\n.close:focus-visible {\n outline: 2px solid var(--ds-color-border-focus);\n outline-offset: 2px;\n}\n\n@keyframes slideIn {\n from {\n transform: translateX(calc(100% + var(--ds-space-6)));\n opacity: 0;\n }\n to {\n transform: translateX(0);\n opacity: 1;\n }\n}\n@keyframes slideOut {\n from {\n transform: translateX(0);\n opacity: 1;\n }\n to {\n transform: translateX(calc(100% + var(--ds-space-6)));\n opacity: 0;\n }\n}\n", ".wrapper {\n width: 100%;\n overflow-x: auto;\n border: 1px solid var(--ds-color-border);\n border-radius: var(--ds-radius-lg);\n}\n.table {\n width: 100%;\n border-collapse: collapse;\n font-family: var(--ds-font-family-base);\n font-size: var(--ds-font-size-sm);\n}\n.caption {\n padding: var(--ds-space-3) var(--ds-space-4);\n text-align: left;\n font-size: var(--ds-font-size-sm);\n color: var(--ds-color-text-muted);\n}\n.head {\n background: var(--ds-color-bg-subtle);\n}\n.stickyHeader .head {\n position: sticky;\n top: 0;\n z-index: var(--ds-z-raised);\n}\n.th {\n padding: var(--ds-space-3) var(--ds-space-4);\n text-align: left;\n font-weight: var(--ds-font-weight-semibold);\n color: var(--ds-color-text);\n border-bottom: 2px solid var(--ds-color-border);\n white-space: nowrap;\n}\n.td {\n padding: var(--ds-space-3) var(--ds-space-4);\n color: var(--ds-color-text);\n border-bottom: 1px solid var(--ds-color-border-muted);\n vertical-align: middle;\n}\n.row:last-child .td {\n border-bottom: none;\n}\n.body .row:hover {\n background: var(--ds-color-bg-subtle);\n}\n", "import React from \"react\";\n\nimport styles from \"./Table.module.css\";\n\ntype TableHeadProps = React.HTMLAttributes<HTMLTableSectionElement>;\ntype TableBodyProps = React.HTMLAttributes<HTMLTableSectionElement>;\ntype TableRowProps = React.HTMLAttributes<HTMLTableRowElement>;\n\ninterface TableCellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {\n as?: \"td\" | \"th\";\n scope?: \"col\" | \"row\" | \"colgroup\" | \"rowgroup\";\n}\n\ninterface TableRootProps extends React.TableHTMLAttributes<HTMLTableElement> {\n caption?: string;\n stickyHeader?: boolean;\n}\n\nconst TableHead: React.FC<TableHeadProps> = ({ className, children, ...props }) => (\n <thead className={[styles.head, className ?? \"\"].filter(Boolean).join(\" \")} {...props}>\n {children}\n </thead>\n);\n\nconst TableBody: React.FC<TableBodyProps> = ({ className, children, ...props }) => (\n <tbody className={[styles.body, className ?? \"\"].filter(Boolean).join(\" \")} {...props}>\n {children}\n </tbody>\n);\n\nconst TableRow: React.FC<TableRowProps> = ({ className, children, ...props }) => (\n <tr className={[styles.row, className ?? \"\"].filter(Boolean).join(\" \")} {...props}>\n {children}\n </tr>\n);\n\nconst TableCell: React.FC<TableCellProps> = ({\n as: Tag = \"td\",\n scope,\n className,\n children,\n ...props\n}) => {\n const cellClass = [Tag === \"th\" ? styles.th : styles.td, className ?? \"\"]\n .filter(Boolean)\n .join(\" \");\n return (\n <Tag\n className={cellClass}\n scope={scope}\n {...(props as React.HTMLAttributes<HTMLTableCellElement>)}\n >\n {children}\n </Tag>\n );\n};\n\nexport const Table: React.FC<TableRootProps> & {\n Head: typeof TableHead;\n Body: typeof TableBody;\n Row: typeof TableRow;\n Cell: typeof TableCell;\n} = ({ caption, stickyHeader, className, children, ...props }) => (\n <div className={styles.wrapper}>\n <table\n className={[styles.table, stickyHeader ? styles.stickyHeader : \"\", className ?? \"\"]\n .filter(Boolean)\n .join(\" \")}\n {...props}\n >\n {caption && <caption className={styles.caption}>{caption}</caption>}\n {children}\n </table>\n </div>\n);\n\nTable.Head = TableHead;\nTable.Body = TableBody;\nTable.Row = TableRow;\nTable.Cell = TableCell;\nTable.displayName = \"Table\";\n", "export const primitiveColors = {\n blue: {\n 50: \"#EAF4FB\",\n 100: \"#C5E0F2\",\n 200: \"#9BCCE9\",\n 300: \"#6DB7DF\",\n 400: \"#42A2D5\",\n 500: \"#1B8ECB\",\n 600: \"#1170A8\",\n 700: \"#02548B\",\n 800: \"#013E6A\",\n 900: \"#012849\"\n },\n teal: {\n 50: \"#E9FAF6\",\n 100: \"#C0F1E6\",\n 200: \"#93E7D5\",\n 300: \"#62DAC2\",\n 400: \"#34CEAF\",\n 500: \"#16B597\",\n 600: \"#0E9278\",\n 700: \"#087059\",\n 800: \"#044E3D\",\n 900: \"#012E24\"\n },\n orange: {\n 50: \"#FFF0EB\",\n 100: \"#FFDDD4\",\n 200: \"#FFC0AE\",\n 300: \"#FF9F87\",\n 400: \"#FF7358\",\n 500: \"#FF3C00\",\n 600: \"#D83200\",\n 700: \"#B02700\",\n 800: \"#881D00\",\n 900: \"#601300\"\n },\n red: {\n 50: \"#FEF2F2\",\n 100: \"#FEE2E2\",\n 200: \"#FECACA\",\n 300: \"#FCA5A5\",\n 400: \"#F87171\",\n 500: \"#EF4444\",\n 600: \"#DC2626\",\n 700: \"#B91C1C\",\n 800: \"#991B1B\",\n 900: \"#7F1D1D\"\n },\n green: {\n 50: \"#ECFDF5\",\n 100: \"#D1FAE5\",\n 200: \"#A7F3D0\",\n 300: \"#6EE7B7\",\n 400: \"#34D399\",\n 500: \"#10B981\",\n 600: \"#059669\",\n 700: \"#047857\",\n 800: \"#065F46\",\n 900: \"#064E3B\"\n },\n yellow: {\n 50: \"#FFFBEB\",\n 100: \"#FEF3C7\",\n 200: \"#FDE68A\",\n 300: \"#FCD34D\",\n 400: \"#FBBF24\",\n 500: \"#F59E0B\",\n 600: \"#D97706\",\n 700: \"#B45309\",\n 800: \"#92400E\",\n 900: \"#78350F\"\n },\n gray: {\n 50: \"#F8F9FA\",\n 100: \"#E9ECEF\",\n 200: \"#DEE2E6\",\n 300: \"#CED4DA\",\n 400: \"#ADB5BD\",\n 500: \"#6C757D\",\n 600: \"#495057\",\n 700: \"#343A40\",\n 800: \"#212529\",\n 900: \"#111315\"\n },\n white: \"#FFFFFF\",\n black: \"#000000\"\n} as const;\n\nexport type PrimitiveColors = typeof primitiveColors;\n", "import { primitiveColors } from \"./colors.primitive\";\n\nexport const semanticColors = {\n primary: {\n default: primitiveColors.blue[700],\n hover: primitiveColors.blue[600],\n active: primitiveColors.blue[800],\n subtle: primitiveColors.blue[50],\n muted: primitiveColors.blue[100],\n on: primitiveColors.white\n },\n secondary: {\n default: primitiveColors.teal[500],\n hover: primitiveColors.teal[600],\n active: primitiveColors.teal[700],\n subtle: primitiveColors.teal[50],\n muted: primitiveColors.teal[100],\n on: primitiveColors.white\n },\n accent: {\n default: primitiveColors.orange[500],\n hover: primitiveColors.orange[600],\n active: primitiveColors.orange[700],\n subtle: primitiveColors.orange[50],\n on: primitiveColors.white\n },\n success: {\n default: primitiveColors.green[600],\n hover: primitiveColors.green[700],\n subtle: primitiveColors.green[50],\n muted: primitiveColors.green[100],\n on: primitiveColors.white\n },\n warning: {\n default: primitiveColors.yellow[500],\n hover: primitiveColors.yellow[600],\n subtle: primitiveColors.yellow[50],\n muted: primitiveColors.yellow[100],\n on: primitiveColors.gray[900]\n },\n error: {\n default: primitiveColors.red[600],\n hover: primitiveColors.red[700],\n subtle: primitiveColors.red[50],\n muted: primitiveColors.red[100],\n on: primitiveColors.white\n },\n info: {\n default: primitiveColors.blue[500],\n hover: primitiveColors.blue[600],\n subtle: primitiveColors.blue[50],\n muted: primitiveColors.blue[100],\n on: primitiveColors.white\n },\n background: {\n default: primitiveColors.white,\n subtle: primitiveColors.gray[50],\n muted: primitiveColors.gray[100],\n overlay: \"rgba(0, 0, 0, 0.5)\"\n },\n surface: {\n default: primitiveColors.white,\n raised: primitiveColors.white,\n overlay: primitiveColors.white\n },\n text: {\n default: primitiveColors.gray[800],\n muted: primitiveColors.gray[500],\n subtle: primitiveColors.gray[400],\n disabled: primitiveColors.gray[300],\n inverse: primitiveColors.white,\n link: primitiveColors.blue[700],\n linkHover: primitiveColors.blue[600]\n },\n border: {\n default: primitiveColors.gray[200],\n strong: primitiveColors.gray[300],\n muted: primitiveColors.gray[100],\n focus: primitiveColors.blue[500],\n error: primitiveColors.red[500]\n },\n disabled: {\n background: primitiveColors.gray[100],\n text: primitiveColors.gray[400],\n border: primitiveColors.gray[200]\n }\n} as const;\n\nexport type SemanticColors = typeof semanticColors;\n", "// 4px base unit\nexport const spacing = {\n 0: \"0px\",\n 1: \"4px\",\n 2: \"8px\",\n 3: \"12px\",\n 4: \"16px\",\n 5: \"20px\",\n 6: \"24px\",\n 8: \"32px\",\n 10: \"40px\",\n 12: \"48px\",\n 16: \"64px\",\n 24: \"96px\",\n 32: \"128px\"\n} as const;\n\nexport type SpacingKey = keyof typeof spacing;\nexport type SpacingValue = (typeof spacing)[SpacingKey];\n", "export const typography = {\n fontFamily: {\n base: \"'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif\",\n heading: \"'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif\",\n mono: \"'JetBrains Mono', 'Fira Code', 'Courier New', monospace\"\n },\n fontSize: {\n xs: \"0.75rem\", // 12px\n sm: \"0.875rem\", // 14px\n md: \"1rem\", // 16px\n lg: \"1.125rem\", // 18px\n xl: \"1.25rem\", // 20px\n \"2xl\": \"1.5rem\", // 24px\n \"3xl\": \"1.875rem\", // 30px\n \"4xl\": \"2.25rem\" // 36px\n },\n fontWeight: {\n regular: \"400\",\n medium: \"500\",\n semibold: \"600\",\n bold: \"700\"\n },\n lineHeight: {\n tight: \"1.25\",\n snug: \"1.375\",\n normal: \"1.5\",\n relaxed: \"1.625\",\n loose: \"2\"\n },\n letterSpacing: {\n tight: \"-0.025em\",\n normal: \"0em\",\n wide: \"0.025em\",\n wider: \"0.05em\"\n }\n} as const;\n\nexport type Typography = typeof typography;\n", "export const radii = {\n none: \"0px\",\n sm: \"2px\",\n md: \"4px\",\n lg: \"8px\",\n xl: \"12px\",\n \"2xl\": \"16px\",\n full: \"9999px\"\n} as const;\n\nexport type RadiiKey = keyof typeof radii;\n", "export const elevation = {\n none: \"none\",\n sm: \"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",\n md: \"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)\",\n lg: \"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)\",\n xl: \"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)\",\n \"2xl\": \"0 25px 50px -12px rgba(0, 0, 0, 0.25)\"\n} as const;\n\nexport type ElevationKey = keyof typeof elevation;\n", "export const zIndex = {\n base: 0,\n raised: 1,\n dropdown: 1000,\n sticky: 1020,\n overlay: 1040,\n modal: 1050,\n toast: 1060,\n tooltip: 1070\n} as const;\n\nexport type ZIndexKey = keyof typeof zIndex;\n", "export const motion = {\n duration: {\n fast: \"100ms\",\n normal: \"200ms\",\n slow: \"300ms\",\n slower: \"500ms\"\n },\n easing: {\n easeIn: \"cubic-bezier(0.4, 0, 1, 1)\",\n easeOut: \"cubic-bezier(0, 0, 0.2, 1)\",\n easeInOut: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n linear: \"linear\",\n spring: \"cubic-bezier(0.34, 1.56, 0.64, 1)\"\n }\n} as const;\n\nexport type Motion = typeof motion;\n", "// Matches Bootstrap grid for migration continuity\nexport const breakpoints = {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1400\n} as const;\n\nexport type BreakpointKey = keyof typeof breakpoints;\n\nexport function mediaQuery(bp: BreakpointKey): string {\n return `@media (min-width: ${breakpoints[bp]}px)`;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["button", "sm", "md", "lg", "primary", "secondary", "ghost", "danger", "loading", "label", "labelHidden", "spinner", "spin", "React", "wrapper", "label", "input", "error", "sm", "md", "lg", "helperText", "errorText", "jsx", "jsxs", "React", "React", "useId", "wrapper", "label", "textarea", "error", "footer", "helperText", "errorText", "counter", "jsx", "jsxs", "React", "useId", "badge", "sm", "md", "default", "primary", "success", "warning", "error", "info", "jsx", "useState", "avatar", "circle", "square", "xs", "sm", "md", "lg", "xl", "image", "initials", "jsx", "useState", "useId", "wrapper", "root", "indicator", "label", "jsx", "jsxs", "useId", "useId", "group", "vertical", "horizontal", "item", "radio", "indicator", "label", "jsx", "jsxs", "useId", "useId", "wrapper", "label", "trigger", "error", "sm", "md", "lg", "icon", "content", "viewport", "item", "itemIndicator", "errorText", "helperText", "jsx", "jsxs", "useId", "content", "fadeIn", "arrow", "jsx", "jsxs", "list", "link", "sm", "md", "lg", "jsx", "Icon", "card", "header", "body", "footer", "jsx", "elevation", "overlay", "overlayIn", "content", "contentIn", "sm", "md", "lg", "xl", "full", "header", "title", "description", "body", "close", "jsx", "jsxs", "Dialog", "overlay", "fadeIn", "content", "right", "slideInRight", "left", "slideInLeft", "top", "slideInTop", "bottom", "slideInBottom", "header", "title", "body", "close", "jsx", "jsxs", "root", "list", "trigger", "content", "jsx", "jsxs", "root", "item", "trigger", "chevron", "content", "slideDown", "slideUp", "contentInner", "jsx", "jsxs", "useState", "viewport", "root", "slideIn", "slideOut", "default", "success", "warning", "error", "info", "content", "text", "title", "description", "close", "jsx", "jsxs", "useState", "wrapper", "table", "caption", "head", "stickyHeader", "th", "td", "row", "body", "jsx", "jsxs"]
|
|
7
|
+
}
|